Si configuras direcciones IP con reconocimiento del estado en un grupo de instancias gestionado (MIG), te aseguras de que las direcciones IP se conserven cuando las instancias de máquina virtual del grupo se reparen automáticamente, se actualicen y se vuelvan a crear.
Puedes conservar las direcciones IPv4 internas y externas. Puedes configurar que las direcciones IP se asignen automáticamente o asignar direcciones IP específicas a cada instancia de VM de un MIG.
Antes de empezar
- Consulta cuándo usar grupos de instancias gestionados con reconocimiento del estado y cómo funcionan.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Trusted Cloud by S3NS 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada. Después de iniciar sesión, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
- Set a default region and zone.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
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 y, a continuación, inicia sesión en gcloud CLI 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 Trusted Cloud .
Limitaciones
Un MIG con direcciones IP con estado tiene las siguientes limitaciones:
No se admiten direcciones IPv6.
Las direcciones IP internas no se admiten en redes que no tengan subredes, como las redes antiguas.
Un MIG con configuración con reconocimiento del estado (un MIG con reconocimiento del estado) tiene las siguientes limitaciones:
- No puedes usar el autoescalado si tu MIG tiene una configuración con reconocimiento del estado.
- Si quieres usar actualizaciones continuas automatizadas, debes definir el método de sustitución en
RECREATE
. - En el caso de los MIGs regionales con reconocimiento del estado, debes inhabilitar la redistribución proactiva (establecer el tipo de redistribución en
NONE
) para evitar que se eliminen instancias con reconocimiento del estado mediante la redistribución automática entre zonas. - Si usas una configuración de todas las instancias para anular las propiedades de la plantilla de instancia, no puedes especificar esas propiedades en ninguna configuración por instancia y, al mismo tiempo, en la configuración de todas las instancias del grupo.
Precios
Se te cobra por las direcciones IP externas según los precios de la red.
Cuándo usar direcciones IP con estado
Conservar las direcciones IP de las instancias es útil en los siguientes casos:
- Tu aplicación requiere que una dirección IP permanezca estática después de que se le haya asignado (por ejemplo, Kafka).
- La configuración de tu aplicación depende de direcciones IP específicas, como un servidor DNS.
- Los usuarios, incluidas otras aplicaciones, acceden a tu servidor a través de una dirección IP estática específica (por ejemplo, un servidor de archivos).
- Necesitas migrar cargas de trabajo sin cambiar la configuración de red.
Configurar direcciones IP con estado para todas las VMs de un grupo
Configurar direcciones IP con estado para todas las VMs de un MIG es útil en los siguientes casos:
- Tu aplicación requiere que una dirección IP permanezca estática después de que se le haya asignado. Sin embargo, tu aplicación no requiere que se asignen direcciones IP específicas a instancias concretas. Las direcciones IP se pueden asignar automáticamente al crear la instancia.
- Tus usuarios, incluidas otras aplicaciones, acceden a tus servidores a través de direcciones IP estáticas que publicas después de implementar tu aplicación.
- Quieres beneficiarte de la reparación automática de instancias y de las actualizaciones automatizadas, pero conservar la dirección IP estática que se asigna automáticamente al crear la instancia.
Para mantener las direcciones IP internas o externas estáticas de las instancias de VM actuales y futuras del grupo, configúralas en la política con estado.
Cuando añades una configuración de dirección IP con reconocimiento del estado a la política con reconocimiento del estado del grupo, el MIG aplica la configuración de la siguiente manera:
- En el caso de las instancias nuevas, el MIG asigna y reserva automáticamente direcciones IP estáticas.
- En el caso de las instancias que ya existen, el MIG convierte las direcciones IP internas o externas efímeras en uso en direcciones estáticas reservando las direcciones IP estáticas correspondientes.
En el caso de las instancias que no tengan direcciones IP externas, el MIG asigna y reserva direcciones IP estáticas, y añade una configuración de acceso a la interfaz de red correspondiente con los siguientes valores predeterminados:
"accessConfigs": [ { "kind": "compute#accessConfig", "name": "External NAT", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
Para reservar una dirección IP estática, el MIG crea un recurso Address.
Configurar direcciones IP con reconocimiento del estado al crear un MIG
Usa la Trusted Cloud consola, la CLI de gcloud, Terraform o REST.
Consola
En la consola, ve a la página Grupos de instancias. Trusted Cloud
Selecciona el proyecto y haz clic en Continuar.
Haz clic en Crear grupo de instancias.
Selecciona Nuevo grupo de instancias gestionado (con reconocimiento del estado).
Especifica un Nombre para el grupo de instancias.
Selecciona una plantilla de instancia.
En Número de instancias, especifica el número de instancias que quieres incluir en el grupo de instancias gestionadas.
En Configuración con estado, despliega las secciones IP externa e IP interna para configurar esos tipos de direcciones IP como con estado.
- En Stateful (Con estado), selecciona Yes (Sí).
- En la lista Al eliminar la instancia de forma permanente, selecciona la acción que se debe realizar en la dirección IP con estado cuando se elimine la instancia de VM. Estas son las opciones disponibles:
- Desasociar IP: (opción predeterminada). Anula la asignación de la dirección al eliminar la instancia y mantén la dirección reservada.
- Eliminar IP: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias. Por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo.
- Cuando hayas terminado de configurar el estado, haz clic en Hecho.
Haz clic en Crear.
gcloud
Cuando crees un MIG, para especificar qué direcciones IP de las interfaces de red de la plantilla de instancia deben tener estado, usa una o varias de las siguientes marcas con el comando
gcloud compute instance-groups managed create
:--stateful-internal-ip
para marcar como con estado una dirección IP interna de una interfaz de red determinada.--stateful-external-ip
para marcar una dirección IP externa de una interfaz de red determinada como con estado.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE \ --size SIZE \ --instance-redistribution-type NONE \ --stateful-internal-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Haz los cambios siguientes:
- INSTANCE_GROUP_NAME: nombre del MIG que se va a crear.
- INSTANCE_TEMPLATE: el nombre de la plantilla de instancia que se usará al crear instancias.
- SIZE: número inicial de instancias que necesitas en este grupo.
- NI_NAME: (opcional). Nombre de la interfaz de red. Si no se proporciona, se requiere la opción
enabled
y se asume de forma predeterminada la interfaz de red principal llamadanic0
. Si tienes varias interfaces de red, puedes especificar esta marca para cada IP de cada interfaz de red. DELETE_RULE: (opcional). Indica qué debe ocurrir con el recurso Address estático asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
never
: (predeterminado). No elimines nunca la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.on-permanent-instance-deletion
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
Ejemplo
Debe crear un grupo regional de instancias de VM con direcciones IP internas estáticas para las redes predeterminadas y personalizadas, y direcciones IP externas estáticas solo para la red predeterminada. Quieres que las direcciones se asignen automáticamente, pero necesitas que se conserven en caso de reparación automática, actualización o recreación de instancias. Almacenas la configuración de la instancia en una plantilla de instancia llamada
node-template
.Para crear el grupo, ejecuta el siguiente comando:
gcloud compute instance-groups managed create example-group \ --region us-east1 \ --template node-template \ --base-instance-name node \ --instance-redistribution-type NONE \ --size 3 \ --stateful-internal-ip interface-name=nic0,auto-delete=on-permanent-instance-deletion --stateful-internal-ip interface-name=nic1,auto-delete=on-permanent-instance-deletion --stateful-external-ip enabled,auto-delete=on-permanent-instance-deletion
Las IPs internas de las interfaces de red
nic0
ynic1
, y la IP externa de la interfaz de rednic0
se configuran como con estado para todas las instancias del grupo. El grupo reserva automáticamente direcciones IP internas y externas estáticas para cada instancia. Como la marcaauto-delete
tiene el valoron-permanent-instance-deletion
, el grupo eliminará automáticamente las reservas de direcciones IP estáticas cuando elimines las instancias asociadas o todo el grupo.Para verificar que las IPs internas de las interfaces de red
nic0
ynic1
y la IP externa de la interfaz de rednic0
están configuradas como con estado, ejecuta el siguiente comando:gcloud compute instance-groups managed describe example-group \ --zone us-east1-c
La salida es similar a la siguiente:
baseInstanceName: node ... name: example-group ... statefulPolicy: preservedState: internalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION nic1: autoDelete: ON_PERMANENT_INSTANCE_DELETION externalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION ...
Puedes ver que la política con estado del grupo declara IPs internas en las interfaces de red
nic0
ynic1
, e IPs externas en la interfaz de rednic0
como con estado, con la regla de eliminar las reservas de IPs estáticas al eliminar permanentemente la instancia.Terraform
Si aún no has creado una plantilla de instancia, que especifica el tipo de máquina, la imagen del disco de arranque, la red y otras propiedades de la VM que quieras para cada VM de tu MIG, crea una plantilla de instancia.
Cuando cree un MIG, para especificar qué direcciones IP de las interfaces de red de la plantilla de instancia deben tener estado, utilice uno o varios de los siguientes bloques:
stateful_internal_ip
para marcar como con estado una dirección IP interna de una interfaz de red determinada.stateful_external_ip
para marcar como con estado una dirección IP externa de una interfaz de red determinada.
En el siguiente ejemplo se configuran direcciones IP con reconocimiento del estado al crear un MIG regional. Para obtener más información sobre el recurso utilizado en el ejemplo, consulta
google_compute_region_instance_group_manager
recurso.Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
REST
Cuando cree un MIG, para especificar qué direcciones IP de las interfaces de red de la plantilla de instancia deben tener estado, inclúyalas en el campo
statefulPolicy
del cuerpo de la solicitud del métodoinstanceGroupManagers.insert
oregionInstanceGroupManagers.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE" } ], "targetSize": SIZE, "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } }, "externalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } } } }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
Haz los cambios siguientes:
- PROJECT: el ID del proyecto de la solicitud.
- REGION: en el caso de los grupos de instancias gestionados regionales, la región en la que se encuentra el grupo. En el caso de los MIGs zonales, sustituye
regions/REGION
porzones/ZONE
y especifica la zona en la que se encuentra el MIG. - NAME: el nombre del MIG que se va a crear.
- INSTANCE_TEMPLATE: nombre de la plantilla de instancia que se va a usar al crear instancias.
- SIZE: número inicial de instancias que necesitas en este grupo.
- NI_NAME: (opcional). Nombre de la interfaz de red. Si no se proporciona, se requiere la opción
enabled
y se asume de forma predeterminada la interfaz de red principal llamadanic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES. DELETE_RULE: (opcional) indica qué debe ocurrir con un recurso de dirección estática asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
NEVER
: (Predeterminado) Nunca se elimina la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.ON_PERMANENT_INSTANCE_DELETION
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
Ejemplo
Debes crear un grupo regional de instancias de VM con direcciones IP internas estáticas para las redes predeterminadas y personalizadas, y direcciones IP externas estáticas solo para la red predeterminada. Quieres que las direcciones se asignen automáticamente, pero necesitas que se conserven en caso de reparación automática, actualización o recreación de instancias. Almacenas la configuración de la instancia en una plantilla de instancia llamada
node-template
.Para crear el grupo, usa el método
regionInstanceGroupManagers.insert
:POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers { "name": "example-group", "baseInstanceName": "node", "versions": [ { "instanceTemplate": "global/instanceTemplates/node-template" } ], "targetSize": 3, "statefulPolicy": { "preservedState": { "internalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }, "nic1": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } "externalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
Las IPs internas de las interfaces de red
nic0
ynic1
, y las IPs externas de la interfaz de rednic0
se configuran como con estado para todas las instancias del grupo. El grupo reserva automáticamente direcciones IP internas y externas estáticas para cada instancia. Como el campoauto-delete
está definido comoON_PERMANENT_INSTANCE_DELETION
, el grupo eliminará automáticamente las reservas de direcciones IP estáticas cuando elimines las instancias asociadas o todo el grupo.Usa el método
regionInstanceGroupManagers.get
para verificar que las IPs internas de las interfaces de rednic0
ynic1
, así como las IPs externas de la interfaz de rednic0
, se han configurado en la política con estado del nuevo recursoregionInstanceGroupManagers
:GET https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group
La respuesta contiene la política con estado configurada:
{ "name": "example-group", "baseInstanceName": "node", ... "statefulPolicy": { "preservedState": { "internalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }, "nic1": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } "externalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } } ... }
Puedes ver que la política con estado del grupo declara las IPs internas de las interfaces de red
nic0
ynic1
, y las IPs externas de la interfaz de rednic0
como con estado, con la regla de eliminar las reservas de direcciones IP estáticas asociadas cuando se elimine la instancia de forma permanente.Definir y actualizar la configuración con reconocimiento del estado de las direcciones IP en un MIG
Si ejecutas una carga de trabajo en un MIG sin estado (un MIG sin ninguna configuración con estado) y la carga de trabajo requiere direcciones IP estáticas, puedes configurar las direcciones IP que ya se hayan asignado a las instancias de VM gestionadas para que tengan estado. De esta forma, las direcciones IP de tus VMs se conservan en caso de reparación automática, actualización o recreación de instancias. Si quieres, puedes conservar las reservas de direcciones IP estáticas después de eliminar las instancias.
Si configuras una política con reconocimiento del estado para las direcciones IP de un MIG, puedes hacer lo siguiente:
- Configura las direcciones IP como con estado para todas las instancias actuales y futuras del grupo. De esta forma, se ascienden a direcciones IP estáticas las direcciones IP efímeras correspondientes de todas las instancias.
- Actualiza la configuración con estado de las direcciones IP.
El MIG aplica la configuración actualizada en la política con reconocimiento del estado de forma automática y asíncrona a todas las instancias. Las actualizaciones de las configuraciones de direcciones IP en una política con estado no interrumpen las instancias de VM en ejecución. Para obtener más información, consulta cómo aplicar actualizaciones de políticas con estado.
Consola
En la consola, ve a la página Grupos de instancias. Trusted Cloud
Haga clic en el nombre del grupo de instancias para el que quiera especificar direcciones IP con estado.
Haz clic en Editar para modificar el grupo de instancias administrado.
Haz clic en Configuración con estado y por instancia para desplegar la sección.
En la sección Configuración de grupo, haz clic en la IP externa y en la IP interna que quieras que tenga estado.
- En Stateful (Con estado), selecciona Yes (Sí).
- En la lista Al eliminar la instancia de forma permanente, selecciona la acción que se debe realizar en la dirección IP con estado cuando se elimine la instancia de VM. Estas son las opciones disponibles:
- Desasociar IP: (opción predeterminada). Anula la asignación de la dirección al eliminar la instancia y mantén la dirección reservada.
- Eliminar IP: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias. Por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo.
- Una vez que hayas actualizado la configuración con estado, haz clic en Hecho.
- Haz clic en Guardar para completar la actualización.
gcloud
Para especificar qué direcciones IP deben tener estado o para actualizar la configuración de IP con estado de un MIG, usa una o varias marcas
--stateful-internal-ip
o--stateful-external-ip
con el comandogcloud compute instance-groups managed update
.gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --stateful-internal-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Haz los cambios siguientes:
- INSTANCE_GROUP_NAME: el nombre del MIG que se va a actualizar.
- NI_NAME: (opcional). Nombre de la interfaz de red. Si no se proporciona, se requiere la opción
enabled
y se asume de forma predeterminada la interfaz de red principal llamadanic0
. Si tienes varias interfaces de red, puedes especificar esta marca para cada IP de cada interfaz de red. DELETE_RULE: (opcional). Indica qué debe ocurrir con un recurso Address estático asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
never
: (predeterminado). No elimines nunca la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.on-permanent-instance-deletion
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
Si una dirección IP especificada ya está configurada en la política con estado de una interfaz de red determinada, el comando actualiza la configuración.
Ejemplo
Debes exponer un servidor de archivos que se ejecute en un MIG con estado llamado
example-fs-group
a usuarios externos a través de direcciones IP externas estáticas. Las instancias del grupo tienen direcciones IP externas efímeras. Debes asegurarte de que las direcciones IP se conserven en la reparación automática y las actualizaciones de las instancias para que los usuarios externos tengan acceso continuo a los servidores a través de las direcciones IP publicadas. También debe conservar las direcciones IP reservadas para mantener la continuidad en caso de que se elimine un grupo por error.Actualiza el MIG para definir las direcciones IP externas como con estado mediante el siguiente comando:
gcloud compute instance-groups managed update example-fs-group \ --stateful-external-ip enabled
Por lo tanto, el grupo convierte las direcciones IP externas efímeras de la interfaz de red
nic0
en direcciones IP estáticas para todas las instancias gestionadas de forma asíncrona.Las direcciones IP externas ahora se conservan en los eventos de reparación automática, actualización y recreación de instancias. Las reservas de direcciones IP estáticas asociadas se desasignan y se conservan al eliminar la instancia porque la regla
auto-delete
no especificada tiene el valornever
de forma predeterminada.Para comprobar que la dirección IP externa con estado se ha configurado en la política con estado, ejecuta el comando
gcloud compute instance-groups managed describe example-fs-group
.REST
Para especificar qué direcciones IP deben tener estado o para actualizar la configuración de IP con estado de un MIG, usa el método
instanceGroupManagers.patch
oregionInstanceGroupManagers.patch
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } }, "externalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } } } } }
Haz los cambios siguientes:
- PROJECT: el ID del proyecto de la solicitud.
- REGION: en el caso de los grupos de instancias gestionados regionales, la región en la que se encuentra el grupo. En el caso de los MIGs zonales, sustituye
regions/REGION
porzones/ZONE
y especifica la zona en la que se encuentra el MIG. - NAME: el nombre del MIG que se va a crear.
- NI_NAME: (obligatorio) Nombre de la interfaz de red. La interfaz de red principal se llama
nic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES. DELETE_RULE: (opcional) indica qué debe ocurrir con un recurso de dirección estática asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
NEVER
: (Predeterminado) Nunca se elimina la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.ON_PERMANENT_INSTANCE_DELETION
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
Si una dirección IP especificada ya está configurada en la política con estado, el método parchea la configuración.
Ejemplo
Debes exponer un servidor de archivos que se ejecute en un MIG con estado llamado
example-fs-group
a usuarios externos a través de direcciones IP externas estáticas. Las instancias del grupo tienen direcciones IP externas efímeras. Debes asegurarte de que las direcciones IP se conserven en la reparación automática y las actualizaciones de las instancias para que los usuarios externos tengan acceso continuo a los servidores a través de la interfaz de red publicada. También debe conservar las direcciones IP reservadas para mantener la continuidad en caso de que se elimine un grupo por error.Aplica un parche al MIG para definir las direcciones IP externas como con estado:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-fs-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": {"autoDelete": "NEVER" } } } } }
Por lo tanto, el grupo convierte las direcciones IP externas efímeras de la interfaz de red
nic0
en direcciones IP estáticas para todas las instancias gestionadas de forma asíncrona.Las direcciones IP externas ahora se conservan en los eventos de reparación automática, actualización y recreación de instancias. Las reservas de direcciones IP estáticas asociadas se desasignarán y se conservarán al eliminar la instancia, ya que la regla
autoDelete
está definida comoNEVER
.Verifica que la dirección IP externa esté configurada en la política con estado. Para ello, consulta el recurso
regionInstanceGroupManagers
, que devuelve el métodoregionInstanceGroupManagers.get
.Declarar como sin estado direcciones IP que antes tenían estado
Es posible que tengas que configurar una dirección IP con estado para que sea efímera. Por ejemplo, por los siguientes motivos:
- Reestructuras tu aplicación para que deje de depender de direcciones IP estáticas.
- Has configurado la IP como con estado por error y quieres deshacerlo.
Puedes quitar la configuración de IP con estado de la política con estado del grupo para declarar una dirección IP en una interfaz de red determinada como efímera para todas las instancias gestionadas.
Cuando quitas la configuración de IP con estado de la política con estado, la MIG elimina las direcciones IP de forma automática y asíncrona del estado conservado de todas las instancias del grupo. Esta operación no interrumpe las instancias de VM en ejecución. Las direcciones IP siguen activas en las instancias, pero ya no tienen estado. Cuando recreas o actualizas las instancias, o cuando las instancias se reparan automáticamente, el MIG desasigna las direcciones IP estáticas asociadas y asigna automáticamente direcciones efímeras. Si ya no necesitas mantener las reservas de direcciones IP externas estáticas, puedes liberarlas.
Para obtener más información, consulta los siguientes documentos:
- Cómo afecta al estado conservado la eliminación de un recurso de una política con reconocimiento del estado
- Aplicar actualizaciones de políticas con estado.
Consola
En la consola, ve a la página Grupos de instancias. Trusted Cloud
Haga clic en el nombre del grupo de instancias del que quiera quitar la configuración con estado de las direcciones IP.
Haz clic en Editar para modificar el grupo de instancias administrado.
Haz clic en Configuración con estado y por instancia para desplegar la sección.
En la sección Configuración de grupo, despliega las opciones IP externa e IP interna que quieras convertir en sin estado.
- Cambia la opción Con estado a No.
- Haz clic en Listo.
Cuando hayas hecho los cambios, haz clic en Guardar.
gcloud
Para especificar qué direcciones IP de la política con estado de un MIG quieres que sean efímeras, usa la marca
--remove-stateful-internal-ips
o--remove-stateful-external-ips
con el comandogcloud compute instance-groups managed update
:gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --remove-stateful-internal-ips NI_NAME[,NI_NAME,...] \ --remove-stateful-external-ips NI_NAME[,NI_NAME,...]
Haz los cambios siguientes:
- INSTANCE_GROUP_NAME: el nombre del MIG que se va a actualizar.
- NI_NAME: (obligatorio) Nombre de la interfaz de red. La interfaz de red principal se llama
nic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES.
Si necesitas convertir una dirección IP con estado de la interfaz de red principal predeterminada llamada
nic0
en una dirección IP efímera, también puedes usar el siguiente comando:gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --stateful-internal-ip disabled \ --stateful-external-ip disabled
Ejemplo
Tu aplicación se ha expuesto a los usuarios a través de las direcciones IP externas estáticas publicadas de las instancias de VM de un MIG llamado
example-group
. Has rediseñado tu servicio desplegando un balanceador de carga delante del MIG y enrutando el tráfico a las VMs gestionadas a través de él. Ya no necesitas mantener las direcciones IP externas estáticas y quieres que las direcciones IP externas de las VMs sean efímeras.Para que las direcciones IP externas con estado de las VMs de un MIG sean efímeras, ejecuta el siguiente comando:
gcloud compute instance-groups managed update example-group \ --remove-stateful-external-ips nic0
El MIG elimina las direcciones IP externas estáticas de la interfaz de red
nic0
de forma automática y asíncrona del estado conservado de todas las instancias del grupo. Las direcciones IP externas siguen activas en las instancias, pero ya no tienen estado. Cuando vuelvas a crear o actualizar las instancias, o cuando se reparen automáticamente, el MIG desasignará las direcciones IP estáticas asociadas y asignará automáticamente direcciones efímeras. Si ya no necesitas mantener las reservas de direcciones IP externas estáticas, puedes liberarlas.REST
Para especificar qué direcciones IP de la política con estado de un MIG deben ser efímeras, elimina la configuración de cada IP de la política con estado del MIG mediante el método
instanceGroupManagers.patch
oregionInstanceGroupManagers.patch
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": null }, "externalIPs": { "NI_NAME": null } } } }
Haz los cambios siguientes:
- PROJECT: el ID del proyecto de la solicitud.
- REGION: en el caso de los grupos de instancias gestionados regionales, la región en la que se encuentra el grupo. En el caso de los MIGs zonales, sustituye
regions/REGION
porzones/ZONE
y especifica la zona en la que se encuentra el MIG. - INSTANCE_GROUP_NAME: el nombre del MIG que se va a crear.
- NI_NAME: (obligatorio) Nombre de la interfaz de red. La interfaz de red principal se llama
nic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES.
Ejemplo
Tu aplicación se ha expuesto a los usuarios a través de las direcciones IP externas estáticas publicadas de las instancias de VM de un MIG llamado
example-group
. Has rediseñado tu servicio desplegando un balanceador de carga delante del MIG y dirigiendo el tráfico a las VMs gestionadas a través de él. Ya no necesitas mantener las direcciones IP externas estáticas y quieres que las direcciones IP externas de las VMs sean efímeras.Para que las direcciones IP externas con estado de las VMs de un MIG sean efímeras, aplica un parche al MIG:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": null } } } }
El MIG elimina las direcciones IP externas estáticas de la interfaz de red
nic0
de forma automática y asíncrona del estado conservado de todas las instancias del grupo. Las direcciones IP externas siguen activas en las instancias, pero ya no tienen estado. Cuando vuelvas a crear o actualizar las instancias, o cuando se reparen automáticamente, el MIG desasignará las direcciones IP estáticas asociadas y asignará automáticamente direcciones efímeras. Si ya no necesitas mantener las reservas de direcciones IP externas estáticas, puedes liberarlas.Configurar direcciones IP con estado individualmente para las VMs de un MIG
Configurar direcciones IP con estado individualmente para las VMs de un MIG es útil en los siguientes casos:
- Migrar cargas de trabajo (con direcciones IP estáticas reservadas) de instancias de VM independientes a MIGs con reconocimiento del estado para aprovechar las ventajas de la reparación automática y las actualizaciones automatizadas.
- Asignar direcciones IP estáticas reservadas específicas que requiera la arquitectura o la configuración de la carga de trabajo.
Configurar direcciones IP estáticas al crear una VM en un MIG
Puede reservar y asignar direcciones IP estáticas a instancias concretas cuando cree esas instancias individualmente en un MIG. Esto resulta útil para migrar una aplicación con estado de máquinas virtuales independientes a un MIG con estado en situaciones en las que la arquitectura, la configuración o los usuarios dependen de direcciones IP estáticas específicas.
Cuando creas manualmente una instancia en un MIG y proporcionas una dirección IP estática, el MIG realiza las siguientes acciones:
- Crea una reserva de dirección IP interna estática u externa para las direcciones IP proporcionadas si aún no existen.
- Crea una instancia a partir de la plantilla de instancia con el nombre de instancia y las direcciones IP proporcionados.
- Crea una configuración por instancia con la configuración con estado proporcionada para las direcciones IP.
gcloud
Para crear una instancia con una dirección IP estática predefinida, usa el comando
gcloud compute instance-groups managed create-instance
con una o varias de las siguientes marcas:--stateful-internal-ip
para definir una dirección IP interna estática de una interfaz de red determinada.--stateful-external-ip
para definir una dirección IP externa estática de una interfaz de red determinada.
gcloud compute instance-groups managed create-instance INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Haz los cambios siguientes:
- INSTANCE_GROUP_NAME: el nombre del MIG.
- INSTANCE_NAME: nombre de la instancia que se va a crear.
- NI_NAME: (opcional). Nombre de la interfaz de red. Si no se proporciona, se asume de forma predeterminada la interfaz de red principal llamada
nic0
. Si tienes varias interfaces de red, puedes especificar esta marca para cada IP de cada interfaz de red. ADDRESS: (obligatorio) Dirección IP estática que se asignará a la instancia en uno de los siguientes formatos:
- Dirección URL de una reserva de dirección IP estática. Por ejemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Literal, por ejemplo:
"130.211.181.55"
.- Si la dirección IP proporcionada aún no se ha reservado, el MIG crea automáticamente una reserva de dirección IP correspondiente.
- Si la dirección IP proporcionada está reservada, el MIG asigna la reserva a la instancia.
- Dirección URL de una reserva de dirección IP estática. Por ejemplo:
DELETE_RULE: (opcional). Indica qué debe ocurrir con un recurso Address estático asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
never
: (predeterminado). No elimines nunca la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.on-permanent-instance-deletion
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
Ejemplo
Debes añadir otra instancia de VM a tu clúster de servidores proxy, que se ejecute en un MIG llamado
proxy-cluster
. Has creado una reserva de dirección IP interna estática llamadaproxy-node-03-ip
y necesitas asignarla al nuevo nodo. Quieres conservar la reserva de la dirección IP aunque decidas eliminar el nodo en el futuro.Ejecuta el siguiente comando para crear el nodo:
gcloud compute instance-groups managed create-instance proxy-cluster \ --instance proxy-node-03 \ --stateful-internal-ip address="projects/example-project/regions/us-east1/addresses/proxy-node-03-ip",auto-delete=never
El comando crea una instancia llamada
proxy-node-03
, asigna la dirección IP interna estática proporcionada llamadaproxy-node-03-ip
a la instancia y almacena la configuración con estado de la IP en la configuración por instancia correspondiente. Como la marcaauto-delete
tiene el valornever
, la IP sigue reservada si eliminas la instancia más adelante.Terraform
Para crear una VM con una dirección IP estática predefinida, usa uno o varios de los siguientes bloques:
preserved_state.internal_ip
para marcar como con estado una dirección IP interna de una interfaz de red determinada.preserved_state.external_ip
para marcar una dirección IP externa de una interfaz de red determinada como con estado.
En el siguiente ejemplo se configuran direcciones IP estáticas al crear una VM en un MIG regional. Para obtener más información sobre el recurso utilizado en el ejemplo, consulta
google_compute_region_per_instance_config
recurso. En el caso de un MIG zonal, usa el recursogoogle_compute_per_instance_config
.Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
REST
Para crear una o varias instancias en un MIG, definir nombres de instancia personalizados y asignar direcciones IP estáticas predefinidas a estas instancias, usa el método
instanceGroupManagers.createInstances
oregionInstanceGroupManagers.createInstances
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... } }, ... ] }
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto de la solicitud.
- NAME: el nombre del MIG.
- REGION: en el caso de los grupos de instancias gestionados regionales, la región en la que se encuentra el grupo. En el caso de los MIGs zonales, sustituye
regions/REGION
porzones/ZONE
y especifica la zona en la que se encuentra el MIG. - INSTANCE_NAME: nombre de la instancia que se va a crear.
- NI_NAME: (obligatorio) Nombre de la interfaz de red. La interfaz de red principal se llama
nic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES. - ADDRESS: (opcional). Dirección IP estática que se asignará a la instancia, con el formato de una URL de una reserva de dirección IP estática. Por ejemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Solo puedes definir un campo a la vez, ya seaaddress
oliteral
, al asignar una dirección IP estática. - LITERAL: (opcional). Dirección IP estática que se asignará a la instancia en formato literal. Por ejemplo:
"130.211.181.55"
. Solo puedes definir un campo a la vez, ya seaaddress
oliteral
, al asignar una dirección IP estática.- Si la dirección IP literal proporcionada aún no se ha reservado, el MIG crea automáticamente una reserva de dirección IP correspondiente.
- Si la dirección IP literal proporcionada está reservada, el MIG asigna la reserva a la instancia.
DELETE_RULE: (opcional). Indica qué debe ocurrir con un recurso Address estático asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
NEVER
: (predeterminado). No elimines nunca la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.ON_PERMANENT_INSTANCE_DELETION
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
Ejemplo
Debes añadir otra instancia de VM a tu clúster de servidores proxy, que se ejecute en un MIG llamado
proxy-cluster
. Has creado una reserva de dirección IP interna estática llamadaproxy-node-03-ip
y necesitas asignarla al nuevo nodo. Quieres conservar la reserva de la dirección IP aunque decidas eliminar el nodo en el futuro.Llama al método
regionInstanceGroupManagers.createInstances
para crear una instancia adicional:POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/proxy-cluster/createInstances { "instances": [ { "name": "proxy-node-03", "preservedState" : { "internalIPs": { "nic0" : { "ipAddress": { "address": "projects/example-project/regions/us-east1/addresses/proxy-node-03-ip" }, "autoDelete": "NEVER" } } } } ] }
El método crea una instancia llamada
proxy-node-03
, asigna la dirección IP interna estáticaproxy-node-03-ip
a la instancia y almacena la configuración con estado de la IP en la configuración por instancia correspondiente. Como el campoautoDelete
está definido comoNEVER
, la IP sigue reservada si eliminas la instancia más adelante.Configurar direcciones IP estáticas para una VM de un MIG
Puedes definir una dirección IP estática predefinida o actualizar la configuración de IP con estado de una instancia gestionada de forma individual. Por ejemplo:
- Asigna una dirección IP estática a una instancia de un MIG. En el caso de las IPs externas estáticas, esta operación requiere que se actualice la instancia, mientras que, en el caso de las IPs internas estáticas, requiere que se vuelva a crear la instancia.
- Actualiza la regla de eliminación de una dirección IP estática ya asignada. Esta operación se puede realizar sin interrumpir la instancia en ejecución.
En el caso de una instancia que ya exista y no tenga una dirección IP externa, pero para la que configures una IP externa con estado, el MIG añade una configuración de acceso a la interfaz de red correspondiente con los siguientes valores predeterminados:
El grupo ascenderá las direcciones IP efímeras a estáticas para todas las instancias."accessConfigs": [ { "kind": "compute#accessConfig", "name": "External Nat", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
Si necesitas ascender la dirección IP efímera de una instancia concreta de un MIG, especifica el valor literal de la dirección IP efímera (por ejemplo, "130.211.181.55").gcloud
Para configurar una dirección IP con estado individualmente para una instancia de VM en un MIG, añade o actualiza la configuración de IP con estado en la configuración por instancia asociada.
Si aún no existe una configuración por instancia para la instancia, usa el comando
gcloud compute instance-groups managed instance-configs create
con una o varias de las siguientes marcas:--stateful-internal-ip
para definir una dirección IP interna estática de una interfaz de red determinada.--stateful-external-ip
para definir una dirección IP externa estática de una interfaz de red determinada.
gcloud compute instance-groups managed instance-configs create INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] [--instance-update-minimal-action MINIMAL_ACTION]
Si ya existe una configuración por instancia para la instancia, usa el comando
gcloud compute instance-groups managed instance-configs update
con una o varias marcas--stateful-internal-ip
o--stateful-external-ip
:gcloud compute instance-groups managed instance-configs update INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] [--instance-update-minimal-action MINIMAL_ACTION]
Haz los cambios siguientes:
- INSTANCE_GROUP_NAME: el nombre del MIG.
- INSTANCE_NAME: Nombre de la instancia para la que se van a configurar las direcciones IP con estado.
- NI_NAME: (opcional). Nombre de la interfaz de red. Si no se proporciona, se asume de forma predeterminada la interfaz de red principal llamada
nic0
. Si tienes varias interfaces de red, puedes especificar esta marca para cada IP de cada interfaz de red. - ADDRESS: dirección IP estática que se asignará a la instancia en uno de los siguientes formatos:
- Dirección URL de una reserva de dirección IP estática. Por ejemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Literal. Por ejemplo:
"130.211.181.55"
.- Si la dirección IP proporcionada aún no se ha reservado, el MIG crea automáticamente una reserva de dirección IP correspondiente.
- Si la dirección IP proporcionada está reservada, el MIG asigna la reserva a la instancia.
- Esta submarca es opcional si la dirección ya se ha definido en la configuración por instancia de la instancia. De lo contrario, es obligatorio.
- Si se omite, la dirección configurada no cambia.
- Dirección URL de una reserva de dirección IP estática. Por ejemplo:
DELETE_RULE: (opcional). Indica qué debe ocurrir con un recurso Address estático asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
never
: (predeterminado). No elimines nunca la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.on-permanent-instance-deletion
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).- Si se omite, se asigna el valor predeterminado a una nueva configuración de IP con estado. El valor no cambia en una configuración ya existente.
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
--update-instance
: (opcional. Default.) Aplica los cambios inmediatamente a la instancia. Si usas la marca--no-update-instance
, los cambios no se aplicarán y se aplicarán cuando vuelvas a crear la instancia o apliques la actualización más adelante.MINIMAL_ACTION: (opcional). Realiza al menos la acción especificada al aplicar la actualización de configuración por instancia a la instancia. Debe usarse junto con la marca
--update-instance
. El valor debe ser uno de los siguientes:none
: no se realiza ninguna acción.refresh
: aplica las actualizaciones que se puedan aplicar sin detener la instancia.restart
: detén la instancia y, a continuación, vuelve a iniciarla.replace
: recrea la instancia.
Si se omite, se usará la acción menos disruptiva que requiera la actualización.
Ejemplo
Tienes una instancia de servidor de archivos llamada
file-server
, que es una sola instancia de un MIG con estado llamadofs-group
. El grupo tiene una configuración por instancia correspondiente, en la que se configura un disco de datos con reconocimiento del estado. El servidor de archivos solo ha sido accesible internamente, pero ahora tienes usuarios que necesitan acceder a él externamente a través de una dirección IP estática. Has reservado la dirección IP externa estática creando una reserva de direcciónfile-server-ip
. Ahora debes asignar esta IP a la instancia del servidor de archivos.Ejecuta el siguiente comando para configurar la IP externa con estado de la instancia del servidor de archivos:
gcloud compute instance-groups managed instance-configs update fs-group \ --instance file-server \ --stateful-external-ip interface-name=nic0,address="projects/example-project/regions/us-east1/addresses/file-server-ip",auto-delete=never \ --update-instance
El comando realiza lo siguiente:
- Actualiza la configuración por instancia de la instancia
file-server
:- Añade la configuración de IP externa con estado, que apunta a la reserva de direcciones
file-server-ip
. - Mantiene sin cambios la configuración del disco de datos con reconocimiento del estado.
- Añade la configuración de IP externa con estado, que apunta a la reserva de direcciones
- Aplica inmediatamente la actualización de la configuración por instancia a la instancia
file-server
porque se incluye la marca--update-instance
: actualiza la instancia y asigna la dirección IP externa estática de la reservafile-server-ip
.
REST
Para configurar IPs con estado individualmente para las instancias de VM de un MIG, añade o actualiza la configuración de IPs con estado en las configuraciones por instancia asociadas.
Si aún no hay configuraciones por instancia para las instancias en cuestión, usa el método
instanceGroupManagers.updatePerInstanceConfigs
o el métodoregionInstanceGroupManagers.updatePerInstanceConfigs
con una configuración con reconocimiento del estado para una o varias direcciones IP:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/updatePerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... }, "fingerprint: "FINGERPRINT" }, ... ] }
Si ya existen configuraciones por instancia para las instancias en cuestión, usa el método
instanceGroupManagers.patchPerInstanceConfigs
o el métodoregionInstanceGroupManagers.patchPerInstanceConfigs
con una configuración con reconocimiento del estado para una o varias direcciones IP:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... }, "fingerprint: "FINGERPRINT" }, ... ] }
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto de la solicitud.
- NAME: el nombre del MIG.
- REGION: en el caso de los grupos de instancias gestionados regionales, la región en la que se encuentra el grupo. En el caso de los MIGs zonales, sustituye
regions/REGION
porzones/ZONE
y especifica la zona en la que se encuentra el MIG. - INSTANCE_NAME: (obligatorio) El nombre de la instancia en la que se van a configurar las IPs con reconocimiento del estado.
- NI_NAME: (obligatorio) Nombre de la interfaz de red. La interfaz de red principal se llama
nic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES. - ADDRESS: (opcional). Dirección IP estática que se asignará a la instancia, con el formato de una URL de una reserva de dirección IP estática. Por ejemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Solo puedes definir un campo a la vez (ya sea la dirección o el literal) al asignar una dirección IP estática. - LITERAL: (opcional). Dirección IP estática que se asignará a la instancia en formato literal. Por ejemplo:
"130.211.181.55"
. Solo puedes definir un campo a la vez (address o literal) al asignar una dirección IP estática.- Si la dirección IP literal proporcionada aún no se ha reservado, el MIG crea automáticamente una reserva de dirección IP correspondiente.
- Si la dirección IP literal proporcionada está reservada, el MIG asigna la reserva a la instancia.
DELETE_RULE: (opcional). Indica qué debe ocurrir con un recurso Address estático asociado cuando se elimina de forma permanente una instancia de VM. Estas son las opciones disponibles:
NEVER
: (predeterminado). No elimines nunca la dirección IP estática. En su lugar, desasigna la dirección al eliminar la instancia y mantén la dirección reservada.ON_PERMANENT_INSTANCE_DELETION
: elimina la reserva de dirección IP estática cuando se elimina una instancia de forma permanente del grupo de instancias (por ejemplo, cuando eliminas una instancia manualmente o reduces el tamaño del grupo).- Si se omite, se asigna el valor predeterminado a una nueva configuración de IP con estado. El valor no cambia en una configuración ya existente.
Independientemente del valor de la regla de eliminación, el grupo siempre conserva las direcciones IP con estado en las operaciones de reparación automática, actualización y recreación de instancias.
FINGERPRINT: (opcional). La huella digital de la configuración dada, si ya existe. Se usa para el bloqueo optimista. La operación falla si la huella digital es diferente de la proporcionada, ya que indica que la configuración por instancia se ha cambiado desde la última lectura. Para ver la huella digital más reciente, consulta el resultado del método
listPerInstanceConfigs
para un MIG regional u zonal. Si se omitefingerprint
, la operación se lleva a cabo sin comparar la huella digital.
Los métodos
updatePerInstanceConfigs
ypatchPerInstanceConfigs
actualizan las configuraciones por instancia especificadas, pero no aplican las actualizaciones de configuración a las instancias gestionadas asociadas. Los cambios se aplican a una instancia cuando se le indica al MIG que la recree o la actualice. Puedes aplicar la actualización manualmente para aplicar los cambios a una instancia.Ejemplo
Tienes una instancia de servidor de archivos llamada
file-server
, que es una sola instancia de un MIG con estado llamadofs-group
. El grupo tiene una configuración por instancia correspondiente, en la que se configura un disco de datos con reconocimiento del estado. El servidor de archivos solo ha sido accesible internamente, pero ahora tienes usuarios que necesitan acceder a él externamente a través de una dirección IP estática. Has reservado la dirección IP externa estática creando una reserva de direcciónfile-server-ip
. Ahora debes asignar esta IP a la instancia del servidor de archivos.Para actualizar la configuración por instancia de
file-server
con la nueva IP externa con estado, llama al métodopatchPerInstanceConfigs
:POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/fs-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "file-server", "preservedState" : { "externalIPs": { "nic0" : { "ipAddress": { "address": "projects/example-project/regions/us-east1/addresses/file-server-ip" }, "autoDelete": "NEVER" } } } } ] }
El método aplica un parche a la configuración por instancia de
file-server
instance:- Añade una configuración de IP externa con estado que apunta a la reserva de direcciones
file-server-ip
. - Mantiene sin cambios la configuración del disco de datos con reconocimiento del estado.
La actualización de la configuración aún no se ha aplicado a la instancia de VM
file-server
. El MIG aplicará la actualización de la configuración cuando vuelvas a crear la instancia o apliques la actualización más adelante.Para aplicar la actualización de configuración por instancia a la instancia de VM
file-server
, llama al métodoregionInstanceGroupManagers.applyUpdatesToInstances
de la instancia:POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/gs-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-b/instances/file-server"] }
El método asigna la dirección IP externa estática configurada de la reserva
file-server-ip
a la instancia gestionada. El método actualiza la instanciafile-server
para asignar una dirección IP externa.Como
autoDelete
tiene asignado el valorNEVER
en la configuración de IP con estado, la IP seguirá reservada si eliminas la instancia más adelante.Desasociar direcciones IP estáticas de una VM de un MIG
Es posible que tengas que desasociar una dirección IP estática de una máquina virtual, lo que hará que la interfaz de red de la máquina virtual sea efímera. Esto resulta útil en los siguientes casos:
- Reestructuras tu aplicación para que deje de depender de direcciones IP estáticas.
- Has configurado la IP como con estado por error y quieres deshacerlo.
Puedes desasociar una dirección IP estática de una VM de un MIG y hacer que la dirección IP sea efímera para una VM concreta quitando la configuración con estado de la dirección IP de la configuración por instancia asociada o eliminando toda la configuración por instancia si no contiene ningún otro estado. Aplicar el cambio tiene los siguientes efectos:
- La dirección IP sigue activa en la instancia, pero ya no tiene estado.
- Cuando recreas o actualizas la instancia, o cuando la instancia se corrige automáticamente, el MIG desasigna la reserva de dirección IP estática asociada y asigna automáticamente una dirección efímera.
- Una vez que se ha desasignado, la dirección IP estática sigue reservada.
Si quitas una configuración de IP con estado de una configuración por instancia, no se interrumpirán las instancias de VM en ejecución, a menos que decidas hacerlo explícitamente.
Para obtener más información, consulta los siguientes documentos:
- Cómo afecta al estado conservado la eliminación de la configuración de IP con reconocimiento del estado de las configuraciones por instancia.
- Aplicando actualizaciones de configuración por instancia.
gcloud
Para quitar una configuración de IP con estado de la configuración por instancia asociada, usa el comando
gcloud compute instance-groups managed instance-configs update
con las marcas--remove-stateful-internal-ips
o--remove-stateful-external-ips
:gcloud compute instance-groups managed instance-configs update INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --remove-stateful-internal-ips NI_NAME[,NI_NAME,...] \ --remove-stateful-external-ips NI_NAME[,NI_NAME,...] [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Haz los cambios siguientes:
- INSTANCE_GROUP_NAME: el nombre del MIG.
- INSTANCE_NAME: (obligatorio) Nombre de la instancia de la que se va a quitar la configuración de IP con reconocimiento del estado.
- NI_NAME: (obligatorio) Nombre de la interfaz de red. La interfaz de red principal se llama
nic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES. --update-instance
: (opcional. Default.) Aplica los cambios inmediatamente a la instancia. Si usas la marca--no-update-instance
, los cambios no se aplicarán y se aplicarán cuando vuelvas a crear la instancia o apliques la actualización más adelante.MINIMAL_ACTION: (opcional). Realiza al menos la acción especificada al aplicar la actualización de configuración por instancia a la instancia. Esta marca solo se puede usar junto con la marca
--update-instance
. El valor debe ser uno de los siguientes:none
: no se realiza ninguna acción.refresh
: aplica las actualizaciones que se puedan aplicar sin detener la instancia.restart
: detén la instancia y, a continuación, vuelve a iniciarla.replace
: recrea la instancia.
Si se omite, se usará la acción menos disruptiva que requiera la actualización.
Ejemplo
Tu aplicación se ha expuesto a los usuarios a través de direcciones IP externas estáticas publicadas específicas de las instancias de VM de un MIG llamado
example-group
. Has rediseñado tu servicio desplegando un balanceador de carga delante del MIG y enrutando el tráfico a las VMs gestionadas a través de él. Ya no necesitas mantener las direcciones IP externas estáticas y quieres que las direcciones IP externas de las VMs sean efímeras.Para que las direcciones IP externas con estado de las VMs de un MIG sean efímeras, ejecuta el siguiente comando para cada instancia. Por ejemplo, para
node-1
:gcloud compute instance-groups managed instance-configs update example-group \ --instance node-1 \ --remove-stateful-external-ips nic0 \ --update-instance
El comando realiza lo siguiente:
- Elimina la configuración con estado de la dirección IP externa de la interfaz de red
nic0
de la configuración por instancia denode-1
. - Aplica la actualización de la configuración por instancia a la instancia de VM
node-1
inmediatamente porque se incluye la marca--update-instance
. La instancia de VM no se interrumpe y sigue sirviendo desde la misma IP, que ya no tiene estado. El MIG elimina la referencia a la reserva de IP estática de lapreservedStateFromConfig
de la instancia gestionada y trata la dirección IP externa como efímera. El MIG asignará automáticamente una IP externa en los eventos posteriores de recreación, actualización o reparación automática de la instancia. - Después de desasignarse, la IP estática original sigue reservada. Puedes liberar la IP si ya no la necesitas.
REST
Para quitar una configuración de IP con reconocimiento del estado de la configuración por instancia asociada, usa el método
instanceGroupManagers.patchPerInstanceConfigs
o el métodoregionInstanceGroupManagers.patchPerInstanceConfigs
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : null }, "externalIPs": { "NI_NAME" : null } }, "fingerprint: "FINGERPRINT" }, ... ] }
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto de la solicitud.
- NAME: el nombre del MIG.
- REGION: en el caso de los grupos de instancias gestionados regionales, la región en la que se encuentra el grupo. En el caso de los MIGs zonales, sustituye
regions/REGION
porzones/ZONE
y especifica la zona en la que se encuentra el MIG. - INSTANCE_NAME: (obligatorio) Nombre de la instancia de la que se va a quitar la configuración de IP con reconocimiento del estado.
- NI_NAME: (obligatorio) Nombre de la interfaz de red. La interfaz de red principal se llama
nic0
. Si tienes varias interfaces de red, puedes especificar varios NI_NAMES. - FINGERPRINT: (opcional). La huella digital de la configuración dada, si ya existe. Se usa para el bloqueo optimista. La operación falla si la huella digital es diferente de la proporcionada, ya que indica que la configuración por instancia se ha cambiado desde la última lectura. Para ver la huella digital más reciente, consulta el resultado del método
listPerInstanceConfigs
para un MIG regional u zonal. Si se omitefingerprint
, la operación se lleva a cabo sin comparar la huella digital.
El método
patchPerInstanceConfigs
actualiza las configuraciones por instancia especificadas, pero no aplica las actualizaciones de configuración a las instancias gestionadas asociadas. Los cambios se aplican a una instancia cuando se le indica al MIG que la recree o la actualice. Puedes aplicar la actualización manualmente para aplicar los cambios a una instancia.Ejemplo
Tu aplicación se ha expuesto a los usuarios a través de direcciones IP externas estáticas específicas de las instancias de VM de un MIG llamado
example-group
. Has rediseñado tu servicio implementando un balanceador de carga delante del MIG y dirigiendo el tráfico a las VMs gestionadas a través de él. Ya no necesitas mantener las direcciones IP externas estáticas y quieres que las direcciones IP externas de las máquinas virtuales sean efímeras.Para que las direcciones IP externas con estado de las VMs de un MIG sean efímeras, ejecuta el siguiente método en cada instancia (por ejemplo, en
node-1
) y proporciona el valornull
a la configuración con estado de la interfaz de red:POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "node-1", "preservedState" : { "externalIPs": { "nic0" : null } } } ] }
Este método elimina la configuración de la dirección IP con estado de la
nic0
interfaz de red de la configuración por instancia denode-1
. La actualización de la configuración aún no se ha aplicado a la instancia de VMnode-1
. El MIG aplica la actualización de la configuración en la siguiente recreación o actualización de la instancia.Para aplicar la actualización de la configuración por instancia a la instancia de VM
node-1
, ejecuta el métodoregionInstanceGroupManagers.applyUpdatesToInstances
de la instancia:POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-1"] }
La MIG elimina la referencia a la reserva de IP estática del campo
preservedStateFromConfig
de la instancianode-1
y trata la dirección IP como efímera. El MIG asignará automáticamente una IP externa en los eventos posteriores de recreación, actualización o reparación automática de la instancia.Después de desasignarse, la IP estática original sigue reservada. Puedes liberar la IP si ya no la necesitas.
Quitar la configuración con reconocimiento del estado
Para quitar la configuración de una política con estado de todas las VMs de un MIG, consulta los siguientes documentos:
- Para eliminar solo las direcciones IP con estado, consulta Declarar como sin estado las direcciones IP con estado anteriores.
- Para quitar toda la configuración con reconocimiento del estado de una política con reconocimiento del estado, consulta Quitar una política con reconocimiento del estado.
Para quitar la configuración de una configuración por instancia de una VM específica de un MIG, consulta los siguientes documentos:
- Para eliminar solo las direcciones IP con estado, consulta Desasociar una dirección IP estática de una VM de un MIG.
- Para quitar toda la configuración con reconocimiento del estado de una configuración por instancia, consulta Quitar la configuración con reconocimiento del estado de una VM específica.
Eliminar direcciones IP estáticas sin usar
Cuando configures una dirección IP con reconocimiento del estado para las instancias gestionadas de un grupo, puedes elegir si quieres liberar las reservas de direcciones IP estáticas asociadas de forma manual o automática cuando se elimine de forma permanente una instancia:
- Para liberar automáticamente las reservas de direcciones IP estáticas al eliminar permanentemente una instancia, asigna el valor
ON_PERMANENT_INSTANCE_DELETION
al parámetroautoDelete
. - Para liberar manualmente las reservas de direcciones IP estáticas, define el parámetro
autoDelete
enNEVER
. Para eliminar las reservas de direcciones IP estáticas que no se utilicen, por ejemplo, para evitar cargos innecesarios, consulta los siguientes documentos:
Si has indicado a la MIG que nunca elimine las reservas de IP asociadas, las direcciones IP estáticas seguirán reservadas después de que las instancias correspondientes o la MIG dejen de existir.
Comentarios
Queremos conocer tus casos prácticos, tus retos y tus comentarios sobre los MIGs con estado. Puedes enviar tus comentarios a nuestro equipo a través de la dirección mig-discuss@google.com.
Siguientes pasos
- Consulta información sobre cómo aplicar, ver y quitar la configuración con reconocimiento del estado.
- Obtener información sobre un MIG específico y sus instancias gestionadas, incluido el estado y las propiedades de las VMs.
- Consulta más información sobre cómo trabajar con instancias gestionadas.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-30 (UTC).
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Me falta la información que necesito","missingTheInformationINeed","thumb-down"],["Es demasiado complicado o hay demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Está obsoleto","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema de muestras o código","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-30 (UTC)."],[],[],null,[]] -