Ao configurar endereços IP com estado em um grupo de instâncias gerenciadas (MIG), você garante que os endereços IP sejam preservados quando as instâncias de VM no grupo forem recuperadas, atualizadas e recriadas automaticamente de dados.
É possível preservar endereços IPv4 internos e externos. É possível configurar endereços IP para serem atribuídos automaticamente ou atribuir endereços IP específicos a cada instância de VM em um MIG.
Antes de começar
- Veja quando usar MIGs com estado e como funcionam os MIGs com estado.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
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.
Os endereços IPv6 não são aceitos.
Endereços IP internos não são suportados em redes sem sub-redes, como redes legadas.
- Não é possível usar o escalonamento automático se o MIG tiver uma configuração com estado.
- Se você quiser usar atualizações graduais automatizadas, defina o
método de substituição
como
RECREATE
. - Para MIGs regionais com estado, é necessário desativar a redistribuição proativa (defina o tipo de redistribuição como
NONE
) para evitar a exclusão de instâncias com estado causadas pela redistribuição automática entre zonas. - Se você usar uma configuração de todas as instâncias para substituir as propriedades do modelo de instância, não será possível especificar essas propriedades em nenhuma configuração por instância e ao mesmo tempo na configuração de todas as instâncias do grupo.
- Seu aplicativo requer um endereço IP para permanecer estático depois de ser atribuído. Por exemplo, o Kafka.
- A configuração do aplicativo depende de endereços IP específicos, por exemplo, um servidor DNS.
- Os usuários, incluindo outros aplicativos, acessam seu servidor por meio de um endereço IP estático dedicado, por exemplo, um servidor de arquivos.
- Você precisa migrar as cargas de trabalho atuais sem alterar a configuração de rede.
- O aplicativo exige que o endereço IP permaneça estático depois de ser atribuído. No entanto, o aplicativo não requer a atribuição de endereços IP específicos a instâncias específicas. Os endereços IP podem ser atribuídos automaticamente na criação da instância.
- Os usuários, inclusive outros aplicativos, acessam os servidores por meio de endereços IP estáticos publicados depois de implantar o aplicativo.
- Você quer se beneficiar da recuperação automática de instâncias e das atualizações automáticas enquanto preserva o endereço IP estático atribuído automaticamente na criação da instância.
- Para novas instâncias, o MIG atribui e reserva automaticamente endereços IP estáticos.
- Para instâncias atuais, o MIG promove o uso temporário interno ouExterna para endereços estáticos, reservando os endereços IP estáticos correspondentes.
Para instâncias atuais sem endereços IP externos, o MIG atribui e reserva endereços IP estáticos e adiciona a configuração de acesso à interface de rede correspondente com os seguintes valores padrão:
"accessConfigs": [ { "kind": "compute#accessConfig", "name": "External NAT", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
No Console do Google Cloud, acesse a página Grupos de instâncias.
Selecione o projeto e clique em Continuar.
Clique em Criar grupo de instâncias.
Selecione Novo grupo gerenciado de instâncias (com estado).
Especifique um Nome para o grupo de instâncias.
Selecione um modelo de instância.
Em Número de instâncias, especifique o número de instâncias que você quer incluir no grupo.
Em Configuração com estado, expanda o IP externo e/ou o IP interno que você quer tornar com estado.
- Em Com estado, selecione Sim.
- Na lista suspensa Exclusão permanente de instância, selecione a ação que será executada no endereço IP com estado quando a instância de VM for excluída. As opções disponíveis são estas:
- Remover IP: (padrão) Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.
- Exclua o IP: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
- Depois de concluir a configuração com estado, clique em Concluído.
Clique em Criar.
--stateful-internal-ip
para marcar um endereço IP interno de uma determinada interface de rede como "com estado".--stateful-external-ip
para marcar um endereço IP externo de uma determinada interface de rede como "com estado".- INSTANCE_GROUP_NAME: o nome do MIG que será criado;
- INSTANCE_TEMPLATE: o nome do modelo de instância que será usado ao criar novas instâncias;
- SIZE: o número inicial de instâncias necessárias nesse grupo;
- NI_NAME: opcional. Nome da interface de rede. Se não for fornecida,
a opção
enabled
será obrigatória, e a interface de rede principal chamadanic0
será usada por padrão. Se você tiver várias interfaces de rede, é possível especificar essa sinalização para cada IP de cada interface de rede. DELETE_RULE: opcional. prescreve o que precisa acontecer com um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
never
: padrão. Nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.on-permanent-instance-deletion
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
stateful_internal_ip
para marcar um endereço IP interno de uma determinada interface de rede como "com estado".stateful_external_ip
para marcar um endereço IP externo de uma determinada interface de rede como "com estado".- PROJECT: o ID do projeto para a solicitação.
- REGION: para MIGs regionais, a região em que o MIG está localizado. Para MIGs zonais, substitua
regions/REGION
porzones/ZONE
e especifique a zona em que o MIG está localizado. - NAME: o nome do MIG que será criado;
- INSTANCE_TEMPLATE: o nome do modelo de instância que será usado ao criar novas instâncias;
- SIZE: o número inicial de instâncias necessárias nesse grupo;
- NI_NAME: opcional. Nome da interface de rede. Se não for fornecida,
a opção
enabled
será obrigatória, e a interface de rede principal chamadanic0
será usada por padrão. Se você tiver várias interfaces de rede, poderá especificar várias NI_NAMES. DELETE_RULE: (opcional) determina o que precisa acontecer em um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
NEVER
: (padrão) nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.ON_PERMANENT_INSTANCE_DELETION
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
- Configure endereços IP como "com estado" para todas as instâncias atuais e futuras do grupo. Isso promove os endereços IP temporários correspondentes de todas as instâncias atuais para endereços IP estáticos.
- Atualize a configuração com estado atual para endereços IP.
No Console do Google Cloud, acesse a página Grupos de instâncias.
Clique no nome do grupo de instâncias em que você quer especificar endereços IP com estado.
Clique em Editar para modificar o grupo gerenciado de instâncias.
Em Configuração com estado, expanda o IP externo e/ou o IP interno que você quer tornar com estado.
- Em Com estado, selecione Sim.
- Na lista suspensa Exclusão permanente de instância, selecione a ação que será executada no endereço IP com estado quando a instância de VM for excluída. As opções disponíveis são estas:
- Remover IP: (padrão) Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.
- Exclua o IP: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
- Depois de atualizar a configuração com estado, clique em Concluído.
- Clique em Salvar para concluir a atualização.
- INSTANCE_GROUP_NAME: o nome do MIG que será atualizado;
- NI_NAME: opcional. Nome da interface de rede. Se não for fornecida,
a opção
enabled
será obrigatória, e a interface de rede principal chamadanic0
será usada por padrão. Se você tiver várias interfaces de rede, é possível especificar essa sinalização para cada IP de cada interface de rede. DELETE_RULE: opcional. Prescreve o que precisa acontecer com um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
never
: padrão. Nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.on-permanent-instance-deletion
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
- PROJECT: o ID do projeto para a solicitação.
- REGION: para MIGs regionais, a região em que o MIG está localizado. Para MIGs zonais, substitua
regions/REGION
porzones/ZONE
e especifique a zona em que o MIG está localizado. - NAME: o nome do MIG que será criado;
- NI_NAME: (obrigatório) nome da interface de rede; A interface de rede principal é denominada
nic0
. Se você tiver várias interfaces de rede, poderá especificar várias NI_NAMES. DELETE_RULE: (opcional) determina o que precisa acontecer em um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
NEVER
: (padrão) nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.ON_PERMANENT_INSTANCE_DELETION
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
- Você reformula seu aplicativo para não depender mais de endereços IP estáticos.
- Você configurou o IP como sendo "com estado" por engano e quer revertê-lo.
- Como a remoção de um recurso da política com estado afeta o estado preservado.
- Como aplicar atualizações da política com estado.
No Console do Google Cloud, acesse a página Grupos de instâncias.
Clique no nome do grupo de instâncias do qual você quer remover a configuração com estado dos endereços IP.
Clique em Editar para modificar o grupo gerenciado de instâncias.
Em Configuração com estado, expanda o IP externo e/ou o IP interno que você quer tornar sem estado.
- Altere a opção Com estado para Não.
- Clique em Concluído.
Depois de fazer as alterações, clique em Salvar.
- INSTANCE_GROUP_NAME: o nome do MIG que será atualizado;
- NI_NAME: obrigatório. Nome da interface de rede. A interface de rede principal é denominada
nic0
. Se você tem várias interfaces de rede, é possível especificar várias NI_NAMES. - PROJECT: o ID do projeto para a solicitação.
- REGION: para MIGs regionais, a região em que o MIG está localizado. Para MIGs zonais, substitua
regions/REGION
porzones/ZONE
e especifique a zona em que o MIG está localizado. - INSTANCE_GROUP_NAME: o nome do MIG que será criado;
- NI_NAME: (obrigatório) nome da interface de rede; A interface de rede principal é denominada
nic0
. Se você tiver várias interfaces de rede, poderá especificar várias NI_NAMES. - Migração de cargas de trabalho atuais (traga de endereços IP estáticos reservados existentes) de instâncias de VMs independentes para MIGs com estado a fim de aproveitar a recuperação automática e as atualizações automáticas.
- Atribuição de endereços IP estáticos reservados específicos exigidos pela arquitetura ou configuração de carga de trabalho.
- Cria uma reserva de endereço IP interno ou externo estático para os endereços IP fornecidos, caso eles ainda não existam.
- Cria uma instância a partir do modelo de instância usando o nome da instância e os endereços IP fornecidos.
- Cria uma configuração por instância com a configuração com estado fornecida para os endereços IP.
--stateful-internal-ip
para definir um endereço IP interno estático de uma determinada interface de rede.--stateful-external-ip
para definir um endereço IP externo estático de uma determinada interface de rede.s- INSTANCE_GROUP_NAME: o nome do MIG;
- INSTANCE_NAME: o nome da instância que será criada
- NI_NAME: opcional. Nome da interface de rede. Se ela não for fornecida, a interface de rede principal chamada
nic0
será definida por padrão.s Se você tiver várias interfaces de rede, poderá especificar essa flag para cada IP em cada interface de rede. ADDRESS: obrigatório. Endereço IP estático para atribuir à instância em um dos seguintes formatos:
- Endereço. URL de uma reserva de endereço IP estático, por exemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Literal: por exemplo:
"130.211.181.55"
.- Se o endereço IP fornecido ainda não estiver reservado, o MIG criará automaticamente uma reserva de endereço IP correspondente.
- Se o endereço IP fornecido estiver reservado, o MIG atribuirá a reserva à instância.
- Endereço. URL de uma reserva de endereço IP estático, por exemplo:
DELETE_RULE: opcional. Prescreve o que precisa acontecer com um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
never
: padrão. Nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.on-permanent-instance-deletion
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
preserved_state.internal_ip
para marcar um endereço IP interno de uma determinada interface de rede como "com estado".preserved_state.external_ip
para marcar um endereço IP externo de uma determinada interface de rede como "com estado".- PROJECT_ID: o ID do projeto para a solicitação.
- NAME: o nome do MIG;
- REGION: para MIGs regionais, a região em que o MIG está localizado. Para MIGs zonais, substitua
regions/REGION
porzones/ZONE
e especifique a zona em que o MIG está localizado. - INSTANCE_NAME: o nome da instância que será criada
- NI_NAME: obrigatório. Nome da interface de rede. A interface de rede principal é denominada
nic0
. Se você tiver várias interfaces de rede, poderá especificar várias NI_NAMES. - ADDRESS: opcional. Endereço IP estático a ser atribuído à instância no formato de um URL de uma reserva de endereço IP estático. Por exemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Você só pode definir um campo por vez,address
ouliteral
, ao atribuir um endereço IP estático. - LITERAL: opcional. Endereço IP estático a ser atribuído à instância no formato literal. Por exemplo:
"130.211.181.55"
. Você só pode definir um campo por vez, sejaaddress
ouliteral
, ao atribuir um endereço IP estático.- Se o endereço IP literal fornecido ainda não estiver reservado, o MIG criará automaticamente uma reserva de endereço IP correspondente.
- Se o endereço IP literal fornecido estiver reservado, o MIG atribuirá a reserva à instância.
DELETE_RULE: opcional. Prescreve o que precisa acontecer com um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
NEVER
: padrão. Nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.ON_PERMANENT_INSTANCE_DELETION
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
- Atribua um endereço IP estático a uma instância atual em um MIG. Para IPs externos estáticos, essa operação requer atualização de instância e, para IPs internos estáticos, isso requer a recriação de instâncias.
- Atualize a regra de exclusão de um endereço IP estático já atribuído. Essa operação pode ser feita sem interromper a instância em execução.
--stateful-internal-ip
para definir um endereço IP interno estático de uma determinada interface de rede.--stateful-external-ip
para definir um endereço IP externo estático de uma determinada interface de rede.- INSTANCE_GROUP_NAME: o nome do MIG;
- INSTANCE_NAME: o nome da instância em que os endereços IP com estado serão configurados;
- NI_NAME: opcional. Nome da interface de rede. Se ela não for fornecida, a interface de rede principal chamada
nic0
será definida por padrão.s Se você tiver várias interfaces de rede, poderá especificar essa flag para cada IP em cada interface de rede. - ADDRESS: endereço IP estático para atribuir à instância em um dos seguintes formatos:
- Endereço. URL de uma reserva de endereço IP estático, por exemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Literal. Por exemplo,
"130.211.181.55"
.- Se o endereço IP fornecido ainda não estiver reservado, o MIG criará automaticamente uma reserva de endereço IP correspondente.
- Se o endereço IP fornecido estiver reservado, o MIG atribuirá a reserva à instância.
- Essa subsinalização é opcional se o endereço já estiver definido na configuração por instância da instância. Caso contrário, ela será obrigatória.
- Se omitido, o endereço configurado atualmente permanecerá inalterado.
- Endereço. URL de uma reserva de endereço IP estático, por exemplo:
DELETE_RULE: opcional. Prescreve o que precisa acontecer com um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
never
: padrão. Nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.on-permanent-instance-deletion
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.- Em caso de omissão, o valor padrão será definido na nova configuração de disco com estado. O valor permanece inalterado em uma configuração atual.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
--update-instance
: (Opcional padrão) Aplique as alterações imediatamente à instância. Se você usar a flag--no-update-instance
, as alterações permanecerão não aplicadas e serão aplicadas quando você recriar ou aplicar a atualização à instância posteriormente.MINIMAL_ACTION: opcional. : executa, pelo menos, a ação especificada ao aplicar a atualização da configuração por instância à instância. Use-a com a sinalização
--update-instance
. O valor precisa ser um dos indicados abaixo:none
: nenhuma ação.refresh
: aplica as atualizações possíveis sem interromper a instância.restart
: interrompa a instância e inicie-a novamente.replace
: recrie a instância.
- Atualiza a configuração por instância da instância
file-server
:- Adiciona configuração de IP externo com estado, apontando para a reserva de endereço
file-server-ip
. - Mantém a configuração do disco de dados com estado atual inalterada.
- Adiciona configuração de IP externo com estado, apontando para a reserva de endereço
- Aplica a atualização da configuração por instância à instância
file-server
imediatamente porque a sinalização--update-instance
está incluída: recria a instância e atribui o endereço IP externo estático da reservafile-server-ip
. de dados. - PROJECT_ID: o ID do projeto para a solicitação.
- NAME: o nome do MIG;
- REGION: para MIGs regionais, a região em que o MIG está localizado. Para MIGs zonais, substitua
regions/REGION
porzones/ZONE
e especifique a zona em que o MIG está localizado. - INSTANCE_NAME: obrigatório. : o nome da instância em que os metadados com estado serão configurados.
- NI_NAME: obrigatório. Nome da interface de rede. A interface de rede principal é denominada
nic0
. Se você tiver várias interfaces de rede, poderá especificar várias NI_NAMES. - ADDRESS: opcional. Endereço IP estático a ser atribuído à instância no formato de um URL de uma reserva de endereço IP estático. Por exemplo:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Você só pode e pode definir um campo por vez, endereço ou literal, ao atribuir um endereço IP estático. - LITERAL: opcional. Endereço IP estático a ser atribuído à instância no formato literal. Por exemplo,
"130.211.181.55"
. Você só pode definir um campo por vez, endereço ou literal, ao atribuir um endereço IP estático.- Se o endereço IP literal fornecido ainda não estiver reservado, o MIG criará automaticamente uma reserva de endereço IP correspondente.
- Se o endereço IP literal fornecido estiver reservado, o MIG atribuirá a reserva à instância.
DELETE_RULE: opcional. Prescreve o que precisa acontecer com um recurso de endereço estático associado quando uma instância de VM é excluída permanentemente. As opções disponíveis são estas:
NEVER
: padrão. Nunca exclua o endereço IP estático. Em vez disso, cancele a atribuição do endereço na exclusão da instância e mantenha o endereço reservado.ON_PERMANENT_INSTANCE_DELETION
: exclua a reserva de endereços IP estáticos quando uma instância for excluída permanentemente do grupo. Por exemplo, quando você excluir uma instância manualmente ou diminuir o tamanho do grupo.- Em caso de omissão, o valor padrão será definido na nova configuração de disco com estado. O valor permanece inalterado em uma configuração atual.
Independentemente do valor da regra de exclusão, o grupo sempre preserva os endereços IP com estado nas operações de recuperação automática, atualização e recriação de instâncias.
FINGERPRINT: opcional. A impressão digital da configuração especificada, se já houver. Usada para bloqueio otimista. A operação falhará se a impressão digital for diferente do fornecido, porque indica que a configuração por instância foi alterada desde a última leitura. Para ver a impressão digital mais recente, consulte a saída do método
listPerInstanceConfigs
para um MIG região ou zonal. Sefingerprint
for omitido, a operação continuará sem a comparação da impressão digital.- Adiciona configuração de IP externo com estado, apontando para a
reserva de endereço
file-server-ip
. - Mantém a configuração do disco de dados com estado atual inalterada.
- Você reformula seu aplicativo para não depender mais de endereços IP estáticos.
- Você configurou o IP como sendo "com estado" por engano e quer revertê-lo.
- O endereço IP permanece ativo na instância, mas não está mais com estado.
- Quando você recria ou atualiza a instância ou quando a instância é recuperada automaticamente, o MIG cancela a atribuição da reserva de endereço IP estático associada e atribui automaticamente um endereço temporário.
- Depois disso, o endereço IP estático permanece reservado.
- Como a remoção da configuração de discos com estado das configurações por instância afeta o estado preservado
- Como aplicar atualizações de configuração por instância.
- INSTANCE_GROUP_NAME: o nome do MIG;
- INSTANCE_NAME: obrigatório. O nome da instância da qual remover a configuração do IP com estado.
- NI_NAME: obrigatório. Nome da interface de rede. A interface de rede principal é denominada
nic0
. Se você tem várias interfaces de rede, é possível especificar várias NI_NAMES. --update-instance
: (Opcional padrão) Aplique as alterações imediatamente à instância. Se você usar a flag--no-update-instance
, as alterações permanecerão não aplicadas e serão aplicadas quando você recriar ou aplicar a atualização à instância posteriormente.MINIMAL_ACTION: opcional. Executa, pelo menos, a ação especificada ao aplicar a atualização da configuração por instância à instância. Essa sinalização só pode ser usada com a sinalização
--update-instance
. O valor precisa ser um dos indicados abaixo:none
: nenhuma ação.refresh
: aplica as atualizações possíveis sem interromper a instância.restart
: interrompa a instância e inicie-a novamente.replace
: recrie a instância.
Se omitida, a ação menos interruptiva exigida pela atualização será usada.
- Remove a configuração com estado do endereço IP externo na interface de rede
nic0
da configuração por instância paranode-1
. - Aplica a atualização da configuração por instância a uma instância de VM
node-1
imediatamente, porque a sinalização--update-instance
foi incluída. A instância de VM não é interrompida e continua veiculando do mesmo IP, que não é mais com estado. O MIG remove a referência da reserva de IP estático dopreservedStateFromConfig
da instância gerenciada e trata o endereço IP externo como temporário. O MIG atribuirá automaticamente um IP externo aos eventos subsequentes de recriação, atualização ou recuperação automática de instâncias. - Depois de ter sido não atribuído, o IP estático original permanece reservado. É possível liberar o IP se não precisar mais dele.
- PROJECT_ID: o ID do projeto para a solicitação.
- NAME: o nome do MIG;
- REGION: para MIGs regionais, a região em que o MIG está localizado. Para MIGs zonais, substitua
regions/REGION
porzones/ZONE
e especifique a zona em que o MIG está localizado. - INSTANCE_NAME: obrigatório. O nome da instância da qual remover a configuração do IP com estado.
- NI_NAME: obrigatório. Nome da interface de rede. A interface de rede principal é denominada
nic0
. Se você tiver várias interfaces de rede, poderá especificar várias NI_NAMES. - FINGERPRINT: opcional. A impressão digital da configuração especificada, se já houver. Usada para bloqueio otimista. A
operação falhará se a impressão digital for diferente do fornecido, porque
indica que a configuração por instância foi alterada desde a
última leitura. Para ver a impressão digital mais recente, consulte a saída do
método
listPerInstanceConfigs
para um MIG região ou zonal. Sefingerprint
for omitido, a operação continuará sem a comparação da impressão digital. - Para remover apenas endereços IP com estado, consulte Como declarar endereços IP com estado anterior como sem estado.
- Para remover toda a configuração com estado de uma política com estado, consulte Como remover uma política com estado.
- Para remover apenas endereços IP com estado, consulte Como desassociar um endereço IP estático de uma VM atual em um MIG.
- Para remover toda a configuração com estado de uma configuração por instância, consulte Como remover a configuração com estado de uma VM específica.
- Para liberar reservas de endereços IP estáticos automaticamente na exclusão permanente da instância, defina o parâmetro
autoDelete
comoON_PERMANENT_INSTANCE_DELETION
. - Para liberar manualmente as reservas de endereço IP estático, defina o parâmetro
autoDelete
comoNEVER
. Para limpar reservas de endereços IP estáticos não utilizados, por exemplo, para evitar cobranças desnecessárias, consulte os seguintes documentos: - Saiba como aplicar, ver e remover uma configuração com estado.
- Veja informações sobre um MIG específico e suas instâncias gerenciadas, incluindo o status e as propriedades da VM.
- Saiba mais sobre como trabalhar com instâncias gerenciadas.
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações
Um MIG com endereços IP com estado tem as seguintes limitações:
Um MIG com configuração com estado (um MIG com estado) tem as seguintes limitações:
Preços
As cobranças de endereços IP externos serão feitas de acordo com os preços da rede.
Quando usar endereços IP com estado
A preservação dos endereços IP das instâncias é útil nos seguintes cenários:
Como configurar endereços IP com estado para todas as VMs em um grupo
A configuração de endereços IP com estado para todas as VMs em um MIG é útil nos seguintes cenários:
Para manter endereços IP internos ou externos estáticos de instâncias de VM atuais e futuras no grupo, configure-as na política com estado.
Quando você adiciona a configuração do endereço IP com estado à política com estado do grupo, o MIG aplica a configuração da seguinte maneira:
Para reservar um endereço IP estático, o MIG cria um recurso Endereço.
Como configurar endereços IP com estado na criação do MIG
Use o console do Google Cloud, a CLI gcloud, o Terraform ou o REST.
Console
gcloud
Ao criar um MIG, para especificar quais endereços IP nas interfaces de rede do modelo de instância devem ser com estado, use uma ou várias das seguintes sinalizações com o
gcloud compute instance-groups managed create
comando .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]
Substitua:
Exemplo
Você precisa criar um grupo regional de instâncias de VM com endereços IP internos estáticos para as redes padrão e personalizadas e endereços IP externos estáticos apenas para a rede padrão. Os endereços devem ser atribuídos automaticamente, mas precisam ser preservados por meio da recuperação automática, das atualizações e dos eventos de recriação de instâncias. Você armazena a configuração de instância em um modelo de instância chamado
node-template
.Para criar o grupo, execute o seguinte 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
Os IPs internos das interfaces de rede
nic0
enic1
e o IP externo da interface de redenic0
são configurados como com estado para todas as instâncias do grupo. O grupo reserva automaticamente endereços IP internos e externos estáticos para cada instância. Como a sinalizaçãoauto-delete
está definida comoon-permanent-instance-deletion
, o grupo excluirá automaticamente as reservas de endereço IP estático quando você excluir as instâncias associadas ou todo o grupo.Para verificar se os IPs internos das interfaces de rede
nic0
enic1
e o IP externo da interface de redenic0
estão configurados com estado, execute o seguinte comando:gcloud compute instance-groups managed describe example-group \ --zone us-east1-c
A saída será assim:
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 ...
Veja que a política com estado do grupo declara IPs internos das interfaces de rede
nic0
enic1
e IPs externos da interface de redenic0
como com estado, com a regra para excluir reservas de IP na exclusão permanente da instância.Terraform
Se você ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM que você quer para cada VM no MIG, crie um modelo de instância.
Ao criar um MIG, para especificar quais endereços IP nas interfaces de rede do modelo de instância precisam ter estado, use um ou vários dos seguintes blocos:d
O exemplo a seguir configura endereços IP com estado ao criar um MIG regional. Para mais informações sobre o recurso usado na amostra, consulte Recurso
google_compute_region_instance_group_manager
.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
REST
Ao criar um MIG, para especificar quais endereços IP nas interfaces de rede do modelo de instância devem ser com estado, inclua-os no
statefulPolicy
no corpo da solicitação do métodoinstanceGroupManagers.insert
ouregionInstanceGroupManagers.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" } }
Substitua:
Exemplo
Você precisa criar um grupo regional de instâncias de VM com endereços IP internos estáticos para as redes padrão e personalizadas e endereços IP externos estáticos apenas para a rede padrão. Os endereços devem ser atribuídos automaticamente, mas precisam ser preservados por meio da recuperação automática, das atualizações e dos eventos de recriação de instâncias. Você armazena a configuração de instância em um modelo de instância chamado
node-template
.Para criar a imagem, use o 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" } }
Os IPs internos das interfaces de rede
nic0
enic1
e os IPs externos da interface de redenic0
são configurados como com estado para todas as instâncias do grupo. O grupo reserva automaticamente endereços IP internos e externos estáticos para cada instância. Como o campoauto-delete
está definido comoON_PERMANENT_INSTANCE_DELETION
, o grupo excluirá automaticamente as reservas de endereço IP estático quando você excluir instâncias associadas ou todo o grupo.Use o método
regionInstanceGroupManagers.get
para verificar se os IPs internos das interfaces de redenic0
enic1
e os IPs externos da interface de redenic0
estão configurados na política com estado do novo recursoregionInstanceGroupManagers
:GET https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group
A resposta contém a política com 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" } } } } ... }
Veja que a política com estado do grupo declara IPs internos das interfaces de rede
nic0
enic1
e IPs externos da interface de redenic0
como com estado, com a regra para excluir reservas associadas de endereço IP estático na exclusão permanente da instância.Como definir e atualizar a configuração com estado para endereços IP em um MIG atual
Se você executar uma carga de trabalho em um MIG sem estado, sem qualquer configuração com estado, e a carga de trabalho exigir endereços IP estáticos, será possível configurar os endereços IP já atribuídos às instâncias de VM gerenciadas para se tornarem com estado. Isso garante que os endereços IP das VMs existentes sejam preservados na recuperação automática, nas atualizações e nos eventos de recriação de instâncias. Opcionalmente, é possível manter as reservas de endereços IP estáticos depois que as instâncias forem excluídas.
Ao configurar uma política com estado para endereços IP em um MIG atual, é possível fazer o seguinte:
O MIG aplica a configuração atualizada na política com estado a todas as instâncias de maneira automática e assíncrona. As atualizações nas configurações de endereço IP em uma política com estado não interrompem a execução das instâncias de VM. Para saber mais, leia sobre como aplicar atualizações de política com estado.
Console
gcloud
Para especificar quais endereços IP precisam ser com estado ou para atualizar a configuração de IP com estado de um MIG atual, use uma ou várias sinalizações
--stateful-internal-ip
ou--stateful-external-ip
com ogcloud 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]
Substitua:
Se um endereço IP especificado já estiver configurado na política com estado de uma determinada interface de rede, o comando atualizará a configuração.
Exemplo
É necessário expor um servidor de arquivos, em execução em um MIG com estado chamado
example-fs-group
, para usuários externos por meio de endereços IP externos estáticos. As instâncias no grupo têm endereços IP externos temporários. Certifique-se de que os endereços IP sejam preservados na recuperação automática e nas atualizações da instância para que os usuários externos tenham acesso contínuo aos servidores por meio dos endereços IP publicados. Também é necessário manter os endereços IP reservados para continuidade no caso de exclusão não intencional do grupo.Atualize o MIG para definir os endereços IP externos como sendo "com estado" usando o seguinte comando:
gcloud compute instance-groups managed update example-fs-group \ --stateful-external-ip enabled
Como resultado, o grupo promove endereços IP externos temporários na interface de rede
nic0
para endereços IP estáticos de todas as instâncias gerenciadas de maneira assíncrona.Os endereços IP externos agora são preservados nos eventos de recuperação automática, atualização e recriação de instâncias. As reservas de endereços IP estáticos associadas não são atribuídas e são preservadas na exclusão da instância porque a regra
auto-delete
não especificada é definida comonever
por padrão.Verifique se o IP externo com estado está configurado na política com estado executando o comando
gcloud compute instance-groups managed describe example-fs-group
.REST
Para especificar os endereços IP que precisam ser "com estado" ou para atualizar a configuração de IP com estado de um MIG atual, use o método
instanceGroupManagers.patch
ouregionInstanceGroupManagers.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" } } } } }
Substitua:
Se um endereço IP especificado já estiver configurado na política com estado, o método aplicará patches à configuração.
Exemplo
É necessário expor um servidor de arquivos, em execução em um MIG com estado chamado
example-fs-group
, para usuários externos por meio de endereços IP externos estáticos. As instâncias no grupo têm endereços IP externos temporários. Certifique-se de que os endereços IP sejam preservados na recuperação automática e nas atualizações da instância para que os usuários externos tenham acesso contínuo aos servidores por meio da interface de rede publicada. Também é necessário manter os endereços IP reservados para continuidade caso ocorra exclusão de grupo não intencional.Corrija o MIG para definir os endereços IP externos como "com estado":
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-fs-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": {"autoDelete": "NEVER" } } } } }
Como resultado, o grupo promove endereços IP externos temporários na interface de rede
nic0
para endereços IP estáticos de todas as instâncias gerenciadas de maneira assíncrona.Os endereços IP externos agora são preservados nos eventos de recuperação automática, atualização e recriação de instâncias. As reservas de endereços IP estáticos associadas serão canceladas e preservadas na exclusão da instância porque a regra
autoDelete
está definida comoNEVER
.Veja o recurso
regionInstanceGroupManagers
retornado pelo métodoregionInstanceGroupManagers.get
para verificar se o endereço IP externo está configurado na política com estado.Como declarar endereços IP com estado anteriormente como sem estado
Talvez seja necessário configurar um endereço IP com estado para se tornar temporário, por exemplo, pelos seguintes motivos:
É possível remover a configuração de IP com estado da política com estado do grupo para declarar um endereço IP em uma determinada interface de rede como temporário para todas as instâncias gerenciadas.
Quando você remove a configuração de IP com estado da política com estado, o MIG remove os endereços IP de maneira automática e assíncrona do estado preservado de todas as instâncias no grupo. Essa operação não interrompe a execução de instâncias de VM. Os endereços IP permanecem ativos nas instâncias, mas não são mais "com estado". Quando você recria ou atualiza as instâncias ou quando as instâncias são recuperadas automaticamente, o MIG cancela a atribuição dos endereços IP estáticos associados e atribui automaticamente endereços temporários. Se você não precisar mais manter as reservas de endereços IP externos estáticos, poderá liberá-las.
Para saber mais, leia os seguintes documentos:
Console
gcloud
Para especificar os endereços IP de uma política com estado do MIG que será temporário, use a sinalização
--remove-stateful-internal-ips
ou--remove-stateful-external-ips
com o 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,...]
Substitua:
Se você precisar transformar um endereço IP com estado da interface de rede principal padrão chamada
nic0
em um endereço IP temporário, use também o seguinte comando:gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --stateful-internal-ip disabled \ --stateful-external-ip disabled
Exemplo
O aplicativo foi exposto aos usuários por meio de endereços IP externos estáticos publicados das instâncias de VM em um MIG chamado
example-group
. Você pesquisou novamente seu serviço implantando um balanceador de carga na frente do MIG e roteando o tráfego para as VMs gerenciadas por meio dele. Não é mais necessário manter os endereços IP externos estáticos e fazer com que eles sejam temporários.Para tornar os endereços IP externos com estado das VMs em um MIG efêmero, execute o seguinte comando:
gcloud compute instance-groups managed update example-group \ --remove-stateful-external-ips nic0
O MIG remove os endereços IP externos estáticos da interface de rede
nic0
de maneira automática e assíncrona do estado preservado de todas as instâncias no grupo. Os endereços IP externos permanecem ativos nas instâncias, mas não são mais "com estado". Quando você recria ou atualiza as instâncias ou quando as instâncias são recuperadas automaticamente, o MIG cancela a atribuição dos endereços IP estáticos associados e atribui automaticamente endereços temporários. Se você não precisar mais manter as reservas de endereços IP externos estáticos, poderá liberá-las.REST
Para especificar os endereços IP de uma política com estado do MIG que será temporário, remova a configuração de cada IP da política com estado do MIG usando o método
instanceGroupManagers.patch
ouregionInstanceGroupManagers.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 } } } }
Substitua:
Exemplo
O aplicativo foi exposto aos usuários por meio de endereços IP externos estáticos publicados das instâncias de VM em um MIG chamado
example-group
. Você pesquisou novamente seu serviço implantando um balanceador de carga em frente ao MIG e roteando o tráfego para as VMs gerenciadas por meio dele. Não é mais necessário manter os endereços IP externos estáticos e quer tornar os endereços IP externos temporários.Para tornar os endereços IP externos com estado das VMs em um MIG efêmero, corrija o MIG:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": null } } } }
O MIG remove os endereços IP externos estáticos da interface de rede
nic0
de maneira automática e assíncrona do estado preservado de todas as instâncias no grupo. Os endereços IP externos permanecem ativos nas instâncias, mas não são mais "com estado". Quando você recria ou atualiza as instâncias ou quando as instâncias são recuperadas automaticamente, o MIG cancela a atribuição dos endereços IP estáticos associados e atribui automaticamente endereços temporários. Se você não precisar mais manter as reservas de endereços IP externos estáticos, poderá liberá-las.Como configurar endereços IP com estado individualmente para VMs em um MIG
A configuração individual de endereços IP com estado para VMs em um MIG é útil nos seguintes cenários:
Como configurar endereços IP estáticos na criação de VMs em um MIG
É possível reservar e atribuir endereços IP estáticos a instâncias específicas na criação delas individualmente em um MIG. Isso é útil para migrar um aplicativo com estado das VMs independentes atuais para um MIG com estado em uma situação em que a arquitetura, a configuração ou os usuários dependem de endereços IP estáticos específicos.
Ao criar manualmente uma instância em um MIG e fornecer um endereço IP estático, o MIG realiza as seguintes ações:
gcloud
Para criar uma instância com um endereço IP estático predefinido, use o comando
gcloud compute instance-groups managed create-instance
com uma ou várias das seguintes sinalizações: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]
Substitua:
Exemplo
É necessário adicionar mais uma instância de VM ao cluster do servidor proxy, em execução em um MIG chamado
proxy-cluster
. Você criou uma reserva de endereço IP interno estático chamadaproxy-node-03-ip
e precisa atribuí-la ao novo nó. Você quer manter a reserva de endereço IP mesmo que decida excluir o nó no futuro.Execute este comando para criar a API:
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
O comando cria uma instância chamada
proxy-node-03
, atribui o endereço IP interno estático fornecido com o nomeproxy-node-03-ip
à instância e armazena a configuração com estado para o IP no -instance. Como a sinalizaçãoauto-delete
está definida comonever
, o IP permanecerá reservado se você excluir a instância posteriormente.Terraform
Para criar uma VM com um endereço IP estático predefinido, use um ou vários dos seguintes blocos:
O exemplo a seguir configura endereços IP estáticos na criação de VMs em um MIG regional. Para mais informações sobre o recurso usado na amostra, consulte Recurso
google_compute_region_per_instance_config
. Para um MIG zonal, use o recursogoogle_compute_per_instance_config
.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
REST
Para criar uma ou várias instâncias em um MIG, defina nomes de instâncias personalizadas e atribua endereços IP estáticos predefinidos a essas instâncias. Para isso, use o método
instanceGroupManagers.createInstances
ouregionInstanceGroupManagers.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" }, ... }, ... } }, ... ] }
Substitua:
Exemplo
É necessário adicionar mais uma instância de VM ao cluster do servidor proxy, em execução em um MIG chamado
proxy-cluster
. Você criou uma reserva de endereço IP interno estático chamadaproxy-node-03-ip
e precisa atribuí-la ao novo nó. Você quer manter a reserva de endereço IP mesmo que decida excluir o nó no futuro.Chame o método
regionInstanceGroupManagers.createInstances
para criar uma instância extra: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" } } } } ] }
O método cria uma instância chamada
proxy-node-03
, atribui o endereço IP interno estático fornecido com o nomeproxy-node-03-ip
para a instância e armazena a configuração com estado para o IP noconfiguração por instância de dados. Como o campoautoDelete
está definido comoNEVER
, o IP permanece reservado se você excluir a instância mais tarde.Como configurar endereços IP estáticos para uma VM em um MIG
É possível definir um endereço IP estático predefinido ou atualizar a configuração de IP com estado para uma instância gerenciada, por exemplo:
Para uma instância atual sem um endereço IP externo, em que você configura um IP com estado externo, o MIG adiciona a configuração de acesso à interface de rede correspondente com os valores padrão a seguir:
"accessConfigs": [ { "kind": "compute#accessConfig", "name": "External Nat", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
gcloud
Para configurar um endereço IP com estado individualmente para uma instância de VM em um MIG, adicione ou atualize a configuração de IP com estado na configuração por instância associada.
Se a instância ainda não tiver uma configuração por instância, use o comando
gcloud compute instance-groups managed instance-configs create
com uma ou várias das seguintes sinalizações: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]
Se já houver uma configuração por instância, use o comando
gcloud compute instance-groups managed instance-configs update
com uma ou várias sinalizações--stateful-internal-ip
ou--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]
Substitua:
Se omitida, a ação menos interruptiva exigida pela atualização será usada.
Exemplo
Você tem uma instância do servidor de arquivos chamada
file-server
, que é uma única instância em um MIG com estado chamadofs-group
. O grupo tem uma configuração por instância correspondente, em que um disco de dados com estado é configurado. O servidor de arquivos só esteve acessível internamente, mas agora você tem usuários que precisam acessá-lo externamente por meio de um endereço IP estático. Você reservou o IP externo estático criando reserva de endereçofile-server-ip
. Agora você precisa atribuir esse IP à instância do servidor de arquivos.Execute o seguinte comando para configurar o IP externo com estado para a instância do servidor de arquivos:
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
O comando faz o seguinte:
REST
Para configurar IPs com estado individualmente para instâncias de VM em um MIG, adicione ou atualize a configuração do IP com estado nas configurações por instância associadas.
Se as configurações por instância ainda não existirem para as instâncias especificadas, use o método
instanceGroupManagers.updatePerInstanceConfigs
ouregionInstanceGroupManagers.updatePerInstanceConfigs
com configuração com estado para um ou vários endereços 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" }, ... ] }
Se as configurações por instância já existirem para as instâncias especificadas, use o método
instanceGroupManagers.patchPerInstanceConfigs
ou o métodoregionInstanceGroupManagers.patchPerInstanceConfigs
com configuração com estado para um ou vários endereços 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" }, ... ] }
Substitua:
Os métodos
updatePerInstanceConfigs
epatchPerInstanceConfigs
atualizam as configurações especificadas por instância, mas não aplicam as atualizações às instâncias gerenciadas associadas. As alterações são aplicadas a uma instância quando o MIG recebe a instrução para recriá-la ou atualizá-la. É possível aplicar a atualização manualmente para aplicar as alterações a uma instância.Exemplo
Você tem uma instância do servidor de arquivos chamada
file-server
, que é uma única instância em um MIG com estado chamadofs-group
. O grupo tem uma configuração por instância correspondente, em que um disco de dados com estado é configurado. O servidor de arquivos só esteve acessível internamente, mas agora você tem usuários que precisam acessá-lo externamente por meio de um endereço IP estático. Você reservou o IP externo estático criando reserva de endereçofile-server-ip
. Agora você precisa atribuir esse IP à instância do servidor de arquivos.Para atualizar a configuração por instância para
file-server
com o novo IP externo com estado, chame o 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" } } } } ] }
O método corrige a configuração por instância para
file-server
:A atualização da configuração ainda não foi aplicada à instância de VM
file-server
. O MIG aplicará a atualização da configuração quando você recriar ou aplicar a atualização à instância posteriormente.Para aplicar a atualização da configuração por instância à instância de VM
file-server
, chame o métodoregionInstanceGroupManagers.applyUpdatesToInstances
para a instância: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"] }
O método atribui o endereço IP externo estático configurado da reserva
file-server-ip
à instância gerenciada. O método atualiza a instânciafile-server
para atribuir um endereço IP externo.Como
autoDelete
está definido comoNEVER
na configuração do IP com estado, o IP permanecerá reservado se você excluir a instância posteriormente.Como desassociar endereços IP estáticos de uma VM em um MIG
Talvez seja necessário desassociar um endereço IP estático de uma VM atual, tornando a interface de rede temporária para a VM. Isso é útil nos cenários de:
É possível desassociar um endereço IP estático de uma VM atual em MIG e tornar o endereço IP temporário para uma VM individual removendo a configuração com estado do IP da configuração por instância associada ou excluindo toda a configuração por instância, se ela não incluir outro estado. Aplicar a alteração tem os seguintes efeitos:
A remoção de uma configuração de IP com estado de uma configuração por instância não interrompe a execução de instâncias de VM, a menos que você escolha fazer isso explicitamente.
Para saber mais, assista a estes vídeos:
gcloud
Para remover uma configuração de IP com estado da configuração por instância associada, use o comando
gcloud compute instance-groups managed instance-configs update
com as flags--remove-stateful-internal-ips
ou--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]
Substitua:
Exemplo
Seu aplicativo foi exposto aos usuários por meio de endereços IP externos estáticos publicados específicos das instâncias de VM em um MIG chamado
example-group
. Você pesquisou novamente seu serviço implantando um balanceador de carga em frente ao MIG e roteando o tráfego para as VMs gerenciadas por meio dele. Não é mais necessário manter os endereços IP externos estáticos e fazer com que eles sejam temporários.Para tornar os endereços IP externos com estado das VMs em um MIG efêmero, execute o seguinte comando para cada instância, por exemplo, para
node-1
:gcloud compute instance-groups managed instance-configs update example-group \ --instance node-1 \ --remove-stateful-external-ips nic0 \ --update-instance
O comando faz o seguinte:
REST
Para remover uma configuração de IP com estado da configuração por instância associada, use o método
instanceGroupManagers.patchPerInstanceConfigs
ou 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" }, ... ] }
Substitua:
O método
patchPerInstanceConfigs
atualiza as configurações por instância especificadas, mas não aplica as atualizações às instâncias gerenciadas associadas. As alterações são aplicadas a uma instância quando o MIG recebe a instrução para recriá-la ou atualizá-la. É possível aplicar a atualização manualmente para aplicar as alterações a uma instância.Exemplo
O aplicativo foi exposto aos usuários por meio de endereços IP externos estáticos específicos publicados das instâncias de VM em um MIG chamado
example-group
. Você pesquisou novamente seu serviço implantando um balanceador de carga na frente do MIG e roteando o tráfego para as VMs gerenciadas por meio dele. Não é mais necessário manter os endereços IP externos estáticos e fazer com que eles sejam temporários.Para tornar os endereços IP externos com estado das VMs em um MIG efêmero, execute o seguinte método para cada instância, por exemplo, para
node-1
e forneça o valornull
para o estado da interface de rede configuração: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 } } } ] }
O método remove a configuração do endereço IP com estado na interface de rede
nic0
da configuração por instância paranode-1
. A atualização da configuração ainda não foi aplicada à instância de VMnode-1
. O MIG aplica a atualização de configuração na próxima recriação ou atualização da instância.Para aplicar a atualização da configuração por instância à instância de VM
node-1
, chame o métodoregionInstanceGroupManagers.applyUpdatesToInstances
para a instância: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"] }
O MIG remove a referência à reserva de IP estático do campo
preservedStateFromConfig
da instâncianode-1
e trata o endereço IP como temporário. O MIG atribuirá automaticamente um IP externo a eventos de recriação, atualização ou recuperação automática de instâncias subsequentes.Depois de ter sido não atribuído, o IP estático original permanece reservado. É possível liberar o IP se não precisar mais dele.
Como remover a configuração com estado
Para remover a configuração de uma política com estado para todas as VMs em um MIG, consulte os seguintes documentos:
Para remover a configuração de uma instância por instância de uma VM específica em um MIG, consulte os seguintes documentos:
Como limpar endereços IP estáticos não utilizados
Ao configurar o endereço IP com estado para instâncias gerenciadas em um grupo, é possível optar por liberar as reservas de endereço IP estático associadas manualmente ou automaticamente quando uma instância for excluída permanentemente:
Se você tiver instruído o MIG a nunca excluir as reservas de IP associadas, os endereços IP estáticos permanecerão reservados após as instâncias correspondentes ou o MIG deixar de existir.
Feedback
Queremos saber sobre seus casos de uso, desafios e feedback que envolvem os MIGs com estado. Deixe seu feedback com nossa equipe em mig-discuss@google.com.
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-