Wie deaktiviere ich den API-Gateway-Standard-Endpunkt für REST- oder HTTP-APIs?

Lesedauer: 3 Minute
0

Ich möchte Clients den Abruf meiner APIs nur mit dem benutzerdefinierten Domainnamen erlauben.

Kurzbeschreibung

Die REST-APIs und HTTP-APIs von Amazon API Gateway verwenden einen Standard-API-Endpunkt im folgenden Format: https://API_ID.execute-api.REGION.amazonaws.com. Wenn Sie einen benutzerdefinierten Domainnamen für die REST- oder HTTP-APIs in API-Gateway verwenden, können Sie den Standard-Endpunkt deaktivieren. Hierdurch kann der gesamte Datenverkehr über den benutzerdefinierten Domainnamen an die APIs weitergeleitet werden.

Behebung

Um den Standard-Endpunkt zu deaktivieren, verwenden Sie die API Gateway-Konsole, AWS Command Line Interface (AWS CLI) oder AWS CloudFormation. Nachdem Sie den Standard-Endpunkt deaktiviert haben, müssen Sie eine Bereitstellung initiieren, damit das Update wirksam wird.

Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS-CLI verwenden.

API Gateway-Konsole

REST-API

  1. Öffnen Sie die API Gateway-Konsole.
  2. Wählen Sie im Navigationsbereich APIs und dann die REST-API aus.
  3. Wählen Sie im Navigationsbereich Einstellungen aus.
  4. Wählen Sie für den Standard-Endpunkt die Option Deaktiviert und anschließend Änderungen speichern aus.
  5. Wählen Sie im Navigationsbereich Ressourcen, Aktionen und dann API bereitstellen aus.

HTTP-API

  1. Öffnen Sie die API Gateway-Konsole.
  2. Wählen Sie im Navigationsbereich APIs und dann die HTTP-API aus.
  3. Wählen Sie im Navigationsbereich API: API_NAME(API_ID) aus.
  4. Wählen Sie Bearbeiten aus.
  5. Wählen Sie für den Standard-Endpunkt die Option Deaktiviert und anschließend Speichern aus.

AWS CLI

REST-API
Führen Sie den AWS-CLI-Befehl update-rest-api aus:

aws apigateway update-rest-api --rest-api-id abcdef123 --patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'

Führen Sie den AWS-CLI-Befehl create-deployment aus, um die aktualisierte API bereitzustellen:

aws apigateway create-deployment --rest-api-id abcdef123 --stage-name dev

Hinweis: Ersetzen Sie api-id abcdef123 und stage_name dev durch die REST-API-ID und die entsprechende Phase.

HTTP-API

Führen Sie den AWS-CLI-Befehl update-api aus:

aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint

Führen Sie den AWS-CLI-Befehl create-deployment aus, um die aktualisierte API bereitzustellen:

aws apigatewayv2 create-deployment --api-id abcdef123 --stage-name dev

Hinweis: Ersetzen Sie api_id abcdef123 und stage_name dev durch die HTTP-API-ID und die entsprechende Phase.

CloudFormation-Vorlage

Um den Standard-Endpunkt aus einer CloudFormation-Vorlage zu deaktivieren, setzen Sie den Parameter DisableExecuteApiEndpoint auf True. Aktualisieren Sie die CloudFormation-Vorlage für eine REST-API oder HTTP-API.

Wichtig: Wenn Sie die API mit der Standard-Endpunkt-URL aufrufen, führt das Deaktivieren des Standard-Endpunkts zu einem Fehler. Sie erhalten einen HTTP 403 Forbidden-Fehler für REST-APIs oder einen HTTP 404 Not Found-Fehler für HTTP-APIs.

Relevante Informationen

Aufrufen einer REST-API in Amazon API Gateway

Wie behebe ich HTTP 403-Fehler bei API Gateway?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten