Diese Seite gilt für Apigee, aber nicht für Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
In diesem Dokument wird erläutert, wie Sie API-Proxys von Clients aufrufen, die auf Ihrer internen Netzwerk ausführen. Diese Schritte sind nützlich, um Ihre Einrichtung zu testen, wenn Apigee für die Verwendung des internen Netzwerk-Routings bereitgestellt wurde. Sie können die Schritte in diesem Dokument ausführen, wenn Apigee mit einer der folgenden Netzwerk-Routing-Konfigurationen bereitgestellt werden:
Nutzerverwaltungsoption | Netzwerkoption | Bereitstellungsschritte |
---|---|---|
Kostenpflichtiges Abo | Mit VPC-Peering | Internes Routing (VPC) Internes Routing (PSC) |
Pay-as-you-go | Mit VPC-Peering | Internes Routing (VPC) Internes Routing (PSC) |
Bewertung | Mit VPC-Peering | Routing konfigurieren (intern) |
Bewertung | Ohne VPC-Peering | Internes Routing (PSC) |
Siehe auch Netzwerkoptionen.
Hinweise
Führen Sie die folgenden vorbereitenden Einrichtungsschritte aus:
- Initialisieren Sie, sofern noch nicht geschehen, das Cloud SDK wie unter Cloud CLI initialisieren beschrieben oder prüfen Sie andernfalls, ob das unter Voraussetzungen erstellte Google Cloud-Projekt Standardprojekt für
gcloud
ist. -
Definieren Sie die folgenden lokalen Umgebungsvariablen:
export PROJECT_ID=YOUR_PROJECT_ID
export AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
export SUBNET=NETWORK_NAME
export INSTANCE_NAME=INSTANCE_NAME
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
Dabei gilt:
PROJECT_ID
ist die Cloud-Projekt-ID, die Sie im Rahmen der Voraussetzungen erstellt haben.AUTH
definiert denAuthentication
-Header mit einem Inhabertoken. Dieser Header wird beim Aufrufen von Apigee APIs verwendet. Beachten Sie, dass das Token nach einer gewissen Zeit abläuft. Wenn dies der Fall ist, können Sie es einfach mit demselben Befehl neu generieren. Weitere Informationen finden Sie auf der Referenzseite für den Befehl print-access-token.SUBNET
ist das während der Bereitstellung angegebene Subnetz. Beispiel:default
.INSTANCE_NAME
ist der Name der neuen Instanz Beispiel:my-runtime-instance
. Dieser Name muss mit einem Kleinbuchstaben beginnen und kann bis zu 32 Zeichen lang sein. Er darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Er kann nicht mit einem Bindestrich beginnen oder enden und muss aus mindestens 2 Zeichen bestehen.PROJECT_NUMBER
ist die Cloud-Projekt-ID, die Sie im Rahmen der Voraussetzungen erstellt haben. In diesem Beispiel wird dergcloud
-Befehl ausgegeben, um die Projektnummer für Sie abzurufen.
- Rufen Sie den Wert des Attributs
location
aus Ihrer Apigee-Instanz ab. Dieser Wert ist die Region, in der sich die Instanz befindet, z. B.us-west1
:curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances
- Wählen Sie eine Zone aus und fügen Sie den Zonennamen in eine Variable ein.
Die Zone muss sich in der Instanz befinden. Beispiel:
export VM_ZONE="us-west1-b"
Wenn Sie Hilfe beim Identifizieren einer Zone innerhalb der Instanzregion benötigen, können Sie mit diesem
gcloud
-Befehl einen Zonennamen für die konfigurierte Laufzeitregion zurückgeben. Beispiel:VM_ZONE=$(gcloud compute zones list | grep "us-west1" | head -n 1 | awk '{print $1}')
VM erstellen und API-Proxy aufrufen
Erstellen Sie mit dem Befehl gcloud beta compute eine neue VM in Ihrem VPC-Netzwerk. Die VM fungiert als Brücke, über die Sie Anfragen an die IP des internen Load-Balancers senden können. Nachdem die VM eingerichtet ist, können Sie einen bereitgestellten API-Proxy aufrufen:
-
Im folgenden Beispiel wird eine neue VM mit einigen gängigen Optionen erstellt und die Umgebungsvariablen verwendet, die Sie zuvor als Eingaben definiert haben.
gcloud beta compute --project=$PROJECT_ID \ instances create $INSTANCE_NAME \ --zone=$VM_ZONE \ --machine-type=e2-micro \ --subnet=$SUBNET \ --network-tier=PREMIUM \ --no-restart-on-failure \ --maintenance-policy=TERMINATE \ --preemptible \ --service-account=$PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --tags=http-server,https-server \ --image=debian-12-bookworm-v20240701 \ --image-project=debian-cloud \ --boot-disk-size=10GB \ --boot-disk-type=pd-standard \ --boot-disk-device-name=$INSTANCE_NAME \ --no-shielded-secure-boot \ --shielded-vtpm \ --shielded-integrity-monitoring \ --reservation-affinity=any
-
Öffnen Sie eine sichere Verbindung zur neuen VM, die Sie gerade erstellt haben.
gcloud compute ssh $INSTANCE_NAME --zone=$VM_ZONE --project=$PROJECT_ID
- Installieren Sie in der VM-Shell das Dienstprogramm
jq
. Sie wird in den folgenden Schritten verwendet:sudo apt-get update -y
sudo apt-get install -y jq
- Erstellen Sie in der VM-Shell die folgenden Umgebungsvariablen, um das Kopieren und Einfügen der API-Proxy-Anfrage zu erleichtern:
export AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
export PROJECT_ID=YOUR_PROJECT_ID
export ENV_GROUP_HOSTNAME=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups -s | jq -r '.environmentGroups[0].hostnames[0]')
- Prüfen Sie, ob die Variablen richtig eingestellt sind:
echo $AUTH
echo $PROJECT_ID
echo $ENV_GROUP_HOSTNAME
- Einen API-Proxy aufrufen Wählen Sie unten eine Option aus, die Ihrer Routingkonfiguration während der Apigee-Bereitstellung entspricht.
Optionen für Installationen, die VPC-Peering verwenden
- (TLS-Option 1) Wenn Sie in Ihrem Projekt einen internen Load-Balancer (ILB) konfiguriert haben, wie unter Internes Routing (VPC) erläutert, rufen Sie den Proxy mit der IP-Adresse dieses ILB auf.
Diese Option verwendet CA-Zertifikate, die Sie steuern und die beim Erstellen des internen Load Balancers erstellt wurden:
- Rufen Sie die IP-Adresse des internen Load-Balancers in Ihrem Projekt ab, wie unter Internes HTTP(S)-Load-Balancing mit VM-Instanzgruppen-Back-Ends einrichten erläutert.
- Rufen Sie einen API-Proxy auf:
curl -H "Host: $ENV_GROUP_HOSTNAME" \ https://INTERNAL_LOAD_BALANCER_IP/PROXY_BASEPATH
- (TLS-Option 2) Verwenden Sie den standardmäßigen, vollständig qualifizierten Domainnamen, der in den internen Load-Balancer im Apigee-Projekt aufgelöst wird. Bei dieser Option wird TLS mit intern erstellten Apigee-signierten Zertifikaten verwendet. Sie haben keine Kontrolle über diese Zertifikate.
- Rufen Sie die IP-Adresse des internen Load-Balancers im Apigee-Projekt ab:
export INTERNAL_LOAD_BALANCER_IP=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances -s | jq -r '.instances[0].host')
- Rufen Sie das CA-Zertifikat ab, das während der Organisationserstellung erstellt wurde, mit dem folgenden Befehl:
curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID | jq -r .caCertificate | base64 -d > cacert.crt
- Senden Sie die Anfrage an einen bereitgestellten API-Proxy, wobei
example.$PROJECT_ID.apigee.internal
der interne, standardmäßige, vollständig qualifizierte Domainname ist, der in den internen Load-Balancer aufgelöst wird.curl -is -H "Host: $ENV_GROUP_HOSTNAME" \ https://example.$PROJECT_ID.apigee.internal/PROXY_BASEPATH \ --cacert cacert.crt \ --resolve example.$PROJECT_ID.apigee.internal:443:$INTERNAL_LOAD_BALANCER_IP
- Rufen Sie die IP-Adresse des internen Load-Balancers im Apigee-Projekt ab:
- (Nicht-TLS-Option) Wenn Sie kein TLS benötigen, können Sie das Flag
-k
im Befehlcurl
verwenden, um TLS zu deaktivieren und SSL-Probleme zu vermeiden:- Rufen Sie die IP-Adresse des internen Load-Balancers im Apigee-Projekt ab:
export INTERNAL_LOAD_BALANCER_IP=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances -s | jq -r '.instances[0].host')
- Rufen Sie einen API-Proxy auf:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://$INTERNAL_LOAD_BALANCER_IP/PROXY_BASEPATH
- Rufen Sie die IP-Adresse des internen Load-Balancers im Apigee-Projekt ab:
- (Option für Dienstendpunkt) Wenn Sie eine kostenpflichtige oder Bewertungsorganisation mit PSC bereitgestellt haben und die Option Dienstendpunkt-Routing gewählt haben:
- Rufen Sie die IP-Adresse des Dienstendpunkts ab. Wenn Sie die Endpunkt-IP-Adresse ermitteln müssen, siehe Endpunkte auflisten.
- Rufen Sie einen API-Proxy auf:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://SERVICE_ENDPOINT_IP/PROXY_BASEPATH
Beispiel:
curl -H "Host: $ENV_GROUP_HOSTNAME" https://10.138.0.2/helloworld -k
Optionen für Installationen, die kein Nicht-VPC-Peering verwenden
- (Option für Dienstendpunkt) Wenn Sie eine kostenpflichtige oder Bewertungsorganisation mit PSC bereitgestellt haben und die Option Dienstendpunkt-Routing gewählt haben:
- Rufen Sie die IP-Adresse des Dienstendpunkts ab. Wenn Sie die Endpunkt-IP-Adresse ermitteln müssen, siehe Endpunkte auflisten.
- Rufen Sie einen API-Proxy auf:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://SERVICE_ENDPOINT_IP/PROXY_BASEPATH
Beispiel:
curl -H "Host: $ENV_GROUP_HOSTNAME" https://10.138.0.2/helloworld -k
Wenn in diesem Teil des Prozesses Fehler auftreten, achten Sie darauf, dass alle Umgebungsvariablen, die Sie erstellt und in Befehlen verwendet haben, gültige Werte haben. Siehe auch Fehlerbehebung.
Nächster Schritt
Versuchen Sie, einen Proxy zu erstellen, den Sie dann bereitstellen können, oder gehen Sie zu den Apigee-Anleitungen, in denen Sie die Funktionen von Apigee kennenlernen, z. B. Schutz vor unerwarteten Trafficspitzen oder eine detaillierte Ansicht des Anfrage-/Antwortablaufs.
(Erweitert) Wenn Sie dies in eine Produktionsumgebung umwandeln möchten, können Sie einen Sicherheitsbereich für Ihren neuen Cluster und die zugehörigen Cloud-Dienste konfigurieren. Dies ist mit VPC Service Controls möglich.
- (TLS-Option 1) Wenn Sie in Ihrem Projekt einen internen Load-Balancer (ILB) konfiguriert haben, wie unter Internes Routing (VPC) erläutert, rufen Sie den Proxy mit der IP-Adresse dieses ILB auf.
Diese Option verwendet CA-Zertifikate, die Sie steuern und die beim Erstellen des internen Load Balancers erstellt wurden: