Configura los Controles del servicio de VPC y los clústeres privados

En esta página, se describe cómo funcionan los Controles del servicio de VPC y los clústeres privados, y cómo configurarlos en Cloud Workstations.

Controles del servicio de VPC

Los Controles del servicio de VPC proporcionan seguridad adicional para tus estaciones de trabajo para ayudar a mitigar el riesgo de robo de datos. Con los Controles del servicio de VPC, puedes agregar proyectos a perímetros de servicio que pueden ayudar a proteger recursos y servicios de las solicitudes que se originan fuera del perímetro.

Estos son los requisitos para usar Cloud Workstations en un perímetro de servicio de VPC:

  • Para ayudar a proteger Cloud Workstations, debes restringir la API de Compute Engine en tu perímetro de servicio cada vez que restrinjas la API de Cloud Workstations.
  • Asegúrate de que la API de Google Cloud Storage, la API de Google Container Registry y la API de Artifact Registry sean accesibles a la VPC en tu perímetro de servicio. Esto es necesario para extraer imágenes a tu estación de trabajo. También recomendamos que permitas que se pueda acceder a la API de Cloud Logging y a la API de Cloud Error Reporting en tu perímetro de servicio, aunque esto no es obligatorio para usar Cloud Workstations.

  • Asegúrate de que el clúster de tu estación de trabajo sea privado. La configuración de un clúster privado evita las conexiones a tus estaciones de trabajo desde fuera del perímetro de servicio de VPC. El servicio Cloud Workstations evita la creación de clústeres públicos en un perímetro de servicio de VPC.
  • Asegúrate de desactivar las direcciones IP públicas en la configuración de tu estación de trabajo. De lo contrario, se generarán VM con direcciones IP públicas en tu proyecto. Te recomendamos que uses la restricción de la política de la organización constraints/compute.vmExternalIpAccess para desactivar las direcciones IP públicas de todas las VMs en tu perímetro de servicio de VPC. Para obtener más detalles, consulta Restringe direcciones IP externas a VM específicas.

Para obtener más información sobre los perímetros de servicio, consulta Configuración y detalles del perímetro de servicio.

Arquitectura

Cuando configuras un clúster de estación de trabajo como privado, el plano de control del clúster de la estación de trabajo solo tiene una dirección IP interna. Esto significa que los clientes de la Internet pública no pueden conectarse a las estaciones de trabajo que pertenecen al clúster de la estación de trabajo. Para usar un clúster privado, debes conectarlo manualmente a la red de nube privada virtual (VPC) a través de un extremo de Private Service Connect.

Las configuraciones con clústeres privados requieren dos extremos de PSC:

  • De forma predeterminada, Cloud Workstations crea un extremo de PSC independiente para conectar el plano de control a las VMs de la estación de trabajo.

  • Debes crear un extremo de PSC adicional para los clústeres privados. Para conectarse desde la máquina local a una estación de trabajo en un clúster privado, la máquina local debe estar conectada a la red de VPC. Usa Cloud VPN o Cloud Interconnect para conectar la red externa en la que ejecutas la máquina a la red de VPC.

En el siguiente diagrama, se ilustra un ejemplo de la arquitectura de un clúster privado:

Figura 1: Clústeres privados

Antes de comenzar

Antes de comenzar, asegúrate de completar los siguientes pasos de configuración necesarios:

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  6. Habilita Cloud Workstations API.

    Habilita la API

  7. Asegúrate de tener un rol de IAM de Administrador de Cloud Workstations en el proyecto para que puedas crear configuraciones de las estaciones de trabajo. Para verificar tus roles de IAM en la consola de Google Cloud, ve a la página IAM:

    Ir a IAM

  8. Si se aplica de forma forzosa la restricción de la política de la organización constraints/compute.trustedimageProjects, debes agregar el proyecto del que proviene la imagen a la lista de entidades permitidas.
    • Sin la virtualización anidada, debes otorgar al proyecto permiso para usar las imágenes de VM de Compute Engine del proyecto cos-cloud.
    • Con la virtualización anidada, debes otorgar a tu proyecto permiso para usar las imágenes de VM de Compute Engine del proyecto ubuntu-os-gke-cloud.

    Para obtener más información, consulta Establece restricciones de acceso a imágenes.

  9. Opcional: Habilita la API de Container File System para permitir un inicio más rápido de la estación de trabajo.

    Habilita la API de Container File System

    Para obtener más información, consulta Reduce el tiempo de inicio de la estación de trabajo con la transmisión de imágenes.

Crear un clúster privado

Sigue estos pasos para crear un clúster privado:

  1. En la consola de Google Cloud, ve a la página Cloud Workstations.

    Ir a Cloud Workstations

  2. Navega a la página Administración de clústeres de la estación de trabajo.

  3. Haz clic en Crear.

  4. Ingresa el Nombre y selecciona una Región para el clúster de tu estación de trabajo.

  5. En la sección Herramientas de redes, selecciona Redes de este proyecto.

  6. Selecciona una Red y una Subred.

  7. En Tipo de puerta de enlace, selecciona Puerta de enlace privada.

  8. Opcional: Especifica uno o más proyectos adicionales que alojan el extremo de Private Service Connect que habilita el acceso HTTP al clúster privado. De forma predeterminada, este extremo solo se puede crear en el proyecto de clúster de la estación de trabajo y en el proyecto host de la red de VPC (si es diferente). Si es necesario, estos proyectos también se pueden especificar después de la creación del clúster.

  9. Haz clic en Crear.

Habilita la conectividad de clúster privado

Los clientes no pueden conectarse a estaciones de trabajo en clústeres de estaciones de trabajo privadas desde la Internet pública. Los clientes deben estar en una red que se conecte al clúster de la estación de trabajo mediante Private Service Connect (PSC). Sigue los pasos que se indican en esta sección para conectarte a una estación de trabajo:

  1. Crea un extremo de PSC que se oriente a tu adjunto de servicio de estación de trabajo.

  2. Crea una zona privada del DNS.

  3. Usa Cloud DNS para crear un registro DNS que asigne el nombre de host de tu clúster al extremo de PSC.

Crear un extremo de Private Service Connect

Sigue estos pasos para crear un extremo de PSC:

  1. En la consola de Google Cloud, ve a Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Extremos conectados y, luego, en agregar Conectar extremo.

  3. En Destino, selecciona Servicio publicado.

  4. En el campo Servicio de destino, ingresa el URI del adjunto de servicio creado para el clúster de la estación de trabajo. Para encontrarlo, navega al clúster de tu estación de trabajo en la consola y busca el campo URI del adjunto de servicio en Configuración de red.

  5. En el campo Extremo, ingresa el nombre de un extremo.

  6. Selecciona una Red para el extremo y, luego, una Subred. Esta red debe ser la que quieres usar para conectarte a tus estaciones de trabajo.

  7. Selecciona una dirección IP para el extremo.

    Si necesitas una dirección IP nueva, selecciona Crear dirección IP:

    1. Ingresa un nombre y una descripción para la dirección IP.
    2. Para una Dirección IP estática, selecciona Asignar automáticamente. Para una Dirección IP personalizada, selecciona Permitirme elegir y, luego, ingresa la dirección IP que deseas usar.
    3. En Propósito, selecciona No compartido.
    4. Haz clic en Reservar.
  8. Selecciona un espacio de nombres de la lista desplegable o crea un espacio de nombres nuevo. La Región se propaga según la subred seleccionada.

  9. Haz clic en Agregar extremo.

  10. Copia la dirección IP del extremo para que puedas usarla en la siguiente sección sobre cómo crear una zona DNS privada y un registro DNS.

Crea una zona del DNS privado

Sigue estos pasos a fin de crear una zona DNS privada para este clúster de estación de trabajo con el nombre de DNS establecido en clusterHostname, que puedes encontrar si navegas al clúster de tu estación de trabajo en la consola.

  1. En la consola de Google Cloud, ve a la página Crear una zona del DNS.

    Ir a Crear una zona DNS

  2. En Tipo de zona, selecciona Privada.

  3. Ingresa un nombre de zona, como private-workstations-cluster-zone.

  4. Ingresa un sufijo de nombre de DNS para la zona privada. Todos los registros de la zona comparten este sufijo. Establece este nombre para tu clusterHostname.

    Para encontrar tu clusterHostname, navega a la página Cloud Workstations  > Administración de clústeres en la consola de Google Cloud y, luego, haz clic en el clúster de tu estación de trabajo para ver el nombre de host.

  5. Opcional: Agrega una descripción.

  6. En Opciones, selecciona Predeterminada (privada).

  7. Selecciona la red en la que creaste el extremo de PSC en la sección anterior, ya que la dirección IP solo es válida en esa red.

  8. Haz clic en Crear.

Si quieres obtener más información sobre las zonas del DNS privadas, consulta la documentación de Cloud DNS sobre cómo crear una zona privada y las Prácticas recomendadas para las zonas privadas de Cloud DNS.

Crea un registro DNS

Para agregar un registro que asigne *.<clusterHostname> a la dirección IP reservada cuando creaste el extremo de Private Service Connect, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Zonas de Cloud DNS.

    Ir a Zonas de Cloud DNS

  2. Haz clic en el nombre de la zona administrada a la que deseas agregar el registro.

  3. En la página Detalles de la zona, haz clic en Agregar estándar.

  4. En la página Crear conjunto de registros, en el campo Nombre de DNS, ingresa *.<clusterHostname>.

  5. En el campo Dirección IP, ingresa la dirección IP que reservaste para el extremo de Private Service Connect en la sección anterior.

  6. Haz clic en Crear.

  7. La red de VPC ahora debería estar conectada al clúster de la estación de trabajo, y debes poder conectarte a las estaciones de trabajo mediante esta red.

Habilita la resolución de DNS local

Para usar el editor predeterminado basado en navegador en tu estación de trabajo, usa un navegador de una máquina conectada a la red de VPC. Puedes usar Cloud VPN o Cloud Interconnect para conectarte desde la red externa en la que ejecutas el navegador a la red de VPC.

Para conectarte desde una red externa, debes configurar el DNS en ella. Al igual que en los pasos anteriores, puedes crear una zona DNS para clusterHostname y agregar un registro que asigne *.<clusterHostname> a la dirección IP reservada cuando creaste el extremo de Private Service Connect. De manera alternativa, puedes configurar zonas de reenvío de DNS o políticas de servidor DNS para permitir búsquedas de nombres de DNS entre tus entornos locales y de Google Cloud.

Es posible que también debas agregar *cloudworkstations.dev a la lista de entidades permitidas de tu infraestructura local.

¿Qué sigue?