Desaprovisione a VPC partilhada

Esta página descreve como desaprovisionar uma configuração de VPC partilhada existente, desligando todos os projetos de serviço de um projeto anfitrião de VPC partilhada. O desaprovisionamento é um processo unidirecional. Certifique-se de que conhece as páginas VPC partilhada e Aprovisionar VPC partilhada.

Tarefas de administrador do projeto de serviço

Em cada projeto de serviço anexado ao projeto anfitrião de VPC partilhada, um administrador do projeto de serviço tem de remover todas as dependências do projeto anfitrião. As dependências podem incluir instâncias, grupos de instâncias, modelos de instâncias, serviços de back-end e regras de encaminhamento.

Determine os recursos afetados

Para identificar os recursos que dependem do projeto anfitrião da VPC partilhada, um administrador do projeto de serviço pode listar as respetivas sub-redes partilhadas. Quando o projeto de serviço é separado do projeto anfitrião, estas sub-redes deixam de estar disponíveis para o mesmo. Por conseguinte, todos os recursos que dependam delas são afetados.

Elimine recursos

Assim que um administrador do projeto de serviço tiver identificado os recursos que vão ser afetados pelo processo de desaprovisionamento, esses recursos têm de ser eliminados:

Tarefas de administrador do balanceador de carga

Os balanceadores de carga de aplicações internos e os balanceadores de carga de aplicações externos regionais permitem-lhe configurar o balanceador de carga para que um mapa de URLs num projeto de anfitrião ou de serviço possa fazer referência a serviços de back-end (e back-ends) localizados em vários projetos em ambientes de VPC partilhada.

Antes de poder eliminar um projeto de serviço, tem de se certificar de que todas as referências entre projetos aos serviços de back-end no seu projeto de serviço foram removidas. Os administradores do Load Balancer têm de modificar os respetivos mapas de URLs para remover referências a serviços de back-end no seu projeto de serviço.

Tarefas de administrador da VPC partilhada

Todas as tarefas nesta secção têm de ser realizadas por um administrador da VPC partilhada.

Desassocie projetos de serviço

Repita estes passos para cada projeto de serviço que precisa de desassociar do projeto anfitrião da VPC partilhada.

Consola

Para ver a página da VPC partilhada na Google Cloud consola, tem de ter a função de administrador da VPC partilhada.

  1. Aceda à página VPC partilhada na Google Cloud consola.
    Aceder à VPC partilhada
  2. Inicie sessão como administrador da VPC partilhada.
  3. Selecione o projeto anfitrião do qual está a remover projetos de serviço.
  4. Clique no separador Projetos anexados.
  5. Selecione o projeto de serviço que quer desassociar.
  6. Clique no botão Desassociar projetos.
  7. Reveja as informações na caixa de diálogo.
  8. Clique em Desassociar.

gcloud

  1. Se ainda não o fez, autentique-se no gcloud como administrador da VPC partilhada. Substitua SHARED_VPC_ADMIN pelo nome do administrador da VPC partilhada:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Desassocie o projeto de serviço do projeto anfitrião. Substitua SERVICE_PROJECT_ID pelo ID do projeto de serviço e HOST_PROJECT_ID pelo ID do projeto anfitrião.

    gcloud compute shared-vpc associated-projects remove SERVICE_PROJECT_ID
        --host-project HOST_PROJECT_ID
    
  3. Confirme que o projeto de serviço foi desanexado através de 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 só precisava de desassociar projetos de serviço, termine sessão no gcloud para proteger as credenciais da conta de administrador da VPC partilhada. Caso contrário, ignore este passo e avance para a desativação do projeto anfitrião.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Desassocie o projeto de serviço.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnResource
    {
      "xpnResource": {
        "id": "SERVICE_PROJECT_ID"
      }
    }
    

    Substitua os marcadores de posição por valores válidos:

    • HOST_PROJECT_ID é o ID do projeto anfitrião.
    • SERVICE_PROJECT_ID é o ID do projeto de serviço a desanexar.

    Para mais informações, consulte o método projects.disableXpnResource.

  2. Confirme que o projeto de serviço foi separado.

    • Verifique se o projeto de serviço não está anexado a nenhum projeto anfitrião.

      GET https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/getXpnHost
      

      Substitua SERVICE_PROJECT_ID pelo ID do projeto de serviço.

      Para mais informações, consulte o método projects.getXpnHost.

    • Liste os projetos de serviço anexados ao projeto anfitrião da VPC partilhada para confirmar que o projeto já não está listado.

      GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
      

      Substitua HOST_PROJECT_ID pelo ID do projeto anfitrião.

      Para mais informações, consulte o método projects.getXpnResources.

Desative o projeto anfitrião

Só é possível desativar a VPC partilhada para o projeto anfitrião depois de todos os projetos de serviço terem sido separados. Quando está desativada, a caução que impede a eliminação fácil é removida automaticamente.

Consola

Para ver a página da VPC partilhada na Google Cloud consola, tem de ter a função de administrador da VPC partilhada.

  1. Aceda à página VPC partilhada na Google Cloud consola.
    Aceder à VPC partilhada
  2. Inicie sessão como administrador da VPC partilhada.
  3. Selecione o projeto anfitrião que quer desativar.
  4. Clique no botão Desativar VPC partilhada.
  5. Na caixa de diálogo, leia atentamente a descrição.
  6. Introduza o ID do projeto anfitrião para ID do projeto anfitrião.
  7. Clique em Desativar.

gcloud

  1. Se ainda não o fez, autentique-se no gcloud como administrador da VPC partilhada. Substitua SHARED_VPC_ADMIN pelo nome do administrador da VPC partilhada:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Desative a VPC partilhada para o projeto anfitrião. Substitua HOST_PROJECT_ID pelo ID do projeto anfitrião.

    gcloud compute shared-vpc disable HOST_PROJECT_ID
    
  3. Confirme que o projeto já não está listado como um projeto anfitrião para a sua organização. Substitua ORG_ID pelo ID da sua organização (determinado por gcloud organizations list).

    gcloud compute shared-vpc organizations list-host-projects ORG_ID
    
  4. Se só precisava de desativar um projeto anfitrião, pode terminar sessão na conta de administrador da VPC partilhadagcloud para proteger as respetivas credenciais. Caso contrário, ignore este passo e continue com a eliminação de projetos.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Desative a VPC partilhada para o projeto.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnHost
    

    Substitua HOST_PROJECT_ID pelo ID do projeto anfitrião.

    Para mais informações, consulte o método projects.disableXpnHost.

  2. Liste os seus projetos anfitriões para confirmar que o projeto não está listado.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/listXpnHosts
    

    Substitua HOST_PROJECT_ID pelo ID do projeto anfitrião.

    Para mais informações, consulte o método projects.listXpnHosts.

Elimine projetos

Esta secção aborda a eliminação de projetos que já não são usados. Por exemplo, pode ter projetos de serviço que precisam de ser eliminados depois de terem sido separados de um projeto anfitrião, ou pode já não precisar do projeto anfitrião depois de ter sido desativado.

Elimine o projeto anfitrião

Pode optar por mantê-lo como um projeto normal ou encerrá-lo. O encerramento de um projeto elimina-o.

Um principal da IAM pode eliminar o projeto anfitrião se tiver a função resourcemanager.projectDeleter para a sua organização ou se for o proprietário do projeto anfitrião. Os administradores da VPC partilhada podem conseguir eliminar projetos anfitriões se tiverem a função ou a propriedade correta.

Elimine o projeto de serviço

Pode optar por encerrar cada projeto de serviço se já não precisar deles. Antes de o fazer, certifique-se de que o projeto de serviço foi separado do projeto anfitrião.

Um principal do IAM pode eliminar um projeto de serviço se tiver a função resourcemanager.projectDeleter para a sua organização ou se for o proprietário do projeto de serviço. Os administradores de projetos de serviço podem conseguir eliminar projetos de serviço se tiverem a função ou a propriedade corretas.

Elimine um projeto anfitrião à força

Enquanto a VPC partilhada estiver ativa para um projeto anfitrião, é colocada uma restrição no projeto para impedir a sua eliminação acidental. Uma vez que esta caução pode ser removida pelo proprietário de um projeto, as diretrizes para o aprovisionamento de uma VPC partilhada incluem passos para definir uma política organizacional que limite os principais do IAM que têm a capacidade de remover uma caução de projeto.

Normalmente, um projeto anfitrião deve ser eliminado depois de as seguintes tarefas terem sido concluídas por esta ordem:

Quando a VPC partilhada é desativada, a restrição que protege o projeto anfitrião é removida automaticamente.

Esta secção detalha como encerrar à força um projeto anfitrião. Só deve considerar esta opção nas seguintes circunstâncias:

  • Não pode seguir os passos normais para desassociar projetos de serviço e desativar a VPC partilhada.
  • Existem restrições adicionais que protegem o projeto anfitrião além da que é adicionada automaticamente.

Se encerrar à força um projeto anfitrião e tiver recursos em projetos de serviço que usam a rede VPC partilhada, ocorrem os seguintes eventos:

  • Todas as redes VPC partilhadas, as respetivas sub-redes, trajetos, regras de firewall e todos os recursos de rede no projeto anfitrião são eliminados.
  • Os recursos, como as instâncias em execução nos projetos de serviço anexados ao projeto anfitrião, são parados.
  • Os balanceadores de carga TCP/UDP internos são desativados se as respetivas regras de encaminhamento dependerem da rede VPC partilhada.

gcloud

  1. Autentique-se no gcloud como um principal do IAM que pode remover uma restrição de projeto. Se tiver uma política organizacional que limite os responsáveis que podem remover restrições, tem de se autenticar como um responsável do IAM com a função resourcemanager.lienModifier para a sua organização. Se não tiver uma política deste tipo em vigor, o proprietário do projeto anfitrião pode remover a caução.

    Substitua ACCOUNT pelo nome do principal do IAM adequado:

    gcloud auth login ACCOUNT
    
  2. Indique as restrições associadas ao projeto anfitrião. Substitua HOST_PROJECT_ID pelo ID do projeto anfitrião.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  3. Remova cada ónus pelo nome, um de cada vez, até não existirem mais ónus. Substitua LIEN_NAME pelo nome do ónus a remover.

    gcloud alpha resource-manager liens delete LIEN_NAME \
    --project HOST_PROJECT_ID
    
  4. Confirme que todas as hipotecas foram removidas.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  5. Depois de remover o ónus, pode terminar sessão no gcloud para proteger as credenciais do principal do IAM que tem autorização para remover ónus.

    gcloud auth revoke ACCOUNT
    
  6. O projeto anfitrião pode agora ser encerrado.

API

  1. Indique as hipotecas legais associadas ao projeto anfitrião.

    GET https://cloudresourcemanager.googleapis.com/v1/liens?parent=projects:HOST_PROJECT_ID
    

    Substitua HOST_PROJECT_ID pelo ID do projeto anfitrião.

    Para mais informações, consulte o método liens.list.

  2. Remova cada ónus pelo nome até não existirem mais ónus.

    DELETE https://cloudresourcemanager.googleapis.com/v1/liens/LIEN_NAME
    

    Substitua LIEN_NAME pelo nome da caução a eliminar.

    Para mais informações, consulte o método liens.delete.

  3. Volte a listar os ónus para confirmar que foram removidos.

O que se segue?