Auf dieser Seite wird beschrieben, wie Sie mit Private Service Connect eine Verbindung zu einer AlloyDB for PostgreSQL-Instanz herstellen.
Sie können Private Service Connect verwenden, um eine Verbindung zu einer primären AlloyDB-Instanz oder zu einem der Lesereplikate oder zu einer sekundären AlloyDB-Instanz aus mehreren VPC-Netzwerken (Virtual Private Cloud) herzustellen, die zu verschiedenen Gruppen, Teams, Projekten oder Organisationen gehören.
Erforderliche Rollen
Sie müssen einem Nutzer in Ihrem VPC-Netzwerk alle folgenden Rollen zuweisen, damit er eine Verbindung zu einer AlloyDB-Instanz herstellen kann.
Rolle | Beschreibung |
---|---|
compute.networkAdmin |
Vollständige Kontrolle über das VPC-Netzwerk, das eine Verbindung zu einer AlloyDB-Instanz initiiert. Wenn Sie mit Private Service Connect eine Verbindung zu einer AlloyDB-Instanz von mehreren VPC-Netzwerken aus herstellen, hat jedes Netzwerk einen eigenen Administrator. |
dns.admin |
Vollständige Kontrolle über Cloud DNS-Ressourcen, einschließlich DNS-Zonen und ‑Einträgen. |
alloydb.admin |
Gewährt vollständige Kontrolle über eine AlloyDB-Instanz und steuert die Instanz über ihren Lebenszyklus. |
alloydb.databaseUser (optional) |
Gewährt Zugriff auf die AlloyDB-Instanz. Wenn Sie die Verbindung über den AlloyDB Auth-Proxyclient herstellen, benötigen Sie die Rolle AlloyDB-Client. Wenn Sie direkt eine Verbindung herstellen, benötigen Sie keine IAM-Rollen und -Berechtigungen (Identity and Access Management). |
Custom AlloyDB role (optional) |
Wenn Sie eine benutzerdefinierte Rolle verwenden, gewähren Sie zusätzlich zu den Rollen compute.networkAdmin und dns.admin die folgenden Berechtigungen:
|
Private Service Connect aktivieren
Wenn Sie eingehende Verbindungen aktivieren möchten, erstellen Sie einen AlloyDB-Cluster mit aktiviertem Private Service Connect. Geben Sie beim Erstellen einer primären Instanz die Projekte an, für die eine Verbindung zulässig ist. Geben Sie für die ausgehende Verbindung den URI des Netzwerkanhangs an.
Primären AlloyDB-Cluster erstellen
Im folgenden Beispiel wird der Befehl gcloud alloydb clusters create
mit dem Flag --enable-private-service-connect
verwendet, um einen AlloyDB-Cluster mit aktiviertem Private Service Connect zu erstellen.
Das Erstellen eines Clusters bleibt unverändert, mit Ausnahme der Übergabe des Flags --enable-private-service-connect
. Ausführliche Informationen zum Erstellen eines Clusters finden Sie unter Cluster und primäre Instanz erstellen.
Verwenden Sie den Befehl gcloud alloydb clusters
create
, um den Cluster zu erstellen.
gcloud alloydb clusters create CLUSTER_ID \
--password=PASSWORD \
--region=REGION_ID \
--project=PROJECT_ID \
--enable-private-service-connect
Ersetzen Sie Folgendes:
CLUSTER_ID
: die ID des Clusters, den Sie erstellen. Sie muss mit einem Kleinbuchstaben beginnen und darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.PASSWORD
: das Passwort für den Standardnutzer vonpostgres
.REGION_ID
: die Region, in der der Cluster platziert werden soll.PROJECT_ID
: die ID des Projekts, in dem der Cluster platziert werden soll.
Dieser Befehl initiiert einen Vorgang mit langer Ausführungszeit und gibt eine Vorgangs-ID zurück.
Ein sekundärer Cluster, der für einen primären Cluster mit aktiviertem Private Service Connect erstellt wurde, übernimmt automatisch die Private Service Connect-Konfiguration. Weitere Informationen finden Sie unter Sekundären Cluster erstellen.
AlloyDB-Instanz erstellen
Im folgenden Beispiel wird gezeigt, wie eine primäre Instanz mit einer Liste zulässiger Projekte erstellt wird. Das Erstellen einer Instanz bleibt unverändert, mit der Ausnahme, dass die Liste der zulässigen Projekte für einen primären Cluster, für den Private Service Connect aktiviert ist, mit dem Flag --allowed-psc-projects
übergeben wird.
Weitere Informationen zum Erstellen anderer Instanztypen finden Sie unter Instanz eines Lesepools erstellen und Sekundäre Instanz erstellen.
gcloud
Wenn Sie die gcloud CLI verwenden möchten, können Sie die Google Cloud CLI installieren und initialisieren oder Cloud Shell verwenden.
Verwenden Sie den Befehl gcloud alloydb instances create
, um die primäre Instanz zu erstellen.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST
--psc-network-attachment-uri=NETWORK_ATTACHMENT_URI
Ersetzen Sie Folgendes:
INSTANCE_ID
: die ID der Instanz, die Sie erstellen. Sie muss mit einem Kleinbuchstaben beginnen und darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.CPU_COUNT
: die Anzahl der vCPUs, die Sie für die Instanz benötigen. Gültige Werte sind:2
: 2 vCPUs, 16 GB RAM4
: 4 vCPUs, 32 GB RAM8
: 8 vCPUs, 64 GB RAM16
: 16 vCPUs, 128 GB RAM32
: 32 vCPUs, 256 GB RAM64
: 64 vCPUs, 512 GB RAM96
: 96 vCPUs, 768 GB RAM128
: 128 vCPUs, 864 GB RAM
AVAILABILITY
: Gibt an, ob diese Instanz hochverfügbar (HA) sein soll, mit Knoten in mehreren Zonen. Zulässige Werte:REGIONAL
: Erstellt eine HA-Instanz mit separaten aktiven und Standby-Knoten und automatischem Failover zwischen ihnen. Dies ist der Standardwert, der für Produktionsumgebungen geeignet ist.ZONAL
: Erstellt eine einfache Instanz mit nur einem Knoten und ohne automatisches Failover.
REGION_ID
: die Region, in der die Instanz bereitgestellt werden soll.CLUSTER_ID
: die ID des zuvor erstellten Clusters.ALLOWED_PROJECT_LIST
: eine durch Kommas getrennte Liste der Projekt-IDs oder Projektnummern, denen Sie den Zugriff auf die Instanz gewähren möchten, z. B.my-project-1
,12345
,my-project-n
.NETWORK_ATTACHMENT_URI
: der vollständige Ressourcenname des von Ihnen erstellten URIs für Netzwerkanhänge. Beispiel:projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID
.
Terraform
Verwenden Sie eine Terraform-Ressource, um eine Instanz in Ihrem Datenbankcluster zu erstellen.
resource "google_alloydb_instance" "default" {
cluster = google_alloydb_cluster.default.name
instance_id = "alloydb-instance"
instance_type = "PRIMARY"
machine_config {
cpu_count = 2
}
psc_instance_config {
allowed_consumer_projects = ["123456789"]
psc_interface_configs {
network_attachment_resource = google_compute_network_attachment.default.id
}
}
}
resource "google_compute_network" "default" {
name = "alloydb-network"
auto_create_subnetworks = false
}
resource "google_compute_subnetwork" "default" {
name = "alloydb-subnetwork"
region = "us-central1"
network = google_compute_network.default.id
ip_cidr_range = "10.0.0.0/16"
}
resource "google_compute_network_attachment" "default" {
name = "alloydb-network-attachment"
region = "us-central1"
connection_preference = "ACCEPT_AUTOMATIC"
subnetworks = [
google_compute_subnetwork.default.self_link
]
}
data "google_project" "project" {}
Cloud Shell vorbereiten
So bereiten Sie Cloud Shell vor, um Ihre Terraform-Konfiguration auf ein Google Cloud-Projekt anzuwenden:
- Rufen Sie Cloud Shell auf.
Legen Sie das Google Cloud-Standardprojekt fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.
Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.
Verzeichnis vorbereiten
Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben, auch als Stammmodul bezeichnet.
- Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss eine TF-Datei sein, z. B.
main.tf
. In diesem Dokument wird die Datei alsmain.tf
bezeichnet.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- Kopieren Sie den Beispielcode in das neu erstellte
main.tf
. Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- Rufen Sie im Verzeichnis
terraform-docs-samples
das Verzeichnisalloydb
auf.cd terraform-docs-samples/alloydb
- Kopieren Sie den Beispielcode in das neu erstellte
main.tf
. Ersetzen Siecp SAMPLE_FILE
<var>SAMPLE_FILE</var>
durch den Namen der zu kopierenden Beispieldatei, z. B.main.tf
. - Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
- Speichern Sie die Änderungen.
- Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
Optional: Wenn Sie die neueste Google-Anbieterversion verwenden möchten, fügen Sie die Optionterraform init
-upgrade
ein:terraform init -upgrade
Änderungen anwenden
- Prüfen Sie die Konfiguration, um sicherzustellen, dass die Terraform-Änderungen Ihren Erwartungen entsprechen:
Korrigieren Sie die Konfiguration nach Bedarf.terraform plan
- Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie
yes
an der Eingabeaufforderung ein: Warten Sie, bis Terraform die Meldungterraform apply
Apply complete!
anzeigt.
Öffnen Sie Ihr Google Cloud-Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.
Eingehende Verbindungen konfigurieren
Nachdem Sie PSC für eine AlloyDB-Instanz aktiviert haben, können Sie die URL der Dienstanwendung abrufen und einen Endpunkt in Ihrem VPC für die Nutzung konfigurieren, um eine sichere Verbindung zur AlloyDB-Instanz herzustellen.
Dienstanhang abrufen
Nachdem Sie eine AlloyDB-Instanz mit aktiviertem Private Service Connect erstellt haben, rufen Sie die URL des Dienstanhangs ab und verwenden Sie sie, um den Private Service Connect-Endpunkt zu erstellen.
Verwenden Sie den Befehl gcloud alloydb instances describe
, um Details zu einer Instanz aufzurufen.
gcloud alloydb instances describe INSTANCE_ID \
--cluster=CLUSTER_ID --region=REGION_ID
Ersetzen Sie Folgendes:
INSTANCE_ID
: Die ID der InstanzCLUSTER_ID
: die ID des Clusters.REGION_ID
: die Region, in der der AlloyDB-Cluster bereitgestellt wird.
Eine Beispielantwort für den Befehl sieht so aus:
"pscInstanceConfig": {
"serviceAttachmentLink:": "https://www.googleapis.com/compute/v1/projects/my-project/regions/my-region/serviceAttachments/my-service-attachment-id"
"allowedConsumerProjects": {
"45678",
"12345",
"67890",
},
"pscDnsName": "11111111-1111-1111-1111-111111111111.22222222-2222-2222-2222-222222222222.alloydb-psc.goog."
}
Der Parameter serviceAttachmentLink
enthält den Wert der URL des Dienstanhangs.
Private Service Connect-Endpunkt erstellen
Wenn Sie einen Private Service Connect-Endpunkt erstellen möchten, geben Sie die URL des Dienstanhangs zusammen mit einem eindeutigen Endpunktnamen an. Weitere Informationen zum Erstellen eines Private Service Connect-Endpunkts finden Sie unter Endpunkt erstellen.
Sie können auch mit dem Befehl gcloud compute addresses create
eine interne IP-Adresse für den Private Service Connect-Endpunkt reservieren und dann die reservierte IP-Adresse beim Erstellen des Endpunkts verwenden.
Ausgehende Konnektivität konfigurieren
Wenn Sie eine ausgehende Verbindung aktivieren möchten, legen Sie den URI für den Netzwerk-Anhang fest, wenn Sie eine AlloyDB-Instanz erstellen oder aktualisieren. Dieser URI ermöglicht eine sichere Verbindung zwischen Ihrem Projekt und der AlloyDB-Instanz bei ausgehenden Vorgängen wie Migrationen.
Netzwerkanhang erstellen
Sie können einen Netzwerkanhang erstellen, der Verbindungen automatisch(ACCEPT_AUTOMATIC
) oder manuell (ACCEPT_MANUAL
) akzeptiert. Weitere Informationen zum Erstellen eines Netzwerkanhangs finden Sie unter Netzwerkanhänge erstellen und verwalten.
Wenn Sie einen Netzwerkanhang erstellen, der Verbindungen automatisch akzeptiert, müssen Sie keine Liste der akzeptierten Projekte explizit festlegen. Wenn Sie Verbindungen manuell akzeptieren möchten, müssen Sie der Liste der akzeptierten Projekte die Projektnummer des Dienstes für das Projekt hinzufügen, in dem sich Ihre AlloyDB-Instanz befindet.
Führen Sie den folgenden Befehl aus, um die Projektnummer des Dienstes zu ermitteln:
gcloud alpha alloydb clusters describe CLUSTER_ID --region=REGION_ID
Hier ist eine Beispielantwort:
pscConfig:
pscEnabled: true
serviceOwnedProjectNumber: 123456789012
Nachdem du die Projektnummer des Dienstes ermittelt hast, füge das Projekt der Liste der akzeptierten Projekte hinzu und erstelle dann den Netzwerkanhang.
Die Region des Netzwerkanhangs muss mit der Region der AlloyDB-Instanz übereinstimmen. Außerdem muss das Subnetz, mit dem die Netzwerkverbindung erstellt wurde, zu den IP-Bereichen von RFC 1918 gehören, also 10.0.0.0/8
, 172.16.0.0/12
und 192.168.0.0/16
.
Instanz für ausgehende Verbindungen aktualisieren
Wenn Sie die ausgehende Konnektivität für eine vorhandene AlloyDB-Instanz mit aktiviertem Private Service Connect aktivieren möchten, übergeben Sie den Parameter --psc-network-attachment-uri
an den Befehl gcloud alloydb instances update
.
AlloyDB-Instanzen, die vor dem 1. März 2025 erstellt wurden, können nicht aktualisiert werden, um ausgehende Verbindungen zu ermöglichen. Als alternativen Ansatz empfehlen wir eine der folgenden Optionen:
- Erstellen Sie ein regionsübergreifendes Replikat (Cross-Region Replica, CRR) Ihrer primären Instanz mit aktivierter ausgehender Konnektivität. Führen Sie dann einen Switchover durch, um die Replikationsinstanz als neue primäre Instanz festzulegen.
- Erstellen Sie eine Sicherung Ihres vorhandenen AlloyDB-Clusters und Ihrer primären Instanz. Erstellen Sie dann einen neuen AlloyDB-Cluster und eine primäre Instanz mit aktivierter ausgehender Konnektivität. Führen Sie abschließend eine Wiederherstellung der zuvor erstellten Sicherung im neuen Cluster durch.
Ausgehende Konnektivität deaktivieren
Wenn Sie die ausgehende Konnektivität für eine vorhandene AlloyDB-Instanz deaktivieren möchten, übergeben Sie den Parameter --clear-psc-network-attachment-uri
an den Befehl gcloud alloydb instances update
.
Verbindung zu einer AlloyDB-Instanz herstellen
Sie können eine Verbindung zu einer AlloyDB-Instanz herstellen, auf der Private Service Connect aktiviert ist, indem Sie eine der folgenden Optionen verwenden:
- eine interne IP-Adresse,
- einen DNS-Eintrag
- AlloyDB Auth-Proxy
- AlloyDB Language Connectors
Wenn Sie eine Verbindung über DNS-Einträge herstellen möchten, müssen Sie einen DNS-Eintrag in einer privaten DNS-Zone im entsprechenden VPC-Netzwerk erstellen. Nachdem Sie einen DNS-Eintrag erstellt haben, können Sie damit direkt über einen DNS-Eintrag, den AlloyDB Auth-Proxy oder AlloyDB Language Connectors eine Verbindung zu einer Instanz mit aktiviertem Private Service Connect herstellen.
Verwaltete DNS-Zone und DNS-Eintrag konfigurieren
So konfigurieren Sie eine verwaltete DNS-Zone und einen DNS-Eintrag in Ihrem Netzwerk:
Verwenden Sie den Befehl
gcloud alloydb instances describe
, um zusammenfassende Informationen zu einer AlloyDB-Instanz einschließlich des DNS-Namens der Instanz aufzurufen:gcloud alloydb instances describe INSTANCE_ID \ --cluster=CLUSTER_ID --region=REGION_ID
Ersetzen Sie Folgendes:
INSTANCE_ID
: Die ID der Instanz.CLUSTER_ID
: Die ID des Clusters.
Prüfen Sie in der Antwort, ob der DNS-Name angezeigt wird. Der DNS-Name hat das Muster
INSTANCE_UID.PROJECT_UID.REGION_NAME.alloydb-psc.goog.
.Verwenden Sie zum Erstellen einer privaten DNS-Zone den Befehl
gcloud dns managed-zones create
. Diese Zone ist dem VPC-Netzwerk zugeordnet, das für die Verbindung mit der AlloyDB-Instanz über den Private Service Connect-Endpunkt verwendet wird.gcloud dns managed-zones create ZONE_NAME \ --project=PROJECT_ID \ --description=DESCRIPTION \ --dns-name=DNS_NAME \ --networks=NETWORK_NAME \ --visibility=private
Ersetzen Sie Folgendes:
ZONE_NAME
: der Name der DNS-Zone.PROJECT_ID
: die ID oder Projektnummer des Google Cloud Projekts, das die Zone enthält.DESCRIPTION
durch eine Beschreibung der Zone (z. B. eine DNS-Zone für die AlloyDB-Instanz).DNS_NAME
: der DNS-Name für die Zone, z. B.INSTANCE_UID.PROJECT_UID.REGION_NAME.alloydb-psc.goog.
.NETWORK_NAME
: der Name des VPC-Netzwerks.
Nachdem Sie den Private Service Connect-Endpunkt erstellt haben, verwenden Sie den Befehl gcloud dns record-sets create, um einen DNS-Eintrag in der Zone zu erstellen:
gcloud dns record-sets create DNS_NAME \ --project=PROJECT_ID \ --type=RRSET_TYPE \ --rrdatas=RR_DATA \ --zone=ZONE_NAME
Ersetzen Sie Folgendes:
DNS_NAME
: der DNS-Name, den Sie zuvor in dieser Prozedur abgerufen haben.RRSET_TYPE
: Der Ressourceneintragstyp des DNS-Eintragssatzes (z. B. A).RR_DATA
: die IP-Adresse, die dem Private Service Connect-Endpunkt zugewiesen ist (z. B. 198.51.100.5). Sie können auch mehrere Werte eingeben, z. B. rrdata1 rrdata2 rrdata3 (z. B. 10.1.2.3 10.2.3.4 10.3.4.5).
Verbindung direkt über einen DNS-Eintrag herstellen
Nachdem Sie einen Private Service Connect-Endpunkt und einen DNS-Eintrag erstellt haben, können Sie eine direkte Verbindung über den DNS-Eintrag herstellen.
Verwenden Sie den Befehl
gcloud compute addresses describe
, um den DNS-Eintrag des Private Service Connect-Endpunkts abzurufen:gcloud compute addresses describe DNS_RECORD \ --project=PROJECT_ID \ --region=REGION_NAME
Ersetzen Sie Folgendes:
DNS_RECORD
: der DNS-Eintrag für den Endpunkt.PROJECT_ID
: die ID oder Projektnummer des Google Cloud Projekts, das den Endpunkt enthält.REGION_NAME
: der Name der Region für den Endpunkt.
Verwenden Sie den DNS-Eintrag, um eine Verbindung zur AlloyDB-Instanz herzustellen.
psql -U USERNAME -h DNS_RECORD
Ersetzen Sie Folgendes:
USERNAME
ist der Name des Nutzers, der eine Verbindung zur Instanz herstellt.DNS_RECORD
: der DNS-Eintrag des Endpunkts.
Verbindung über den AlloyDB Auth-Proxy herstellen
Der AlloyDB Auth-Proxy ist ein Connector, mit dem Sie autorisierte, verschlüsselte Verbindungen zu AlloyDB-Datenbanken herstellen können. Der AlloyDB Auth-Proxy hat einen lokalen Client, der in der lokalen Umgebung ausgeführt wird. Ihre Anwendung kommuniziert mit dem AlloyDB Auth-Proxy über das Standarddatenbankprotokoll, das von Ihrer Datenbank verwendet wird.
Wenn Sie das Flag --psc
beim Starten des Auth-Proxy-Clients festlegen, verwendet der AlloyDB Auth-Proxy den von Ihnen erstellten DNS-Eintrag, um eine Verbindung zur Instanz mit aktiviertem Private Service Connect herzustellen.
Starten Sie den Auth-Proxy-Client, indem Sie den Instanz-URI übergeben, den Sie mit dem Befehl gcloud alloydb instances list
abrufen, und das Flag --psc
festlegen.
Weitere Informationen zum Herstellen einer Verbindung zu einer Instanz über den Auth-Proxy finden Sie unter Verbindung über den Auth-Proxy herstellen.
Verbindung über AlloyDB Language Connectors herstellen
AlloyDB Language Connectors sind Bibliotheken, die für das Herstellen einer Verbindung zu einer AlloyDB-Instanz eine automatisierte mTLS-Verbindung mit TLS 1.3 und eine IAM-Autorisierung (Identity and Access Management) bieten.
Nachdem der Language Connector festgestellt hat, dass die Instanz Private Service Connect unterstützt, verwendet er den von Ihnen erstellten DNS-Eintrag, um eine Verbindung zur Instanz herzustellen.
Java
Wenn Sie Private Service Connect verwenden, um eine Verbindung zu Ihrer AlloyDB-Instanz herzustellen, geben Sie Folgendes an:
config.addDataSourceProperty("alloydbIpType", "PSC");
Weitere Informationen zur Verwendung des Private Service Connect-Endpunkts in Java-Sprach-Connectors finden Sie im GitHub-Repository.
Python (pg8000)
Wenn Sie Private Service Connect verwenden, um eine Verbindung zu Ihrer AlloyDB-Instanz herzustellen, geben Sie Folgendes an:
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
Weitere Informationen zur Verwendung des Private Service Connect-Endpunkts in Python-Connectors finden Sie im GitHub-Repository.
Python (asyncpg)
Wenn Sie Private Service Connect verwenden, um eine Verbindung zu Ihrer AlloyDB-Instanz herzustellen, geben Sie Folgendes an:
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
Weitere Informationen zur Verwendung des Private Service Connect-Endpunkts in Python-Connectors finden Sie im GitHub-Repository.
Go (pgx)
Wenn Sie Private Service Connect verwenden, um eine Verbindung zu Ihrer AlloyDB-Instanz herzustellen, geben Sie Folgendes an:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Weitere Informationen zur Verwendung des Private Service Connect-Endpunkts in Go-Connectors finden Sie im GitHub-Repository.
Go (database/sql)
Wenn Sie Private Service Connect verwenden, um eine Verbindung zu Ihrer AlloyDB-Instanz herzustellen, geben Sie Folgendes an:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Weitere Informationen zur Verwendung des Private Service Connect-Endpunkts in Go-Connectors finden Sie im GitHub-Repository.
Direkte Verbindung über eine interne IP-Adresse
Nachdem Sie einen Private Service Connect-Endpunkt erstellt haben, können Sie über die von Ihnen konfigurierte IP-Adresse direkt eine Verbindung zu einer AlloyDB-Instanz herstellen.
Verwenden Sie den Befehl
gcloud compute addresses describe
, um die IP-Adresse des Private Service Connect-Endpunkts abzurufen:gcloud compute addresses describe ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
Ersetzen Sie Folgendes:
ADDRESS_NAME
: der Name der IP-Adresse des Endpunkts.PROJECT_ID
: die ID oder Projektnummer des Google Cloud Projekts, das den Endpunkt enthält.REGION_NAME
: der Name der Region für den Endpunkt.
Verwenden Sie die interne IP-Adresse, um eine Verbindung zur AlloyDB-Instanz herzustellen.
psql -U USERNAME -h IP_ADDRESS"
Ersetzen Sie Folgendes:
USERNAME
ist der Name des Nutzers, der eine Verbindung zur Instanz herstellt.IP_ADDRESS
: die IP-Adresse des Endpunkts.
Beschränkungen
- Sie können bis zu 20 Private Service Connect-Endpunkte einrichten, die eine Verbindung zum Dienstanhang einer AlloyDB-Instanz herstellen, auf der Private Service Connect aktiviert ist.
- Sie können das Flag
--network
nicht verwenden, wenn Sie einen Cluster mit aktiviertem Private Service Connect erstellen, da es dem Zugriff auf private Dienste zugeordnet ist. - Sie können Private Service Connect nicht auf einer vorhandenen Instanz aktivieren oder deaktivieren.
- Sie können eine Instanz, für die Private Service Connect aktiviert ist, nicht für die Verwendung des Zugriffs auf private Dienste konfigurieren.