Neste documento, você verá como proteger instâncias de VMs específicas contra exclusão, definindo a propriedade deletionProtection em um recurso de instância. Para saber mais sobre instâncias de VM, leia a documentação sobre instâncias.
Como parte da carga de trabalho, é possível que haja determinadas instâncias de VM que são críticas para a execução do aplicativo ou de serviços. Por exemplo, uma instância que executa um servidor SQL ou um servidor usado como gerenciador de licenças etc. É preciso ter uma maneira de proteger essas instâncias de VM contra a exclusão porque elas podem precisar permanecer em execução indefinidamente.
É possível proteger instâncias de VM contra exclusão acidental definindo a sinalização deletionProtection. Se um usuário tentar excluir uma instância de VM que tenha a sinalização deletionProtection definida, a solicitação falhará. Somente usuários com um papel que tenha a permissão compute.instances.create podem redefinir essa sinalização para permitir que o recurso seja excluído.
Antes de começar
- Leia a documentação sobre instâncias.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Cloud de Confiance by S3NS . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Cloud de Confiance para acessar serviços Cloud de Confiance by S3NS e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- Defina uma região e uma zona padrão.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Go
Para usar os exemplos de Go nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para usar os exemplos do Java nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para usar os exemplos do Node.js nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para usar os exemplos de PHP nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para usar os exemplos do Python nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .
Especificações
A prevenção contra exclusão não impede a realização das ações a seguir:
- Encerrar uma instância internamente na VM (executando o comando
shutdown, por exemplo) - Interromper uma instância
- Redefinir uma instância
- Como suspender uma instância
- Remover instâncias devido a fraudes e abusos depois de serem detectadas pelo Google
- Remover instâncias devido ao encerramento do projeto
- Encerrar uma instância internamente na VM (executando o comando
A proteção contra exclusão pode ser aplicada a VMs regulares e preemptivas.
Não é possível aplicar a prevenção contra exclusão a VMs que fazem parte de um grupo de instâncias gerenciadas. No entanto, é possível aplicá-la a instâncias que fazem parte de grupos de instâncias não gerenciadas.
Não é possível especificar a prevenção contra exclusão nos modelos de instância.
Permissões
Para executar esta tarefa, é preciso que o recurso tenha as permissões abaixo OU um dos papéis do IAM a seguir.
Permissões
compute.instances.create
Papéis
compute.admincompute.instanceAdmin.v1
Como configurar a proteção contra exclusão durante a criação da instância
Por padrão, a proteção contra exclusão está desativada nas instâncias. Ative a proteção contra exclusão usando as instruções abaixo.
Console
No console do Cloud de Confiance , acesse a página Criar uma instância.
Expanda a seção Opções avançadas e faça o seguinte:
- Expanda a seção Gerenciamento.
- Marque a caixa de seleção Ativar proteção contra exclusão.
Continue com o processo de criação da VM.
gcloud
Ao criar uma instância de VM, inclua as sinalizações --deletion-protection ou no-deletion-protection. A proteção contra exclusão fica desativada por padrão. Para ativá-la, use este comando:
gcloud compute instances create [INSTANCE_NAME] --deletion-protection
[INSTANCE_NAME] é o nome da instância que você quer proteger.
Para desativar a proteção contra exclusão durante a criação, use este comando:
gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection
Go
Java
Node.js
Python
REST
Na API, durante a criação de uma instância de VM, inclua a propriedade deletionProtection no corpo da solicitação. Por exemplo:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances
{
"name": "[INSTANCE_NAME]",
"deletionProtection": "true",
...
}
Para desativar a proteção contra exclusão, defina deletionProtection como false.
Como determinar se uma instância está com a proteção contra exclusão ativada
É possível determinar se uma instância tem a proteção contra exclusão ativada em gcloud tool ou na API.
Console
Acesse a página "Instâncias de VM".
Se solicitado, selecione o projeto e clique em Continuar.
Na página Instâncias de VMs, clique no menu suspenso Colunas e ative a Proteção contra exclusão.
Uma nova coluna aparecerá com o ícone da proteção contra exclusão. Se uma VM estiver com a proteção contra exclusão ativada, esse ícone aparecerá ao lado do nome da instância.
gcloud
Na CLI gcloud, execute o comando instances describe e procure
o campo de proteção contra exclusão. Por exemplo:
gcloud compute instances describe example-instance | grep "deletionProtection"
A ferramenta retornará o valor da propriedade deletionProtection, definida como true ou false:
deletionProtection: false
Go
Java
Node.js
Python
REST
Na API, crie uma solicitação GET e procure o campo deletionProtection:
GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
Como alternar a proteção contra exclusão em instâncias atuais
É possível alternar a proteção contra exclusão nas instâncias existentes, independentemente do status atual delas. Especificamente, não é necessário interromper a instância para ativar ou desativar a proteção contra exclusão.
Console
Acesse a página "Instâncias de VM".
Se solicitado, selecione o projeto e clique em Continuar.
Clique no nome da instância em que você quer alterar a proteção de exclusão. A página de detalhes da instância é aberta.
Na página "Detalhes da instância", conclua as etapas a seguir:
- Clique no botão Editar na parte superior da página.
Em Proteção contra exclusão, marque ou desmarque a caixa de seleção para ativar ou desativar a proteção contra exclusão, respectivamente.
Salve as alterações.
gcloud
Na CLI gcloud, execute o comando update com a sinalização --deletion-protection ou --no-deletion-protection:
gcloud compute instances update [INSTANCE_NAME] \
[--deletion-protection | --no-deletion-protection]
Por exemplo, para ativar a proteção contra exclusão para uma instância chamada example-vm:
gcloud compute instances update example-vm --deletion-protection
Go
Java
Node.js
Python
REST
Na API, faça uma solicitação POST ao método setDeletionProtection com o parâmetro de consulta deletionProtection. Por exemplo:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setDeletionProtection?deletionProtection=true
Para desativar a proteção contra exclusão, defina deletionProtection como false. Não forneça um corpo de solicitação.
A seguir
- Aprenda a interromper uma instância.
- Exclua as instâncias que não são mais necessárias.