Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Wie verwende ich einen Application Load Balancer oder einen Network Load Balancer, um eine private API von API Gateway aufzurufen?
Ich möchte meine private Amazon API Gateway API als Ziel hinter einem Load Balancer einrichten. Dann möchte ich ein AWS-Konto verwenden, um von einem Application Load Balancer oder einem Network Load Balancer aus auf meine private API zuzugreifen.
Behebung
Informationen zum Zugriff auf Ihre private API mit AWS Direct Connect oder Amazon Route 53 finden Sie unter Eine private API aufrufen. Sie können auch einen Schnittstellen-VPC-Endpunkt (Virtual Private Cloud) verwenden, um auf eine private REST-API bei API Gateway zuzugreifen, die sich in einem anderen AWS-Konto befindet.
Die folgende Lösung verwendet die IP-Adresse einer elastischen Netzwerkschnittstelle für einen Amazon Virtual Private Cloud (Amazon VPC)-Endpunkt. Mit dieser IP-Adresse können Sie Ihre private API als Ziel zum Load Balancer hinzufügen.
**Wichtig:**API Gateway unterstützt keine benutzerdefinierten Domainnamen für private APIs. Um dieses Problem zu umgehen, können Sie die Domain aufrufen und an einen Load Balancer anhängen. Verwenden Sie dann das folgende Setup, um die private API aufzurufen.
Erstellen Sie einen Amazon-VPC-Endpunkt
Führen Sie die folgenden Schritte aus:
- Öffnen Sie die Amazon-VPC-Konsole.
- Wählen Sie Endpunkte und dann Endpunkt erstellen aus.
- Geben Sie folgende Informationen ein:
Wählen Sie für Services com.amazonaws.com.your-region.execute-api aus.
Wählen Sie für VPC Ihre Amazon VPC aus.
Wählen Sie für Subnetze zwei Subnetze in unterschiedlichen Availability Zones (AZ-IDs) aus.
**Hinweis:**Wenn Sie bereits Amazon-VPC-Endpunkte in Ihrer VPC mit execute-api eingerichtet haben, schalten Sie das private DNS aus. - Wählen Sie Endpunkt erstellen aus.
- Wählen Sie Ihren Endpunkt aus, wählen Sie Subnetze aus und kopieren Sie dann die IP-Adresse.
Weitere Informationen finden Sie unter Private REST-APIs in API Gateway.
Erstellen Sie eine private REST-API und gewähren Sie dem Amazon-VPC-Endpunkt die Berechtigung
Führen Sie die folgenden Schritte aus:
- Öffnen Sie die API-Gateway-Konsole und wählen Sie API erstellen aus.
- Wählen Sie unter REST API die Option Erstellen aus.
- Geben Sie in Einstellungen die folgenden Informationen ein:
Geben Sie als API-Name einen Namen für die API ein.
Wählen Sie für Endpunkttyp die Option Privat aus.
Geben Sie für Endpunkt-IDs die von Ihnen erstellte Endpunkt-ID ein. - Wählen Sie API erstellen aus.
- Wählen Sie im Navigationsbereich Ressourcenrichtlinie aus.
- Geben Sie die folgende Richtlinie ein:
**Hinweis:**Ersetzen Sie vpce-081234d1ad408e durch Ihre VPC-Endpunkt-ID. Ersetzen Sie außerdem arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID durch den Amazon-Ressourcennamen (ARN) Ihrer API.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID/*/*/*", "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-081234d1ad408e" } } }, { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID/*/*/*" } ] }
- Wählen Sie Speichern.
Ein öffentliches Zertifikat von AWS Certificate Manager erstellen oder importieren
Fordern Sie entweder ein öffentliches Zertifikat an oder importieren Sie ein Zertifikat.
Erstellen Sie einen Application Load Balancer oder einen Network Load Balancer
Sie können entweder einen Application Load Balancer erstellen oder einen Network Load Balancer.
Erstellen Sie die Zielgruppe
Führen Sie die folgenden Schritte aus:
- Öffnen Sie die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.
- Wählen Sie im Navigationsbereich unter Lastausgleich die Option Load Balancers und dann Zielgruppen aus.
- Wählen Sie Zielgruppe erstellen aus.
- Geben Sie folgende Informationen ein:
Wählen Sie als Zieltyp IP-Adressen aus.
Geben Sie für Zielgruppenname einen Namen ein.
Application Load Balancer
Wählen Sie für Protokoll die Option HTTPS aus.
Wählen Sie als Port 443 aus.
Wählen Sie für VPC Ihre VPC aus.
Geben Sie für den Integritätsprüfpfad „/“ und für Erfolgscodes 200.403 ein, sodass der VPC-Endpunkt als fehlerfrei angezeigt wird.
Network Load Balancer
Wählen Sie für Protokoll die Option TLS aus.
Wählen Sie als Port 443 aus.
Wählen Sie für VPC Ihre VPC aus. - Wählen Sie Weiter aus.
- Geben Sie unter IPs angeben die IP-Adresse ein, die Sie im Abschnitt Erstellen eines Schnittstellen-Amazon VPC-Endpunkts kopiert haben. Wählen Sie dann IPv4-Adresse hinzufügen.
- Wählen Sie Zielgruppe erstellen aus.
Konfigurieren des Load Balancers
Führen Sie die folgenden Schritte aus:
- Öffnen Sie die EC2-Konsole.
- Wählen Sie im Navigationsbereich Load Balancers und anschließend Load Balancer erstellen aus.
Application Load Balancer
Wählen Sie für Schema je nach Konfiguration entweder mit dem Internet verbunden oder Intern aus.
Wählen Sie für Protokoll die Option HTTPS aus.
Wählen Sie für VPC und Subnetze Ihre VPC und Subnetze aus.
Network Load Balancer
Wählen Sie für Schema je nach Konfiguration entweder mit dem Internet verbunden oder Intern aus.
Wählen Sie für Protokoll die Option TLS aus.
Wählen Sie für VPC und Subnetze Ihre VPC und Subnetze aus.
Wählen Sie für Sicherheitsrichtlinie die Standardrichtlinie ELBSecurityPolicy-TLS (empfohlen) aus.
Wählen Sie für das Standard-SSL/TLS-Zertifikat die Option Von ACM aus.
Wählen Sie Zertifikat auswählen und dann Ihr Zertifikat aus. - Wählen Sie Load Balancer erstellen aus.
**Hinweis:**Die Load-Balancer-Ziele befinden sich in den IP-Adressen der elastischen Netzwerkschnittstelle, die der VPC-Endpunkt erstellt hat. Um diese elastischen Netzwerkschnittstellen zu finden, wählen Sie Ihren VPC-Endpunkt aus und öffnen Sie dann die Registerkarte Subnetze.
Erstellen Sie einen Datensatz in einer öffentlichen oder privaten gehosteten Amazon Route 53 Zone
Erstellen Sie eine öffentlich gehostete Zone oder eine privat gehostete Zone. Dann erstellen Sie einen CNAME- oder einen Alias-Datensatz und verknüpfen ihn mit Ihrem Network Load Balancer.
Erstellen einer benutzerdefinierten Domain
Erstellen Sie eine benutzerdefinierte Domain in der API Gateway-Konsole. Ordnen Sie dann die Private Rest-API der benutzerdefinierten Domain zu.
Testen
Für öffentliche Load Balancer stellen Sie eine Curl-Anfrage von Ihrem lokalen Computer aus. Starten Sie für private Load Balancer in einem Ihrer Subnetze für Ihren Load Balancer eine neue EC2 Instance. Stellen Sie dann eine Curl-Anfrage, die dem folgenden Beispiel ähnelt:
curl -v https://{custom-domain-name}/<resource-path>
Eine erfolgreiche Anfrage führt zu einen Antwortcode von 200 OK. Eine erfolglose Anfrage führt zu einem Antwortcode 403 Forbidden oder einem DNS-Auflösungsfehler. Wenn Sie auf Probleme stoßen, finden Sie weitere Informationen unter Problembehandlung bei Ihren Application Load Balancern.
Ähnliche Informationen
Wie behebe ich Probleme bei der Verbindung zu einem privaten API-Endpunkt von API Gateway?
Überwachung der Ausführung der REST-API mit Amazon CloudWatch-Metriken
CloudWatch-Protokollierung für REST-APIs in API Gateway einrichten

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Monaten
- AWS OFFICIALAktualisiert vor einem Monat