Neste documento, você saberá 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.
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 da seguinte maneira.
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.
- 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.
- 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.
- 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.
- 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.
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.
compute.instances.create
compute.admin
compute.instanceAdmin.v1
No console do Google Cloud, 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.
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.
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.
- Aprenda a interromper uma instância.
- Exclua as instâncias que não são mais necessárias.
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
PHP
Para usar os exemplos PHP desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e 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.
Especificações
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
Papéis
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
gcloud
Ao criar uma instância de VM, inclua as sinalizações
--deletion-protection
ouno-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
comofalse
.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
gcloud
Na CLI gcloud, execute o comando
instances describe
e procure o campo de proteção contra exclusão. Exemplo:gcloud compute instances describe example-instance | grep "deletionProtection"
A ferramenta retornará o valor da propriedade
deletionProtection
, definida comotrue
oufalse
:deletionProtection: false
Go
Java
Node.js
Python
REST
Na API, crie uma solicitação
GET
e procure o campodeletionProtection
: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
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étodosetDeletionProtection
com o parâmetro de consultadeletionProtection
. 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
comofalse
. Não forneça um corpo de solicitação.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-09-24 UTC.
-