En esta página, se muestra cómo configurar y administrar direcciones IPv4 o IPv6 internas estáticas para tus instancias de máquinas virtuales (VM) de Compute Engine.
Si una instancia de máquina virtual (VM) requiere una dirección IP interna fija que no cambie, puedes obtener una dirección IP interna estática para esa VM mediante una de las siguientes opciones:
- Puedes reservar una dirección IP interna estática y, luego, especificar la dirección reservada cuando creas una VM.
- También puedes crear la VM con una dirección IP interna efímera y, luego, ascender esa dirección IP efímera a una dirección IP interna estática.
Para obtener información sobre cómo administrar las direcciones IP internas secundarias, consulta Rangos de IP de alias.
En Compute Engine, cada instancia de VM puede tener varias interfaces de red. Cada interfaz puede tener una dirección IP externa, una dirección IP interna principal y una o más direcciones IP internas secundarias. Para conocer las direcciones IP, consulta la documentación de Direcciones IP.
Con las direcciones IP internas estáticas, siempre puedes usar la misma dirección IP para una VM, incluso si tienes que borrar y volver a crear la VM.
Para configurar una dirección IP externa estática en lugar de una dirección IP interna, consulta Configura direcciones IP externas estáticas.
Antes de comenzar
- Lee sobre las direcciones IP.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Para crear y actualizar VMs: Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) -
compute.instances.update
en la instancia de VM -
compute.instances.updateNetworkInterface
en la instancia de VM -
compute.instances.addAccessConfig
en la instancia de VM -
compute.instances.deleteAccessConfig
en la instancia de VM -
compute.networks.list
en la red compute.subnetworks.use
en la subredcompute.subnetworks.list
en la subred-
Para crear VMs, sigue estos pasos:
compute.instances.create
en el proyecto- Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen - Si deseas usar una instantánea para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnly
en la instantánea - Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnly
en la plantilla de instancias - Para asignar una red heredada a la VM:
compute.networks.use
en el proyecto - Si deseas especificar una dirección IP estática para la VM;
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red y punto heredado;
compute.networks.useExternalIp
en el proyecto - A fin de especificar una subred para la VM:
compute.subnetworks.use
en el proyecto o en la subred elegida - Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida - A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos:
compute.instances.setMetadata
en el proyecto - A fin de configurar etiquetas para la VM y los puntos;
compute.instances.setTags
en la VM - Si deseas configurar etiquetas para la VM, haz lo siguiente:
compute.instances.setLabels
en la VM - A fin de configurar una cuenta de servicio para que la VM la use
compute.instances.setServiceAccount
en la VM - Si deseas crear un disco nuevo para la VM:
compute.disks.create
en el proyecto - Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.use
en el disco - Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos:
compute.disks.useReadOnly
en el disco
No puedes anular la asignación ni cambiar la dirección IPv4 interna de un recurso existente. Por ejemplo, no puedes asignar una nueva dirección IP interna estática a una instancia de VM en ejecución o detenida. Sin embargo, puedes promover la dirección IP interna efímera de un recurso a una dirección IP interna estática para que la dirección permanezca reservada incluso después de que se borre el recurso.
La cantidad de direcciones IP internas estáticas que puedes reservar no debe superar la cuota de tu proyecto. Para obtener más información, consulta las quotas por proyecto en la documentación de VPC.
Un solo recurso a la vez puede usar una dirección IP interna estática.
La reserva de una dirección IP interna estática solo es compatible con las redes de VPC. No es compatible con las redes de modo heredado.
Borrar un recurso no libera de forma automática una dirección IP interna estática. Debes liberar las direcciones IP internas estáticas de forma manual cuando ya no las necesites.
No puedes cambiar el nombre de una dirección IP estática.
Las direcciones IP internas estáticas son regionales, lo que significa que están restringidas a la región en la que se reservan. Por ejemplo, si hay una dirección IP interna estática reservada en
Region A
, solo puedes usar la dirección IP enRegion A
.Elige una subred en la red de VPC. Para las direcciones IPv6, asegúrate de que sea una subred de pila doble.
Reserva una dirección IP internadesde el rango de IP principal de la subred. En este paso, se crea un recurso de dirección IP interna con nombre que contiene esa dirección IP interna específica. Reservar la dirección IP evita que Google Cloud asigne de forma automática esa dirección como una dirección efímera.
Para usar la dirección IP interna reservada, asóciala con una instancia de VM cuando crees el recurso de VM.
Elige una subred en la red de VPC. Para las direcciones IPv6, asegúrate de que sea una subred de pila doble.
Crea una instancia de VM con una dirección IPv4 o IPv6 efímera asignada de forma automática o una dirección IPv4 específica.
Promueve la dirección IP interna efímera a una dirección estática.
En la consola de Google Cloud, ve a la página Direcciones IP.
Haz clic en Direcciones IP internas.
PROJECT_ID
: Es el ID del proyecto de esta solicitud.REGION
: El nombre de la región para esta solicitud.- Compute Engine asigna de forma automática una dirección IPv4 única del rango de subred IPv4 principal.
- Puedes asignar una dirección IPv4 interna específica cuando creas una instancia de VM o reservar una dirección IPv4 interna estática para tu proyecto y asignarle esa interfaz de red VM.
- Compute Engine asigna de forma automática un rango
/96
único del rango de subred IPv6. - Puedes reservar un rango de direcciones IPv6 internas estáticas del rango interno de IPv6 de la subred y asignarlo a una interfaz de red VM.
- Crea una instancia de VM con una dirección IPv4 o IPv6 interna reservada
- Usa una dirección IPv4 o IPv6 interna estática para una interfaz de red secundaria
En la consola de Google Cloud, ve a la página Crea una instancia de VM.
Expande la sección Opciones avanzadas.
Expande la sección Herramientas de redes.
Para asignar una dirección IPv4 interna, haz lo siguiente:
- Elige una red y una subred.
- Elige una dirección IPv4 interna reservada de la lista Dirección IPv4 principal principal.
Como alternativa, elige Reservar dirección IP interna estática y reserva una dirección IPv4 interna estática nueva.
Para asignar una dirección IPv6 interna, haz lo siguiente:
- Elige una red que contenga una subred IPv6.
- Elige una subred de pila doble de la lista Subred. La subred debe tener el tipo de acceso IPv6
INTERNAL
. - En Tipo de pila IP, elige IPv4 e IPv6 (pila doble).
- Elige una dirección IPv6 interna reservada de la lista Dirección IPv6 principal principal.
Como alternativa, elige Reservar dirección IPv6 interna estática y reserva una dirección IPv6 interna estática nueva.
Para terminar de modificar la interfaz de red, haz clic en Listo.
Continúa con el proceso de creación de VM.
Haz clic en Crear.
Usa el comando
instances create
a fin de crear una instancia de VM con una dirección IPv4 interna reservada y usa la marca--private-network-ip
para especificar la dirección IP:gcloud compute instances create VM_NAME --private-network-ip IP_ADDRESS
Reemplaza lo siguiente:
VM_NAME
: el nombre de la imagen que deseas crearIP_ADDRESS
: la dirección IP que deseas asignar.
Si usas una red de modo de subred personalizado, también debes especificar la subred con el parámetro
--subnet SUBNET
.Para crear una instancia con una dirección IPv6 interna reservada, usa la marca
--internal-ipv6-address
a fin de especificar la dirección IP:gcloud compute instances create VM_NAME --subnet SUBNETWORK --stack-type IPV4_IPV6 --internal-ipv6-address INTERNAL_IPV6_ADDRESS --zone ZONE
Reemplaza lo siguiente:
VM_NAME
: el nombre de la imagen que deseas crearSUBNETWORK
: la subred para esta dirección IPv6 interna.INTERNAL_IPV6_ADDRESS
: la dirección IPv6/96
, el nombre de la dirección IP o el URI del recurso de dirección. La dirección IP debe reservarse antes de poder usarla.ZONE
: La zona para la VM.
Para las direcciones IPv4 internas, proporciona de forma explícita la propiedad
networkInterfaces[].networkIP
con la dirección IPv4 interna que deseas asignar a la VM.Por ejemplo:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "name": "VM_NAME", "machineType": "zones/us-central1-f/machineTypes/e2-micro", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", }], "network": "global/networks/default", "networkIP": "IPV4_ADDRESS" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/v20150818" } }] }Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto en el que se creará la VM.ZONE
: la zona en la que se creará la VM.VM_NAME
: el nombre de la máquina virtual.IPV4_ADDRESS
: la dirección IPv4 interna que se asignará a la VM.
En las direcciones IPv6 internas, especifica de forma explícita los valores para las siguientes propiedades:
networkInterfaces[].stackType
networkInterfaces[].ipv6Address
networkInterfaces[].internalIpv6PrefixLength
networkInterfaces[].ipv6AccessType
Por ejemplo:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "name": "VM_NAME", "machineType": "zones/us-central1-f/machineTypes/e2-micro", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", }], "network": "global/networks/default", "stackType": "IPV4_IPV6" "ipv6Address": ""IPV6_ADDRESS"", "internalIpv6PrefixLength": 96 "ipv6AccessType": INTERNAL, }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/v20150818" } }] }Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto en el que se creará la VM.ZONE
: la zona en la que se creará la VM.VM_NAME
: el nombre de la VM.IPV6_ADDRESS
: la dirección IPv6 que se asignará a la VM.
- Reserva una dirección IPv6 interna estática.
- En la consola de Google Cloud, ve a la página Instancias de VM.
- Haz clic en el nombre de la instancia cuya dirección IPv6 interna deseas cambiar.
En la página de detalles de la instancia, completa los siguientes pasos:
- Haga clic en Editar.
- Expande Interfaces de red.
- En la lista Dirección IPv6 interna principal, elige Dirección asignada automáticamente (/96) o una dirección IPv6 interna estática reservada.
- Haz clic en Listo.
Haz clic en Guardar.
VM_NAME
: el nombre de la imagen que deseas crearNIC
: el nombre de la interfaz de red que se actualizará.INTERNAL_IPV6_ADDRESS
: la dirección IPv6 interna/96
que se asignará a la interfaz, el nombre de la dirección IP o el URI del recurso de dirección.ZONE
: La zona para la VM.PROJECT_ID
: el ID del proyecto en el que se encuentra la VM.ZONE
: la zona en la que se creará la VM.VM_NAME
: el nombre de la VM.IPV6_ADDRESS
: la dirección IPv6 que se asignará a la VM.Si especificas el URI del recurso de dirección IPv6 interna o un rango de direcciones IPv6 como el valor de IPV6_ADDRESS, debes dejar el valor de
internalIpv6PrefixLength
en blanco.- Determina si una dirección IPv4 o IPv6 interna es efímera o estática
- Enumera direcciones IPv4 o IPv6 internas estáticas
- Anula la asignación de una dirección IPv6 interna estática
- Libera una dirección IPv6 interna estática
En la consola de Google Cloud, ve a la página Direcciones IP.
Busca la dirección en la lista y verifica la columna Tipo para el tipo de dirección IP.
- En la consola de Google Cloud, ve a la página Instancias de VM.
- Haz clic en el nombre de la instancia a cuya dirección IPv6 interna deseas anular la asignación.
En la página de detalles de la instancia, completa los siguientes pasos:
- Haga clic en Editar.
- Expande Interfaces de red.
- En Tipo de pila de IP, elige IPv4 (pila única).
- Haz clic en Listo.
Haz clic en Guardar.
VM_NAME
: Es el nombre de la VM cuya interfaz de red deseas actualizar.NIC
: el nombre de la interfaz de red que se actualizará.ZONE
: La zona para la VM.- Realiza una solicitud
PATCH
al métodoinstances.updateNetworkInterface
. En el cuerpo de la solicitud, actualiza el valor del campo
stackType
aIPV4_ONLY
.Por ejemplo:
PATCH https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME
/updateNetworkInterface { "networkInterfaces": [{ ... "stackType" : "IPV4_ONLY" ... }] }Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto en el que se encuentra la VM.ZONE
: la zona en la que se creará la VM.VM_NAME
: el nombre de la VM.
- Obtén más información acerca de las direcciones IP.
- Obtén información sobre cómo configurar una dirección IP externa estática.
- Obtén información sobre cómo asignar varias direcciones IP internas mediante el alias de las direcciones IP.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Funciones obligatorias
Para obtener los permisos que necesitas para configurar y administrar direcciones IP estáticas, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
Si quieres obtener más información para otorgar roles, consulta Administra el acceso.
Estos roles predefinidos contienen los permisos necesarios para configurar y administrar direcciones IP estáticas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para reservar y administrar direcciones IP estáticas:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos
Limitaciones
Cómo configurar una dirección IP interna estática
Puedes reservar una dirección IP interna estática y, luego, especificar la dirección reservada cuando crees una VM. También puedes crear la VM con una dirección IP interna efímera y, luego, promover esa dirección IP efímera a una dirección IP interna estática.
Si deseas usar una dirección IP interna estática, debes tener una red de VPC para tu proyecto. Para ver las redes de VPC de tu proyecto, consulta Visualiza las redes de VPC.
Reserva una dirección IPv4 o IPv6 interna estática y asóciala con una VM específica
En este caso, debes reservar por separado una dirección IP interna estática y asígnala a un recurso:
Especifica una dirección IPv4 o IPv6 interna efímera para una VM y, luego, promueve la dirección
En este caso, debes ascender una dirección IPv4 o IPv6 interna efímera que aún esté asociada a una VM:
Los dos métodos se describen en la figura 1.
Ve las direcciones IP internas estáticas disponibles
Para ver todas tus direcciones IP internas estáticas existentes, completa los siguientes pasos.
Console
gcloud
Usa el comando
gcloud compute addresses list
:gcloud compute addresses list
API
Usa el método
addresses.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Reemplaza lo siguiente:
Para enumerar todas las direcciones de todas las regiones, usa el método
addresses.aggregatedList
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
Cómo se asignan las direcciones IP internas
A las interfaces de red para una VM se les asignan direcciones IP de la subred a la que están conectadas. Cada interfaz de red tiene una dirección IPv4 interna principal, que se asigna desde el rango IPv4 principal de la subred. Si la VM está conectada a una subred de pila doble con un rango de IPv6 interno, puedes asignar una dirección IPv6 interna a cada interfaz de red.
Las direcciones IPv4 internas se pueden asignar de las siguientes maneras:
Las direcciones IPv6 internas se pueden asignar de las siguientes maneras:
Usa direcciones IP internas estáticas reservadas cuando crees recursos
Después de reservar una dirección IP interna estática, puedes asignar la dirección reservada cuando creas una VM o un balanceador de cargas interno.
En los siguientes procedimientos, se describe cómo usar direcciones IP internas estáticas cuando se crean recursos:
Crea una instancia de VM con una dirección IPv4 o IPv6 interna reservada
Cuando creas una VM que está conectada a una subred de doble pila con un rango de IPv6 interno sin especificar ninguna dirección IPv6 interna estática, Compute Engine asigna automáticamente a la VM una dirección IPv6 interna efímera del rango IPv6 de la subred.
Console
gcloud
REST
Para crear una instancia de VM con una dirección IP interna estática, usa el método
instances.insert
.Si borras una instancia de VM con una dirección IP efímera, la dirección volverá al grupo de direcciones sin asignar. Si necesitas una dirección IP interna para conservar más allá de la vida útil de la instancia, puedes reservar una dirección IP interna estática.
Asigna una dirección interna estática a la interfaz de red secundaria de una VM
Cuando creas una instancia de VM con varias interfaces de red, puedes usar una dirección IPv4 o IPv6 interna estática reservada para las interfaces de red primaria y secundaria.
Si quieres usar una dirección IPv4 o IPv6 interna estática para una interfaz de red secundaria, consulta Crea instancias de VM con interfaces de red múltiples.
Cambia o asigna una dirección IPv6 interna a una VM existente.
Puedes cambiar o asignar una dirección IPv6 interna para una instancia de VM existente.
Si la instancia ya tiene una dirección IPv6 interna asignada, primero debes anular la asignación de esa dirección. Luego, asigna una dirección nueva a la instancia mediante la interfaz de red de la instancia.
Para cambiar o asignar una dirección IPv6 interna estática a una instancia de VM existente, completa los siguientes pasos.
Consola
gcloud
Usa el comando
compute instances network-interfaces update
gcloud compute instances network-interfaces update VM_NAME \ --network-interface NIC \ --ipv6-network-tier PREMIUM \ --stack-type IPV4_IPV6 \ --internal-ipv6-address INTERNAL_IPV6_ADDRESS \ --zone ZONE
Reemplaza lo siguiente:
REST
Usa el método
instances.update
. Actualiza la propiedadnetworkInterfaces[].ipv6Address
con la dirección IPv6 interna que deseas asignar.Por ejemplo:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME { ... "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", }], "stackType": "IPV4_IPV6" "ipv6Address": "IPV6_ADDRESS", "internalIpv6PrefixLength": 96 "subnetwork": "regions/REGION/subnetworks/SUBNETWORK", }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/v20150818" } }] }
Reemplaza lo siguiente:
Administra direcciones IP internas estáticas
Los siguientes procedimientos te permiten administrar direcciones IP internas estáticas para tus VMs:
Determina si una dirección IPv4 o IPv6 interna es efímera o estática
Las direcciones IP internas estáticas y efímeras se comportan y se ven iguales en la mayoría de los contextos. Sin embargo, con las direcciones IP internas estáticas, puedes usar la misma dirección IP para el mismo recurso, incluso si borras y vuelves a crear el recurso. En general, una dirección IP efímera se libera si detienes o borras el recurso.
Para determinar si una dirección es estática o efímera, haz lo siguiente:
Anula la asignación de una dirección IPv6 interna estática
Puedes anular la asignación de una dirección IPv6 interna estática de una instancia de VM de pila doble si actualizas el tipo de pila para la interfaz de red de la instancia o si borras la instancia a la que pertenece la dirección está asignada.
Cuando anulas la asignación de una dirección IPv6 interna, el sistema la quita del recurso, pero mantiene la dirección reservada para tu proyecto. Luego, puedes reasignar la dirección a otro recurso.
Para anular la asignación de una dirección IPv6 interna estática de una instancia de VM, completa los siguientes pasos.
Consola
gcloud
Usa el comando
compute instances network-interfaces update
con la marca--stack-type
establecida comoIPV4_ONLY
:gcloud compute instances network-interfaces update VM_NAME \ --network-interface NIC \ --stack-type IPV4_ONLY \ --zone ZONE
Reemplaza lo siguiente:
Comprueba que tu dirección IPv6 interna estática ahora esté disponible y marcada como
RESERVED
en lugar deIN_USE
:gcloud compute addresses list \ --filter="region=REGION AND name=NAME"
REST
Actualiza el tipo de pila de instancias de la interfaz de red a la que se adjunta la dirección IPv6 interna:
Libera una dirección IP interna estática
Si ya no necesitas una dirección IPv4 o IPv6 interna estática, puedes borrar el recurso de dirección IP para liberarla. Borrar una VM no libera de forma automática una dirección IP externa estática. Debes liberar las direcciones IP externas estáticas de forma manual cuando ya no las necesites.
Para liberar una dirección IP interna estática, consulta Libera una dirección IPv4 o IPv6 interna estática en la documentación de VPC.
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-09-03 (UTC)
-