Wie kann ich einen benutzerdefinierten Domainnamen für meine API Gateway-API einrichten?

Lesedauer: 4 Minute
0

Ich möchte für meine Amazon API Gateway-API einen benutzerdefinierten Domainnamen anstelle der Standard-Basis-URL verwenden. Wie richte ich das ein?

Kurzbeschreibung

Es gibt zwei Arten von benutzerdefinierten Domainnamen, die Sie für API Gateway-APIs erstellen können: Regional oder (nur für REST-APIs) Edge-optimiert.

Hinweis: Benutzerdefinierte Domainnamen werden für private APIs nicht unterstützt.

Gehen Sie wie folgt vor, um einen benutzerdefinierten Domainnamen für Ihre API Gateway-API einzurichten:

Im Folgenden sind einige wichtige Unterschiede zwischen regionalen und Edge-optimierten benutzerdefinierten Domainnamen aufgeführt.

Unterschiede zwischen Zielendpunkten

Regionale benutzerdefinierte Domainnamen verwenden einen Regionalen API-Endpunkt.

Edge-optimierte benutzerdefinierte Domainnamen verwenden eine Amazon CloudFront-Distribution.

Unterschiede zwischen SSL-/TLS-Zertifikaten

Regionale benutzerdefinierte Domainnamen müssen ein SSL/TLS-Zertifikat verwenden, das sich in derselben AWS-Region wie Ihre API befindet.

Edge-optimierte benutzerdefinierte Domainnamen müssen ein Zertifikat verwenden, das sich in der folgenden Region befindet: USA Ost (Nord-Virginia) (us-east-1).

Unterschiede zwischen benutzerdefinierten Domainnamen

Regionale benutzerdefinierte Domainnamen können von anderen regionalen benutzerdefinierten Domainnamen geteilt werden, die sich in verschiedenen AWS-Regionen befinden.

Edge-optimierte benutzerdefinierte Domainnamen sind eindeutig und können nicht mehr als einer CloudFront-Distribution zugeordnet werden.

Unterschiede bei der Zuordnung von Domainnamen

Ein regionaler benutzerdefinierter Domainname für eine WebSocket-API kann keiner REST-API oder HTTP-API zugeordnet werden. Eine regionale benutzerdefinierte Domain kann jedoch mit REST-APIs und HTTP-APIs verknüpft werden.

Für REST-APIs können sowohl Edge-optimierte als auch regionale benutzerdefinierte Domainnamen Zuordnungen für Edge-optimierte API-Endpunkte, regionale API-Endpunkte oder beides haben.

Für WebSocket-APIs und HTTP-APIs ist TLS 1.2 die einzige unterstützte TLS-Version.

Behebung

Anfordern oder Importieren eines SSL/TLS-Zertifikats

Bevor Sie einen benutzerdefinierten Domainnamen für Ihre API erstellen, müssen Sie einen der folgenden Schritte ausführen:

  • Fordern Sie ein SSL/TLS-Zertifikat von AWS Certificate Manager (ACM) an.
    -oder-
  • Importieren Sie ein SSL/TLS-Zertifikat in ACM.

Hinweis: Weitere Informationen finden Sie unter Bereitstellen von Zertifikaten in AWS Certificate Manager.

Beachten Sie beim Anfordern oder Importieren des Zertifikats die folgenden Anforderungen:

  • Um die Domain-Validierungsprüfungen zu bestehen, muss das Zertifikat den benutzerdefinierten Domainnamen als alternativen Domainnamen enthalten.
    Hinweis: Weitere Informationen zu Validierungsprüfungen mit CloudFront-Verteilungen (für Edge-optimierte benutzerdefinierte Domainnamen) finden Sie unter Kontinuierliche Verbesserung der Domainsicherheit auf Amazon CloudFront. Es gibt ähnliche Validierungsprüfungen für regionale benutzerdefinierte Domainnamen.
  • Für einen Edge-optimierten benutzerdefinierten Domainnamen muss sich das ACM-Zertifikat in der folgenden Region befinden: USA Ost (Nord-Virginia) (us-east-1).
  • Für einen regionalen benutzerdefinierten Domainnamen muss sich das ACM-Zertifikat in derselben Region wie Ihre API befinden.

Erstellen des benutzerdefinierten Domainnamens für Ihre REST-API, HTTP-API oder WebSocket-API

Folgen Sie für REST-APIs den Anweisungen unter Einrichten benutzerdefinierter Domainnamen für REST-APIs.

Folgen Sie für HTTP-APIs den Anweisungen unter Einrichten benutzerdefinierter Domainnamen für HTTP-APIs.

Folgen Sie für WebSocket-APIs den Anweisungen unter Einrichten benutzerdefinierter Domainnamen für WebSocket-APIs.

Weiterleiten des Verkehrs an die API Gateway-API

Verwenden Sie Amazon Route 53, um den Verkehr an Ihre benutzerdefinierte Domain weiterzuleiten. Dadurch haben Sie mehr Kontrolle über die Ressourcen, auf die Benutzer zugreifen können, wenn sie Ihre Domain besuchen.

Folgen Sie den Anweisungen unter Konfiguration von Route 53, um den Datenverkehr an einen API-Gateway-Endpunkt weiterzuleiten.

  • Bei der Konfiguration von Route 53 müssen Sie entweder eine öffentlich gehostete Zone oder eine privat gehostete Zone erstellen. Wählen Sie für mit dem Internet verbundene Anwendungen mit Ressourcen, die Sie Benutzern zur Verfügung stellen möchten, eine öffentlich gehostete Zone. Weitere Informationen finden Sie unter Arbeiten mit gehosteten Zonen.
  • Route 53 verwendet Datensätze, um zu ermitteln, wohin der Verkehr für Ihre Domain weitergeleitet wird. Alias-Datensätze ermöglichen einfachere DNS-Abfragen an AWS-Ressourcen, während CNAME-Datensätze (ohne Alias) DNS-Abfragen außerhalb von AWS-Ressourcen umleiten können. Weitere Informationen finden Sie unter Wählen zwischen Alias-Datensätzen und Nicht-Alias-Datensätzen.

Testen des Setups durch Aufrufen der API mit dem neuen benutzerdefinierten Domainnamen

1.    Führen Sie einen curl -Befehl für den Domainnamen aus und verwenden Sie dabei die Basispfadzuordnung, die Sie beim Erstellen des benutzerdefinierten Domainnamens angegeben haben.
Hinweis: Weitere Informationen zu curl finden Sie auf der Website des curl-Projekts.

2.    Stellen Sie sicher, dass die Antwort auf den benutzerdefinierten Domainnamen dieselbe Antwort ist, die Sie erhalten, wenn Sie die API-Stufen-URL aufrufen.


Verwandte Informationen

Migration eines benutzerdefinierten Domainnamens zu einem anderen API-Endpunkt

Anfordern eines öffentlichen Zertifikats