Aufgaben von API-Anbietern und API-Verbrauchern für benutzerdefinierte Domainnamen für private APIs
Wenn Sie einen privaten benutzerdefinierten Domainnamen erstellen, sind Sie ein API-Anbieter. Wenn Sie einen privaten benutzerdefinierten Domainnamen aufrufen, sind Sie ein API-Verbraucher. Sie können einen privaten benutzerdefinierten Domainnamen von Ihrem eigenen AWS-Konto oder einem anderen AWS-Konto verbrauchen.
Im folgenden Abschnitt werden die Aufgaben erläutert, die der API-Anbieter und der API-Verbraucher ausführen müssen, um einen privaten benutzerdefinierten Domainnamen verwenden zu können. Wenn Sie einen privaten benutzerdefinierten Domainnamen in Ihrem eigenen AWS-Konto aufrufen möchten, sind Sie sowohl der API-Anbieter als auch der API-Verbraucher. Wenn Sie eine private benutzerdefinierte Domain in einem anderen AWS-Konto aufrufen möchten, führt AWS RAM möglicherweise einige Aufgaben für Sie aus. Dies hängt jedoch von dem Vertrauensverhältnis zwischen dem API-Anbieter und dem API-Verbraucher in AWS Organizations ab.
Aufgaben eines API-Anbieters
API-Anbieter erstellen private APIs und weisen sie benutzerdefinierten Domainnamen zu.
API-Anbieter verwalten zwei Ressourcenrichtlinien zum Schutz ihrer privaten benutzerdefinierten Domainnamen. Die erste Richtlinie bezieht sich auf den execute-api-Service und steuert, welche VPC-Endpunkte Ihren privaten benutzerdefinierten Domainnamen aufrufen können. In der Konfiguration des privaten benutzerdefinierten Domainnamens wird dies als policy bezeichnet.
Die zweite Richtlinie bezieht sich auf den Management-Service für Amazon API Gateway und steuert, welche VPC-Endpunkte in AWS-Konten eine Domainnamenzugriffszuweisung mit Ihrem privaten benutzerdefinierten Domainnamen bilden können. Ein VPC-Endpunkt muss eine Domainnamenzugriffszuweisung mit einem privaten benutzerdefinierten Domainnamen bilden, um ihn aufzurufen. In der Konfiguration des privaten benutzerdefinierten Domainnamens ist dies managementPolicy. Sie können AWS RAM oder API Gateway verwenden, um diese Richtlinie zu aktualisieren. Wenn Sie nicht vorhaben, VPC-Endpunkte in anderen AWS-Konten zu erlauben, Ihren benutzerdefinierten Domainnamen aufzurufen, bearbeiten Sie die managementPolicy nicht.
Wenn Sie ein API-Anbieter sind, müssen Sie Folgendes tun:
Erstellen einer privaten API
-
Aktualisieren Sie die
policyIhrer privaten API, um Ihrem VPC-Endpunkt Zugriff auf Ihre private API zu gewähren. Einen privaten benutzerdefinierten Domainnamen erstellen.
-
Aktualisieren Sie die
policyIhres privaten benutzerdefinierten Domainnamens, um Ihrem VPC-Endpunkt Zugriff auf Ihren privaten benutzerdefinierten Domainnamen zu gewähren. -
Erstellen Sie eine Basispfadzuweisung oder eine Routing-Regel, um Datenverkehr von Ihrer privaten API an Ihren privaten benutzerdefinierten Domainnamen zu senden. Weitere Informationen finden Sie unter Senden von Datenverkehr an Ihre APIs über Ihren benutzerdefinierten Domainnamen in API Gateway.
Wenn Sie API-Verbrauchern in anderen AWS-Konten Zugriff auf Ihren privaten benutzerdefinierten Domainnamen ermöglichen möchten, gehen Sie wie folgt vor:
-
Aktualisieren Sie die
managementPolicyIhres privaten benutzerdefinierten Domainnamens, damit API-Verbraucher in anderen Konten ihre VPC-Endpunkte mit Ihrem privaten benutzerdefinierten Domainnamen verknüpfen können. Gehen Sie hierzu wie folgt vor:- AWS RAM
-
Mit AWS RAM wird die gemeinsame Nutzung der Ressourcen zwischen Anbieter und Verbraucher automatisch akzeptiert wenn sich der API-Anbieter und der API-Verbraucher in derselben Organisation befinden, die AWS Organizations verwendet. Andernfalls sollten Sie warten, bis der API-Verbraucher die gemeinsame Nutzung der Ressource akzeptiert. Wir empfehlen, AWS RAM für gemeinsame Nutzungen Ihres privaten benutzerdefinierten Domainnamens zu verwenden.
- API Gateway
-
Mit API Gateway wird nur die AWS CLI unterstützt. Sie müssen Ihren privaten benutzerdefinierten Domainnamen mithilfe eines Patch-Vorgangs aktualisieren und Ihr eigenes Richtliniendokument für die
managementPolicybereitstellen.
-
Aktualisieren Sie die
policyIhres privaten benutzerdefinierten Domainnamens und aller zugeordneten privaten APIs, um Zugriff auf den VPC-Endpunkt des API-Verbrauchers zu gewähren.
Anleitungen, wie Sie Ihre API einem anderen AWS-Konto zur Verfügung stellen, finden Sie unter API-Anbieter: Teilen Sie Ihren privaten benutzerdefinierten Domainnamen mithilfe von AWS RAM.
Aufgaben eines API-Verbrauchers
API-Verbraucher verknüpfen ihre VPC-Endpunkte mit einem Domainnamen-ARN, um einen privaten benutzerdefinierten Domainnamen aufzurufen. API-Verbraucher müssen keine API-Gateway-API erstellen.
Wenn Sie ein API-Verbraucher sind, gehen Sie wie folgt vor:
-
Erstellen Sie einen VPC-Endpunkt mit aktiviertem privaten DNS in Amazon VPC.
-
(Optional - falls AWS RAM verwendet wird) Akzeptieren Sie die gemeinsame Nutzung einer privaten benutzerdefinierten Domain-Ressource in AWS RAM innerhalb von 12 Stunden nach der Ressourcenteilung. Wenn Sie und der API-Anbieter derselben Organisation angehören, wird die gemeinsame Nutzung der Ressource automatisch akzeptiert.
-
Rufen den privaten benutzerdefinierten Domainnamen-ARN ab. Da die URL des privaten benutzerdefinierten Domainnamens nicht eindeutig ist, verwenden Sie den privaten benutzerdefinierten Domainnamen-ARN, um die Domainnamenzugriffszuweisung zwischen Ihrem VPC-Endpunkt und dem privaten benutzerdefinierten Domainnamen zu bilden. Sie können den privaten benutzerdefinierten Domainnamen-ARN über AWS RAM abrufen.
-
Ordnen Sie den privaten benutzerdefinierten Domain-ARN Ihrem VPC-Endpunkt in API Gateway zu. Dadurch wird eine sichere Verbindung zwischen Ihrem VPC-Endpunkt und dem privaten benutzerdefinierten Domainnamen hergestellt. Der Datenverkehr verlässt das Amazon-Netzwerk nicht.
-
Warten Sie, bis der API-Anbieter Ihrem VPC-Endpunkt Zugriff auf den privaten benutzerdefinierten Domainnamen und alle zugeordneten privaten APIs gewährt. Wenn Sie sowohl der API-Anbieter als auch der API-Verbraucher sind, gewähren Sie Ihrem eigenen VPC-Endpunkt den Zugriff.
-
Erstellen Sie eine private gehostete Route 53-Zone und einen Route 53-Datensatz, um den privaten benutzerdefinierten Domainnamen in Route 53 aufzulösen.
Weitere Anleitungen für den Verbrauch einer API in einem anderen AWS-Konto finden Sie unter API-Verbraucher: Zuweisung Ihres VPC-Endpunkts zu einem mit Ihnen gemeinsam genutzten privaten benutzerdefinierten Domainnamen.