Sowohl Zugriff auf private Dienste als auch Private Service Connect konfigurieren

Auf dieser Seite wird beschrieben, wie Sie sowohl den Zugriff auf private Dienste als auch Private Service Connect konfigurieren.

Wenn Sie den Zugriff auf private Dienste konfigurieren, können Sie einen IP-Adressbereich zuweisen und eine private Dienstverbindung für das VPC-Netzwerk (Virtual Private Cloud) in Ihrem Google Cloud-Projekt erstellen. So können Ressourcen im VPC-Netzwerk eine Verbindung zu Ihren Cloud SQL-Instanzen herstellen.

Wenn Sie Private Service Connect konfigurieren, können Sie eine Verbindung zu einer primären Cloud SQL-Instanz oder zu einem ihrer Lesereplikate über mehrere VPC-Netzwerke herstellen, die zu verschiedenen Gruppen, Teams, Projekten oder Organisationen gehören.

Instanz erstellen, die den privaten Zugriff auf Dienste und Private Service Connect unterstützt

Wenn Sie eine Cloud SQL-Instanz erstellen, die sowohl den Zugriff auf private Dienste als auch Private Service Connect unterstützt, können Sie die Vorteile beider Dienste nutzen. Weitere Informationen finden Sie unter Verbindungsoptionen für Instanzen.

Mit Private Service Connect können Sie eine Verbindung zu einer Cloud SQL-Instanz von mehreren VPC-Netzwerken aus herstellen, die zu verschiedenen Gruppen, Teams, Projekten oder Organisationen gehören.

Sie können eine Cloud SQL-Instanz erstellen, die den Zugriff auf private Dienste und Private Service Connect unterstützt. Verwenden Sie dazu die gcloud CLI oder die API.

gcloud

Verwenden Sie den Befehl gcloud beta sql instances create, um eine Instanz zu erstellen, die sowohl den Zugriff auf private Dienste als auch Private Service Connect unterstützt:

gcloud beta sql instances create INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION_NAME \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--availability-type=AVAILABILITY_TYPE \
--no-assign-ip \
--allocated-ip-range-name=RANGE_NAME \
--database-version=DATABASE_VERSION \
--cpu=NUMBER_OF_vCPUs \
--memory=MEMORY_SIZE \
--root-password=ROOT_PASSWORD \
--network=VPC_NETWORK_NAME \
--psc-auto-connections=network=VPC_NETWORK_PATH,project=SERVICE_PROJECT

Ersetzen Sie die folgenden Werte:

  • INSTANCE_NAME: der Name der Instanz.
  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält.
  • REGION_NAME: der Name der Region für die Instanz.
  • ALLOWED_PROJECTS: eine Liste zulässiger Projekt-IDs oder -Nummern, durch Kommas getrennt. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie im Projekt keine Private Service Connect-Endpunkte erstellen, um eine Verbindung zur Instanz herzustellen.

  • AVAILABILITY_TYPE: Hochverfügbarkeit für die hochgestufte Instanz aktivieren Geben Sie für diesen Parameter einen der folgenden Werte an:
    • REGIONAL: Hochverfügbarkeit aktivieren und für Instanzen in der Produktionsumgebung empfohlen Die Instanz führt ein Failover auf eine andere Zone in der ausgewählten Region durch.
    • ZONAL: keine Failover-Funktion bereitstellen Dies ist der Standardwert.

    Weitere Informationen zum Festlegen und Entfernen von Hochverfügbarkeit für Instanzen finden Sie unter Bestehende Instanz für Hochverfügbarkeit konfigurieren und Hochverfügbarkeit für eine Instanz deaktivieren.

  • RANGE_NAME: Mit diesem optionalen Parameter legen Sie den Namen eines Bereichs fest, dem ein IP-Bereich zugewiesen wird. Der Bereichsname muss RFC 1035 entsprechen und zwischen 1 und 63 Zeichen lang sein.
  • DATABASE_VERSION: die Datenbankversion für die Instanz (z. B. SQLSERVER_2019_STANDARD).
  • NUMBER_OF_vCPUs: die Anzahl der Kerne der Instanz.
  • MEMORY_SIZE: die Größe des Arbeitsspeichers für die Instanz.
  • ROOT_PASSWORD: das Passwort des Cloud SQL-Nutzers root.
  • VPC_NETWORK_NAME: Name und Pfad des VPC-Netzwerk, mit dem die Instanz verbunden ist (z. B. "projects/PROJECT_ID/global/networks/default").
  • VPC_NETWORK_PATH: der Pfad zum VPC-Netzwerk, in dem der Private Service Connect-Endpunkt erstellt werden soll. Beispiel:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: das Projekt, in dem der Private Service Connect-Endpunkt erstellt wird. Wenn das VPC-Netzwerk keine freigegebene VPC ist, kann dies nur das Hostprojekt für das Netzwerk sein. Bei einer freigegebenen VPC kann dies entweder das Hostprojekt oder das Dienstprojekt sein.

    Alle Projekte, die Sie in den Parametern für die automatische Verbindung angeben, werden automatisch zu den zulässigen Projekten hinzugefügt.

Informationen zum Herstellen einer Verbindung zu einer Instanz, für die Private Service Connect aktiviert ist, finden Sie unter Verbindung zu einer Cloud SQL-Instanz herstellen.

Verwenden Sie den Parameter --no-assign-ip, um öffentliche IP-Adressen zu deaktivieren.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält.
  • INSTANCE_NAME: der Name der Instanz.
  • REGION_NAME: der Name der Region für die Instanz.
  • ROOT_PASSWORD: das Passwort des Cloud SQL-Nutzers root.
  • AVAILABILITY_TYPE: Hochverfügbarkeit für die hochgestufte Instanz aktivieren Geben Sie für diesen Parameter einen der folgenden Werte an:
    • REGIONAL: Hochverfügbarkeit aktivieren und für Instanzen in der Produktionsumgebung empfohlen Die Instanz führt ein Failover auf eine andere Zone in der ausgewählten Region durch.
    • ZONAL: keine Failover-Funktion bereitstellen Dies ist der Standardwert.

    Weitere Informationen zum Festlegen und Entfernen von Hochverfügbarkeit für Instanzen finden Sie unter Bestehende Instanz für Hochverfügbarkeit konfigurieren und Hochverfügbarkeit für eine Instanz deaktivieren.

  • VPC_NETWORK_NAME: Name und Pfad des VPC-Netzwerk, mit dem die Instanz verbunden ist (z. B. "projects/PROJECT_ID/global/networks/default").
  • RANGE_NAME: Mit diesem optionalen Parameter legen Sie den Namen eines Bereichs fest, dem ein IP-Bereich zugewiesen wird. Der Bereichsname muss RFC 1035 entsprechen und zwischen 1 und 63 Zeichen lang sein.
  • ALLOWED_PROJECTS: eine Liste zulässiger Projekt-IDs oder -Nummern, durch Kommas getrennt. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie im Projekt keine Private Service Connect-Endpunkte erstellen, um eine Verbindung zur Instanz herzustellen.

  • VPC_NETWORK_PATH: der Pfad zum VPC-Netzwerk, in dem der Private Service Connect-Endpunkt erstellt werden soll. Beispiel:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: das Projekt, in dem der Private Service Connect-Endpunkt erstellt wird. Wenn das VPC-Netzwerk keine freigegebene VPC ist, kann dies nur das Hostprojekt für das Netzwerk sein. Bei einer freigegebenen VPC kann dies entweder das Hostprojekt oder das Dienstprojekt sein.

    Alle Projekte, die Sie in den Parametern für die automatische Verbindung angeben, werden automatisch zu den zulässigen Projekten hinzugefügt.

  • MACHINE_TYPE: ein Enum-Stringwert, der den Maschinentyp für die Instanz darstellt. Beispiel: db-custom-NUMBER_OF_vCPUs-MEMORY_SIZE, wobei NUMBER_OF_vCPUs und MEMORY_SIZE die Anzahl der Kerne und die gewünschte Arbeitsspeichermenge für die Instanz sind.

Informationen zum Herstellen einer Verbindung zu einer Instanz, für die Private Service Connect aktiviert ist, finden Sie unter Verbindung zu einer Cloud SQL-Instanz herstellen.

Sie legen den Parameter ipv4Enabled auf false fest, da Ihre Instanz eine interne IP-Adresse hat.

HTTP-Methode und URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

JSON-Text anfordern:

{
  "name": "INSTANCE_NAME",
  "project": PROJECT_ID",
  "region": "REGION_NAME",
  "databaseVersion": "SQLSERVER_2019_STANDARD",
  "rootPassword": "ROOT_PASSWORD",
  "kind": "sql#instance",
  "settings": {
    "availabilityType": "AVAILABILITY_TYPE",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": VPC_NETWORK_NAME,
      "allocatedIpRange": "RANGE_NAME",
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscAutoConnections": [
          {
            "consumerProject":"SERVICE_PROJECT",
            "consumerNetwork":"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK_PATH"
          }
        ],
        "pscEnabled": true
      }
    },
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "tier": "MACHINE_TYPE"
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Private Service Connect für eine Instanz deaktivieren

Sie können Private Service Connect für eine Instanz deaktivieren, für die sowohl der Zugriff auf private Dienste als auch Private Service Connect aktiviert ist. Aus Sicherheitsgründen sollten Sie die Instanz nicht über mehrere VPC-Netzwerke verbinden, die zu verschiedenen Gruppen, Teams, Projekten oder Organisationen gehören.

Sie können Private Service Connect für eine Instanz mit der gcloud CLI oder der API deaktivieren.

gcloud

Verwenden Sie den Befehl gcloud beta sql instances patch, um Private Service Connect für eine Instanz zu deaktivieren:

gcloud beta sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--no-enable-private-service-connect \
--clear-allowed-psc-projects

Ersetzen Sie die folgenden Werte:

  • INSTANCE_NAME ist der Name der Instanz.
  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
  • INSTANCE_NAME: Name der Instanz

HTTP-Methode und URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

JSON-Text anfordern:

{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "pscEnabled": "false",
        "allowedConsumerProjects": [{}]
      }
    },
    "kind": "sql#settings"
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Private Service Connect für eine Instanz aktivieren

Sie können Private Service Connect für eine Instanz aktivieren, für die der Zugriff auf private Dienste bereits aktiviert ist. Sie können Private Service Connect verwenden, um eine Verbindung zu einer Cloud SQL-Instanz von mehreren VPC-Netzwerken aus herzustellen.

Sie können Private Service Connect für eine Instanz mit der gcloud CLI oder der API aktivieren.

gcloud

Verwenden Sie den Befehl gcloud beta sql instances patch, um Private Service Connect für eine Instanz zu aktivieren:

gcloud beta sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--psc-auto-connections=network=VPC_NETWORK_PATH,project=SERVICE_PROJECT

Ersetzen Sie die folgenden Werte:

  • INSTANCE_NAME ist der Name der Instanz.
  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
  • ALLOWED_PROJECTS: eine Liste zulässiger Projekt-IDs oder -Nummern, durch Kommas getrennt. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie im Projekt keine Private Service Connect-Endpunkte erstellen, um eine Verbindung zur Instanz herzustellen.

  • VPC_NETWORK_PATH: der Pfad zum VPC-Netzwerk, in dem der Private Service Connect-Endpunkt erstellt wird. Beispiel:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: das Projekt, in dem der Private Service Connect-Endpunkt erstellt wird. Wenn das VPC-Netzwerk keine freigegebene VPC ist, kann dies nur das Hostprojekt für das Netzwerk sein. Bei einer freigegebenen VPC kann dies entweder das Hostprojekt oder das Dienstprojekt sein.

    Alle Projekte, die Sie in den Parametern für die automatische Verbindung angeben, werden automatisch zu den zulässigen Projekten hinzugefügt.

Informationen zum Herstellen einer Verbindung zu einer Instanz, für die Private Service Connect aktiviert ist, finden Sie unter Verbindung zu einer Cloud SQL-Instanz herstellen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält.
  • INSTANCE_NAME: der Name der Instanz.
  • ALLOWED_PROJECTS: eine Liste zulässiger Projekt-IDs oder -Nummern, durch Kommas getrennt. Diese Projekte überschreiben Projekte, die bereits für die Verwendung von Private Service Connect konfiguriert sind. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie im Projekt keine Private Service Connect-Endpunkte erstellen, um eine Verbindung zur Instanz herzustellen.
  • VPC_NETWORK_PATH: der Pfad zum VPC-Netzwerk, in dem der Private Service Connect-Endpunkt erstellt wird. Beispiel:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: das Projekt, in dem der Private Service Connect-Endpunkt erstellt wird. Wenn das VPC-Netzwerk keine freigegebene VPC ist, kann dies nur das Hostprojekt für das Netzwerk sein. Bei einer freigegebenen VPC kann dies entweder das Hostprojekt oder das Dienstprojekt sein.

    Alle Projekte, die Sie in den Parametern für die automatische Verbindung angeben, werden automatisch zu den zulässigen Projekten hinzugefügt.

HTTP-Methode und URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

JSON-Text anfordern:

{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "pscAutoConnections": [
          {
            "consumerProject":"SERVICE_PROJECT",
            "consumerNetwork":"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK_PATH"
          }
        ],
        "pscEnabled": "true",
        "allowedConsumerProjects": [ALLOWED_PROJECTS]
      }
    },
    "kind": "sql#settings"
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Informationen zum Herstellen einer Verbindung zu einer Instanz, für die Private Service Connect aktiviert ist, finden Sie unter Verbindung zu einer Cloud SQL-Instanz herstellen.