Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Erstellen einer privaten API

Fokusmodus
Erstellen einer privaten API - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Bevor Sie eine private API erstellen, brauchen Sie zunächst einen VPC-Endpunkt für API Gateway. Als Nächstes erstellen Sie Ihre private API und fügen ihr eine Ressourcenrichtlinie hinzu. Optional können Sie Ihren VPC-Endpunkt mit Ihrer privaten API verknüpfen, um den Aufruf Ihrer API zu vereinfachen. Im letzten Schritt stellen Sie Ihre API bereit.

Die entsprechende Vorgehensweise wird nachfolgend beschrieben. Sie können eine private REST-API mit dem AWS Management Console, AWS CLI oder einem AWS SDK erstellen.

Voraussetzungen

Sie brauchen eine vollständig konfigurierte VPC, um diese Schritte ausführen zu können. Informationen zum Erstellen einer VPC finden Sie unter Erstellen einer VPC im Amazon-VPC-Benutzerhandbuch. Aktivieren Sie ihr privates DNS, um allen empfohlenen Schritten für die Erstellung Ihrer VPC befolgen zu können. Auf diese Weise können Sie Ihre API innerhalb einer VPC aufrufen, ohne den Host oder den x-apigw-api-id-Header übergeben zu müssen.

Die Attribute enableDnsSupport und enableDnsHostnames Ihrer VPC müssen auf true gesetzt sein, um das private DNS aktivieren zu können. Weitere Informationen finden Sie unter DNS-Support für Ihre VPC und Aktualisieren des DNS-Supports für Ihre VPC.

Schritt 1: Erstellen eines VPC-Endpunkts für API Gateway in Ihrer VPC

Im Folgenden sehen Sie, wie Sie einen VPC-Endpunkt für API Gateway erstellen. Um einen VPC-Endpunkt für API Gateway zu erstellen, geben Sie die execute-api Domain an, AWS-Region in der Sie Ihre private API erstellen. Die execute-api-Domain is der API-Gateway-Komponenten-Service für die API-Ausführung.

Beim Erstellen des VPC-Endpunkts für API Gateway legen Sie auch die DNS-Einstellungen fest. Wenn Sie das private DNS deaktivieren, können Sie nur über ein öffentliches DNS auf Ihre API zugreifen. Weitere Informationen finden Sie unter Problem: Ich kann keine Verbindung zwischen einem API-Gateway-VPC-Endpunkt und meiner öffentlichen API herstellen.

AWS Management Console
So erstellen Sie einen Schnittstellen-VPC-Endpunkt für API Gateway
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im Navigationsmenü unter Virtual Private Cloud die Option Endpunkte.

  3. Wählen Sie Endpunkt erstellen aus.

  4. (Optional) Geben Sie für Name-Tag einen Namen ein, um Ihren VPC-Endpunkt zu identifizieren.

  5. Wählen Sie bei Service category (Servicekategorie) die Option AWS services (-Services) aus.

  6. Geben Sie im Suchfeld Services execute-api ein. Wählen Sie dann den API Gateway Gateway-Dienstendpunkt aus, auf AWS-Region dem Sie Ihre API erstellen möchten. Der Dienstname sollte wie folgt aussehen: com.amazonaws.us-east-1.execute-api, und der Typ sollte Interface sein.

  7. Wählen Sie für VPC die VPC aus, in der Sie den Endpunkt erstellen möchten.

  8. (Optional) Wenn Sie Privaten DNS-Namen aktivieren deaktivieren wollen, wählen Sie Zusätzliche Einstellungen aus und löschen Sie den Feldinhalt für Privaten DNS-Namen aktivieren.

  9. Wählen Sie für Subnetze die Availability Zones aus, in denen Sie die Endnkt-Netzwerkschnittstellen für die Endpunkte erstellt haben. Zur Verbesserung der Verfügbarkeit Ihrer API wählen Sie mehrere Subnetze aus.

  10. Wählen Sie für Security group (Sicherheitsgruppe) die Sicherheitsgruppe aus, die den VPC-Endpunktnetzwerkschnittstellen zugeordnet werden soll.

    Die von Ihnen ausgewählte Sicherheitsgruppe muss so konfiguriert sein, dass eingehender HTTPS-Datenverkehr über TCP-Port 443 von einem IP-Adressbereich in Ihrer VPC oder einer anderen Sicherheitsgruppe in Ihrer VPC zugelassen wird.

  11. Führen Sie für Richtlinie einen der folgenden Schritte aus:

    • Wenn Sie Ihre private API nicht erstellt haben oder keine benutzerdefinierte VPC-Endpunktrichtlinie konfigurieren möchten, wählen Sie Vollzugriff aus.

    • Wenn Sie bereits eine private API erstellt haben und eine benutzerdefinierte VPC-Endpunktrichtlinie konfigurieren möchten, geben Sie eine benutzerdefinierte VPC-Endpunktrichtlinie ein. Weitere Informationen finden Sie unter Verwenden Sie VPC-Endpunktrichtlinien für private Zwecke APIs in API Gateway.

    Sie können die VPC-Endpunktrichtlinie nach dem Erstellen des VPC-Endpunkts aktualisieren. Weitere Informationen finden Sie unter Aktualisieren einer VPC-Endpunktrichtlinie.

  12. Wählen Sie Endpunkt erstellen aus.

  13. Kopieren Sie die resultierende VPC-Endpunkt-ID, da Sie sie u. U. bei späteren Schritten noch brauchen werden.

AWS CLI

Der folgende create-vpc-endpointBefehl erstellt einen VPC-Endpunkt:

aws ec2 create-vpc-endpoint \ --vpc-id vpc-1a2b3c4d \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.us-east-1.execute-api \ --subnet-ids subnet-7b16de0c \ --security-group-id sg-1a2b3c4d

Kopieren Sie die resultierende VPC-Endpunkt-ID, da Sie sie u. U. bei späteren Schritten noch brauchen werden.

So erstellen Sie einen Schnittstellen-VPC-Endpunkt für API Gateway
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im Navigationsmenü unter Virtual Private Cloud die Option Endpunkte.

  3. Wählen Sie Endpunkt erstellen aus.

  4. (Optional) Geben Sie für Name-Tag einen Namen ein, um Ihren VPC-Endpunkt zu identifizieren.

  5. Wählen Sie bei Service category (Servicekategorie) die Option AWS services (-Services) aus.

  6. Geben Sie im Suchfeld Services execute-api ein. Wählen Sie dann den API Gateway Gateway-Dienstendpunkt aus, auf AWS-Region dem Sie Ihre API erstellen möchten. Der Dienstname sollte wie folgt aussehen: com.amazonaws.us-east-1.execute-api, und der Typ sollte Interface sein.

  7. Wählen Sie für VPC die VPC aus, in der Sie den Endpunkt erstellen möchten.

  8. (Optional) Wenn Sie Privaten DNS-Namen aktivieren deaktivieren wollen, wählen Sie Zusätzliche Einstellungen aus und löschen Sie den Feldinhalt für Privaten DNS-Namen aktivieren.

  9. Wählen Sie für Subnetze die Availability Zones aus, in denen Sie die Endnkt-Netzwerkschnittstellen für die Endpunkte erstellt haben. Zur Verbesserung der Verfügbarkeit Ihrer API wählen Sie mehrere Subnetze aus.

  10. Wählen Sie für Security group (Sicherheitsgruppe) die Sicherheitsgruppe aus, die den VPC-Endpunktnetzwerkschnittstellen zugeordnet werden soll.

    Die von Ihnen ausgewählte Sicherheitsgruppe muss so konfiguriert sein, dass eingehender HTTPS-Datenverkehr über TCP-Port 443 von einem IP-Adressbereich in Ihrer VPC oder einer anderen Sicherheitsgruppe in Ihrer VPC zugelassen wird.

  11. Führen Sie für Richtlinie einen der folgenden Schritte aus:

    • Wenn Sie Ihre private API nicht erstellt haben oder keine benutzerdefinierte VPC-Endpunktrichtlinie konfigurieren möchten, wählen Sie Vollzugriff aus.

    • Wenn Sie bereits eine private API erstellt haben und eine benutzerdefinierte VPC-Endpunktrichtlinie konfigurieren möchten, geben Sie eine benutzerdefinierte VPC-Endpunktrichtlinie ein. Weitere Informationen finden Sie unter Verwenden Sie VPC-Endpunktrichtlinien für private Zwecke APIs in API Gateway.

    Sie können die VPC-Endpunktrichtlinie nach dem Erstellen des VPC-Endpunkts aktualisieren. Weitere Informationen finden Sie unter Aktualisieren einer VPC-Endpunktrichtlinie.

  12. Wählen Sie Endpunkt erstellen aus.

  13. Kopieren Sie die resultierende VPC-Endpunkt-ID, da Sie sie u. U. bei späteren Schritten noch brauchen werden.

Schritt 2: Erstellen einer privaten API

Nachdem Sie Ihren VPC-Endpunkt erstellt haben, erstellen Sie nun eine private REST-API. Im folgenden Verfahren sehen Sie, wie Sie eine private API erstellen.

AWS Management Console
Erstellen einer privaten API
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie Create API (API erstellen) aus.

  3. Wählen Sie unter REST-API die Option Build (Erstellen) aus.

  4. Geben Sie unter Name einen Namen ein.

  5. (Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.

  6. Wählen Sie für API endpoint type (API-Endpunkttyp) die Option Private (Privat) aus.

  7. (Optional) Geben Sie für VPC-Endpoint IDs eine VPC-Endpunkt-ID ein.

    Wenn Sie Ihrer privaten API eine VPC-Endpunkt-ID zuordnen, können Sie Ihre API von Ihrer VPC aus aufrufen, ohne einen Host-Header zu überschreiben oder einen x-apigw-api-id header zu übergeben. Weitere Informationen finden Sie unter (Optional) Zuordnen oder Aufheben der Zuweisung eines VPC-Endpunkts zu einer privaten API.

  8. Wählen Sie Create API (API erstellen) aus.

Nachdem Sie die Schritte oben abgeschlossen haben, können Sie der Anleitung unter Erste Schritte mit der REST-API-Konsole folgen, um Methoden und Integrationen für diese API einzurichten - Sie können die API jedoch noch nicht bereitstellen. Zur Bereitstellung Ihrer API folgen Sie Schritt 3 und fügen Ihrer API eine Ressourcenrichtlinie hinzu.

AWS CLI

Der folgende create-rest-apiBefehl erstellt eine private API:

aws apigateway create-rest-api \ --name 'Simple PetStore (AWS CLI, Private)' \ --description 'Simple private PetStore API' \ --region us-west-2 \ --endpoint-configuration '{ "types": ["PRIVATE"] }'

Bei einem erfolgreichen Aufruf sieht die zurückgegebene Ausgabe in etwa wie folgt aus:

{ "createdDate": "2017-10-13T18:41:39Z", "description": "Simple private PetStore API", "endpointConfiguration": { "types": "PRIVATE" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (AWS CLI, Private)" }

Nachdem Sie die Schritte oben abgeschlossen haben, können Sie der Anleitung unter Tutorial: Erstellen Sie eine REST-API mit AWS SDKs oder AWS CLI folgen, um Methoden und Integrationen für diese API einzurichten - Sie können die API jedoch noch nicht bereitstellen. Zur Bereitstellung Ihrer API folgen Sie Schritt 3 und fügen Ihrer API eine Ressourcenrichtlinie hinzu.

SDK JavaScript v3

Das folgende Beispiel zeigt, wie eine private API mithilfe des AWS SDK für JavaScript Version 3 erstellt wird:

import {APIGatewayClient, CreateRestApiCommand} from "@aws-sdk/client-api-gateway"; const apig = new APIGatewayClient({region:"us-east-1"}); const input = { // CreateRestApiRequest name: "Simple PetStore (JavaScript v3 SDK, private)", // required description: "Demo private API created using the AWS SDK for JavaScript v3", version: "0.00.001", endpointConfiguration: { // EndpointConfiguration types: [ "PRIVATE"], }, }; export const handler = async (event) => { const command = new CreateRestApiCommand(input); try { const result = await apig.send(command); console.log(result); } catch (err){ console.error(err) } };

Bei einem erfolgreichen Aufruf sieht die zurückgegebene Ausgabe in etwa wie folgt aus:

{ apiKeySource: 'HEADER', createdDate: 2024-04-03T17:56:36.000Z, description: 'Demo private API created using the AWS SDK for JavaScript v3', disableExecuteApiEndpoint: false, endpointConfiguration: { types: [ 'PRIVATE' ] }, id: 'abcd1234', name: 'Simple PetStore (JavaScript v3 SDK, private)', rootResourceId: 'efg567', version: '0.00.001' }

Nachdem Sie die Schritte oben abgeschlossen haben, können Sie der Anleitung unter Tutorial: Erstellen Sie eine REST-API mit AWS SDKs oder AWS CLI folgen, um Methoden und Integrationen für diese API einzurichten - Sie können die API jedoch noch nicht bereitstellen. Zur Bereitstellung Ihrer API folgen Sie Schritt 3 und fügen Ihrer API eine Ressourcenrichtlinie hinzu.

Python SDK

Das folgende Beispiel zeigt, wie Sie mit dem AWS SDK für Python eine private API erstellen:

import json import boto3 import logging logger = logging.getLogger() apig = boto3.client('apigateway') def lambda_handler(event, context): try: result = apig.create_rest_api( name='Simple PetStore (Python SDK, private)', description='Demo private API created using the AWS SDK for Python', version='0.00.001', endpointConfiguration={ 'types': [ 'PRIVATE', ], }, ) except botocore.exceptions.ClientError as error: logger.exception("Couldn't create private API %s.", error) raise attribute=["id", "name", "description", "createdDate", "version", "apiKeySource", "endpointConfiguration"] filtered_data ={key:result[key] for key in attribute} result = json.dumps(filtered_data, default=str, sort_keys='true') return result

Bei einem erfolgreichen Aufruf sieht die zurückgegebene Ausgabe in etwa wie folgt aus:

"{\"apiKeySource\": \"HEADER\", \"createdDate\": \"2024-04-03 17:27:05+00:00\", \"description\": \"Demo private API created using the AWS SDK for \", \"endpointConfiguration\": {\"types\": [\"PRIVATE\"]}, \"id\": \"abcd1234\", \"name\": \"Simple PetStore (Python SDK, private)\", \"version\": \"0.00.001\"}"

Nachdem Sie die Schritte oben abgeschlossen haben, können Sie der Anleitung unter Tutorial: Erstellen Sie eine REST-API mit AWS SDKs oder AWS CLI folgen, um Methoden und Integrationen für diese API einzurichten - Sie können die API jedoch noch nicht bereitstellen. Zur Bereitstellung Ihrer API folgen Sie Schritt 3 und fügen Ihrer API eine Ressourcenrichtlinie hinzu.

Erstellen einer privaten API
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie Create API (API erstellen) aus.

  3. Wählen Sie unter REST-API die Option Build (Erstellen) aus.

  4. Geben Sie unter Name einen Namen ein.

  5. (Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.

  6. Wählen Sie für API endpoint type (API-Endpunkttyp) die Option Private (Privat) aus.

  7. (Optional) Geben Sie für VPC-Endpoint IDs eine VPC-Endpunkt-ID ein.

    Wenn Sie Ihrer privaten API eine VPC-Endpunkt-ID zuordnen, können Sie Ihre API von Ihrer VPC aus aufrufen, ohne einen Host-Header zu überschreiben oder einen x-apigw-api-id header zu übergeben. Weitere Informationen finden Sie unter (Optional) Zuordnen oder Aufheben der Zuweisung eines VPC-Endpunkts zu einer privaten API.

  8. Wählen Sie Create API (API erstellen) aus.

Nachdem Sie die Schritte oben abgeschlossen haben, können Sie der Anleitung unter Erste Schritte mit der REST-API-Konsole folgen, um Methoden und Integrationen für diese API einzurichten - Sie können die API jedoch noch nicht bereitstellen. Zur Bereitstellung Ihrer API folgen Sie Schritt 3 und fügen Ihrer API eine Ressourcenrichtlinie hinzu.

Schritt 3: Einrichten einer Ressourcenrichtlinie für eine private API

Ihre aktuelle private API ist für alle VPCs nicht zugänglich. Verwenden Sie eine Ressourcenrichtlinie, um Ihren VPCs und VPC-Endpunkten Zugriff auf Ihre privaten Daten zu gewähren. APIs Sie können in jedem AWS Konto Zugriff auf einen VPC-Endpunkt gewähren.

Ihre Ressourcenrichtlinie sollte aws:SourceVpc- oder aws:SourceVpce-Bedingungen für Zugriffsbeschränkungen enthalten. Wir empfehlen, dass Sie spezifische VPCs und VPC-Endpunkte identifizieren und keine Ressourcenrichtlinie erstellen, die den Zugriff für alle VPCs VPC-Endpunkte ermöglicht.

Im folgenden Verfahren sehen Sie, wie Sie eine Ressourcenrichtlinie an Ihre API anfügen.

AWS Management Console
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie eine REST-API aus.

  3. Wählen Sie im Hauptnavigationsbereich Ressourcenrichtlinie.

  4. Wählen Sie Create Policy (Richtlinie erstellen) aus.

  5. Wählen Sie Vorlage auswählen und dann Quell-VPC aus.

  6. Ersetzen Sie {{vpcID}} (einschließlich der geschweiften Klammern) durch Ihre VPC-ID.

  7. Wählen Sie Änderungen speichern.

AWS CLI

Mit dem folgenden update-rest-apiBefehl wird eine Ressourcenrichtlinie an eine bestehende API angehängt:

aws apigateway update-rest-api \ --rest-api-id a1b2c3 \ --patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie eine REST-API aus.

  3. Wählen Sie im Hauptnavigationsbereich Ressourcenrichtlinie.

  4. Wählen Sie Create Policy (Richtlinie erstellen) aus.

  5. Wählen Sie Vorlage auswählen und dann Quell-VPC aus.

  6. Ersetzen Sie {{vpcID}} (einschließlich der geschweiften Klammern) durch Ihre VPC-ID.

  7. Wählen Sie Änderungen speichern.

Sie sollten u. U. auch vorgeben, welche Ressourcen Zugriff auf Ihren VPC-Endpunkt haben sollen. Verbinden Sie eine VPC-Endpunktrichtlinie mit Ihrem VPC-Endpunkt, um festzulegen, welche Ressourcen Zugriff auf Ihren VPC-Endpunkt haben sollen. Weitere Informationen finden Sie unter Verwenden Sie VPC-Endpunktrichtlinien für private Zwecke APIs in API Gateway.

(Optional) Zuordnen oder Aufheben der Zuweisung eines VPC-Endpunkts zu einer privaten API

Wenn Sie einen VPC-Endpunkt mit Ihrer privaten API verknüpfen, generiert API Gateway einen neuen Route-53-ALIAS-DNS-Eintrag. Sie können diesen Datensatz verwenden, um Ihren privaten Datensatz APIs genauso aufzurufen, wie Sie Ihren öffentlichen Eintrag aufrufen, APIs ohne einen Header zu überschreiben oder einen Host Header zu übergeben. x-apigw-api-id

Die generierte Basis-URL liegt im folgenden Format vor:

https://{rest-api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage}
Associate a VPC endpoint (AWS Management Console)

Sie können Ihrer privaten API bei oder nach der Erstellung einen VPC-Endpunkt zuordnen. Im folgenden Verfahren sehen Sie, wie Sie einen VPC-Endpunkt mit einer zuvor erstellten API verknüpfen.

Zuordnen eines VPC-Endpunkts zu einer privaten API
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie Ihre private API aus.

  3. Wählen Sie im Hauptnavigationsbereich Ressourcenrichtlinie.

  4. Bearbeiten Sie Ihre Ressourcenrichtlinie, um Anrufe von Ihrem zusätzlichen VPC-Endpunkt zuzulassen.

  5. Wählen Sie im Hauptnavigationsbereich API-Einstellungen.

  6. Wählen Sie im Abschnitt API-Details die Option Bearbeiten aus.

  7. Wählen Sie für VPC-Endpunkt IDs einen zusätzlichen VPC-Endpunkt aus. IDs

  8. Wählen Sie Save (Speichern) aus.

  9. Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

Dissociate a VPC endpoint (AWS Management Console)
Die Zuordnung eines VPC-Endpunkts zu einer privaten REST-API entfernen
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie Ihre private API aus.

  3. Wählen Sie im Hauptnavigationsbereich Ressourcenrichtlinie.

  4. Bearbeiten Sie Ihre Ressourcenrichtlinie, um Erwähnungen des VPC-Endpunkts zu entfernen, den Sie von Ihrer privaten API trennen möchten.

  5. Wählen Sie im Hauptnavigationsbereich API-Einstellungen.

  6. Wählen Sie im Abschnitt API-Details die Option Bearbeiten aus.

  7. Wählen Sie für VPC-Endpunkt das X IDs, um den VPC-Endpunkt zu trennen.

  8. Wählen Sie Save (Speichern) aus.

  9. Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

Associate a VPC endpoint (AWS CLI)

Der folgende create-rest-apiBefehl ordnet VPC-Endpunkte zum Zeitpunkt der API-Erstellung zu:

aws apigateway create-rest-api \ --name Petstore \ --endpoint-configuration '{ "types": ["PRIVATE"], "vpcEndpointIds" : ["vpce-0212a4ababd5b8c3e", "vpce-0393a628149c867ee"] }' \ --region us-west-2

Die Ausgabe sieht wie folgt aus:

{ "apiKeySource": "HEADER", "endpointConfiguration": { "types": [ "PRIVATE" ], "vpcEndpointIds": [ "vpce-0212a4ababd5b8c3e", "vpce-0393a628149c867ee" ] }, "id": "u67n3ov968", "createdDate": 1565718256, "name": "Petstore" }

Der folgende update-rest-apiBefehl ordnet VPC-Endpoints einer API zu, die Sie bereits erstellt haben:

aws apigateway update-rest-api \ --rest-api-id u67n3ov968 \ --patch-operations "op='add',path='/endpointConfiguration/vpcEndpointIds',value='vpce-01d622316a7df47f9'" \ --region us-west-2

Die Ausgabe sieht wie folgt aus:

{ "name": "Petstore", "apiKeySource": "1565718256", "tags": {}, "createdDate": 1565718256, "endpointConfiguration": { "vpcEndpointIds": [ "vpce-0212a4ababd5b8c3e", "vpce-0393a628149c867ee", "vpce-01d622316a7df47f9" ], "types": [ "PRIVATE" ] }, "id": "u67n3ov968" }

Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

Disassociate a VPC endpoint (AWS CLI)

Der folgende update-rest-apiBefehl trennt einen VPC-Endpunkt von einer privaten API:

aws apigateway update-rest-api \ --rest-api-id u67n3ov968 \ --patch-operations "op='remove',path='/endpointConfiguration/vpcEndpointIds',value='vpce-0393a628149c867ee'" \ --region us-west-2

Die Ausgabe sieht wie folgt aus:

{ "name": "Petstore", "apiKeySource": "1565718256", "tags": {}, "createdDate": 1565718256, "endpointConfiguration": { "vpcEndpointIds": [ "vpce-0212a4ababd5b8c3e", "vpce-01d622316a7df47f9" ], "types": [ "PRIVATE" ] }, "id": "u67n3ov968" }

Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

Sie können Ihrer privaten API bei oder nach der Erstellung einen VPC-Endpunkt zuordnen. Im folgenden Verfahren sehen Sie, wie Sie einen VPC-Endpunkt mit einer zuvor erstellten API verknüpfen.

Zuordnen eines VPC-Endpunkts zu einer privaten API
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie Ihre private API aus.

  3. Wählen Sie im Hauptnavigationsbereich Ressourcenrichtlinie.

  4. Bearbeiten Sie Ihre Ressourcenrichtlinie, um Anrufe von Ihrem zusätzlichen VPC-Endpunkt zuzulassen.

  5. Wählen Sie im Hauptnavigationsbereich API-Einstellungen.

  6. Wählen Sie im Abschnitt API-Details die Option Bearbeiten aus.

  7. Wählen Sie für VPC-Endpunkt IDs einen zusätzlichen VPC-Endpunkt aus. IDs

  8. Wählen Sie Save (Speichern) aus.

  9. Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

Schritt 4: Bereitstellen einer privaten API

Erstellen Sie eine API-Bereitstellung und verknüpfen sie mit einer Stufe. Im folgenden Verfahren sehen Sie, wie Sie Ihre private API bereitstellen.

AWS Management Console
Bereitstellen einer privaten API
  1. Wählen Sie Ihre API aus.

  2. Klicken Sie auf Deploy API.

  3. Wählen Sie für Stufe die Option Neue Stufe aus.

  4. Geben Sie unter Stage name (Stufenname) einen Namen für die Stufe ein.

  5. (Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.

  6. Wählen Sie Bereitstellen.

AWS CLI

Der folgende Befehl create-deployment stellt eine private API bereit:

aws apigateway create-deployment --rest-api-id a1b2c3 \ --stage-name test \ --stage-description 'Private API test stage' \ --description 'First deployment'
Bereitstellen einer privaten API
  1. Wählen Sie Ihre API aus.

  2. Klicken Sie auf Deploy API.

  3. Wählen Sie für Stufe die Option Neue Stufe aus.

  4. Geben Sie unter Stage name (Stufenname) einen Namen für die Stufe ein.

  5. (Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.

  6. Wählen Sie Bereitstellen.

Fehlerbehebung für Ihre private API

Im Folgenden finden Sie Hinweise zur Fehlerbehebung bei Fehlern und Problemen, die bei der Erstellung einer privaten API auftreten können.

Problem: Ich kann keine Verbindung zwischen einem API-Gateway-VPC-Endpunkt und meiner öffentlichen API herstellen

Beim Erstellen Ihrer VPC haben Sie die Möglichkeit, die DNS-Einstellungen zu konfigurieren. Wir empfehlen, Ihr privates DNS für Ihre VPC zu aktivieren. Wenn Sie das private DNS deaktivieren, ist ein Zugriff auf Ihr API nur über das öffentliche DNS möglich.

Wenn Sie Ihr privates DNS aktivieren, können Sie von Ihrem VPC-Endpunkt aus nicht auf den Standardendpunkt einer öffentlichen API-Gateway-API zugreifen. Sie können auf eine API mit einem benutzerdefinierten Domainnamen zugreifen.

Wenn Sie einen benutzerdefinierten regionalen Domainnamen erstellen, verwenden Sie einen Aliaseintrag vom Typ A. Wenn Sie einen Edge-optimierten benutzerdefinierten Domainnamen erstellen, bestehen keine Einschränkungen für Ihren Datensatztyp. Sie können auf diese öffentlichen Dateien zugreifen, wenn privates DNS APIs aktiviert ist. Weitere Informationen finden Sie unter Problem: Verbindungsaufbau mit meiner öffentlichen API von einem API-Gateway-VPC-Endpunkt.

Problem: Meine API gibt {"Message":"User: anonymous is not authorized to perform: execute-api:Invoke on resource: arn:aws:execute-api:us-east-1:********/****/****/"} zurück

Wenn Sie in Ihrer Ressourcenrichtlinie den Principal auf einen AWS Prinzipal festlegen, wie zum Beispiel:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", ""Principal": { "AWS": [ "arn:aws:iam::account-id:role/developer", "arn:aws:iam::account-id:role/Admin" ] }, "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, ... }

Dann müssen Sie die AWS_IAM-Genehmigung für jede einzelne Methode in Ihrer API verwenden, andernfalls gibt Ihre API die o. g. Fehlermeldung zurück. Weitere Anweisungen zum Aktivieren der AWS_IAM-Genehmigung für eine Methode finden Sie unter Methoden für REST APIs in API Gateway.

Problem: Ich bin mir nicht sicher, ob mein VPC-Endpunkt mit meiner API verknüpft ist

Wenn Sie einen VPC-Endpunkt mit Ihrer privaten API verknüpfen oder die Zuweisung aufheben, müssen Sie Ihre API erneut bereitstellen. Der Aktualisierungsvorgang kann aufgrund der DNS-Verbreitung einige Minuten dauern. Während dieser Zeit ist Ihre API verfügbar, aber die DNS-Propagierung für das neu generierte DNS ist URLs möglicherweise noch im Gange. Wenn Ihre neuen nach einigen Minuten nicht im DNS aufgelöst URLs werden, empfehlen wir Ihnen, Ihre API erneut bereitzustellen.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.