Crear una instancia en una red de VPC compartida en proyectos de servicio


En este tutorial se explica el proceso para crear una instancia de Filestore en una red de VPC compartida desde un proyecto de servicio.

Puedes crear instancias de Filestore en una red de VPC compartida en el proyecto del host o en uno de sus proyectos de servicio asociados. Cuando crees una instancia en el proyecto del host, podrás seleccionar la red de VPC compartida como de costumbre y los clientes del proyecto de servicio podrán conectarse a la instancia. Sin embargo, si quieres crear la instancia en un proyecto de servicio, primero debes habilitar el acceso a servicios privados en la red de VPC compartida desde el proyecto del host.

Objetivos

  • Habilita el acceso a servicios privados en la red de VPC compartida.
  • Crea una instancia en la red de VPC compartida.
  • Monta la instancia.

Costes

En este documento, se utilizan los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Los usuarios nuevos Google Cloud pueden disfrutar de una prueba gratuita.

Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.

Antes de empezar

  1. Verify that billing is enabled for your Google Cloud project.

  2. Crea una red de VPC compartida con un proyecto host y un proyecto de servicio conectado.
  3. Enable the Filestore and Service Networking APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Habilitar el acceso a servicios privados en la red de VPC compartida

Para crear una instancia de Filestore en un proyecto de servicio que utilice una red de VPC compartida, esta debe tener habilitado el acceso privado a los servicios (PSA). Consulta los requisitos específicos de Filestore para configurar un intervalo de direcciones IP reservadas.

Comprobar si el acceso a servicios privados está habilitado en la red de VPC compartida

Comprueba si el acceso privado a los servicios ya está habilitado en la red de VPC compartida mediante uno de los siguientes métodos:

Google Cloud consola

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

    Ve a la página Instancias de Filestore.

  2. Haz clic en Crear instancia.

  3. Selecciona la red de VPC compartida que quieras usar.

  4. Haz clic en Opciones de red avanzadas.

  5. En la sección Conexión de acceso de servicios privados se indica si el acceso de servicios privados está habilitado.

CLI de gcloud

Ejecuta el siguiente comando services vpc-peerings list:

gcloud beta services vpc-peerings list \
    --network=SHARED_VPC_NAME \
    --project=HOST_PROJECT_ID

Haz los cambios siguientes:

  • SHARED_VPC_NAME con el nombre de la red de VPC compartida que quieras usar para tu instancia de Filestore.
  • HOST_PROJECT_ID con el ID del proyecto host que contiene la red de VPC compartida.

Si el acceso privado a servicios ya está habilitado, la respuesta muestra que se ha establecido un peering para servicenetworking-googleapis-com:

network: projects/PROJECT_NUMBER/global/networks/SHARED_VPC_NAME
peering: servicenetworking-googleapis-com
reservedPeeringRanges: RANGES

Si el acceso a servicios privados está habilitado en la red de VPC compartida, puedes empezar a crear instancias de Filestore en ella. De lo contrario, primero debes habilitar el acceso privado a servicios.

Habilitar el acceso privado a servicios

Para crear intervalos de direcciones IP asignadas y gestionar conexiones privadas, debe tener el rol Propietario (roles/owner), Editor (roles/editor) o Administrador de gestión de redes (roles/networkmanagement.admin). Si no tienes estos privilegios, ponte en contacto con tu administrador de red. Para obtener más información, consulta Descripción de los roles.

Habilita el acceso a servicios privados en una red de VPC compartida mediante uno de los siguientes métodos:

Google Cloud consola

Reservar un intervalo de direcciones IP en la red de VPC compartida para los servicios gestionados por Google

  1. Ve a la página Redes de VPC de la Google Cloud consola.

    Ir a la página Redes de VPC

  2. Selecciona el proyecto del host que contenga la red de VPC compartida que quieras usar.

  3. Haz clic en el nombre de la red de VPC compartida en la que quieras crear tu instancia de Filestore.

  4. Selecciona la pestaña Conexión de servicio privada.

  5. En la pestaña Conexión de servicio privada, seleccione la pestaña Intervalos de IP asignados a los servicios.

  6. Haga clic en Asignar intervalo de IPs y configúrelo de la siguiente manera:

    • Nombre: google-service-range
    • Descripción: Peering range for Google managed services
    • Intervalo de IPs:

      • Selecciona Automática.
      • En el campo de texto, introduce 20 como prefijo. Todos los servicios gestionados de Google Cloud usan este intervalo, por lo que, en la práctica, es posible que necesites un intervalo mayor. Las instancias de nivel básico requieren un prefijo /29, mientras que las de nivel Enterprise, las zonales y las regionales con un intervalo de capacidad superior (antes SSD de gran escala) y las de nivel zonal y regional con un intervalo de capacidad inferior requieren un prefijo /26.
  7. Haga clic en Asignar para crear el intervalo asignado.

Crear una conexión privada para la red de VPC compartida y la red de servicios gestionada por Google

  1. Ve a la página Redes de VPC de la Google Cloud consola.

    Ir a la página Redes de VPC

  2. Selecciona el proyecto del host que contenga la red de VPC compartida que quieras usar.

  3. Haz clic en el nombre de la red de VPC compartida en la que quieras crear tu instancia de Filestore.

  4. Seleccione la pestaña Acceso a servicios privados.

  5. En la pestaña Acceso privado a servicios, seleccione la pestaña Conexiones privadas a servicios.

  6. Haga clic en Crear conexión.

  7. En Asignación asignada, seleccione google-service-range.

  8. Haz clic en Conectar para crear la conexión.

CLI de gcloud

  1. Reserva un intervalo de direcciones IP en la red de VPC compartida para los servicios gestionados por Google ejecutando el siguiente comando compute addresses create:

    gcloud compute addresses create google-service-range \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=PREFIX \
        --description="Peering range for Google managed services" \
        --network=SHARED_VPC_NAME \
        --project=PROJECT_ID
    

    Haz los cambios siguientes:

    • PREFIX con una longitud de prefijo. Las instancias de nivel básico requieren un prefijo /29 y las de nivel de zona, un prefijo /26. Sin embargo, este intervalo lo usan todos los servicios gestionados por Google Cloud. Si tienes previsto usar varias instancias de Filestore u otros servicios gestionados por Google Cloud, necesitarás un prefijo más grande, como /20.
    • SHARED_VPC_NAME con el nombre de la red de VPC compartida en la que quieras crear tu instancia de Filestore.
    • PROJECT_ID con el ID del proyecto host que contiene la red de VPC compartida.
  2. Crea una conexión privada para la red de VPC compartida y la red de servicios gestionados de Google ejecutando el comando services vpc-peerings connect:

    gcloud services vpc-peerings connect \
        --service=servicenetworking.googleapis.com \
        --ranges=google-service-range \
        --network=SHARED_VPC_NAME \
        --project=HOST_PROJECT_ID
    

    Haz los cambios siguientes:

    • SHARED_VPC_NAME con el nombre de la red de VPC compartida en la que quieras crear tu instancia de Filestore.
    • HOST_PROJECT_ID con el ID del proyecto host que contiene la red de VPC compartida.

    El comando inicia una operación de larga duración y devuelve un nombre de operación.

  3. Comprueba si la operación se ha completado correctamente con el comando services vpc-peerings operations describe:

    gcloud services vpc-peerings operations describe \
        --name=OPERATION_NAME
    

    Sustituye OPERATION_NAME por el nombre de la operación que se devolvió en el paso anterior.

Para obtener más información sobre cómo asignar intervalos de direcciones IP y crear conexiones privadas, consulta el artículo Configurar el acceso privado a servicios.

Opcional: Habilitar Controles de Servicio de VPC

Una vez que se haya habilitado el acceso a servicios privados, puedes habilitar Controles de Servicio de VPC. Para ello, ejecuta el comando services vpc-peerings enable-vpc-service-controls:

gcloud beta services vpc-peerings enable-vpc-service-controls \
    --network=SHARED_VPC_NAME \
    --project=HOST_PROJECT_ID \
    --service=servicenetworking.googleapis.com

Haz los cambios siguientes:

  • SHARED_VPC_NAME con el nombre de la red de VPC compartida en la que quieras crear tu instancia de Filestore.
  • HOST_PROJECT_ID con el ID del proyecto host que contiene la red de VPC compartida.

Para obtener más información sobre cómo usar Filestore con Controles de Servicio de VPC, consulta Proteger instancias con un perímetro de servicio.

Crear una instancia de Filestore en la red de VPC compartida

Una vez que la red de VPC compartida tenga habilitado el acceso a servicios privados, podrás empezar a crear instancias de Filestore en ella desde un proyecto de servicio.

Google Cloud consola

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

    Ve a la página Instancias de Filestore.

  2. Haz clic en Crear instancia y configura la instancia de la siguiente manera:

    • Asigna el valor nfs-server a ID de instancia.
    • En Tipo de instancia, seleccione Básico.
    • En Tipo de almacenamiento, selecciona HDD.
    • Asigna el valor 1TB a Asignar capacidad.
    • Asigna a Región el valor us-central1 y a Zona el valor us-central1-c.
    • Define Red de VPC como la red de VPC compartida, que se muestra en el formato "projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME".
    • Asigna el valor vol1 a Nombre del sistema de archivos compartidos.
    • En Intervalo de IPs asignado, selecciona Usar un intervalo de IPs asignado automáticamente.
    • En Controles de acceso, selecciona Otorgar acceso a todos los clientes.
  3. Haz clic en Crear.

CLI de gcloud

Ejecuta el siguiente comando instances create:

gcloud filestore instances create nfs-server \
    --project=SERVICE_PROJECT_ID \
    --zone=us-central1-c \
    --tier=BASIC_HDD \
    --file-share=name="vol1",capacity=1TiB \
    --network=name="projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME",connect-mode=PRIVATE_SERVICE_ACCESS

Haz los cambios siguientes:

  • SERVICE_PROJECT_ID por el ID del proyecto de servicio en el que quieres crear una instancia de Filestore.
  • HOST_PROJECT_ID con el ID del proyecto host que contiene la red de VPC compartida.
  • SHARED_VPC_NAME con el nombre de la red de VPC compartida en la que quieras crear tu instancia de Filestore.

Opcional: Importar rutas de subred

Si tus instancias de Filestore usan IPs públicas (direcciones IP que no son de RFC 1918) y decides habilitar el PSA, debes importar las rutas de subred de IP pública de la instancia a la red de VPC compartida. Para ello, actualiza el emparejamiento de VPC de la red de servicios para permitir la importación de rutas de subred con IPs públicas. Para obtener más información, consulta Actualizar una conexión de emparejamiento.

Montar la instancia en un cliente de proyecto de servicio

Una vez que hayas creado una instancia de Filestore en una red de VPC compartida, podrás montar esa instancia en cualquier cliente que esté en la misma red. Para obtener instrucciones sobre cómo activar sistemas de archivos compartidos, consulta el artículo Activar sistemas de archivos compartidos en clientes de Compute Engine.

Limpieza

Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.

Eliminar la instancia de Filestore

Google Cloud consola

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

    Ve a la página Instancias de Filestore.

  2. Haz clic en el ID de la instancia nfs-server para abrir la página de detalles de la instancia.

  3. Haz clic en Eliminar .

  4. Cuando se te solicite, escribe el ID de instancia.

  5. Haz clic en Eliminar.

CLI de gcloud

Elimina la instancia nfs-server con el comando instances delete:

gcloud filestore instances delete nfs-server --zone=us-central1-c

Siguientes pasos