Diese Seite gilt für Apigee, aber nicht für Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
In diesem Dokument wird erläutert, wie Sie eine Apigee-Evaluierungsorganisation über die Befehlszeile ohne VPC-Peering installieren und konfigurieren. Evaluierungsorganisationen laufen nach 60 Tagen ab und können weitere Einschränkungen haben. Siehe auch Vergleich von Evaluierungs- und bezahlten Organisationen.
Beschränkungen
Für die Nicht-VPC-Peering-Installationsoption, die in diesem Dokument beschrieben wird, gelten einige Einschränkungen:
- VPC Service Controls werden nicht unterstützt.
- Privates DNS-Peering wird nicht unterstützt.
Eine vollständige Liste der Features und Netzwerkansätze, die für das Nicht-VPC-Peering unterstützt und nicht unterstützt werden, finden Sie unter Netzwerkoption auswählen.
Zusammenfassung der Schritte
Dazu sind folgende Schritte erforderlich:
- Schritt 1: Umgebungsvariablen definieren: Richten Sie
gcloud
ein und definieren Sie Umgebungsvariablen. Die Google Cloud CLI verwaltet Authentifizierung, lokale Konfiguration, Entwickler-Workflow und Interaktionen mit den Google Cloud APIs. - Schritt 2: APIs aktivieren: Für Apigee müssen Sie mehrere Google Cloud APIs aktivieren.
- Schritt 3: Organisation erstellen: Eine Apigee-Organisation (manchmal auch als Org bezeichnet) ist der oberste Container in Apigee. Sie enthält alle Umgebungen und Umgebungsgruppen, Nutzer, API-Proxys und zugehörigen Ressourcen.
- Schritt 4: Routing konfigurieren: Erlauben Sie den externen Zugriff oder den internen Zugriff auf Ihre API.
- Schritt 5: Beispiel-API-Proxy aufrufen: Testen Sie die Bereitstellung, indem Sie einen API-Proxy bereitstellen und aufrufen.
Schritt 1: Umgebungsvariablen definieren
Richten Sie gcloud
ein und definieren Sie Umgebungsvariablen zur Verwendung in späteren Schritten:
- Prüfen Sie, ob die unter Voraussetzungen aufgeführten Einrichtungsanforderungen erfüllt sind.
- Die gcloud-Befehlszeile muss installiert sein. Weitere Informationen zur Installation finden Sie unter gcloud-CLI installieren.
- Initialisieren Sie die gcloud-Befehlszeile wie unter gcloud-Befehlszeile initialisieren beschrieben. Wenn die Befehlszeile bereits initialisiert ist, prüfen Sie, ob das unter Voraussetzungen erstellte Google Cloud-Projekt das Standardprojekt für gcloud ist.
- Legen Sie die folgenden Umgebungsvariablen fest:
AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
PROJECT_ID="YOUR_PROJECT_ID"
RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
ANALYTICS_REGION="YOUR_ANALYTICS_REGION"
Dabei gilt:
- AUTH definiert den Header
Authentication
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. - PROJECT_ID ist die Cloud-Projekt-ID, die Sie als eine der Voraussetzungen erstellt haben.
RUNTIME_LOCATION ist der physische Standort, an dem sich die Apigee-Instanz befindet. Eine Liste der verfügbaren Laufzeitstandorte finden Sie unter Apigee-Standorte.
-
ANALYTICS_REGION ist der physische Standort, an dem Apigee-Analysedaten gespeichert werden. Eine Liste der verfügbaren Apigee API Analytics-Regionen finden Sie unter Apigee-Standorte.
RUNTIME_LOCATION und ANALYTICS_REGION können sich zwar auf dieselbe Region beziehen, müssen aber nicht identisch sein. Unter Umständen verbessert die Übereinstimmung aber die Leistung.
- AUTH definiert den Header
- (Optional) Um Ihre Arbeit zu testen, rufen Sie die soeben festgelegten Werte ab. Wenn Sie in Ihren Befehlen eine Variable verwenden möchten, stellen Sie dem Variablennamen ein Dollarzeichen ($) voran.
echo $AUTH
echo $PROJECT_ID
echo $RUNTIME_LOCATION
echo $ANALYTICS_REGION
Die Antworten auf Ihre
echo
-Befehle sollten etwa so aussehen:Authorization: Bearer ya29.a123456678940B63hPSAMPLEsampleKKYVsample0f3pWDWZDuH2-hENkNa TvgZ1PD977TMvv6edBQPJezdHw040880Ol_LoD5ZDkt-i-knizia_KhA9L20sSvztL81-SAMPLE42ELPMASk2_ 1CxN my-cloud-project us-west1 us-west1
Schritt 2: APIs aktivieren
-
Für Apigee müssen Sie mehrere Google Cloud APIs aktivieren. Aktivieren Sie diese mit dem Befehl
services enable
:gcloud services enable apigee.googleapis.com \ cloudkms.googleapis.com --project=$PROJECT_ID
(Optional) Rufen Sie zum Prüfen Ihrer Arbeit mit dem Befehl
services list
alle aktivierten APIs auf:gcloud services list
Die Antwort zeigt alle aktivierten Dienste, einschließlich der APIs, die Sie gerade aktiviert haben (Apigee, Cloud KMS und Compute Engine).
Schritt 4: Organisation erstellen
Eine Organisation ist der übergeordnete Container in Apigee. Sie enthält alle Ihre API-Proxys und die zugehörigen Ressourcen. Weitere Informationen finden Sie unter Informationen zu Organisationen.
- Erstellen Sie mit der provisionOrganization API eine neue Evaluierungsorganisation.
suppresswarning="true">curl "https://apigee.googleapis.com/v1/projects/$PROJECT_ID:provisionOrganization" \ -H "$AUTH" \ -X POST \ -H "Content-Type:application/json" \ -d '{ "analyticsRegion":"'"$ANALYTICS_REGION"'", "runtimeLocation":"'"$RUNTIME_LOCATION"'", "disableVpcPeering":"true", }'
Dabei gilt:
-d
definiert die Datennutzlast für die Anfrage. Diese Nutzlast muss Folgendes enthalten:ANALYTICS_REGION
: Gibt den physischen Speicherort an, an dem Ihre Analysedaten gespeichert werden.RUNTIME_LOCATION
ist der physische Standort, an dem sich die Apigee-Instanz befindet.disableVpcPeering
: In diesem Bereitstellungsablauf verwenden wir kein VPC-Peering. Daher muss dieses Flag auftrue
festgelegt werden. Standardeinstellung:false
-
Apigee startet einen LRO, um die Evaluierungsorganisation zu erstellen. Dieser Vorgang dauert bis zu 40 Minuten.
- Um den Status Ihrer Erstellungsanfrage zu prüfen, können Sie eine
GET
-Anfrage an die Apigee List Organizations API wie im folgendem Beispiel senden:curl -H "$AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"
Wenn diese Antwort angezeigt wird, ist die Erstellung der Organisation noch nicht abgeschlossen:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)", "status": "PERMISSION_DENIED" } }
Bei Erfolg gibt das Antwortobjekt
"state": "ACTIVE"
an und Sie können mit dem nächsten Schritt fortfahren.
Schritt 4: Routing konfigurieren
In diesem Schritt konfigurieren Sie, wie Clientanwendungen mit Apigee kommunizieren. Client-zu-Apigee-Traffic wird auch als Northbound-Traffic bezeichnet. Die Konfigurationsoptionen für Northbound-Traffic umfassen:
Zugriffstyp | Beschreibung des Konfigurations- und Bereitstellungsprozesses |
---|---|
Intern mit PSC |
Erlauben Sie mit Private Service Connect (PSC) nur internen Zugriff auf die API-Proxys Ihrer Google Cloud-Projekte. PSC ermöglicht eine private Verbindung zwischen einem Dienstersteller (Apigee) und einem Dienstnutzer (dem Peering-VPC-Projekt und/oder einem oder mehreren anderen Cloud-Projekten, über die Sie die Kontrolle haben). Bei dieser Methode werden Anfragen entweder über einen Dienst-Endpunkt oder einen regionalen internen Load Balancer an einen einzigen Anhangspunkt geleitet, der als Dienstanhang bezeichnet wird. Mit dieser Konfiguration können Ihre internen Clients Apigee API-Proxyanfragen von einem beliebigen netzwerkfähigen Computer senden. |
Extern mit PSC |
Erlaubt den externen Zugriff auf API-Proxys mithilfe von Private Service Connect (PSC). Verwenden Sie Private Service Connect (PSC), um eine private Verbindung zwischen einem Dienstersteller (Apigee) und einem Dienstnutzer (dem Peering-VPC-Projekt und/oder einem oder mehreren anderen Cloud-Projekten zu ermöglichen, über die Sie die Kontrolle haben). Bei dieser Methode werden Anfragen entweder über einen globalen externen Load Balancer oder einen regionalen externen Load Balancer an einen einzelnen Zugriffspunkt namens Dienstanhang weitergeleitet. Mit dieser Konfiguration können Sie Apigee API-Proxy-Anfragen von jeder netzwerkfähigen Maschine aus senden. |
Jeder dieser Routing-Ansätze wird in einem Tab in der folgenden Anleitung beschrieben.
Internes Routing (PSC)
In diesem Abschnitt wird erläutert, wie Sie mit Private Service Connect (PSC) nur internen Zugriff auf Ihre API-Proxys von Ihren Google Cloud-Projekten zulassen.
Sie haben folgende Optionen zum Konfigurieren des internen Zugriffs mit PSC:
- Dienstendpunkt: Anfragen werden über einen Dienstendpunkt an einen einzelnen Punkt des Anhangs weitergeleitet, der als Dienstanhang bezeichnet wird.
- Interner regionaler Load Balancer: Anfragen werden über einen regionalen internen HTTP(S)-Load-Balancer weitergeleitet. Siehe auch Globales oder regionales Load Balancing.
Wählen Sie unten den Tab für Ihre Konfiguration aus und folgen Sie der Anleitung:
Dienstendpunkt
PSC-Dienstendpunkt für den Dienstanhang erstellen
- Rufen Sie den Dienstanhang aus der Apigee-Instanz ab:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
In der folgenden Beispielausgabe ist der Wert
serviceAttachment
fett dargestellt:{ "instances": [ { "name": "us-west1", "location": "us-west1", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1" } ] }
- Erstellen Sie einen PSC-Dienstendpunkt, der auf den Dienstanhang verweist, den Sie im vorherigen Schritt aus dem Antworttext der Instanz erhalten haben, wie unter Private Service Connect-Endpunkt erstellen beschrieben.
- Notieren Sie sich die IP-Adresse des Dienstendpunkts. Sie benötigen die IP-Adresse später, wenn Sie die Einrichtung durch Aufrufen eines API-Proxys testen. Beispiel:
10.138.0.2
Die Bereitstellung von Apigee ist abgeschlossen. Gehen Sie zu Beispielproxy bereitstellen.
Internes regionales Load Balancing
Schritt 8a: Umgebungsvariablen einrichten
In der Anleitung in diesem Abschnitt werden Umgebungsvariablen verwendet, um auf wiederholt verwendete Strings zu verweisen. Achten Sie darauf, dass die Variablen unter Umgebungsvariablen definieren festgelegt werden.
Legen Sie außerdem die folgenden Umgebungsvariablen fest:
NEG_NAME=YOUR_NEG_NAME"TARGET_SERVICE=YOUR_TARGET_SERVICE"
NETWORK_NAME=YOUR_NETWORK_NAME"
SUBNET_NAME=YOUR_SUBNET_NAME"
Dabei gilt:
- NEG_NAME ist ein Name für die Netzwerk-Endpunktgruppe.
- TARGET_SERVICE ist der Dienstanhang, mit dem Sie eine Verbindung herstellen möchten. Beispiel:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
- NETWORK_NAME: (Optional) Name des Netzwerks, in dem die NEG erstellt wird. Wenn Sie diesen Parameter weglassen, wird das Projektnetzwerk
default
verwendet. - SUBNET_NAME: Name des Subnetzes, das für die private Verbindung zum Ersteller verwendet wird. Die Subnetzgröße kann klein sein: Die PSC NEG benötigt nur eine IP-Adresse aus dem Subnetz. Für Apigee ist nur eine PSC-NEG pro Region erforderlich. Das Subnetz kann von VMs oder anderen Entitäten gemeinsam genutzt und verwendet werden. Wenn kein Subnetz angegeben ist, können Netzwerkendpunkte zu einem Subnetzwerk in der Region gehören, in der die Netzwerk-Endpunktgruppe erstellt wird.
Schritt 8b: Nur-Proxy-Subnetz erstellen
gcloud compute networks subnets create testproxyonlysubnet \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE --region=$RUNTIME_REGION --network=$NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
Schritt 8c: Netzwerk-Endpunktgruppe (NEG) erstellen
- Rufen Sie den Dienstanhang aus der zuvor erstellten Instanz ab:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
In der folgenden Beispielausgabe ist der Wert
serviceAttachment
fett dargestellt:{ "instances": [ { "name": "us-west1", "location": "us-west1", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
Erstellen Sie eine Private Service Connect NEG, die auf den Dienstanhang verweist, den Sie im vorherigen Schritt aus dem Antworttext der Instanz abgerufen haben.
gcloud compute network-endpoint-groups create $NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=$TARGET_SERVICE \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Schritt 8d: Regionalen internen Load Balancer konfigurieren
- Reservieren Sie eine interne IPv4-Adresse für den Load Balancer.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --subnet=$SUBNET_NAME \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ersetzen Sie ADDRESS_NAME durch einen Namen für die IP-Adressressource
Führen Sie diesen Befehl aus, um die reservierte IP-Adresse aufzurufen:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=RUNTIME_LOCATION --project=$PROJECT_ID
- Erstellen Sie einen neuen Backend-Dienst für die NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_REGION \ --project=$PROJECT_ID
- Fügen Sie dem Backend-Dienst die NEG hinzu:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- BACKEND_SERVICE_NAME ist der Name des Backend-Dienstes.
- NEG_NAME ist der Name der Netzwerk-Endpunktgruppe.
-
Sie benötigen eine SSL-Zertifikatsressource, die im HTTPS-Proxy verwendet wird.
Verwenden Sie diesen Befehl, um eine selbstverwaltete SSL-Zertifikatsressource zu erstellen. Zum Erstellen eines selbstverwalteten SSL-Zertifikats benötigen Sie eine lokale private Schlüsseldatei und eine lokale Zertifikatsdatei. Wenn Sie diese Dateien erstellen müssen, finden Sie weitere Informationen unter Schritt 1 der Verwendung selbstverwalteter SSL-Zertifikate.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=RUNTIME_LOCATION --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- CERTIFICATE ist ein Name für das Zertifikat.
- LB_CERT ist der Pfad zur Zertifikatsdatei im PEM-Format für Ihr selbstverwaltetes Zertifikat.
- LB_PRIVATE_KEY ist der Pfad zur privaten Schlüsseldatei im PEM-Format für Ihr selbstverwaltetes Zertifikat.
-
Erstellen Sie eine URL-Zuordnung für den Load-Balancer.
Eine URL-Zuordnung muss auf einen Standard-Backend-Dienst verweisen. Legen Sie den Backend-Dienst fest, den Sie gerade als Standard erstellt haben.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
Ersetzen Sie Folgendes:
- URL_MAP_NAME ist ein Name für die URL-Zuordnung.
- DEFAULT_BACKEND_SERVICE_NAME ist der Name des Standard-Backend-Dienstes des Load-Balancers. Die Standardeinstellung wird verwendet, wenn keine Hostregel mit dem angeforderten Hostnamen übereinstimmt.
-
Verwenden Sie die SSL-Zertifikatsressource, um einen Ziel-HTTPS-Proxy zu erstellen.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- PROXY_NAME ist ein Name für den Ziel-HTTPS-Proxy.
- URL_MAP_NAME ist der Name der URL-Zuordnung.
- CERTIFICATE ist der Name der Zertifikatsressource.
- Erstellen Sie die Weiterleitungsregel.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=INTERNAL_MANAGED \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --target-https-proxy-region=$RUNTIME_REGION \ --region=$RUNTIME_REGION --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- FWD_RULE ist ein Name für die Weiterleitungsregel.
- ADDRESS_NAME ist die IP-Adressressource, die Sie für die Weiterleitungsregel reserviert haben.
- PROXY_NAME ist der Name des HTTPS-Ziel-Proxys.
Ersetzen Sie BACKEND_SERVICE_NAME durch den Namen des Backend-Dienstes.
Die Bereitstellung von Apigee ist abgeschlossen. Gehen Sie zu Beispielproxy bereitstellen.
Externes Routing (PSC)
In diesem Abschnitt wird beschrieben, wie Sie das externe Routing mit Private Service Connect (PSC) konfigurieren, um die Kommunikation zwischen Apigee und Ihren verwalteten VPCs zu ermöglichen. Dies ist erforderlich, bevor eine Anfrage von einem externen Client an Ihre Apigee-Laufzeitinstanz gesendet werden kann.
Schritt 8b: NEG erstellen und Load Balancer konfigurieren
Sie können einen globalen oder regionalen Load Balancer erstellen.
Globaler externer Load Balancer
Konfigurieren Sie einen globalen externen HTTP(S)-Load-Balancer (das Load-Balancing-Schema ist auf EXTERNAL_MANAGED
gesetzt).
Obwohl die Private Service Connect-NEG regional ist, sind alle anderen Load-Balancing-Komponenten in dieser Konfiguration global.
- Achten Sie darauf, dass die Umgebungsvariablen unter Umgebungsvariablen definieren festgelegt sind.
- Rufen Sie den Dienstanhang aus der zuvor erstellten Instanz ab:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
In der folgenden Beispielausgabe ist der Wert
serviceAttachment
fett dargestellt:{ "instances": [ { "name": "us-west1", "location": "us-west1", "host": "10.82.192.2", "port": "443", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-7-0-20220228-190814", "ipRange": "10.82.192.0/22,10.82.196.0/28", "consumerAcceptList": [ "875609189304" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
Erstellen Sie eine Private Service Connect NEG, die auf den Dienstanhang verweist, den Sie im vorherigen Schritt aus dem Antworttext der Instanz abgerufen haben.
gcloud compute network-endpoint-groups create $NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=$TARGET_SERVICE \ --region=$RUNTIME_LOCATION \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --project=$PROJECT_ID
Ersetzen Sie Folgendes:
- NETWORK_NAME: (Optional) Name des Netzwerks, in dem die NEG erstellt wird. Wenn Sie diesen Parameter weglassen, wird das Projektnetzwerk
default
verwendet. - SUBNET_NAME: Name des Subnetzes, das für die private Verbindung zum Ersteller verwendet wird. Die Subnetzgröße kann klein sein: Die PSC NEG benötigt nur eine IP-Adresse aus dem Subnetz. Für Apigee ist nur eine PSC-NEG pro Region erforderlich. Das Subnetz kann von VMs oder anderen Entitäten gemeinsam genutzt und verwendet werden. Wenn kein Subnetz angegeben ist, können Netzwerkendpunkte zu einem Subnetzwerk in der Region gehören, in der die Netzwerk-Endpunktgruppe erstellt wird.
- PROJECT_ID Das Cloud-Projekt, das bereits mit Ihrer Apigee-Organisation verknüpft ist, oder ein Cloud-Projekt, das in
consumerAcceptlist
enthalten war, als die Apigee-Laufzeitinstanz erstellt wurde.
- NETWORK_NAME: (Optional) Name des Netzwerks, in dem die NEG erstellt wird. Wenn Sie diesen Parameter weglassen, wird das Projektnetzwerk
- Reservieren Sie eine globale externe IPv4-Adresse für den Load-Balancer.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --global --project=$PROJECT_ID
Ersetzen Sie ADDRESS_NAME durch einen Namen für die IP-Adressressource
Führen Sie diesen Befehl aus, um die reservierte IP-Adresse aufzurufen:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --global --project=$PROJECT_ID
- Erstellen Sie einen neuen Backend-Dienst für die NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --global --project=$PROJECT_ID
- Fügen Sie den Backend-Dienst zur NEG hinzu.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=$REGION \ --global --project=$PROJECT_ID
Ersetzen Sie Folgendes:
- BACKEND_SERVICE_NAME ist der Name des Backend-Dienstes.
- NEG_NAME ist der Name der Netzwerk-Endpunktgruppe.
- REGION ist die Region der Netzwerk-Endpunktgruppe.
Erstellen Sie eine URL-Zuordnung für den Load-Balancer.
Eine URL-Zuordnung muss auf einen Standard-Backend-Dienst verweisen. Legen Sie den Backend-Dienst fest, den Sie gerade als Standard erstellt haben.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- URL_MAP_NAME ist ein Name für die URL-Zuordnung.
- DEFAULT_BACKEND_SERVICE_NAME ist der Name des Standard-Backend-Dienstes des Load-Balancers. Die Standardeinstellung wird verwendet, wenn keine Hostregel mit dem angeforderten Hostnamen übereinstimmt.
Erstellen Sie den Ziel-HTTPS-Proxy.
Sie benötigen eine SSL-Zertifikatsressource, die im HTTPS-Proxy verwendet wird. Sie können eine SSL-Zertifikatsressource entweder mit einem von Google verwalteten SSL-Zertifikat oder mit einem selbst verwalteten SSL-Zertifikat erstellen. Es empfiehlt sich, von Google verwaltete Zertifikate zu verwenden, da Google Cloud diese Zertifikate automatisch abruft, verwaltet und verlängert.
Zum Erstellen eines von Google verwalteten Zertifikats benötigen Sie eine Domain.
Verwenden Sie diesen Befehl, um eine von Google verwaltete SSL-Zertifikatsressource zu erstellen:
gcloud compute ssl-certificates create CERTIFICATE \ --domains DOMAIN --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- CERTIFICATE ist ein Name für das Zertifikat.
- DOMAIN ist der Domainname des Load-Balancers
Verwenden Sie diesen Befehl, um eine selbstverwaltete SSL-Zertifikatsressource zu erstellen. Zum Erstellen eines selbstverwalteten SSL-Zertifikats benötigen Sie eine lokale private Schlüsseldatei und eine lokale Zertifikatsdatei. Wenn Sie diese Dateien erstellen müssen, finden Sie weitere Informationen unter Schritt 1 der Verwendung selbstverwalteter SSL-Zertifikate.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- CERTIFICATE ist ein Name für das Zertifikat.
- LB_CERT ist der Pfad zur Zertifikatsdatei im PEM-Format für Ihr selbstverwaltetes Zertifikat.
- LB_PRIVATE_KEY ist der Pfad zur privaten Schlüsseldatei im PEM-Format für Ihr selbstverwaltetes Zertifikat.
Verwenden Sie die SSL-Zertifikatsressource, um einen Ziel-HTTPS-Proxy zu erstellen.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- PROXY_NAME ist ein Name für den Ziel-HTTPS-Proxy.
- URL_MAP_NAME ist der Name der URL-Zuordnung.
- CERTIFICATE ist der Name der Zertifikatsressource.
- Erstellen Sie die Weiterleitungsregel.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --global --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- FWD_RULE ist ein Name für die Weiterleitungsregel.
- ADDRESS_NAME ist die IP-Adressressource, die Sie für die Weiterleitungsregel reserviert haben.
- PROXY_NAME ist der Name des HTTPS-Ziel-Proxys.
Ersetzen Sie BACKEND_SERVICE_NAME durch den Namen des Backend-Dienstes.
Die Bereitstellung von Apigee ist abgeschlossen. Gehen Sie zu Beispielproxy bereitstellen.
Regionaler externer Load Balancer
Konfigurieren Sie einen regionalen externen HTTP(S)-Load Balancer. Weitere Informationen finden Sie unter Übersicht über externen HTTP(S)-Load Balancer.
- Achten Sie darauf, dass die Variablen unter Umgebungsvariablen definieren festgelegt werden.
- Erstellen Sie ein Nur-Proxy-Subnetz:
gcloud compute networks subnets create SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE \ --region=$RUNTIME_LOCATION --network=NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
- Ersetzen Sie SUBNET_NAME durch den Namen des Subnetzes.
- (Optional) Ersetzen Sie NETWORK_NAME des Namens des Netzwerks, in dem das Subnetz erstellt wird. Wenn Sie diesen Parameter weglassen, wird das Standardprojektnetzwerk verwendet.
- Rufen Sie den Dienstanhang aus der zuvor erstellten Instanz ab:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
In der folgenden Beispielausgabe ist der Wert
serviceAttachment
fett dargestellt:{ "instances": [ { "name": "us-west1", "location": "us-west1", "host": "10.82.192.2", "port": "443", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-7-0-20220228-190814", "ipRange": "10.82.192.0/22,10.82.196.0/28", "consumerAcceptList": [ "875609189304" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
- Netzwerk-Endpunktgruppe erstellen
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- NEG_NAME ist der Name der Netzwerk-Endpunktgruppe.
- TARGET_SERVICE: Der Name des Dienstanhangs, zu dem Sie eine Verbindung herstellen möchten.
Beispiel:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
- Erstellen Sie einen neuen Backend-Dienst für die NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Fügen Sie den Backend-Dienst zur NEG hinzu.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ersetzen Sie Folgendes:
- BACKEND_SERVICE_NAME ist der Name des Backend-Dienstes.
- NEG_NAME ist der Name der Netzwerk-Endpunktgruppe.
Erstellen Sie eine URL-Zuordnung für den Load-Balancer.
Eine URL-Zuordnung muss auf einen Standard-Backend-Dienst verweisen. Legen Sie den Backend-Dienst fest, den Sie gerade als Standard erstellt haben.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- URL_MAP_NAME ist ein Name für die URL-Zuordnung.
- DEFAULT_BACKEND_SERVICE_NAME ist der Name des Standard-Backend-Dienstes des Load-Balancers. Die Standardeinstellung wird verwendet, wenn keine Hostregel mit dem angeforderten Hostnamen übereinstimmt.
Erstellen Sie den Ziel-HTTPS-Proxy.
Sie benötigen eine SSL-Zertifikatsressource, die im HTTPS-Proxy verwendet wird.
Verwenden Sie diesen Befehl, um eine selbstverwaltete SSL-Zertifikatsressource zu erstellen. Zum Erstellen eines selbstverwalteten SSL-Zertifikats benötigen Sie eine lokale private Schlüsseldatei und eine lokale Zertifikatsdatei. Wenn Sie diese Dateien erstellen müssen, finden Sie weitere Informationen unter Schritt 1 der Verwendung selbstverwalteter SSL-Zertifikate.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ersetzen Sie Folgendes:
- CERTIFICATE ist ein Name für das Zertifikat.
- LB_CERT ist der Pfad zur Zertifikatsdatei im PEM-Format für Ihr selbstverwaltetes Zertifikat.
- LB_PRIVATE_KEY ist der Pfad zur privaten Schlüsseldatei im PEM-Format für Ihr selbstverwaltetes Zertifikat.
- Fügen Sie die Domain der für Sie erstellten Apigee-Umgebungsgruppe hinzu. Der Name der Umgebungsgruppe lautet
eval-group
:curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group" \ -H "$AUTH" \ -X PATCH \ -H "Content-Type:application/json" \ -d '{ "hostnames":["'"DOMAIN"'"] }'
- Prüfen Sie den Status des Umgebungsgruppenvorgangs:
curl -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
-
Verwenden Sie die SSL-Zertifikatsressource, um einen Ziel-HTTPS-Proxy zu erstellen.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME --region=$RUNTIME_LOCATION \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- PROXY_NAME ist ein Name für den Ziel-HTTPS-Proxy.
- URL_MAP_NAME ist der Name der URL-Zuordnung.
- CERTIFICATE ist der Name der Zertifikatsressource.
- Reservieren Sie eine regionale externe Adresse für den Load Balancer. Die Netzwerkstufe muss auf
STANDARD
festgelegt sein.gcloud compute addresses create ADDRESS_NAME \ --region=$RUNTIME_LOCATION --network-tier=STANDARD \ --project=$PROJECT_ID
Ersetzen Sie ADDRESS_NAME durch einen Namen für die IP-Adressressource
Führen Sie diesen Befehl aus, um die reservierte IP-Adresse aufzurufen:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Erstellen Sie die Weiterleitungsregel.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 --region=$RUNTIME_LOCATION \ --target-https-proxy-region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ersetzen Sie dabei Folgendes:
- FWD_RULE ist ein Name für die Weiterleitungsregel.
- ADDRESS_NAME ist die IP-Adressressource, die Sie für die Weiterleitungsregel reserviert haben.
- PROXY_NAME ist der Name des HTTPS-Ziel-Proxys.
Ersetzen Sie BACKEND_SERVICE_NAME durch den Namen des Backend-Dienstes.
Die Bereitstellung von Apigee ist abgeschlossen. Weitere Informationen finden Sie unter Beispiel-API-Proxy aufrufen.
Schritt 5: API-Beispielproxy aufrufen
Während der Bereitstellung wurde ein API-Proxy mit dem Namen hello-world
erstellt und bereitgestellt. In diesem Schritt testen Sie die neue Evaluierungsorganisation, indem Sie den Proxy aufrufen.
API-Proxy mit internem Routing aufrufen
Wenn Sie ein internes Routing mit einer Dienstendpunkt-Option in Schritt 5 ausführen möchten, folgen Sie den Schritten in API-Proxy nur mit internem Zugriff aufrufen.
API-Proxy mit externem Routing aufrufen
Wenn Sie in Schritt 5 die Option für das externe Routing ausgewählt haben, führen Sie die Schritte in diesem Abschnitt aus.
- Richten Sie einen DNS-Eintrag für Ihre Domain ein. Es gibt zwei Möglichkeiten, um diese Aufgabe auszuführen:
- Erstellen Sie bei Ihrem Registrator einen A-Eintrag, der auf Ihre Domain verweist. Wenn Ihre Domain beispielsweise
sales.example.com
und die IP-Adresse 10.23.0.2 lautet, verweisen Sie den Eintrag fürsales.example.com
auf die Adresse10.23.0.2
.Führen Sie diesen Befehl aus, um die reservierte IP-Adresse aufzurufen:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Verwenden Sie Google Cloud DNS, um einer IP-Adresse eine URL zuzuordnen.
- Erstellen Sie bei Ihrem Registrator einen A-Eintrag, der auf Ihre Domain verweist. Wenn Ihre Domain beispielsweise
- Prüfen Sie, ob der
hello-world
-Proxy bereitgestellt wurde:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
- Den API-Proxy aufrufen
Senden Sie von jeder netzwerkfähigen Maschine aus eine Anfrage an den API-Proxy, indem Sie den folgenden Befehl ausführen:
curl -i -H "Host: DOMAIN" \ https://DOMAIN/hello-world
Dabei ist DOMAIN die Domain, die Sie in das Zertifikat einfügen und der Umgebungsgruppe hinzufügen, wie unter Schritt 5: Routing konfigurieren beschrieben. Bei Bedarf können Sie mit dieser API den Wert
DOMAIN
aus der Umgebungsgruppe abrufen:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"
Bei Erfolg gibt der Beispiel-API-Proxy die Antwort zurück:
Hello, Guest!
Tipps zur Fehlerbehebung:
Wenn Sie einen Handshakefehler erhalten, prüfen Sie den Status des SSL-Zertifikats. Informationen zur Fehlerbehebung bei selbstverwalteten und von Google verwalteten Zertifikaten finden Sie unter Fehlerbehebung bei SSL-Zertifikaten.
Ihre registrierte Domain muss einen A-Eintrag haben, der auf die IP-Adresse der globalen externen IPv4-Adresse verweist, die in Schritt 5 erstellt wurde. Führen Sie diesen Befehl aus, um die reservierte IP-Adresse aufzurufen:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Wenn Sie die Domainkonfiguration nicht auflösen können, versuchen Sie, den Proxy mit diesem Befehl aufzurufen:
curl -H Host:DOMAIN --resolve \ DOMAIN:443:EXTERNAL_IP_ADDRESS \ https://DOMAIN:443/hello-world -k
Als Nächstes: Weitere Informationen zum Erstellen und Bereitstellen von API-Proxys finden Sie unter Ersten API-Proxy erstellen.