Private Netzwerkverbindung

Auf dieser Seite wird beschrieben, wie Sie Integration Connectors für eine private Verbindung zu Ihren Backend-Anwendungen konfigurieren. Es wird davon ausgegangen, dass Sie mit den folgenden Konzepten vertraut sind:

Integration Connectors unterstützt die Verbindung zu Ihren Back-Ends, die in einem privaten Netzwerk gehostet werden. Wenn Sie eine private Verbindung aktivieren möchten, müssen Sie Private Service Connect (PSC) verwenden. Mit PSC können Sie private Verbindungen zu Diensten über verschiedene Netzwerke herstellen.

Bei Integration Connectors sind Sie aus Netzwerksicht der Dienstersteller und Integration Connectors der Dienstnutzer. Als Dienstersteller müssen Sie einen PSC-Dienstanhang konfigurieren, den Integration Connectors verwenden können, um den Dienst zu nutzen. Sobald der Dienstanhang bereit ist, können Sie die Verbindung so konfigurieren, dass der Dienstanhang über einen Endpunktanhang verwendet wird.

Endpunktanhänge

Endpunktanhänge sind Integration Connectors-Ressourcen, die es ermöglichen, über die PSC-Dienstanhänge eine Verbindung zu Ihren Backend-Anwendungen herzustellen.

Die folgende Abbildung zeigt einen Endpunktanhang, der eine Verbindung über einen PSC-Dienstanhang mit einer Backend-Anwendung herstellen kann:

Sie können den Endpunkt-Anhang entweder als IP-Adresse oder als Hostname erstellen.

Endpunktanhang als IP-Adresse erstellen

Sie können einen Endpunkt-Anhang als IP-Adresse entweder über die Cloud Console oder die Befehlszeile (gcloud) erstellen. .

Console

So erstellen Sie einen Endpunkt-Anhang über die Cloud Console:

  1. Öffnen Sie die Seite Endpunktanhänge für Integration Connectors.

    Endpunktanhänge aufrufen

  2. Klicken Sie auf + Erstellen. Die Seite Endpunktanhänge erstellen wird geöffnet.
  3. Geben Sie Werte für die folgenden Felder ein:
    • Name: Ein Name für den Endpunktanhang. Der Name muss eindeutig sein. Es können keine anderen Endpunktanhänge mit demselben Namen vorhanden sein und Sie können den Namen später nicht mehr ändern. Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 63 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein. Die Mindestlänge beträgt 2 Zeichen.
    • Service Attachment ID (Dienstanhang-ID): Name des PSC-Dienstanhangs, den Sie bereits erstellt haben.
    • Optional: Beschreibung: Geben Sie eine Beschreibung für den Endpunkt-Anhang ein.
    • Optional: Labels: Geben Sie Ressourcenlabels als Schlüssel/Wert-Paare ein. Weitere Informationen zu Labels finden Sie unter Was sind Labels?
    • Optional: Globalen Zugriff auf Endpunkt aktivieren: Wählen Sie diese Option aus, wenn Sie Traffic von einer Verbindung in einer beliebigen Region an Ihr Backend senden möchten.

      Standardmäßig müssen sich für den Endpunkt-Anhang sowohl die Verbindung als auch das Backend in derselben Region befinden. Wenn Sie den globalen Zugriff für den Endpunkt aktivieren, kann eine Verbindung in einer beliebigen Region Traffic an Ihr Backend senden.

  4. Klicken Sie auf Erstellen.

In der Spalte IP-Adresse wird die IP-Adresse des Endpunkt-Anhangs angegeben. Sie müssen diese IP-Adresse verwenden, wenn Sie einen Connector für eine private Verbindung konfigurieren.

gcloud

So erstellen Sie über die Befehlszeile einen Endpunktanhang:

  1. Rufen Sie die Ressource für den PSC-Dienstanhang ab:
    gcloud compute service-attachments list

    Der Befehl gibt die Liste der Dienstanhänge zurück. Beispiel:

      NAME       REGION   TARGET_SERVICE                                       CONNECTION_PREFERENCE
      demo-sa us-west1 k8s2-tcp-tgysilgj-apps-ingressgateway-fzdhwstg ACCEPT_AUTOMATIC

    Sie benötigen diese Informationen zu den angehängten Diensten in den folgenden Schritten.

  2. Rufen Sie ein Authentifizierungstoken ab, bevor Sie die CreateEndpointAttachment API ausführen:
    TOKEN="$(gcloud auth print-access-token)"
  3. Erstellen Sie den Endpunktanhang mit der CreateEndpointAttachment API. Beispiel:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
           -H "Content-Type: application/json" \
           -d '{
          "name": "projects/PROJECT_ID/locations/LOCATION/endpointAttachments/ENDPOINT_ATTACHMENT_NAME",
          "serviceAttachment": "projects/demo/serviceAttachments/?SERVICE_ATTACHMENT_NAME"
        }' \
           https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpointAttachments?endpointAttachmentId=ENDPOINT_ATTACHMENT_NAME
      

    Wobei:

    • LOCATION ist die Region des Dienstanhangs. Beispiel: us-west1.
    • PROJECT_ID ist das Google Cloud-Projekt, in dem Sie den PSC-Dienstanhang erstellt haben.
    • ENDPOINT_ATTACHMENT_NAME ist der Name des Endpunktanhangs. Der Name muss eindeutig sein. Es können keine anderen Endpunktanhänge mit demselben Namen vorhanden sein und Sie können den Namen später nicht mehr ändern. Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 31 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein. Die Mindestlänge beträgt 2 Zeichen.
    • SERVICE_ATTACHMENT_NAME ist der Name des Dienstanhangs. Verwenden Sie den Namen des PSC-Dienstkontos, der vom zuvor ausgeführten Befehl gcloud compute service-attachments list zurückgegeben wurde.

    Nach dem Aufruf der API startet Integration Connectors einen Vorgang mit langer Ausführungszeit, der einige Zeit in Anspruch nehmen kann. Der Endpunkt wird nach Abschluss des Vorgangs erstellt.

  4. Rufen Sie die Projekt-ID des Dienstverzeichnisses ab, das mit Ihrem Google Cloud-Projekt verknüpft ist, und setzen Sie diese Projekt-ID in Ihrem Dienstanhang auf die Zulassungsliste.
  5. Prüfen Sie mit der GetEndpointAttachment API, ob der Endpunktanhang erstellt wurde. Beispiel:
    curl -X GET -H "Authorization: Bearer $TOKEN" \
        https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpointAttachments/ENDPOINT_ATTACHMENT_NAME
      

    Die API gibt in etwa folgende Antwort zurück:

    {
        "name": "projects/demo-project/locations/us-central1/endpointAttachments/demo-ea",
        "createTime": "2023-04-17T04:34:59.569527046Z",
        "updateTime": "2023-04-17T04:37:25.189074195Z",
        "description": "demo endpoint attachment",
        "serviceAttachment": "projects/demo-project/regions/us-central1/serviceAttachments/demo-sa",
        "endpointIp": "10.0.0.0",
        "labels": {"team":"sre"},
      }

    Die IP-Adresse des Endpunktanhangs ist im Feld endpointIp verfügbar. In dieser Beispielantwort lautet die IP-Adresse 10.0.0.0. Verwenden Sie diese IP-Adresse, wenn Sie einen Connector für eine private Verbindung konfigurieren.

Wenn die Erstellung des Endpunkt-Anhangs erfolgreich war, wird der neu erstellte Anhang auf der Seite Endpunktanhänge aufgeführt, ähnlich wie im folgenden Bild:

endpoint-attachment endpoint-attachment

In den bisher beschriebenen Schritten wurde gezeigt, wie Sie einen Endpunkt-Anhang als IP-Adresse erstellen. Sie können einen Endpunktanhang aber auch als Hostnamen erstellen und den Hostnamen verwenden, um einen Connector für die private Konnektivität zu konfigurieren. Informationen zum Erstellen eines Endpunktanhangs mit einem Hostnamen finden Sie unter Endpunktanhang als Hostname erstellen.

Endpunktanhang als Hostname erstellen

So erstellen Sie einen Endpunkt-Anhang als Hostnamen:

  1. Erstellen Sie einen Endpunktanhang als IP-Adresse. Weitere Informationen finden Sie unter Endpunktanhänge als IP-Adresse erstellen.
  2. Erstellen Sie eine private verwaltete Cloud DNS-Zone in einem Ihrer Google Cloud-Projekte.

    In dieser DNS-Zone müssen Sie einen Hostnamen hinzufügen, den Sie für die Connectorkonfiguration verwenden möchten, und den Hostnamen der IP-Adresse der Endpunktanhänge zuordnen, die Sie in Schritt 1 erhalten haben. Informationen zum Erstellen einer privat verwalteten Cloud DNS-Zone finden Sie unter Private Zone erstellen und Eintrag hinzufügen.

  3. Erstellen Sie in Ihrem Google Cloud-Projekt eine von Integration Connectors verwaltete Zone, die Sie für Integration Connectors verwenden. Die verwaltete Zone von Integration Connectors (Peering-Zone) kommuniziert für die Namensauflösung mit der verwalteten privaten Cloud DNS-Zone (in Schritt 2 erstellt).

    Bevor Sie die verwaltete Zone erstellen, müssen Sie die folgenden Rollen und Berechtigungen gewähren:

    • Weisen Sie dem Nutzer, der die verwaltete Zone für Integration Connectors erstellt, die Berechtigung connectors.managedZones.create zu.

      Die Berechtigung connectors.managedZones.create ist entweder in der IAM-Rolle roles/connectors.admin oder in der IAM-Rolle roles/connectors.managedZonesAdmin verfügbar. Informationen zu den verschiedenen IAM-Rollen und den zugehörigen Berechtigungen für Integration Connectors finden Sie unter IAM-Rollen und -Berechtigungen für Integration Connectors.

    • Weisen Sie dem Dienstkonto „Integration Connectors“service-PROJECT_NUMBER@gcp-sa-connectors.iam.gserviceaccount.com die Rolle role/dns.peer zu.

      Wenn sich das Cloud DNS-Google Cloud-Projekt von dem Integration Connectors-Google Cloud-Projekt unterscheidet, weisen Sie dem Integration Connectors-Dienstkonto im Cloud DNS-Google Cloud-Projekt die Rolle roles/dns.peer zu. Angenommen, Sie möchten die verwaltete Zone für Integration Connectors im Google Cloud-Projekt 12345 erstellen und Cloud DNS befindet sich im Google Cloud-Projekt 67890. In diesem Fall müssen Sie dem Dienstkonto service-12345@gcp-sa-connectors.iam.gserviceaccount.com im Google Cloud-Projekt 67890 die Rolle roles/dns.peer zuweisen.

    Sie können eine von Integration Connectors verwaltete Zone entweder über die Cloud Console oder die Befehlszeile (gcloud) erstellen.

    Console

    So erstellen Sie eine von Integration Connectors verwaltete Zone über die Cloud Console:

    1. Rufen Sie die Seite „Verwaltete Zonen“ für Integration Connectors auf.

      Verwaltete Zonen aufrufen

    2. Geben Sie Werte für die folgenden Felder ein:
      1. Name: Ein Name für die verwaltete Zone.
      2. Ziel-DNS-Name: Vollständiger Cloud DNS-Name, für den Sie die verwaltete (Peering-)Zone erstellen. Beispiel: server8.stage.user.private.
      3. Zielprojekt: Name des Google Cloud-Projekts mit der privaten Cloud DNS-Zone.
      4. Zielnetzwerk: Name des VPC-Netzwerk, in dem die private Cloud DNS-Zone verwaltet wird.
      5. Optional: Beschreibung: Geben Sie eine Beschreibung für den Endpunkt-Anhang ein.
      6. Optional: Labels: Geben Sie Ressourcenlabels als Schlüssel/Wert-Paare ein. Weitere Informationen zu Labels finden Sie unter Was sind Labels?
    3. Klicken Sie auf Erstellen.

    gcloud

    So erstellen Sie über die Befehlszeile eine von Integration Connectors verwaltete Zone:

    1. Rufen Sie ein Authentifizierungstoken ab, bevor Sie die CreateManagedZone API ausführen:
      TOKEN="$(gcloud auth print-access-token)"
    2. Erstellen Sie die verwaltete Zone mit der CreateManagedZone API. Beispiel:
      curl -X POST -H "Authorization: Bearer $TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
          "description": "DESCRIPTION",
          "dns": "DNS_NAME",
          "target_project": "TARGET_PROJECT",
          "target_vpc": "TARGET_VPC"
        }' \
        https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones?managedZoneId=MANAGED_ZONE_NAME
        

      Wobei:

      • DESCRIPTION ist eine optionale Beschreibung für die verwaltete Zone.
      • DNS_NAME: Vollständiger Cloud DNS-Name, für den Sie die verwaltete (Peering-)Zone erstellen. Beispiel: server8.stage.user.private.
      • TARGET_PROJECT ist der Name des Google Cloud-Projekts, das die private Cloud DNS-Zone enthält.
      • TARGET_NETWORK ist der Name des VPC-Netzwerk, in dem die private Cloud DNS-Zone verwaltet wird.
      • PROJECT_ID ist das Google Cloud-Projekt, das Sie für Integration Connectors verwenden.
      • MANAGED_ZONE_NAME ist der Name der verwalteten Zone. Der Name muss eindeutig sein. Es dürfen keine anderen verwalteten Zonen mit demselben Namen vorhanden sein und Sie können den Namen später nicht mehr ändern. Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 63 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein. Die Mindestlänge beträgt 2 Zeichen.

      Nach dem Aufruf der API startet Integration Connectors einen Vorgang mit langer Ausführungszeit, der einige Zeit in Anspruch nehmen kann. Die verwaltete Zone wird nach Abschluss des Vorgangs erstellt.

    3. Prüfen Sie mit der GetManagedZone API, ob die verwaltete Zone erstellt wurde. Beispiel:
      curl -X GET -H "Authorization: Bearer $TOKEN" \
          https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones/MANAGED_ZONE_NAME
        

      Die API gibt in etwa folgende Antwort zurück:

      {
          "name": "projects/demo-project/locations/global/managedZones/demo-mz",
          "createTime": "2023-04-17T04:34:59.569527046Z",
          "updateTime": "2023-04-17T04:37:25.189074195Z",
          "description": "demo managed zone",
          "dns": "api.private.service.com.",
          "targetVpc": "target-project-vpc",
          "targetProject": "target-project"
        }

Wenn die Erstellung der verwalteten Zone erfolgreich war, wird die neu erstellte verwaltete Zone auf der Seite Verwaltete Zonen aufgeführt, ähnlich wie im folgenden Bild:

managed-zone managed-zone

Integration Connectors-Projekt in einem Dienstanhang auf die Zulassungsliste setzen

Sie können den PSC-Dienstanhang so erstellen, dass nur Anfragen von den angegebenen Google Cloud-Projekten akzeptiert werden. Dazu benötigen Sie jedoch die Projekt-ID des Dienstverzeichnisses, das mit Ihrem Google Cloud-Projekt verknüpft ist. Um die Projekt-ID des Dienstverzeichnisses abzurufen, können Sie die List Connections API verwenden, wie im folgenden Beispiel gezeigt.

Syntax

curl -X GET \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://connectors.googleapis.com/v1/projects/CONNECTORS_PROJECT_ID/locations/-/connections"

Ersetzen Sie Folgendes:

  • CONNECTORS_PROJECT_ID: Die ID Ihres Google Cloud-Projekts, in dem Sie die Verbindung erstellt haben.

Beispiel

In diesem Beispiel wird die Projekt-ID des Dienstverzeichnisses für das Google Cloud-Projekt connectors-test abgerufen.

curl -X GET \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://connectors.googleapis.com/v1/projects/connectors-test/locations/-/connections"

Wenn Sie diesen Befehl im Terminal ausführen, wird eine Ausgabe wie die folgende angezeigt:

.....
{
  "connections": [
    {
      "name": "projects/connectors-test/locations/asia-northeast1/connections/big-query-iam-invalid-sa",
      "createTime": "2022-10-07T09:02:31.905048520Z",
      "updateTime": "2022-10-07T09:22:39.993778690Z",
      "connectorVersion": "projects/connectors-test/locations/global/providers/gcp/connectors/bigquery/versions/1",
      "status": {
        "state": "ACTIVE"
      },
      "configVariables": [
        {
          "key": "project_id",
          "stringValue": "connectors-test"
        },
        {
          "key": "dataset_id",
          "stringValue": "testDataset"
        }
      ],
      "authConfig": {},
      "serviceAccount": "564332356444-compute@developer.gserviceaccount.com",
      "serviceDirectory": "projects/abcdefghijk-tp/locations/asia-northeast1/namespaces/connectors/services/runtime",
      "nodeConfig": {
        "minNodeCount": 2,
        "maxNodeCount": 50
      }
    },
....

In der Beispielausgabe lautet die Projekt-ID des Dienstverzeichnisses für das Google Cloud-Projekt connectors-test abcdefghijk-tp.

Verbindung des Endpunkt-Anhangs prüfen

So prüfen Sie die Verbindung des Endpunkts zum Anhang:

  1. Klicken Sie auf der Seite Endpunktanhänge auf den Namen des von Ihnen erstellten Endpunktanhangs.
  2. Sehen Sie sich auf der Seite Details zum Endpunkt-Anhang das Feld Verbindungsstatus an. Wenn der Status Accepted ist, ist der Endpunktanhang richtig eingerichtet und die Private Service Connect-Verbindung ist hergestellt.

    Informationen zu anderen Status finden Sie unter Verbindungsstatus.

Verbindung für die Verwendung des Endpunktanhangs konfigurieren

Wenn Sie in Integration Connectors eine neue Verbindung erstellen oder eine vorhandene Verbindung aktualisieren, wählen Sie im Bereich „Ziele“ als Zieltyp Endpunktanhang und dann in der Liste Endpunktanhang den von Ihnen erstellten Endpunktanhang aus.

Wenn Sie eine verwaltete Zone erstellt haben, wählen Sie Hostadresse als Zieltyp aus und verwenden Sie den A-Eintrag, den Sie beim Erstellen der verwalteten Zone erstellt haben.

Verbindungen zu verschiedenen Arten von privaten Netzwerken

Auch wenn die private Konnektivität in Integration Connectors immer über einen PSC-Dienst-Anhang erfolgt, unterscheiden sich die Schritte zum Herstellen einer privaten Konnektivität je nach Umgebung geringfügig. In den folgenden Abschnitten wird beschrieben, wie Sie eine private Verbindung in den verschiedenen Umgebungen herstellen: