Como desprovisionar a VPC compartilhada

Nesta página, descrevemos como desprovisionar uma configuração de VPC compartilhada existente, desconectando todos os projetos de serviço de um projeto host de VPC compartilhada. O desprovisionamento é um processo unidirecional. Primeiro, familiarize-se com as páginas Visão geral da VPC compartilhada e Como provisionar a VPC compartilhada.

Tarefas administrativas do projeto de serviço

Em cada projeto de serviço anexado ao projeto host da VPC compartilhada, um Administrador do projeto de serviço precisa remover todas as dependências do projeto host. As dependências incluem instâncias, grupos de instâncias, modelos de instâncias e regras de encaminhamento para o balanceamento de carga interno.

Determinar recursos afetados

Para identificar recursos que dependem do projeto host da VPC compartilhada, um Administrador do projeto de serviço pode listar as sub-redes compartilhadas. Quando o projeto de serviço é desanexado do projeto host, essas sub-redes não ficam mais disponíveis para ele. Assim, quaisquer recursos que dependam delas serão afetados.

Excluir recursos

Depois que um Administrador do projeto de serviço identificar os recursos que serão afetados pelo processo de desprovisionamento, esses recursos precisarão ser excluídos:

Tarefas de administrador de VPC compartilhada

Todas as tarefas nesta seção precisam ser executadas por um Administrador de VPC compartilhada.

Desanexar projetos de serviço

Repita essas etapas para cada projeto de serviço que você precisa desanexar do projeto host da VPC compartilhada.

gcloud

  1. Se ainda não o fez, autentique-se no gcloud como Administrador de VPC compartilhada. Substitua [SHARED_VPC_ADMIN] pelo nome do Administrador de VPC compartilhada:

    gcloud auth login [SHARED_VPC_ADMIN]
    
  2. Desanexe o projeto de serviço do projeto host. Substitua [SERVICE_PROJECT_ID] pelo código do projeto de serviço e [HOST_PROJECT_ID] pelo código do projeto host.

    gcloud compute shared-vpc associated-projects remove [SERVICE_PROJECT_ID]
        --host-project [HOST_PROJECT_ID]
    
  3. Confirme se o projeto de serviço foi desanexado usando um destes comandos:

    gcloud compute shared-vpc get-host-project [SERVICE_PROJECT_ID]
    
    gcloud compute shared-vpc list-associated-resources [HOST_PROJECT_ID]
    
  4. Se bastava desanexar um projeto de serviço, faça logout do gcloud para proteger as credenciais da conta de Administrador de VPC compartilhada. Caso contrário, pule esta etapa e continue com a desativação do projeto host.

    gcloud auth revoke [SHARED_VPC_ADMIN]
    

Desativar projeto host

Só é possível desativar a VPC compartilhada para o projeto host após todos os projetos de serviço terem sido desanexados. Quando desativada, a garantia que impede sua exclusão é removida automaticamente.

gcloud

  1. Se ainda não o fez, autentique-se no gcloud como Administrador de VPC compartilhada. Substitua [SHARED_VPC_ADMIN] pelo nome do Administrador de VPC compartilhada:

    gcloud auth login [SHARED_VPC_ADMIN]
    
  2. Desative a VPC compartilhada do projeto host. Substitua [HOST_PROJECT_ID] pelo código do projeto host.

    gcloud compute shared-vpc disable [HOST_PROJECT_ID]
    
  3. Confirme se o projeto não está mais listado como um projeto host para sua organização. Substitua [ORG_ID] pelo código da organização (determinado por gcloud organizations list).

    gcloud compute shared-vpc organizations list-host-projects [ORG_ID]
    
  4. Se bastava desativar um projeto host, saia do gcloud para proteger as credenciais da conta de Administrador da VPC compartilhada. Caso contrário, pule esta etapa e continue com a exclusão de projetos.

    gcloud auth revoke [SHARED_VPC_ADMIN]
    

Como excluir projetos

Nesta seção, discutiremos a exclusão de projetos que não são mais usados. Por exemplo, você pode ter projetos de serviço que precisam ser excluídos depois de terem sido desanexados de um projeto host, ou você pode não precisar mais do projeto host depois de ter sido desativado.

Excluir projeto host

Você pode optar por mantê-lo como um projeto normal ou encerrá-lo. Encerrar um projeto o exclui.

Qualquer membro do IAM definido em sua organização poderá excluir o projeto host se tiver o papel resourcemanager.projectDeleter ou se for proprietário do projeto host. Administradores de VPCs compartilhadas têm permissão para excluir projetos host se tiverem o papel correto ou forem proprietários dos projetos.

Excluir projetos de serviço

Você pode optar por encerrar cada projeto de serviço se não precisar mais deles. Antes de fazer isso, verifique se o projeto de serviço foi desanexado do projeto host.

Qualquer membro do IAM definido em sua organização poderá excluir o projeto de serviço se tiver o papel resourcemanager.projectDeleter ou se for proprietário do projeto de serviço. Os Administradores de projetos de serviço podem excluir projetos de serviço se tiverem o papel correto ou forem proprietários dos projetos.

Forçar a exclusão de um projeto host

Enquanto a VPC compartilhada está ativa para um projeto host, uma garantia é colocada no projeto para evitar que ele seja excluído acidentalmente. Como essa garantia pode ser removida por um proprietário do projeto, as diretrizes para o aprovisionamento de uma VPC compartilhada incluem etapas para definir uma política organizacional que limita quais membros do IAM podem remover uma garantia do projeto.

Normalmente, um projeto host precisa ser excluído após as seguintes tarefas terem sido concluídas nesta ordem:

Quando a VPC compartilhada tiver sido desativada, a garantia que protege o projeto host será automaticamente removida.

Nesta seção, detalhamos como forçar o encerramento de um projeto host. Somente considere essa opção nas circunstâncias abaixo:

  • Não é possível seguir as etapas normais de desanexar projetos de serviço e desativar a VPC compartilhada.
  • Há garantias adicionais protegendo o projeto host além daquela que é adicionada automaticamente.

Forçar o encerramento de um projeto host com recursos em projetos de serviço usando a rede resultará nas situações a seguir:

  • Todas as redes VPC compartilhadas, as respectivas sub-redes, rotas, regras de firewall e todos os recursos de rede no projeto host serão excluídos.
  • Recursos como a execução de instâncias nos projetos de serviço anexados ao projeto host serão interrompidos.
  • Os balanceadores de carga internos com regras de encaminhamento que foram definidas no projeto host serão desativados.

gcloud

  1. Autentique-se no gcloud como um membro do IAM que pode remover a garantia de um projeto. Se houver uma política organizacional que limite quais membros podem remover garantias, você precisará se autenticar como um membro do IAM com o papel resourcemanager.lienModifier para sua organização. Se essa política não estiver em vigor, o proprietário do projeto host poderá remover a garantia.

    Substitua [ACCOUNT] pelo nome do membro apropriado do IAM:

    gcloud auth login [ACCOUNT]
    
  2. Liste as garantias associadas ao projeto host. Substitua [HOST_PROJECT_ID] pelo código do projeto host.

    gcloud alpha resource-manager liens list \
    --project [HOST_PROJECT_ID]
    
  3. Remova cada garantia pelo nome, uma de cada vez, até que não haja mais nenhuma. Substitua [LIEN_NAME] pelo nome da garantia a ser removida.

    gcloud alpha resource-manager liens delete [LIEN_NAME] \
    --project [HOST_PROJECT_ID]
    
  4. Confirme se todas as garantias foram removidas.

    gcloud alpha resource-manager liens list \
    --project [HOST_PROJECT_ID]
    
  5. Depois de remover a garantia, faça logout do gcloud para proteger as credenciais do membro do IAM que tem permissão para remover garantias.

    gcloud auth revoke [ACCOUNT]
    
  6. O projeto host agora pode ser encerrado.

A seguir

Esta página foi útil? Conte sua opinião sobre: