Si tu organización usa la VPC compartida, puedes configurar un conector de acceso a la VPC sin servidor en el proyecto de servicio o en el proyecto host. En esta guía se explica cómo configurar un conector en el proyecto host.
Si necesitas configurar un conector en un proyecto de servicio, consulta el artículo Configurar conectores en proyectos de servicio. Para obtener información sobre las ventajas de cada método, consulta el artículo Conexión a una red de VPC compartida.
Antes de empezar
- Consulta los roles de Gestión de Identidades y Accesos (IAM) de la cuenta que estés usando. La cuenta activa debe tener los siguientes roles en el proyecto host: 
- Selecciona el proyecto host en el entorno que prefieras. 
Consola
- Ve al Google Cloud panel de control de la consola. 
- En la barra de menú situada en la parte superior del panel de control, haz clic en el menú desplegable de proyectos y selecciona el proyecto anfitrión. 
gcloud
Define el proyecto predeterminado en gcloud CLI como el proyecto host ejecutando lo siguiente en tu terminal:
gcloud config set project HOST_PROJECT_ID
Haz los cambios siguientes:
- HOST_PROJECT_ID: el ID del proyecto host de la VPC compartida
Crear un conector de Acceso a VPC sin servidor
Para enviar solicitudes a tu red de VPC y recibir las respuestas correspondientes, debes crear un conector de acceso a VPC sin servidor. Puedes crear un conector mediante la Google Cloud consola, la CLI de Google Cloud o Terraform:
Consola
- Habilita la API Acceso a VPC sin servidor en tu proyecto. 
- Ve a la página de resumen de Acceso a VPC sin servidor. 
- Haz clic en Crear conector. 
- En el campo Name (Nombre), introduce un nombre para el conector. El nombre debe seguir las convenciones de nomenclatura de Compute Engine y tener menos de 21 caracteres. Los guiones ( - -) cuentan como dos caracteres.
- En el campo Región, selecciona una región para tu conector. Debe coincidir con la región de tu servicio sin servidores. - Si tu servicio se encuentra en la región - us-centralo- europe-west, usa- us-central1o- europe-west1.
- En el campo Red, selecciona la red de VPC a la que quieras adjuntar el conector. 
- Haz clic en el menú desplegable Subred: - Selecciona una - /28subred que no esté en uso.- El conector debe usar las subredes de forma exclusiva. No se pueden usar en otros recursos, como VMs, Private Service Connect o balanceadores de carga.
- Para confirmar que tu subred no se usa en Private Service Connect ni en Cloud Load Balancing, comprueba que la subred purposeestáPRIVATE. Para ello, ejecuta el siguiente comando en gcloud CLI:gcloud compute networks subnets describe SUBNET_NAME SUBNET_NAMEpor el nombre de tu subred.
 
- (Opcional) Para definir opciones de escalado y tener más control sobre el conector, haz clic en Mostrar ajustes de escalado para que se muestre el formulario de escalado. - Define el número mínimo y máximo de instancias de tu conector o usa los valores predeterminados, que son 2 (mínimo) y 10 (máximo). El conector se amplía hasta el máximo especificado a medida que aumenta el tráfico, pero no se reduce cuando el tráfico disminuye. Debe usar valores comprendidos entre 2y10, y el valor deMINdebe ser inferior al deMAX.
- En el menú desplegable Tipo de instancia, elige el tipo de máquina que se usará para el conector o usa el valor predeterminado e2-micro. Cuando elijas el tipo de instancia, verás la barra lateral de costes a la derecha, donde se muestran las estimaciones de ancho de banda y costes.
 
- Define el número mínimo y máximo de instancias de tu conector o usa los valores predeterminados, que son 2 (mínimo) y 10 (máximo). El conector se amplía hasta el máximo especificado a medida que aumenta el tráfico, pero no se reduce cuando el tráfico disminuye. Debe usar valores comprendidos entre 
- Haz clic en Crear. 
- Cuando el conector esté listo para usarse, aparecerá una marca de verificación de color verde junto a su nombre. 
gcloud
- Actualiza los componentes de - gclouda la versión más reciente:- gcloud components update 
- Habilita la API Serverless VPC Access en tu proyecto: - gcloud services enable vpcaccess.googleapis.com 
- Crea un conector de Acceso a VPC sin servidor: - gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region=REGION \ --subnet=SUBNET \ --subnet-project=HOST_PROJECT_ID \ # Optional: specify minimum and maximum instance values between 2 and 10, default is 2 min, 10 max. --min-instances=MIN \ --max-instances=MAX \ # Optional: specify machine type, default is e2-micro --machine-type=MACHINE_TYPE - Haz los cambios siguientes: - CONNECTOR_NAME: el nombre del conector. El nombre debe seguir las convenciones de nomenclatura de Compute Engine y tener menos de 21 caracteres. Los guiones (- -) cuentan como dos caracteres.
- REGION: una región para tu conector. Debe coincidir con la región de tu servicio sin servidor. Si tu servicio se encuentra en la región- us-centralo- europe-west, usa- us-central1o- europe-west1.
- SUBNET: el nombre de una subred- /28sin usar.- El conector debe usar las subredes de forma exclusiva. No se pueden usar en otros recursos, como VMs, Private Service Connect o balanceadores de carga.
- Para confirmar que tu subred no se usa en Private Service Connect ni en Cloud Load Balancing, comprueba que la subred purposeestéPRIVATE. Para ello, ejecuta el siguiente comando en gcloud CLI:gcloud compute networks subnets describe SUBNET_NAME - SUBNET_NAME: el nombre de la subred
 
 
- HOST_PROJECT_ID: el ID del proyecto host
- MIN: número mínimo de instancias que se deben usar para el conector. Usa un número entero entre- 2y- 9. El valor predeterminado es- 2. Para obtener información sobre el escalado de conectores, consulta Rendimiento y escalado.
- MAX: número máximo de instancias que se pueden usar para el conector. Usa un número entero entre- 3y- 10. El valor predeterminado es- 10. Si el tráfico lo requiere, el conector se amplía a- [MAX]instancias, pero no se reduce. Para obtener información sobre el escalado de conectores, consulta Rendimiento y escalado.
- MACHINE_TYPE:- f1-micro,- e2-microo- e2-standard-4. Para obtener información sobre el rendimiento de los conectores, incluidos el tipo de máquina y el escalado, consulta Rendimiento y escalado.
 - Para obtener más información y argumentos opcionales, consulta la referencia de - gcloud.
- Verifica que el conector esté en el estado - READYantes de usarlo:- gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \ --region=REGION - Haz los cambios siguientes: - CONNECTOR_NAME: el nombre del conector, que es el que especificaste en el paso anterior.
- REGION: la región de tu conector. Es la región que especificaste en el paso anterior.
 - El resultado debe contener la línea - state: READY.
Terraform
Puede usar un recurso de Terraform para habilitar la API vpcaccess.googleapis.com.
Puedes usar módulos de Terraform para crear una red VPC y una subred, y, a continuación, crear el conector.
Proporcionar acceso al conector
Para proporcionar acceso al conector, asigna el rol de gestión de identidades y accesos Usuario de Acceso a VPC sin servidor en el proyecto host a la entidad que implementa tu servicio de App Engine.
Consola
- Abre la página de gestión de identidades y accesos. 
- Haz clic en el menú desplegable de proyectos y selecciona el proyecto host. 
- Haz clic en Añadir. 
- En el campo New principals (Nuevos principales), añade el principal que despliega tu servicio de App Engine. 
- En el campo Rol, selecciona Usuario de acceso a VPC sin servidor. 
- Haz clic en Guardar. 
gcloud
Ejecuta lo siguiente en el terminal:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.user
Haz los cambios siguientes:
- HOST_PROJECT_ID: el ID del proyecto host de la VPC compartida
- PRINCIPAL: la entidad que implementa tu servicio de App Engine. Consulta más información sobre la- --membermarca.
Hacer que el conector se pueda detectar
Para ver el conector, las entidades deben tener determinados roles de visualización tanto en el proyecto host como en el proyecto de servicio. Para que tu conector aparezca cuando las entidades vean los conectores disponibles en la consola de Google Cloud o desde su terminal, añade roles de gestión de identidades y accesos a las entidades que implementen servicios de App Engine.
Otorgar roles de gestión de identidades y accesos en el proyecto host
En el proyecto host, concede a las principales que implementen servicios de App Engine el rol
Lector de acceso a VPC sin servidor (vpcaccess.viewer).
Consola
- Abre la página de gestión de identidades y accesos. 
- Haz clic en el menú desplegable de proyectos y selecciona el proyecto host. 
- Haz clic en Añadir. 
- En el campo Nuevos principales, introduce la dirección de correo del principal que debería poder ver el conector desde el proyecto de servicio. Puedes introducir varias direcciones de correo en este campo. 
- En el campo Rol, selecciona Lector de acceso a VPC sin servidor. 
- Haz clic en Guardar. 
gcloud
Ejecuta lo siguiente en el terminal:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.viewer
Haz los cambios siguientes:
- HOST_PROJECT_ID: el ID del proyecto host de la VPC compartida
- PRINCIPAL: la entidad que despliega los servicios de App Engine. Consulta más información sobre la- --membermarca.
Concede roles de gestión de identidades y accesos en el proyecto de servicio
En el proyecto de servicio, concede a las principales que despliegan servicios de App Engine el rol Lector de red de Compute (compute.networkViewer).
Consola
- Abre la página de gestión de identidades y accesos. 
- Haz clic en el menú desplegable de proyectos y selecciona el proyecto de servicio. 
- Haz clic en Añadir. 
- En el campo Nuevos principales, introduce la dirección de correo del principal que debería poder ver el conector desde el proyecto de servicio. Puedes introducir varias direcciones de correo en este campo. 
- En el campo Rol, selecciona Lector de red de Compute. 
- Haz clic en Guardar. 
gcloud
Ejecuta lo siguiente en el terminal:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/compute.networkViewer
Haz los cambios siguientes:
- SERVICE_PROJECT_ID: el ID del proyecto de servicio
- PRINCIPAL: la entidad que despliega los servicios de App Engine. Consulta más información sobre la- --membermarca.
Configurar un servicio para que use un conector
En cada servicio de App Engine que requiera acceso a tu VPC compartida, debes especificar el conector del servicio. En los pasos que se indican a continuación se muestra cómo configurar el servicio para que use un conector.
- Dejar de usar - URLFetchService. Acceso a VPC sin servidor no es compatible con el servicio de obtención de URLs.
- Añade el elemento - <vpc-access-connector>al archivo- appengine-web.xmlde tu servicio:- <vpc-access-connector> <name>projects/HOST_PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME</name> </vpc-access-connector> - Haz los cambios siguientes: - HOST_PROJECT_ID: el ID del proyecto host de la VPC compartida
- REGION: la región de tu conector
- CONNECTOR_NAME: el nombre de tu conector
 
- Despliega el servicio: - gcloud app deploy WEB-INF/appengine-web.xml 
Una vez implementado, tu servicio podrá enviar solicitudes a tu red de VPC compartida y recibir las respuestas correspondientes.
Pasos siguientes
- Monitoriza la actividad de los administradores con los registros de auditoría de Acceso a VPC sin servidor.
- Protege los recursos y los datos creando un perímetro de servicio con Controles de Servicio de VPC.
- Consulta información sobre los roles de Gestión de Identidades y Accesos (IAM) asociados a Acceso a VPC sin servidor. Consulta los roles de acceso a VPC sin servidor en la documentación de gestión de identidades y accesos para ver una lista de los permisos asociados a cada rol.
- Consulta cómo conectarte a Memorystore desde el entorno estándar de App Engine.