En esta página, se describe cómo usar Private Service Connect para conectarte a una instancia de AlloyDB para PostgreSQL.
Puedes usar Private Service Connect para conectarte a una instancia principal de AlloyDB o a cualquiera de sus réplicas de lectura, o bien a una instancia secundaria de AlloyDB desde varias redes de nube privada virtual (VPC) que pertenezcan a organizaciones, grupos, equipos o proyectos diferentes.
Roles requeridos
Debes otorgar todos los siguientes roles a un usuario de tu red de VPC para que pueda conectarse a una instancia de AlloyDB.
Rol | Descripción |
---|---|
compute.networkAdmin |
Otorga control total sobre la red de VPC que inicia una conexión a una instancia de AlloyDB. Si usas Private Service Connect para conectarte a una instancia de AlloyDB desde varias redes de VPC, cada red tiene su propio administrador. |
dns.admin |
Otorga control total sobre los recursos de Cloud DNS, lo que incluye zonas y registros DNS. |
alloydb.admin |
Proporciona control total de una instancia de AlloyDB y controla la instancia durante su ciclo de vida. |
alloydb.databaseUser (opcional) |
Proporciona acceso a la instancia de AlloyDB. Si te conectas a través del cliente del proxy de autenticación de AlloyDB, debes tener el rol de cliente de AlloyDB. Si te conectas directamente, no necesitas roles ni permisos de Identity and Access Management (IAM). |
Custom AlloyDB role (opcional) |
Si usas un rol personalizado, además de otorgar los roles compute.networkAdmin y dns.admin , otorga los siguientes permisos:
|
Crear un extremo de Private Service Connect
Los extremos de Private Service Connect son direcciones IP internas en una red de VPC de consumidor a las que pueden acceder directamente los clientes de esa red. Los clientes pueden usar estos extremos para conectarse a instancias de AlloyDB.
Para que AlloyDB cree el extremo de Private Service Connect automáticamente, haz lo siguiente:
- Reutiliza una política de conexión de servicio existente o crea una política de conexión de servicio en tus redes de VPC. Con esta política, puedes aprovisionar extremos de Private Service Connect automáticamente.
- Crea un clúster y una instancia de AlloyDB con Private Service Connect habilitado para la instancia, y configura la instancia para que cree extremos de Private Service Connect automáticamente.
- Recupera el extremo de la instancia. Esto te permite usar el extremo para conectarte a la instancia.
- (Opcional) Actualiza un clúster y una instancia de AlloyDB existentes con Private Service Connect habilitado para generar extremos automáticamente.
También puedes crear el extremo de Private Service Connect de forma manual. Para obtener más información, consulta Crea el extremo de forma manual.
Crea el extremo automáticamente
En las siguientes secciones, se explica cómo configurar tu instancia para permitir que AlloyDB cree el extremo de Private Service Connect automáticamente.
Crea una política de conexión de servicio
Puedes volver a usar una política de conexión de servicio existente o crear una con la consola de Google Cloud o Google Cloud CLI.
Una política de conexión de servicio te permite autorizar una clase de servicio especificada para crear un extremo de Private Service Connect en tu red de VPC del consumidor. Puedes usar la política de conexión de servicio para permitir que AlloyDB cree automáticamente extremos de Private Service Connect.
Console
En la Google Cloud consola, ve a la página Private Service Connect.
Haz clic en la pestaña Políticas de conexión.
Haz clic en Crear política de conexión.
Ingresa un Nombre para la política de conexión.
Para especificar la clase de servicio, haz lo siguiente:
- En Clase de servicio de origen, selecciona Servicios de Google.
- En el menú Clase de servicio, selecciona
google-cloud-alloydb
porque AlloyDB es el servicio administrado para la política de conexión.
En la sección Alcance de los extremos de destino, selecciona una Red y una Región a las que se aplicará esta política.
En la sección Política, selecciona una o más subredes en el menú Subredes. Las subredes se usan para asignar direcciones IP a los extremos.
Especifica un Límite de conexión para la política (opcional). El límite determina cuántos extremos puede crear AlloyDB para esta política de conexión. Si no especificas un límite de conexión, no habrá límite.
Haz clic en Crear política.
gcloud
Para crear una política de conexión de servicio, usa el comando service-connection-policies create
.
gcloud network-connectivity service-connection-policies create POLICY_NAME \ --network=NETWORK \ --project=PROJECT_ID \ --region=REGION \ --service-class=SERVICE_CLASS \ --subnets=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETS \ --psc-connection-limit=LIMIT \ --description="DESCRIPTION" \ --producer-instance-location=PRODUCER_INSTANCE_LOCATION \ --allowed-google-producers-resource-hierarchy-level=LIST_OF_NODES
Reemplaza lo siguiente:
POLICY_NAME
: el nombre de la política de conexión del servicio.NETWORK
: Es la red a la que se aplica esta política.PROJECT_ID
: el ID del proyecto o el número del proyecto de la red de VPC. En el caso de las redes de VPC compartida, debes implementar políticas de conexión de servicio en el proyecto host, ya que estas políticas no son compatibles con los proyectos de servicio.REGION
: Es la región a la que se aplica esta política. Debe existir la misma política para cada región en la que desees automatizar la conectividad del servicio.SERVICE_CLASS
: el identificador de recursos proporcionado por el productor de la clase de servicio. En el caso de AlloyDB, la clase de servicio esgoogle-cloud-alloydb
.SUBNETS
: una o más subredes de consumidor regulares que se usan para asignar direcciones IP a los extremos de Private Service Connect. Estas direcciones IP se asignan automáticamente y se devuelven al grupo de la subred a medida que se crean y borran las instancias de servicio administrado. Las subredes deben estar en la misma región que la política de conexión de servicio. Si varias políticas de conexión comparten la misma región, puedes volver a usar la misma subred en esas políticas. Puedes ingresar varias subredes en una lista separada por comas.LIMIT
: Es la cantidad máxima de extremos que puedes crear con esta política. Si no especificas un límite, no habrá límite.DESCRIPTION
: Es una descripción opcional de la política de conexión de servicio.PRODUCER_INSTANCE_LOCATION
: Especifica si la política automatiza las conexiones a las instancias de AlloyDB. Puedes establecer este valor de una de las siguientes maneras:none
(predeterminado): La instancia de AlloyDB se encuentra en el mismo proyecto que la política de conexión de servicio (o, en el caso de la VPC compartida, en proyectos conectados).custom-resource-hierarchy-levels
: Requiere que establezcas la ruta de ubicación de Resource Manager para los proyectos para los que deseas automatizar la conectividad a través del parámetroallowed-google-producers-resource-hierarchy-level
.
LIST_OF_NODES
: Establece este parámetro si la ubicación de tu instancia de productor está establecida encustom-resource-hierarchy-levels
. Este parámetro es una lista de proyectos, carpetas y organizaciones en los que residen las instancias para las que deseas automatizar la conectividad. La lista tiene el formatoprojects/PROJECT_ID
,folders/FOLDER_ID
oorganizations/ORGANIZATION_ID
.
Por ejemplo, el siguiente comando crea una política de conexión de servicio para la clase de servicio
google-cloud-alloydb
que asigna direcciones IP desde la subred managed-services
. Se puede crear un máximo de 10 extremos de Private Service Connect con esta política. Los extremos deben crearse en proyectos que se encuentren en la misma organización que la instancia de servicio administrado. La instancia de AlloyDB se encuentra en el proyecto myproject
.
gcloud network-connectivity service-connection-policies create alloydb-policy \ --network=default \ --project=my-project \ --region=us-central1 \ --service-class=google-cloud-alloydb \ --subnets=managed-service-subnet \ --psc-connection-limit=10 \ --producer-instance-location=custom-resource-hierarchy-levels \ --allowed-google-producers-resource-hierarchy-level=projects/myproject
Crea una instancia de AlloyDB
Puedes crear una instancia con Private Service Connect habilitado para ella y configurarla para que cree extremos automáticamente con la consola, gcloud CLI o Terraform.
Console
En la consola de Google Cloud , ve a la página Clústeres.
Haga clic en Crear clúster.
En ID de clúster, ingresa
my-cluster
.Ingresa una contraseña. Toma nota de esta contraseña porque la usarás en esta guía de inicio rápido.
Conserva la versión de la base de datos predeterminada.
Selecciona la región
us-central1 (Iowa)
.Conserva el ID de instancia predeterminado,
my-cluster-primary
.En Disponibilidad zonal, conserva Zona única como la opción seleccionada. Si bien no recomendamos una instancia de una sola zona para la producción, en esta guía de inicio rápido se usa una sola zona para minimizar los costos. Para obtener más información, consulta Reduce los costos con instancias básicas.
Selecciona el tipo de máquina
2 vCPU, 16 GB
.Conserva la conectividad de IP privada.
- Selecciona Private Service Connect (PSC).
- Haz clic en Agregar un extremo.
- Selecciona el proyecto en el que deseas crear el extremo.
- Selecciona la Red.
- Haz clic en Check policy para obtener información sobre la política de conexión de servicio.
Conserva la configuración predeterminada en Seguridad de red.
No realices cambios en Mostrar opciones avanzadas.
Haga clic en Crear clúster. AlloyDB puede tardar varios minutos en crear el clúster y mostrarlo en la página Overview del clúster principal.
gcloud
Para crear el clúster, usa el comando gcloud alloydb clusters
create
.
gcloud alloydb clusters create CLUSTER_ID \
--password=PASSWORD \
--region=REGION_ID \
--project=PROJECT_ID \
--enable-private-service-connect
Reemplaza lo siguiente:
CLUSTER_ID
: Es el ID del clúster que creas. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.PASSWORD
: Es la contraseña que se usará para el usuariopostgres
predeterminado.REGION_ID
: Es la región en la que deseas colocar el clúster.PROJECT_ID
: Es el ID del proyecto en el que deseas colocar el clúster.
Este comando inicia una operación de larga duración y muestra un ID de operación.
Para crear la instancia de AlloyDB, ya sea principal o un grupo de lectura para usar Private Service Connect, usa el comando gcloud alloydb instances create. Asegúrate de incluir el parámetro --allowed-psc-projects
para especificar qué proyectos de consumidor pueden crear extremos para conectarse a esta instancia.
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 \
--psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT
Reemplaza lo siguiente:
INSTANCE_ID
: Es el ID de la instancia que estás creando. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.CPU_COUNT
: Es la cantidad de CPU virtuales que deseas para la instancia. Los valores válidos incluyen lo siguiente:2
: 2 CPU virtuales, 16 GB de RAM4
: 4 CPUs virtuales y 32 GB de RAM8
: 8 CPU virtuales, 64 GB de RAM16
: 16 CPU virtuales, 128 GB de RAM32
: 32 CPU virtuales y 256 GB de RAM64
: 64 CPU virtuales y 512 GB de RAM96
: 96 CPU virtuales, 768 GB de RAM128
: 128 CPU virtuales y 864 GB de RAM
AVAILABILITY
: Indica si esta instancia debe tener alta disponibilidad (HA), con nodos en varias zonas. Estos son algunos de los valores válidos:REGIONAL
: Crea una instancia de HA con nodos activos y en espera separados, y conmutación por error automatizada entre ellos. Este es el valor predeterminado, adecuado para entornos de producción.ZONAL
: Crea una instancia básica que contiene solo un nodo y no tiene conmutación por error automática.
REGION_ID
: Es la región en la que deseas colocar la instancia.CLUSTER_ID
: Es el ID del clúster que creaste antes.ALLOWED_PROJECT_LIST
: Es la lista separada por comas de los IDs de proyectos o los números de proyectos a los que deseas permitir el acceso a la instancia, por ejemplo,my-project-1
,12345
,my-project-n
.NETWORK_ATTACHMENT_URI
(opcional): Es el nombre completo del recurso del URI de adjunto de red que creas para la conectividad saliente. Por ejemplo:projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID
.CONSUMER_NETWORK
: Es la ruta de acceso a la red de VPC en la que se deben crear los extremos de Private Service Connect. Por ejemplo:projects/my-host-project/global/networks/default
. Esta opción se aplica cuando creas extremos automáticamente. Asegúrate de que se haya creado la política de conexión de servicio. Puedes crear la política antes o después de crear la instancia.CONSUMER_PROJECT
: Es el proyecto en el que se crea el extremo de Private Service Connect. Si usas una red de VPC compartida, puede ser el proyecto host o el proyecto de servicio. Todos los proyectos que especifiques en los parámetros de conexión automática se agregarán automáticamente a tus proyectos permitidos. De manera opcional, para los proyectos en los que desees crear extremos de Private Service Connect de forma manual, puedes agregarlos a tu lista de proyectos permitidos.
Un clúster secundario creado para un clúster principal habilitado para Private Service Connect hereda automáticamente la configuración de Private Service Connect. Para obtener más información, consulta Crea un clúster secundario.
Terraform
Para crear una instancia dentro de tu clúster de bases de datos, usa un recurso de Terraform.
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" {}
Para obtener más información sobre cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Recupera el extremo
Si recuperas la dirección IP interna, que es el extremo de Private Service Connect para una instancia, puedes usar este extremo para conectarte a la instancia.
Para ver información sobre una instancia, incluida la dirección IP que es el extremo de Private Service Connect para la instancia, usa el comando gcloud alloydb instances describe
:
gcloud alloydb instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --format='json(settings.ipConfiguration.pscConfig.pscAutoConnections)'
Realiza los siguientes reemplazos:
- INSTANCE_NAME: Es el nombre de la instancia de AlloyDB. Si esta instancia tiene Private Service Connect habilitado para ella, los extremos de Private Service Connect en las redes de VPC pueden conectarse a ella.
- PROJECT_ID: Es el ID o el número del proyecto del proyecto Google Cloud que contiene la instancia.
En la respuesta, anota el valor que aparece junto al campo pscConfig:pscAutoConnections:ipAddress
. Este valor es la dirección IP interna que también es el extremo de Private Service Connect para la instancia.
Actualiza una instancia para crear extremos automáticamente
Para actualizar una instancia y crear extremos automáticamente, pasa el parámetro --psc-auto-connections
al comando gcloud alloydb instances update.
Configura la conectividad saliente
Si deseas habilitar la conectividad saliente para tu instancia de AlloyDB con Private Service Connect habilitado, debes establecer el URI del adjunto de red para la instancia. Para obtener más información, consulta Configura la conectividad saliente.
Crea el extremo de forma manual
En las siguientes secciones, se explica cómo crear un extremo de Private Service Connect de forma manual.
Crea una instancia de AlloyDB
Puedes crear una instancia con Private Service Connect habilitado para ella y configurarla para que cree extremos automáticamente con la consola, gcloud CLI o Terraform.
Console
En la consola de Google Cloud , ve a la página Clústeres.
Haga clic en Crear clúster.
En ID de clúster, ingresa
my-cluster
.Ingresa una contraseña. Toma nota de esta contraseña porque la usarás en esta guía de inicio rápido.
Conserva la versión de la base de datos predeterminada.
Selecciona la región
us-central1 (Iowa)
.Conserva el ID de instancia predeterminado,
my-cluster-primary
.En Disponibilidad zonal, conserva Zona única como la opción seleccionada. Si bien no recomendamos una instancia de una sola zona para la producción, en esta guía de inicio rápido se usa una sola zona para minimizar los costos. Para obtener más información, consulta Reduce los costos con instancias básicas.
Selecciona el tipo de máquina
2 vCPU, 16 GB
.Conserva la conectividad de IP privada.
- Selecciona Private Service Connect(PSC).
- Haz clic en Agregar un extremo.
- Selecciona el proyecto en el que deseas crear el extremo.
- Selecciona la Red.
- Haz clic en Check policy para obtener información sobre la política de conexión de servicio.
Conserva la configuración predeterminada en Seguridad de red.
No realices cambios en Mostrar opciones avanzadas.
Haga clic en Crear clúster. AlloyDB puede tardar varios minutos en crear el clúster y mostrarlo en la página Overview del clúster principal.
gcloud
Para crear el clúster, usa el comando gcloud alloydb clusters
create
.
gcloud alloydb clusters create CLUSTER_ID \
--password=PASSWORD \
--region=REGION_ID \
--project=PROJECT_ID \
--enable-private-service-connect
Reemplaza lo siguiente:
CLUSTER_ID
: Es el ID del clúster que creas. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.PASSWORD
: Es la contraseña que se usará para el usuariopostgres
predeterminado.REGION_ID
: Es la región en la que deseas colocar el clúster.PROJECT_ID
: Es el ID del proyecto en el que deseas colocar el clúster.
Este comando inicia una operación de larga duración y muestra un ID de operación.
Para crear la instancia principal, usa el comando gcloud alloydb instances create.
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 \
Reemplaza lo siguiente:
INSTANCE_ID
: Es el ID de la instancia que estás creando. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.CPU_COUNT
: Es la cantidad de CPU virtuales que deseas para la instancia. Los valores válidos incluyen lo siguiente:2
: 2 CPU virtuales, 16 GB de RAM4
: 4 CPUs virtuales y 32 GB de RAM8
: 8 CPU virtuales, 64 GB de RAM16
: 16 CPU virtuales, 128 GB de RAM32
: 32 CPU virtuales y 256 GB de RAM64
: 64 CPU virtuales y 512 GB de RAM96
: 96 CPU virtuales, 768 GB de RAM128
: 128 CPU virtuales y 864 GB de RAM
AVAILABILITY
: Indica si esta instancia debe tener alta disponibilidad (HA), con nodos en varias zonas. Estos son algunos de los valores válidos:REGIONAL
: Crea una instancia de HA con nodos activos y en espera separados, y conmutación por error automatizada entre ellos. Este es el valor predeterminado, adecuado para entornos de producción.ZONAL
: Crea una instancia básica que contiene solo un nodo y no tiene conmutación por error automática.
REGION_ID
: Es la región en la que deseas colocar la instancia.CLUSTER_ID
: Es el ID del clúster que creaste antes.ALLOWED_PROJECT_LIST
: Es la lista separada por comas de los IDs de proyectos o el número de proyecto al que deseas permitir el acceso a la instancia, por ejemplo,my-project-1
,12345
,my-project-n
.NETWORK_ATTACHMENT_URI
(opcional): Es el nombre completo del recurso del URI de adjunto de red que creas para la conectividad saliente. Por ejemplo:projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID
.CONSUMER_NETWORK
: Es la ruta de acceso a la red de VPC desde la que se deben crear los extremos de Private Service Connect. Por ejemplo:projects/my-host-project/global/networks/default
. Esta opción se aplica cuando creas extremos automáticamente. Asegúrate de que se haya creado la política de conexión de servicio. Puedes crear la política antes o después de crear la instancia.CONSUMER_PROJECT
: Es el proyecto en el que se crea el extremo de Private Service Connect. Si usas una red de VPC compartida, puede ser el proyecto host o el proyecto de servicio. Todos los proyectos que especifiques en los parámetros de conexión automática se agregarán automáticamente a tus proyectos permitidos. De manera opcional, para los proyectos en los que desees crear extremos de Private Service Connect de forma manual, puedes agregarlos a tu lista de proyectos permitidos.
Un clúster secundario creado para un clúster principal habilitado para Private Service Connect hereda automáticamente la configuración de Private Service Connect. Para obtener más información, consulta Crea un clúster secundario.
Terraform
Para crear una instancia dentro de tu clúster de bases de datos, usa un recurso de Terraform.
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" {}
Para obtener más información sobre cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Obtén el adjunto del servicio
Después de crear una instancia de AlloyDB con Private Service Connect habilitado, obtén la URL del adjunto de servicio y úsala para crear el extremo de Private Service Connect.
Usa el comando gcloud alloydb instances describe
para ver los detalles de una instancia.
gcloud alloydb instances describe INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID
Reemplaza lo siguiente:
INSTANCE_ID
: el ID de la instanciaCLUSTER_ID
: Es el ID del clúster.REGION_ID
: Es la región en la que se implementa el clúster de AlloyDB.
A continuación, se muestra una respuesta de muestra para el comando:
"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."
}
El parámetro serviceAttachmentLink
contiene el valor de la URL del adjunto de servicio.
Crear un extremo de Private Service Connect
Para crear un extremo de Private Service Connect, pasa la URL del adjunto de servicio junto con un nombre de extremo único. Para obtener más información sobre cómo crear un extremo de Private Service Connect, consulta Crea un extremo.
También puedes reservar una dirección IP interna para el extremo de Private Service Connect con el comando gcloud compute addresses create
y, luego, usar la dirección IP reservada cuando crees el extremo.
Configura la conectividad saliente
Para habilitar la conectividad saliente, establece el URI de la vinculación de red cuando crees o actualices una instancia de AlloyDB. Este URI permite la conectividad segura entre tu proyecto y la instancia de AlloyDB durante las operaciones salientes, como las migraciones.
Crea el adjunto de red
Puedes crear un adjunto de red que acepte conexiones de forma automática(ACCEPT_AUTOMATIC
) o manual (ACCEPT_MANUAL
). Para obtener más información sobre cómo crear un adjunto de red, consulta Crea y administra adjuntos de red.
Si eliges crear un adjunto de red que acepte conexiones automáticamente, no es necesario que establezcas una lista de proyectos aceptados de forma explícita. Para aceptar conexiones de forma manual, debes agregar el número de proyecto propiedad del servicio del proyecto en el que se encuentra tu instancia de AlloyDB a la lista de proyectos aceptados.
Para encontrar el número de proyecto propiedad del servicio, ejecuta el siguiente comando:
gcloud alpha alloydb clusters describe CLUSTER_ID --region=REGION_ID
A continuación, se muestra una respuesta de ejemplo:
pscConfig:
pscEnabled: true
serviceOwnedProjectNumber: 123456789012
Después de identificar el número del proyecto propiedad del servicio, agrégalo a la lista de proyectos aceptados y, luego, crea el adjunto de red.
Asegúrate de que la región del adjunto de red sea la misma que la de la instancia de AlloyDB. Además, la subred que se usa para crear la conexión de red debe pertenecer a los rangos de IP de RFC 1918, que son 10.0.0.0/8
, 172.16.0.0/12
y 192.168.0.0/16
.
Actualiza una instancia para la conectividad saliente
Para habilitar la conectividad saliente de una instancia de AlloyDB existente con Private Service Connect habilitado, pasa el parámetro --psc-network-attachment-uri
al comando gcloud alloydb instances update
.
Las instancias de AlloyDB creadas antes del 1 de marzo de 2025 no se pueden actualizar para habilitar las conexiones salientes. Como alternativa, te recomendamos que uses cualquiera de las siguientes opciones:
- Crea una réplica regional de réplica entre regiones (CRR) de tu instancia principal con la conectividad saliente habilitada. Luego, realiza un cambio para designar la instancia de réplica como la nueva instancia principal.
- Realiza una copia de seguridad de tu clúster y tu instancia principal existentes de AlloyDB. Luego, crea un clúster y una instancia principal de AlloyDB nuevos con la conectividad saliente habilitada. Por último, realiza un restablecimiento de la copia de seguridad creada anteriormente en el clúster nuevo.
Desactiva la conectividad saliente
Para desactivar la conectividad saliente de una instancia de AlloyDB existente, pasa el parámetro --clear-psc-network-attachment-uri
al comando gcloud alloydb instances update
.
Conéctate a una instancia de AlloyDB
Puedes conectarte a una instancia de AlloyDB con Private Service Connect habilitado con una de las siguientes opciones:
- Conéctate directamente con un registro DNS
- Usa el proxy de autenticación de AlloyDB con un registro DNS
- Usa los conectores de lenguaje de AlloyDB con un registro DNS
- Conéctate directamente con una dirección IP interna
En el caso de los métodos que usan un registro DNS, debes crear el registro en una zona del DNS privado en la red de VPC correspondiente. Después de crear un registro DNS, puedes usarlo para conectarte a una instancia habilitada para Private Service Connect.
Configura una zona administrada de DNS y un registro DNS
Para configurar una zona administrada de DNS y un registro DNS en tu red, sigue estos pasos:
Para ver información resumida sobre una instancia de AlloyDB, incluido el nombre de DNS de la instancia, usa el comando
gcloud alloydb instances describe
:gcloud alloydb instances describe INSTANCE_ID \ --cluster=CLUSTER_ID --region=REGION_ID
Reemplaza lo siguiente:
INSTANCE_ID
: El ID de la instancia.CLUSTER_ID
: ID del clúster.
En la respuesta, verifica que aparezca el nombre de DNS. El nombre de DNS tiene el patrón
INSTANCE_UID.PROJECT_UID.REGION_NAME.alloydb-psc.goog.
.Para crear una zona del DNS privada, usa el comando
gcloud dns managed-zones create
. Esta zona está asociada con la red de VPC que se usa para conectarse a la instancia de AlloyDB a través del extremo de Private Service Connect.gcloud dns managed-zones create ZONE_NAME \ --project=PROJECT_ID \ --description=DESCRIPTION \ --dns-name=DNS_NAME \ --networks=NETWORK_NAME \ --visibility=private
Reemplaza lo siguiente:
ZONE_NAME
: Es el nombre de la zona de DNS.PROJECT_ID
: Es el ID o el número del proyecto de Google Cloud que contiene la zona.DESCRIPTION
: Una descripción de la zona (por ejemplo, una zona de DNS para la instancia de AlloyDB)DNS_NAME
: el nombre de DNS de la zona, comoINSTANCE_UID.PROJECT_UID.REGION_NAME.alloydb-psc.goog.
NETWORK_NAME
: Es el nombre de la red de VPC. En el caso de una red de VPC compartida, se debe establecer en la ruta de acceso completamente calificada de la red de VPC, por ejemplo,projects/cymbal-project/global/networks/shared-vpc-network
.
Después de crear el extremo de Private Service Connect, para crear un registro DNS en la zona, usa el comando gcloud dns record-sets create:
gcloud dns record-sets create DNS_NAME \ --project=PROJECT_ID \ --type=RRSET_TYPE \ --rrdatas=RR_DATA \ --zone=ZONE_NAME
Reemplaza lo siguiente:
DNS_NAME
: el nombre de DNS que recuperaste antes en este procedimiento.RRSET_TYPE
: El tipo de registro de recursos del conjunto de registros DNS (por ejemplo, A).RR_DATA
: Es la dirección IP asignada para el extremo de Private Service Connect (por ejemplo, 198.51.100.5). También puedes ingresar varios valores, como rrdata1 rrdata2 rrdata3 (por ejemplo, 10.1.2.3 10.2.3.4 10.3.4.5).
Conéctate directamente con un registro DNS
Después de crear un extremo de Private Service Connect y un registro DNS, puedes conectarte directamente con el registro DNS.
Para recuperar el registro DNS del extremo de Private Service Connect, usa el comando
gcloud compute addresses describe
:gcloud compute addresses describe DNS_RECORD \ --project=PROJECT_ID \ --region=REGION_NAME
Reemplaza lo siguiente:
DNS_RECORD
: Es el registro DNS del extremo.PROJECT_ID
: Es el ID o el número del proyecto Google Cloud que contiene el extremo.REGION_NAME
: es el nombre de la región para el extremo.
Para conectarte a la instancia de AlloyDB, usa el registro DNS.
psql -U USERNAME -h DNS_RECORD
Reemplaza lo siguiente:
USERNAME
: El nombre del usuario que se conecta a la instancia.DNS_RECORD
: Es el registro DNS del extremo.
Conéctate con el proxy de autenticación de AlloyDB
El proxy de autenticación de AlloyDB es un conector que te permite establecer conexiones autorizadas y encriptadas a bases de datos de AlloyDB. El proxy de autenticación de AlloyDB funciona con un cliente local que se ejecuta en el entorno local. Tu aplicación se comunica con el proxy de autenticación de AlloyDB a través del protocolo de base de datos estándar que usa tu base de datos.
Cuando configuras la marca --psc
mientras inicias el cliente del proxy de autenticación, el proxy de autenticación de AlloyDB usa el registro DNS que creaste para conectarse a la instancia habilitada para Private Service Connect.
Asegúrate de iniciar el cliente del proxy de autenticación pasando el URI de la instancia que recuperas con el comando gcloud alloydb instances list
y establece la marca --psc
.
Para obtener más información sobre cómo conectarte a una instancia con el proxy de autenticación, consulta Conéctate con el proxy de autenticación.
Conéctate con los conectores de lenguaje de AlloyDB
Los conectores de lenguaje de AlloyDB son bibliotecas que proporcionan mTLS automatizada con TLS 1.3 y autorización de Identity and Access Management (IAM) cuando se conectan a una instancia de AlloyDB.
Después de que el conector de idiomas determina que la instancia admite Private Service Connect, usa el registro DNS que creaste para conectarse a la instancia.
Java
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
config.addDataSourceProperty("alloydbIpType", "PSC");
Para obtener más información sobre el uso del extremo de Private Service Connect en los conectores de lenguaje de Java, consulta el repositorio de GitHub.
Python (pg8000)
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
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
Para obtener más información sobre el uso del extremo de Private Service Connect en los conectores de lenguaje de Python, consulta el repositorio de GitHub.
Python (asyncpg)
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
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
Para obtener más información sobre el uso del extremo de Private Service Connect en los conectores de lenguaje de Python, consulta el repositorio de GitHub.
Go (pgx)
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Para obtener más información sobre el uso del extremo de Private Service Connect en los conectores del lenguaje Go, consulta el repositorio de GitHub.
Go (database/sql)
Si usas Private Service Connect para conectarte a tu instancia de AlloyDB, incluye lo siguiente:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Para obtener más información sobre el uso del extremo de Private Service Connect en los conectores del lenguaje Go, consulta el repositorio de GitHub.
Conéctate directamente a través de una dirección IP interna
Después de crear un extremo de Private Service Connect, puedes conectarte directamente a una instancia de AlloyDB con la dirección IP que configuraste.
Para recuperar la dirección IP del extremo de Private Service Connect, usa el comando
gcloud compute addresses describe
:gcloud compute addresses describe ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
Reemplaza lo siguiente:
ADDRESS_NAME
: Es el nombre de la dirección IP del extremo.PROJECT_ID
: Es el ID o el número del proyecto Google Cloud que contiene el extremo.REGION_NAME
: es el nombre de la región para el extremo.
Para conectarte a la instancia de AlloyDB, usa la dirección IP interna.
psql -U USERNAME -h IP_ADDRESS"
Reemplaza lo siguiente:
USERNAME
: El nombre del usuario que se conecta a la instancia.IP_ADDRESS
: Es la dirección IP del extremo.
Limitaciones
- Puedes configurar hasta 20 extremos de Private Service Connect que se conecten al adjunto de servicio de una instancia de AlloyDB con Private Service Connect habilitado.
- No puedes usar la marca
--network
cuando creas un clúster habilitado para Private Service Connect porque está asociada con el acceso privado a servicios. - No puedes activar ni desactivar Private Service Connect en una instancia existente.
- No puedes configurar una instancia que tenga Private Service Connect habilitado para usar el acceso privado a servicios.