Tutorial: Erstellen einer REST-API mit einer privaten Integration
Sie können eine API Gateway-API mit einer privaten Integration erstellen, um Ihren Kunden Zugang zu HTTP/HTTPS-Ressourcen innerhalb Ihrer Amazon Virtual Private Cloud (Amazon VPC) zu bieten. Bei diesen VPC-Ressourcen handelt es sich um HTTP-/HTTPS-Endpunkte auf einer EC2-Instance in einem Network Load Balancer in der VPC. Der Network Load Balancer kapselt die VPC-Ressourcen und leitet eingehende Anfragen zur Zielressource weiter.
Wenn ein Kunde die API aufruft, verbindet sich API Gateway über die vorkonfigurierte VPC-Verbindung mit dem Network Load Balancer. Eine VPC-Verbindung wird durch eine VpcLink-API Gateway-Ressource gekapselt. Er ist zuständig für die Weiterleitung der API-Methodenanforderungen an die VPC-Ressourcen und gibt Backend-Antworten an den Aufrufer zurück. Für einen API-Entwickler ist ein VpcLink funktional mit einem Integrationsendpunkt gleichwertig.
Wenn Sie eine API mit privater Integration erstellen möchten, müssen Sie einen neuen VpcLink erstellen oder einen vorhandenen auswählen, der mit einem Network Load Balancer verbunden ist, dessen Ziel die gewünschten VPC-Ressourcen sind. Sie benötigen entsprechende Berechtigungen, um einen VpcLink zu erstellen und zu verwalten. Anschließend richten Sie eine API--Methode ein und integrieren sie im VpcLink, indem Sie entweder HTTP oder HTTP_PROXY als Integrationstyp und VPC_LINK als Integrations-Verbindungstyp und die VpcLink-ID für die Integration connectionId festlegen.
Anmerkung
Die Netzwerklastenverteilung und die API müssen sich im Besitz desselben AWS-Kontos befinden.
Damit Sie schnell eine API erstellen können, um Zugriff auf VPC-Ressourcen zu erhalten, gehen wir die wichtigsten Schritte zur Erstellung einer API mit privater Integration über die API Gateway-Konsole durch. Führen Sie vor dem Erstellen der API die folgenden Schritte aus:
-
Erstellen Sie eine VPC-Ressource, erstellen Sie in Ihrem Konto in der gleichen Region einen Network Load Balancer oder wählen Sie einen aus und fügen Sie die EC2-Instance, die die Ressource hostet, als Ziel des Network Load Balancers hinzu. Weitere Informationen finden Sie unter Network Load Balancer für private API Gateway-Integrationen einrichten.
-
Erteilen Sie Berechtigungen zum Erstellen des VPC-Links für private Integrationen. Weitere Informationen finden Sie unter Erteilen von Berechtigungen für API Gateway zum Erstellen eines VPC-Links.
Nachdem Sie Ihre VPC-Ressource erstellt und Ihren Network Load Balancer mit Ihrer VPC-Ressource in dessen Zielgruppen konfiguriert haben, führen Sie die folgenden Anweisungen aus, um eine API zu erstellen und über einen VpcLink in einer privaten Integration in der VPC-Ressource zu integrieren.
Eine API mit privater Integration erstellen
Melden Sie sich bei der API-Gateway-Konsole unter https://console.aws.amazon.com/apigateway
an. -
Wenn Sie API Gateway zum ersten Mal verwenden, sehen Sie eine Seite, die Sie mit den Funktionen des Service vertraut macht. Wählen Sie unter REST-API die Option Build (Erstellen) aus. Wenn das Popup-Fenster Create Example API (Beispiel-API erstellen) angezeigt wird, klicken Sie auf OK.
Wenn Sie API Gateway nicht zum ersten Mal verwenden, wählen Sie Create API (API erstellen). Wählen Sie unter REST-API die Option Build (Erstellen) aus.
-
Sie können eine Edge-optimierte oder regionale REST-API erstellen. Wählen Sie unter IP-Adresstyp die Option IPv4 aus.
-
Wählen Sie Ihre API aus.
-
Wählen Sie Methode erstellen aus und gehen Sie dann wie folgt vor:
Wählen Sie als Methodentyp die Option
GETaus.Für Integrationstyp wählen Sie VPC-Link aus.
Aktivieren Sie die Lambda-Proxy-Integration.
Für HTTP-Methode wählen Sie
GETaus.Wählen Sie für VPC-Link [Stufenvariable verwenden] aus und geben Sie
${stageVariables.vpcLinkId}in das Textfeld unten ein.Sie definieren die
vpcLinkId-Stufenvariable nach der Bereitstellung der API für eine Stufe und setzen den Wert auf die ID desVpcLink.Geben Sie für Endpunkt-URL eine URL ein, zum Beispiel
http://myApi.example.com.Die URL muss eine gültige Top-Level-Domain sein, und der Hostname (zum Beispiel
myApi.example.com) wird verwendet, um denHost-Header der Integrationsanforderung festzulegen.Wählen Sie Methode erstellen aus.
Mit der Proxy-Integration kann die API bereitgestellt werden. Andernfalls müssen Sie entsprechende Methoden- und Integrationsantworten einrichten.
Wählen Sie API bereitstellen aus und gehen Sie dann wie folgt vor:
Wählen Sie für Stufe die Option Neue Stufe aus.
Geben Sie unter Stage name (Stufenname) einen Namen für die Stufe ein.
(Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.
Wählen Sie Deploy (Bereitstellen) aus.
-
Notieren Sie sich die resultierende Aufruf-URL im Abschnitt Stufendetails. Diese ist zum Aufruf der API erforderlich. Davor müssen Sie die
vpcLinkId-Stufenvariablen einrichten. -
Wählen Sie im Bereich Stufen die Registerkarte Stufenvariablen aus und gehen Sie dann wie folgt vor:
Wählen Sie Variablen verwalten aus und klicken Sie dann auf Stufenvariable hinzufügen.
-
Geben Sie als Name die Zeichenfolge „
vpcLinkId“ ein. -
Geben Sie unter Wert die ID von
VPC_LINKein, zum Beispiel.gix6s7 -
Wählen Sie Speichern aus.
Mit der Stufenvariable können Sie ganz einfach auf verschiedene VPC-Links für die API wechseln, indem Sie den Wert der Stufenvariablen ändern.