Evaluierungsorganisation ohne VPC-Peering bereitstellen

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:

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 zur Verwendung in späteren Schritten:

  1. Prüfen Sie, ob die unter Voraussetzungen aufgeführten Einrichtungsanforderungen erfüllt sind.
  2. Die gcloud-Befehlszeile muss installiert sein. Weitere Informationen zur Installation finden Sie unter gcloud-CLI installieren.
  3. 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.
  4. 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.

  5. (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

  1. 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
  2. (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.

  1. 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 auf true festgelegt werden. Standardeinstellung: false
  2. Apigee startet einen LRO, um die Evaluierungsorganisation zu erstellen. Dieser Vorgang dauert bis zu 40 Minuten.

  3. 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

  1. 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"
        }
      ]
    }
  2. 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.
  3. 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:

  • Legen Sie die folgenden Umgebungsvariablen in Ihrem Befehlsterminal 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

    1. 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"
        }
      ]
      }
    2. 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

    1. 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
    2. 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
    3. Ersetzen Sie BACKEND_SERVICE_NAME durch den Namen des Backend-Dienstes.

    4. 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.
    5. 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.
    6. 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.
    7. 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.
    8. 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.

    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.

    1. Achten Sie darauf, dass die Umgebungsvariablen unter Umgebungsvariablen definieren festgelegt sind.
    2. 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"
              }
            ]
          }
    3. 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.
    4. 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
    5. 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
    6. Ersetzen Sie BACKEND_SERVICE_NAME durch den Namen des Backend-Dienstes.

    7. 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.
    8. 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.
    9. 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.
    10. 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.

    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.

    1. Achten Sie darauf, dass die Variablen unter Umgebungsvariablen definieren festgelegt werden.
    2. 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.
    3. 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"
                }
              ]
            }
    4. 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
    5. 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
    6. Ersetzen Sie BACKEND_SERVICE_NAME durch den Namen des Backend-Dienstes.

    7. 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.
    8. 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.
    9. 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.
    10. 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"'"]
            }'
    11. Prüfen Sie den Status des Umgebungsgruppenvorgangs:
      curl -H "$AUTH" \
            "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
          
    12. 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.
    13. 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
    14. 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.

    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.

    1. 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ür sales.example.com auf die Adresse 10.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.
    2. 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"
    3. 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.