Crear una instancia que use direcciones IPv6


De forma predeterminada, las instancias de Compute Engine se crean con direcciones IPv4. También puedes crear instancias de computación que usen direcciones IPv6. Las instancias de proceso que tienen configuraciones IPv4 e IPv6 se denominan instancias de pila dual. La dirección IPv6 se añade a las direcciones IPv4 que se hayan configurado en la interfaz de red.

Puedes configurar direcciones IPv6 en una instancia de Compute Engine si la subred a la que está conectada la instancia tiene un intervalo de IPv6 configurado.

Cualquier interfaz de red de la instancia de computación puede tener direcciones IPv6 configuradas. Para obtener más información sobre cómo configurar varias interfaces de red, consulta Varias interfaces de red.

El tipo de pila de la interfaz de red de una instancia determina el tipo de subredes a las que se puede conectar:

  • Las interfaces de red solo IPv4 pueden conectarse a subredes de doble pila y solo IPv4.
  • Las interfaces de red de pila dual pueden conectarse a subredes de pila dual.
  • Las interfaces de red solo IPv6 pueden conectarse a subredes de doble pila y solo IPv6.

Además, la configuración del tipo de acceso IPv6 de una subred determina si la subred tiene un intervalo IPv6 interno o externo. Las instancias conectadas heredan el tipo de acceso IPv6 de la subred.

Puedes crear instancias con direcciones IPv6 asignadas automáticamente por Google Cloud o con direcciones IPv6 que especifiques. Puedes especificar una dirección IPv6 estática o una dirección IPv6 efímera personalizada.

Para obtener más información sobre las direcciones IPv6, consulta el artículo Introducción a IPv6.

Limitaciones

  • Las instancias solo con IPv6 se admiten solo con imágenes de SO Ubuntu y Debian.

Antes de empezar

  • Debes crear la red y las subredes antes de crear la instancia de proceso.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Roles obligatorios

Para obtener los permisos que necesitas para crear una instancia con direcciones IPv6, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (roles/compute.instanceAdmin.v1) en el proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Crear una instancia de doble pila

Para crear una instancia con una dirección IPv4 interna y una dirección IPv6 externa, conecta la instancia de Compute a una subred de doble pila.

Si utilizas una VPC compartida y quieres crear una instancia de pila dual que esté conectada a una subred compartida, consulta el artículo Crear una instancia de la documentación de VPC compartida.

Consola

  1. Ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. Si se te solicita, selecciona tu proyecto y haz clic en Continuar. Aparecerá la página Crear una instancia y se mostrará el panel Configuración de la máquina.

  3. En el panel Configuración de la máquina, haz lo siguiente:

    1. En el campo Nombre, especifica un nombre para la instancia. Para obtener más información, consulta el artículo Asignar nombres a los recursos.
    2. Opcional: En el campo Zona, selecciona una zona para esta instancia. Elige una zona de una región que contenga una subred que tenga configurado un intervalo IPv6.
    3. Selecciona la familia de máquinas de tu instancia. La consola Google Cloud muestra las series de máquinas disponibles para la familia de máquinas que hayas seleccionado. Estas son las opciones de familia de máquinas disponibles:

      • Uso general
      • Optimizada para la computación
      • Con memoria optimizada
      • Almacenamiento optimizado
      • GPUs

    4. En la columna Serie, selecciona la serie de máquinas de tu instancia.

    5. En la sección Tipo de máquina, selecciona el tipo de máquina de tu instancia.

  4. En el menú de navegación, haga clic en Redes. En el panel Redes que aparece, haz lo siguiente:

    1. En la sección Interfaces de red, haz clic en la interfaz de red para desplegarla y editarla.

    2. En Red y Subred, selecciona la red y la subred que tengan configurado un intervalo de IPv6.

    3. En Tipo de pila de IP, selecciona IPv4 e IPv6 (pila dual).

    4. En Dirección IPv4 interna principal, selecciona una de las siguientes opciones:

      • Para asignar una nueva dirección interna IPv4 efímera, elige Efímera.
      • Para asignar una dirección IP externa estática que ya tengas, elige el nombre de una dirección IPv4 reservada de la lista.
      • Para crear y asignar una dirección IPv4 interna estática, elige Reservar dirección IPv4 interna estática.
    5. Opcional: En Dirección IPv4 externa, seleccione una de las siguientes opciones:

      • Para asignar una dirección IPv4 externa efímera, elige Efímera.
      • Para crear una instancia sin una dirección IPv4 externa, elige Ninguna.
      • Para asignar una dirección IP externa estática que ya tengas, elige el nombre de una dirección IPv4 reservada de la lista.
      • Para crear y asignar una nueva dirección IPv4 externa estática, elige Reservar dirección IPv4 externa estática.
    6. Opcional: Para configurar una dirección IPv6 externa, en Dirección IPv6 externa, selecciona una de las siguientes opciones:

      • Para asignar automáticamente una nueva dirección IPv6 externa efímera, elige Efímera (automática).
      • Para especificar manualmente una nueva dirección IPv6 externa efímera, elige Efímera (personalizada).
      • Para asignar una dirección IP externa estática que ya tengas, elige el nombre de una dirección IPv6 reservada de la lista.
      • Para crear y asignar una dirección IPv6 externa estática, elige Reservar dirección IPv6 externa estática.
    7. Para terminar de modificar la interfaz de red, haz clic en Hecho.

    8. Opcional: Para configurar una interfaz de red adicional, haz clic en Añadir una interfaz de red y repite los pasos anteriores en el panel Redes.

  5. Opcional: Especifica otras opciones de configuración. Para obtener más información, consulta Opciones de configuración durante la creación de instancias.

  6. Para crear e iniciar la instancia, haz clic en Crear.

gcloud

Crea una instancia con el comando gcloud compute instances create. Para especificar direcciones IPv6 personalizadas, incluye las marcas internal-ipv6-address y external-ipv6-address. Si no se especifica ninguna, Google Cloudasigna automáticamente direcciones IPv6 efímeras a la instancia.

gcloud compute instances create INSTANCE_NAME \
    --subnet=SUBNET_NAME \
    --zone=ZONE \
    --stack-type=IPV4_IPV6

Haz los cambios siguientes:

  • INSTANCE_NAME: el nombre de la instancia
  • SUBNET_NAME: la subred a la que se conectará la instancia. La subred debe tener un intervalo de subred IPv6.
  • ZONE: la zona en la que se va a desplegar la instancia

REST

  1. Selecciona una imagen. Anota el nombre de la imagen o de la familia de imágenes y el nombre del proyecto que contiene la imagen.
  2. Usa el método instances.insert para crear una instancia a partir de una familia de imágenes o de una versión específica de una imagen de SO. Para especificar direcciones IPv6 personalizadas, incluye los campos networkInterfaces[].ipv6Address y networkInterfaces[].ipv6AccessConfigs[].externalIpv6. Si no se especifica ninguna, Google Cloudasigna automáticamente direcciones IPv6 efímeras a la instancia.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • PROJECT_ID: ID del proyecto en el que se va a crear la instancia.
    • ZONE: zona en la que se creará la instancia.
    • MACHINE_TYPE_ZONE: si usas un tipo de máquina personalizada, especifica la zona que contiene el tipo de máquina personalizada que se va a usar en la nueva instancia. De lo contrario, especifica la zona en la que se va a crear la instancia.
    • MACHINE_TYPE: tipo de máquina, predeterminada o personalizada, de la nueva instancia. Por ejemplo, n4-standard-2
    • INSTANCE_NAME: nombre de la nueva instancia
    • REGION: la región que contiene la subred
    • SUBNET: una subred de pila dual
    • IMAGE_PROJECT: Opcional: el proyecto de imagen que contiene la imagen.
    • IMAGE: Opcional: especifica una de las siguientes opciones:

      • Una versión específica de la imagen del SO. Por ejemplo: debian-12-bookworm-v20241009
      • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. De esta forma, se crea la instancia a partir de la imagen de SO más reciente que no esté obsoleta. Por ejemplo, si especificas family/debian-12, Compute Engine crea una instancia con la versión más reciente de la imagen del SO de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulta las prácticas recomendadas para familias de imágenes.

    Método HTTP y URL:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

    Cuerpo JSON de la solicitud:

    {
        "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
        "name": "INSTANCE_NAME",
        "networkInterfaces": [
          {
            "subnetwork": "regions/REGION/subnetworks/SUBNET",
            "stackType": "IPV4_IPV6"
          }
        ],
        "disks": [
          {
            "initializeParams": {
              "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
            },
            "boot": true
          }
        ],
    }
    

    Para enviar tu solicitud, despliega una de estas opciones:

    Deberías recibir una respuesta JSON similar a la siguiente:

    {
      "kind": "compute#operation",
      "id": "9216044482154695709",
      "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7",
      "zone": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`",
      "operationType": "insert",
      "targetLink": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`",
      "targetId": "2679381553616227357",
      "status": "RUNNING",
      "user": "USER_ID",
      "progress": 0,
      "insertTime": "2025-02-10T09:10:10.551-08:00",
      "startTime": "2025-02-10T09:10:10.551-08:00",
      "selfLink": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38"
     "kind": "compute#operation"
    }
    

Crear una instancia solo con IPv6

Para crear una instancia solo con IPv6, sigue los pasos que se indican en esta sección.

En el caso de una instancia de Compute Engine con una sola interfaz de red, la instancia puede tener una dirección IPv6 interna o externa, en función del tipo de acceso de la red a la que esté conectada su interfaz. Debes crear una red de nube privada virtual (VPC) en modo personalizado con una subred que tenga un intervalo de direcciones IPv6.

Antes de crear una instancia de VM con varias NICs que use direcciones IPv6 internas y externas, debes crear lo siguiente:

  • La red y la subred internas: una red VPC en modo personalizado con ULA de IPv6 habilitada, una subred con un intervalo de direcciones IPv6 y el tipo de acceso definido como internal.
  • La red y la subred externas: una segunda red VPC en modo personalizado, una segunda subred con un intervalo de direcciones IPv6 y el tipo de acceso definido como external.

Cuando creas la instancia, configuras dos interfaces de red: una que se conecta a la subred con el intervalo de direcciones IPv6 internas y otra que se conecta a la subred con el intervalo de direcciones externas.

Si utilizas una VPC compartida y quieres crear una instancia solo con IPv6 que esté conectada a una subred compartida, consulta el artículo Crear una instancia de la documentación de VPC compartida.

Consola

  1. Ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. Si se te solicita, selecciona tu proyecto y haz clic en Continuar. Aparecerá la página Crear una instancia y se mostrará el panel Configuración de la máquina.

  3. En el panel Configuración de la máquina, haz lo siguiente:

    1. En el campo Nombre, especifica un nombre para la instancia. Para obtener más información, consulta el artículo Asignar nombres a los recursos.
    2. Opcional: En el campo Zona, selecciona una zona para esta instancia. Elige una zona de una región que contenga una subred con un intervalo de IPv6 configurado.
    3. Selecciona la familia de máquinas de tu instancia. La consolaGoogle Cloud muestra las series de máquinas que están disponibles para la familia de máquinas seleccionada. Estas son las opciones de familia de máquinas disponibles:

      • Uso general
      • Optimizada para la computación
      • Con memoria optimizada
      • Almacenamiento optimizado
      • GPUs

    4. En la columna Serie, selecciona la serie de máquinas de tu instancia.

    5. En la sección Tipo de máquina, selecciona el tipo de máquina de tu instancia.

  4. En el menú de navegación, haga clic en Redes. En el panel Redes que aparece, haz lo siguiente:

    1. En la sección Interfaces de red, haz clic en la interfaz de red para desplegarla y editarla.

    2. En Red y Subred, selecciona la red y la subred que tengan configurado un intervalo de IPv6.

      El tipo de acceso IPv6 de la subred determina si la instancia recibe una dirección IPv6 interna o una dirección IPv6 externa. Para asignar una dirección IPv6 interna, debes seleccionar una red que se haya creado con la opción Configurar un intervalo IPv6 interno ULA para esta red VPC. De lo contrario, solo puedes configurar direcciones IPv6 externas.

    3. En Tipo de pila de IP, selecciona IPv6 (pila única).

    4. Si has seleccionado una subred con el tipo de acceso Internal, en Dirección IPv6 interna principal, selecciona una de las siguientes opciones:

      • Para asignar automáticamente una nueva dirección IPv6 interna efímera, elige Efímera (automática).
      • Para especificar manualmente una nueva dirección IPv6 interna efímera, elige Efímera (personalizada).
      • Para asignar una dirección IP interna estática que ya exista, elige el nombre de una dirección IPv6 reservada de la lista.
      • Para crear y asignar una dirección IPv6 interna estática, elige Reservar dirección IPv6 interna estática.
    5. Si has seleccionado una subred con el tipo de acceso External, en Dirección IPv6 externa, selecciona una de las siguientes opciones:

      • Para asignar automáticamente una nueva dirección IPv6 externa efímera, elige Efímera (automática).
      • Para especificar manualmente una nueva dirección IPv6 externa efímera, elige Efímera (personalizada).
      • Para asignar una dirección IP externa estática que ya tengas, elige el nombre de una dirección IPv6 reservada de la lista.
      • Para crear y asignar una dirección IPv6 externa estática, elige Reservar dirección IPv6 externa estática.
    6. Para terminar de modificar la interfaz de red, haz clic en Hecho.

    7. Opcional: Para añadir otra dirección IPv6, haz lo siguiente:

      1. Selecciona Añadir una interfaz de red.
      2. Repite los pasos anteriores de esta tarea en el panel Redes.
  5. Opcional: Especifica otras opciones de configuración. Para obtener más información, consulta Opciones de configuración durante la creación de instancias.

  6. Para crear e iniciar la instancia, haz clic en Crear.

gcloud

Crea una instancia con el comando gcloud compute instances create. Para asignar direcciones IPv6 internas y externas, debes crear la instancia con al menos dos interfaces de red. Para especificar direcciones IPv6 personalizadas, incluye las marcas internal-ipv6-address y external-ipv6-address. Si no se especifica ninguna, Google Cloudasigna automáticamente direcciones IPv6 efímeras a la instancia.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --machine-type=MACHINE_TYPE \
    --create-disk=boot=yes,image='projects/IMAGE_PROJECT/global/images/IMAGE',size=SIZE \
    --network-interface=subnet=SUBNET_INTERNAL_NAME,stack-type=IPV6_ONLY \
    --network-interface=subnet=SUBNET_EXTERNAL_NAME,stack-type=IPV6_ONLY,ipv6-network-tier=PREMIUM

Haz los cambios siguientes:

  • INSTANCE_NAME: nombre de la instancia
  • ZONE: la zona en la que se crea la instancia, como europe-west1-b. La región de la instancia se deduce de la zona.
  • MACHINE_TYPE: Opcional: tipo de máquina, predeterminada o personalizada, de la nueva instancia. Por ejemplo, n4-standard-2.
  • IMAGE_PROJECT: opcional: el proyecto de imagen que contiene la imagen
  • IMAGE: Opcional: especifica una de las siguientes opciones:
    • Una versión específica de la imagen del SO, por ejemplo, debian-12-bookworm-v202410095.
    • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. De este modo, se crea la instancia a partir de la imagen de SO más reciente que no esté obsoleta. Por ejemplo, si especificas family/debian-12, Compute Engine crea una instancia con la versión más reciente de la imagen del SO de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
  • SIZE: opcional, tamaño del nuevo disco. El valor debe ser un número entero. La unidad de medida predeterminada es GiB.
  • SUBNET_INTERNAL_NAME: nombre de la subred configurada para que la instancia use direcciones IP internas.
  • SUBNET_EXTERNAL_NAME: nombre de la subred configurada para que las direcciones IP externas la usen con la instancia.

REST

  1. Selecciona una imagen. Anota el nombre de la imagen o de la familia de imágenes y el nombre del proyecto que contiene la imagen.
  2. Usa el método instances.insert para crear una instancia a partir de una familia de imágenes o de una versión específica de una imagen de SO. Para especificar direcciones IPv6 personalizadas, incluye los campos networkInterfaces[].ipv6Address y networkInterfaces[].ipv6AccessConfigs[].externalIpv6. Si no se especifica ninguna, Google Cloudasigna automáticamente direcciones IPv6 efímeras a la instancia.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • PROJECT_ID: ID del proyecto en el que se va a crear la instancia.
    • ZONE: zona en la que se creará la instancia.
    • MACHINE_TYPE_ZONE: si usas un tipo de máquina personalizada, especifica la zona que contiene el tipo de máquina personalizada que se va a usar en la nueva instancia. De lo contrario,especifica la zona en la que se va a crear la instancia.
    • MACHINE_TYPE: tipo de máquina, predeterminado o personalizado, de la nueva instancia. Por ejemplo, n4-standard-2.
    • INSTANCE_NAME: nombre de la nueva instancia
    • REGION: la región que contiene la subred
    • SUBNET_INTERNAL: una subred solo IPv6. La red de esta subred debe tener el tipo de acceso INTERNAL y tener habilitada la ULA IPv6.
    • SUBNET_EXTERNAL: una subred solo IPv6. La red de esta subred debe tener el tipo de acceso INTERNAL.
    • IMAGE_PROJECT: Opcional: el proyecto de imagen que contiene la imagen.
    • IMAGE: Opcional: especifica una de las siguientes opciones:

      • Una versión específica de la imagen del SO. Por ejemplo: debian-12-bookworm-v20241009
      • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. De esta forma, se crea la instancia a partir de la imagen de SO más reciente que no esté obsoleta. Por ejemplo, si especificas family/debian-12, Compute Engine crea una instancia con la versión más reciente de la imagen del SO de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulta las prácticas recomendadas para familias de imágenes.

    Método HTTP y URL:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

    Cuerpo JSON de la solicitud:

    {
        "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
        "name": "INSTANCE_NAME",
        "networkInterfaces": [
          {
            "subnetwork": "regions/REGION/subnetworks/SUBNET_INTERNAL",
            "stackType": "IPV6_ONLY"
          },
          {
            "subnetwork": "regions/REGION/subnetworks/SUBNET_EXTERNAL",
            "stackType": "IPV6_ONLY"
          }
        ],
        "disks": [
          {
            "initializeParams": {
              "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
    
            },
            "boot": true
          }
        ]
    }
    

    Para enviar tu solicitud, despliega una de estas opciones:

    Deberías recibir una respuesta JSON similar a la siguiente:

    {
      "kind": "compute#operation",
      "id": "9216044482154695709",
      "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7",
      "zone": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`",
      "operationType": "insert",
      "targetLink": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`",
      "targetId": "2679381553616227357",
      "status": "RUNNING",
      "user": "USER_ID",
      "progress": 0,
      "insertTime": "2025-02-10T09:10:10.551-08:00",
      "startTime": "2025-02-10T09:10:10.551-08:00",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38"
     "kind": "compute#operation"
    }
    

Siguientes pasos