Wie kann ich einen benutzerdefinierten Domänen-Endpunkt für mehrere API-Gateway-APIs hinter einer CloudFront-Webverteilung konfigurieren?

Lesedauer: 4 Minute
0

Ich möchte einen benutzerdefinierten Amazon-API-Gateway-Domänen-Endpunkt hinter einer Amazon-CloudFront-Webverteilung verwenden. Anschließend möchte ich die API-Anfrage mithilfe der Basispfadzuordnung an mehrere APIs weiterleiten. Wie kann ich vorgehen?

Auflösung

Erstellen Sie den benutzerdefinierten Domänennamen für Ihre REST-API, HTTP-API oder WebSocket-API

Wenn Sie dies noch nicht getan haben, erstellen Sie Ihren benutzerdefinierten Domänenamen und verknüpfen Sie ihn dann mit zwei verschiedenen APIs.

Hinweis: Ein benutzerdefinierter Domänenname für eine WebSocket-API kann REST-APIs oder HTTP-APIs nicht zugeordnet werden.

Befolgen Sie für REST-APIs die Anweisungen unter Einrichten benutzerdefinierter Domänennamen für REST-APIs.

Befolgen Sie für HTTP-APIs die Anweisungen unter Einrichten benutzerdefinierter Domänennamen für HTTP-APIs.

Befolgen Sie für WebSocket-APIs die Anweisungen unter Einrichten benutzerdefinierter Domänennamen für WebSocket-APIs.

Hinweis: Nachdem ein benutzerdefinierter Domänenname in API Gateway erstellt wurde, müssen Sie den Ressourceneintrag Ihres DNS-Anbieters erstellen oder aktualisieren, um ihn Ihrem API-Endpunkt zuzuordnen. Weitere Informationen finden Sie unter Registrieren eines Domänennamens.

Das Beispiel in diesem Artikel verwendet eine Einrichtung eines regionalen benutzerdefinierten REST-API-Domänennamens.

Beispiel-API-Endpoint-URLs

https://restapiId1.execute-api.us-west-2.amazonaws.com/example1/home
https://restapiId2.execute-api.us-west-2.amazonaws.com/example2/home

Beispiel für eine benutzerdefinierte Domänen-URL (ohne Zuordnung des Basispfads)

https://apigw.customdomain.com/example1/home
https://apigw.customdomain.com/example2/home

Erstellen einer CloudFront-Web-Verteilung

1.    Öffnen Sie die CloudFront-Konsole und wählen Sie dann Create Distribution (Verteilung erstellen).

2.    Wählen Sie auf der Seite Bereitstellungsmethode für Ihren Inhalt auswählen unter Web die Option Erste Schritte aus.

3.    Fügen Sie auf der Seite Create Distribution (Verteilung erstellen) für Origin Domain (Ursprungsdomäne) die benutzerdefinierte Domänen-URL Ihrer API ein, ähnlich wie im folgenden Beispiel:

Beispiel für Ursprungsdomänennamen

https://apigw.customdomain.com
  1. Lassen Sie das Feld für den Ursprungspfad leer. Hinweis: Die Eingabe eines falschen Basispfads für den Ursprungspfad beim Aufrufen der CloudFront-Webverteilung kann zu einem Fehler führen. Zum Beispiel ein Fehler bei einer nicht autorisierten Anfrage, der den Fehler „Fehlender Authentifizierungstoken“ und einen 403 Forbidden-Antwortcode.

5.    Für Minimum Origin SSL Protocol ist es eine bewährte Methode, TLSv1.2 zu wählen. Nicht SSLv3 auswählen. API Gateway unterstützt das SSLv3-Protokoll nicht.

6.    Wählen Sie für Protokoll die Option Nur HTTPS. Hinweis: API Gateway unterstützt keine unverschlüsselten HTTP-Endpunkte. Weitere Informationen finden Sie in den häufig gestellten Fragen zu Amazon API Gateway.

7.    (Optional) Um benutzerdefinierte Header an Ihren Ursprung weiterzuleiten, wählen Sie Header hinzufügen und geben Sie Ihren Header-Namen und Wert ein. Hinweis: Eine Liste der benutzerdefinierten Header, die CloudFront nicht hinzufügen kann, finden Sie unter Benutzerdefinierte Header, die CloudFront nicht zu Ursprungsanfragen hinzufügen kann.

8.    Wählen Sie Verteilung anlegen.

Nachdem CloudFront Ihre Verteilung erstellt hat, ändert sich der Wert der Spalte Status für Ihre Verteilung von In Bearbeitung in Bereitgestellt.

Weitere Informationen finden Sie unter Creating a distribution (Erstellen einer Verteilung).

Testen Sie Ihre CloudFront-Webverteilung

1.    Öffnen Sie die CloudFront-Konsole und kopieren Sie den Domänennamen Ihrer Webverteilung in Ihre Zwischenablage, ähnlich wie im folgenden Beispiel:

Beispiel für einen nicht benutzerdefinierten Domainnamen

a222222bcdefg5.cloudfront.net

2.    Folgen Sie den Anweisungen zum Testen einer Verteilung.

Ein erfolgreicher Test gibt eine Antwort mit 200 OK zurück. Wenn Sie einen 500-Server-Fehlercode erhalten, wird die Webverteilung möglicherweise nicht bereitgestellt. Wenn Sie keine Antwort erhalten, wurde der CloudFront-DNS-Datensatz noch nicht weitergegeben.

Nachdem die CloudFront-Verteilung erstellt wurde, wird Ihr Setup wie folgt konfiguriert:

a222222bcdefg5.cloudfront.net/example1/home --> apigw.customdomain.com/example1/home --> API-1

a222222bcdefg5.cloudfront.net/example2/home --> apigw.customdomain.com/example2/home --> API-2

Sie können jetzt eine Anfrage an zwei APIs aus einer einzigen CloudFront-Verteilung mit Ihrem benutzerdefinierten API-Gateway-Domänennamen stellen.

Informationen zum Konfigurieren der Weiterleitung für eingehende Autorisierungsheader für Ihre CloudFront-Webverteilung finden Sie unter Wie richte ich API Gateway mit meiner eigenen CloudFront-Verteilung ein?


Relevante Informationen

Wählen Sie einen Endpunkt-Typ aus, der für eine API-Gateway-API eingerichtet werden soll

Arbeiten mit API-Zuordnungen für Websocket-APIs

Arbeiten mit API-Zuordnungen für REST-APIs

Arbeiten mit API-Zuordnungen für HTTP-APIs

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren