Configura políticas de conexión de servicio
En esta página, se describe cómo un administrador de red puede configurar las políticas de conexión de servicio para automatizar la conectividad privada a un servicio administrado.
Antes de comenzar
Asegúrate de que el servicio administrado que quieres implementar admita las políticas de conexión de servicios. Los servicios están disponibles para su implementación con las políticas de conexión de servicio están disponibles en una vista previa limitada. Para obtener más información de los servicios que admiten políticas de conexión de servicios, consulta Servicios compatibles.
Debes conocer el nombre de la clase de servicio de la instancia de servicio administrada para la que deseas implementar la conectividad.
Lee sobre extremos de Private Service Connect.
Necesitas una red de nube privada virtual (VPC) y una subred.
Debes habilitar la API de Compute Engine en tu proyecto.
Debes habilitar la API de Network Connectivity en tu proyecto.
Debes habilitar la API de Service Consumer Management en el proyecto del consumidor en el que se implementan los extremos de Private Service Connect. Esta API permite que Google Cloud cree la cuenta de servicio de conectividad de red que implementa extremos de Private Service Connect.
Roles obligatorios
Para obtener los permisos que necesitas para configurar una red y crear una política de conexión de servicio, pídele a tu administrador que te otorgue el rol de Administrador de red de Compute (roles/compute.networkAdmin
) de IAM en tu proyecto.
Para usar las políticas de conexión de servicio con la VPC compartida, las Cuentas de servicio de conectividad de red deben tener roles en los proyectos host y de servicio. Estas cuentas de servicio se configuran automáticamente cuando se crea una política de conexión de servicio, pero los roles se pueden quitar de forma manual. Si ves errores sobre permisos faltantes, es posible que un administrador de cuenta de servicio deba volver a otorgar los roles. Para obtener más información, consulta Configura cuentas de servicio para la VPC compartida.
Crea una política de conexión de servicio
Una política de conexión de servicio te permite autorizar la clase de servicio específica para crear una conexión de Private Service Connect entre redes de VPC de productor y consumidor.
Puedes crear un máximo de una política para cada combinación de clase de servicio, región y red de VPC. Una política determina la automatización de la conectividad del servicio para esa combinación específica. Cuando configuras una política, seleccionas una subred. La subred se usa para asignar direcciones IP a los extremos que se crean a través de la política. Puedes volver a usar la misma subred en varias políticas de conexión si las políticas comparten la misma región.
Por ejemplo, si deseas usar la automatización de conectividad de servicio con dos servicios en tres regiones diferentes, crea seis políticas. Puedes usar un mínimo de tres subredes: una para cada región.
Después de crear una política de conexión de servicio, solo puedes actualizar la subred y el límite de conexiones. Si necesitas actualizar otros campos, borra la política y crea uno nuevo.
Console
En la consola de Google Cloud, 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.
Especifica la clase de servicio.
- Para los servicios de Google, haz lo siguiente:
- En Clase de servicio de origen, selecciona Servicios de Google.
- Selecciona la clase de servicio del menú Clase de servicio.
- Para servicios de terceros, haz lo siguiente:
- En Clase de servicio de origen, selecciona Servicios de terceros.
- En Clase de servicio, ingresa el nombre de la clase de servicio.
- Para los servicios de Google, haz lo siguiente:
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 se pueden crear con esta política de conexión. Si se omite, no hay límite.
Haz clic en Crear política.
gcloud
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
Reemplaza lo siguiente:
POLICY_NAME
: el nombre de la política de conexión del servicio.NETWORK
: la red a la que se aplicará 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, las políticas de conexión de servicio se deben implementar en el proyecto host y no son compatibles con los proyectos de servicio.REGION
: la región a la que se aplicará 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.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. Puedes volver a usar la misma subred en varias políticas de conexión si las políticas comparten la misma región. Puedes ingresar varias subredes en una lista separada por comas.LIMIT
: La cantidad máxima de extremos que se pueden crear con esta política. Si no se especifica, no hay límite.DESCRIPTION
: Es una descripción opcional de la política de conexión de servicio.
Por ejemplo, el siguiente comando crea una política de conexión de servicio para la clase de servicio gcp-database-service
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.
gcloud network-connectivity service-connection-policies create gcp-database-cxn-policy \ --network=default \ --project=my-project \ --region=us-central1 \ --service-class=gcp-database-service \ --subnets=managed-service-subnet \ --psc-connection-limit=10
Terraform
Puedes usar el recurso de Terraform para crear una política de conexión de servicio.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
API
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: el ID de tu proyecto.REGION
: La región de la política de conexión del servicio.POLICY_NAME
: el nombre de la política de conexión del servicio.DESCRIPTION
: Es una descripción opcional de la política de conexión de servicio.NETWORK
: La red de la política de conexión del servicio.LIMIT
: La cantidad máxima de extremos que se pueden crear con esta política. Si no se especifica, no hay límite.SUBNET
: 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 muestran 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. Puedes volver a usar la misma subred en varias políticas de conexión si las políticas comparten la misma región. Puedes ingresar varias URLs de subredes en una lista separada por comas.SERVICE_CLASS
: el identificador de recursos proporcionado por el productor de la clase de servicio.
Método HTTP y URL:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies?serviceConnectionPolicyId=POLICY_NAME
Cuerpo JSON de la solicitud:
{ "description": "DESCRIPTION", "network": "projects/PROJECT_ID/global/networks/NETWORK", "pscConfig": { "limit": "LIMIT", "subnetworks": [ "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" ] }, "serviceClass": "SERVICE_CLASS" }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/project-id/locations/us-central1/operations/operation-1692118768698-602f91a204523-8c6a2d93-d5c20a6a", "metadata": { "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata", "createTime": "2023-08-15T16:59:29.236110917Z", "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Enumera las políticas de conexión de servicios
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Políticas de conexión.
Se muestran las políticas de conexión.
gcloud
Usa el comando service-connection-policies list
.
gcloud network-connectivity service-connection-policies list \ --region=REGION
Reemplaza REGION
por la región en la que deseas enumerar las políticas de conexión de servicio.
API
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: el ID de tu proyecto.REGION
: Es la región en la que se enumerarán las políticas de conexión de servicio.
Método HTTP y URL:
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "serviceConnectionPolicies": [ { "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-1", "createTime": "2023-08-15T15:33:54.712819865Z", "updateTime": "2023-08-15T15:33:54.945630882Z", "description": "descriptor", "network": "projects/project-id/global/networks/network-two", "serviceClass": "service-class", "infrastructure": "PSC", "pscConfig": { "subnetworks": [ "projects/project-id/regions/us-west1/subnetworks/us-west1-subnet" ], "limit": "12" }, "etag": "zCqDFBG1dS7B4gNdJKPR98YMUXpSrBIz0tZB_hwOIZI" }, { "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-2", "createTime": "2023-08-15T16:59:29.230257109Z", "updateTime": "2023-08-15T16:59:29.508994923Z", "description": "descriptor", "network": "projects/project-id/global/networks/custom-test", "serviceClass": "service-class", "infrastructure": "PSC", "pscConfig": { "subnetworks": [ "projects/project-id/regions/us-central1/subnetworks/subnet-one" ], "limit": "25" }, "etag": "nB603i61nRGMZpNjWoWMM6wRzsgM8QN9C9v5QFLyOa8" } ] }
Describe una política de conexión de servicio
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Políticas de conexión.
Haz clic en la política de conexión de servicio que deseas ver.
gcloud
Usa el comando service-connection-policies describe
.
gcloud network-connectivity service-connection-policies describe POLICY_NAME \ --region=REGION
Reemplaza lo siguiente:
POLICY_NAME
: Es el nombre de la política de conexión de servicio que deseas describir.REGION
: la región de la política de conexión del servicio que deseas describir.
API
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: el ID de tu proyecto.REGION
: La región de la política de conexión del servicio.POLICY_NAME
: Es el nombre de la política de conexión de servicio que se describirá.
Método HTTP y URL:
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "createTime": "2023-08-15T16:59:29.230257109Z", "updateTime": "2023-08-15T16:59:29.508994923Z", "description": "description", "network": "projects/project-id/global/networks/custom-test", "serviceClass": "gcp-memorystore-redis", "infrastructure": "PSC", "pscConfig": { "subnetworks": [ "projects/project-id/regions/us-central1/subnetworks/subnet-one" ], "limit": "25" }, "etag": "nB603i61nRGMZpNjWoWMM6wRzsgM8QN9C9v5QFLyOa8" }
Actualiza una política de conexión de servicio
Puedes actualizar las subredes y el límite de conexiones para una política de conexión de servicio.
Si quitas una subred de la política de conexión de servicio, se aplica lo siguiente:
- Los extremos existentes de Private Service Connect no se ven afectados.
- Los extremos nuevos no usan la subred que se quitó.
Si actualizas el límite de conexiones de una política de conexión de servicio, se aplica lo siguiente:
- Los extremos existentes no se ven afectados.
- Si el nuevo límite de conexión es inferior a la cantidad existente de extremos asociados con la política, la automatización de la conectividad del servicio bloquea la creación de extremos nuevos que usan esta política.
- Si el nuevo límite de conexión es mayor que la cantidad existente de extremos asociados con la política, los extremos que antes estaban bloqueados por el límite de conexiones, ahora se puede crear.
Si actualizas una política de conexión de servicio y no especificas un límite de conexiones, la política actualizada no tiene límite de conexión.
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Políticas de conexión.
Haz clic en la política de servicio que deseas editar.
Haz clic en Editar.
Para actualizar las subredes de la política, haz lo siguiente:
- Haz clic en Subredes y, luego, selecciona las subredes que quieras asociar con esta política.
- Haz clic en Aceptar.
Para actualizar el límite de conexiones de la política, ingresa un nuevo valor en el campo Límite de la conexión.
Haz clic en Actualizar política.
gcloud
Usa el comando service-connection-policies update
.
gcloud network-connectivity service-connection-policies update POLICY_NAME \ --region=REGION --project=PROJECT_ID --subnets=SUBNETS --psc-connection-limit=LIMIT
POLICY_NAME
: el nombre de la política de conexión del servicio.REGION
: Es la región de la política de conexión del servicio. No puedes actualizar la región de una política.PROJECT_ID
: El ID del proyecto o el número del proyecto de políticas.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. Puedes volver a usar la misma subred en varias políticas de conexión si las políticas comparten la misma región. Puedes ingresar varias subredes en una lista separada por comas.LIMIT
: La cantidad máxima de extremos que se pueden crear con esta política. Si no se especifica, no hay límite.
API
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: el ID de tu proyecto.REGION
: La región de la política de conexión del servicio. No puedes actualizar la región de una política.POLICY_NAME
: el nombre de la política de conexión del servicio.LIMIT
: La cantidad máxima de extremos que se pueden crear con esta política. Si no se especifica, no hay límite.SUBNET
: 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 muestran 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. Puedes volver a usar la misma subred en varias políticas de conexión si las políticas comparten la misma región. Puedes ingresar varias URLs de subredes en una lista separada por comas.NETWORK
: La red de la política de conexión del servicio.
Método HTTP y URL:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME
Cuerpo JSON de la solicitud:
{ "pscConfig": { "limit": "LIMIT", "subnetworks": [ "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" ] }, "network": "projects/PROJECT_ID/global/networks/NETWORK" }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/project-id/locations/us-central1/operations/operation-1692118768698-602f91a204523-8c6a2d93-d5c20a6a", "metadata": { "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata", "createTime": "2023-08-15T16:59:29.236110917Z", "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Borra una política de conexión de servicio
Puedes borrar una política de conexión de servicio si terminaste de usar el servicio o quieres dejar de automatizar la conectividad. La eliminación de la política está bloqueada si las conexiones activas de Private Service Connect están asociadas con la política. Antes de borrar una política de conexión de servicio, borra todas las conexiones activas retirando todas las instancias de servicio asociadas.
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Políticas de conexión.
Selecciona las políticas de conexión de servicio que deseas borrar y, luego, haz clic en Borrar.
gcloud
Usa el comando service-connection-policies delete
gcloud network-connectivity service-connection-policies delete POLICY_NAME \ --region=REGION
Reemplaza lo siguiente:
POLICY_NAME
: el nombre de la política de conexión del servicio que deseas borrar.REGION
: la región de la política de conexión del servicio que deseas borrar.
API
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: el ID de tu proyecto.REGION
: La región de la política de conexión del servicio.POLICY_NAME
: el nombre de la política de conexión de servicio que se borrará.
Método HTTP y URL:
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/project-id/locations/us-central1/operations/operation-1692128792549-602fb6f98194a-e0275435-36edc095", "metadata": { "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata", "createTime": "2023-08-15T19:46:32.605032867Z", "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Configura cuentas de servicio para la VPC compartida
Las cuentas de servicio se configuran de forma automática cuando usas políticas de conexión de servicio con VPC compartida, pero los roles se pueden quitar de forma manual. Si ves errores sobre permisos faltantes, intenta otorgar los roles de nuevo.
Para otorgar los roles necesarios, un Administrador de cuenta de servicio puede hacer lo siguiente.
Otorga roles a la cuenta de servicio en el proyecto de servicio
gcloud
Otorga el Rol de agente de servicio de conectividad de red (
roles/networkconnectivity.serviceAgent
) a la Cuenta de servicio de conectividad de red del servicio del proyecto. Otorga el rol en el proyecto.gcloud projects add-iam-policy-binding SERVICE_PROJECT_NUMBER \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \ --role=roles/networkconnectivity.serviceAgent
Reemplaza
SERVICE_PROJECT_NUMBER
por el número del proyecto de servicio.Otorga el Rol Usuario de la red de Compute (
roles/compute.networkUser
) a la Cuenta de servicio de conectividad de red del proyecto de servicio. Realiza una de las siguientes acciones.Otorga el rol en el proyecto host.
gcloud projects add-iam-policy-binding HOST_PROJECT_NUMBER \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \ --role=roles/compute.networkUser
Reemplaza
HOST_PROJECT_NUMBER
por el número del proyecto host.Otorga el rol en cada una de las subredes del proyecto host que se asociada con la política de conexión de servicio. Usa el siguiente comando para cada subred.
gcloud compute networks subnets add-iam-policy-binding SUBNET \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \ --role=roles/compute.networkUser \ --region=REGION \ --project=HOST_PROJECT_NUMBER
Reemplaza lo siguiente:
SUBNET
: es el nombre de la subred asociada a tu política de conexión de servicio.REGION
: la región de la subred.
Otorga el rol a la cuenta de servicio en el proyecto host
gcloud
Otorga el Rol de agente de servicio de conectividad de red (
roles/networkconnectivity.serviceAgent
) a la cuenta de servicio de conectividad de red del proyecto host. Otorga el rol en el proyecto host.gcloud projects add-iam-policy-binding HOST_PROJECT_NUMBER \ --member=serviceAccount:service-HOST_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \ --role=roles/networkconnectivity.serviceAgent
Reemplaza
HOST_PROJECT_NUMBER
por el número del proyecto host.