Excluir uma organização da Apigee

Esta página se aplica à Apigee, mas não à Apigee híbrida.

Confira a documentação da Apigee Edge.

Nesta página, explicamos como excluir totalmente uma organização da Apigee de um projeto na nuvem do Google Cloud, incluindo as etapas de acompanhamento necessárias para liberar recursos de rede que a Apigee não limpa por conta própria. A limpeza pós-exclusão que você precisa realizar depende de como a organização foi provisionada:

  • As organizações provisionadas com o peering de VPC ativado também têm uma conexão de peering de VPC de rede de serviços entre sua VPC e a rede de locatário da Apigee. Essa conexão e qualquer intervalo de peering reservado e rede VPC associada a ela permanecem em vigor depois que você exclui a organização e precisam ser limpos separadamente se não forem mais necessários. Consulte Acompanhamento: organizações provisionadas com peering de VPC.

  • As organizações provisionadas com o peering de VPC desativado usam o Private Service Connect em vez de uma conexão de rede de serviços. Portanto, não há peering de produtor a ser removido. Ainda é necessário excluir o balanceador de carga de entrada do Private Service Connect criado ao provisionar a organização: regra de encaminhamento, proxy HTTPS de destino, mapa de URL, serviço de back-end, grupo de endpoints de rede do PSC, certificado SSL e endereço IP reservado. Caso contrário, a regra de encaminhamento e o endereço IP reservado continuarão gerando cobranças. Consulte Acompanhamento: organizações provisionadas sem peering de VPC.

A seção Antes de começar mostra como determinar em qual categoria sua organização se enquadra.

Antes de começar

Permissões do IAM obrigatórias

  • Na organização da Apigee (normalmente APIGEE_PROJECT_ID): apigee.organizations.delete. Essa permissão está incluída no papel roles/apigee.admin, que o guia de papéis da Apigee descreve como o único papel que pode criar, excluir ou atualizar organizações.

  • Além disso, se a organização foi provisionada com o peering de VPC ativado e você planeja limpar a conexão de rede de serviços, o intervalo de peering de VPC ou a rede VPC, conforme descrito em Acompanhamento: organizações provisionadas com peering de VPC: no projeto que possui a rede VPC com peering (o projeto de rede, que pode ser diferente do projeto da Apigee em uma configuração de VPC compartilhada), servicenetworking.services.deleteConnection, compute.globalAddresses.delete e compute.networks.delete.

Excluir recursos dependentes primeiro

Antes de excluir a organização, exclua os recursos que a Apigee exige que você remova primeiro:

Fazer backup dos dados que você quer preservar

Faça backup de todos os dados ou recursos no escopo da organização que você possa precisar mais tarde. Após o período de retenção, os dados armazenados na organização não podem ser recuperados.

Determinar se a organização usa peering de VPC

A limpeza de acompanhamento que você precisa fazer depois de excluir a organização depende de ela ter sido provisionada com o peering de VPC ativado. Leia a configuração da organização com a API organizations.get antes de excluí-la:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/organizations/ORGANIZATION"

Esta e todas as outras chamadas REST da Apigee nesta página têm como destino o endpoint global apigee.googleapis.com. Se a organização estiver em uma região de residência de dados, substitua o endpoint regional correspondente em todas as amostras.

Procure o campo disableVpcPeering na resposta:

  • Se a resposta contiver "disableVpcPeering": true, a organização foi provisionada sem peering de VPC. Depois de excluir a organização, siga as instruções em Acompanhamento: organizações provisionadas sem peering de VPC.

  • Se o campo for false ou estiver ausente, a organização foi provisionada com peering de VPC. Registre os dois valores adicionais a seguir da mesma resposta. Você vai precisar deles durante a limpeza:

    • O campo authorizedNetwork, que identifica a rede VPC em peering com a Apigee. Ele aparece em um destes dois formatos:
      • Um caminho de recurso completo projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, que codifica o projeto e o nome da rede. Esse formato é usado quando a rede está em um projeto diferente da organização da Apigee, geralmente em uma configuração de VPC compartilhada, em que a rede está no projeto host.
      • Apenas um nome de rede (por exemplo, apigee-network). Quando apenas o nome está presente, a rede reside no mesmo projeto na nuvem do Google Cloud que sua organização da Apigee. Trate esse projeto (APIGEE_PROJECT_ID) como NETWORK_PROJECT_ID para as etapas de limpeza.
      Observe que authorizedNetwork é definido apenas em organizações com peering de VPC.
    • O nome do endereço global que você reservou originalmente para o intervalo de peering de VPC (por exemplo, apigee-range). Você reservou esse endereço quando provisionou a organização pela primeira vez.

    Depois de excluir a organização, siga as instruções em Acompanhamento: organizações provisionadas com peering de VPC.

Excluir a organização da Apigee

Chame a API organizations.delete para excluir a organização. A chamada retorna uma operação de longa duração e, para organizações de avaliação, realiza uma exclusão imediata. Para organizações pagas (assinatura ou pagamento por uso), ela realiza uma exclusão reversível sujeita à janela de retenção.

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/organizations/ORGANIZATION"

Para usar a janela de retenção mínima (24 horas) em uma organização paga, anexe o parâmetro de consulta retention:

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/organizations/ORGANIZATION?retention=MINIMUM"

A resposta contém uma operação de longa duração. É possível fazer uma sondagem com organizations.operations.get.

Acompanhamento: organizações provisionadas sem peering de VPC

Se o campo disableVpcPeering da organização for true, a exclusão da organização não vai liberar recursos do Service Networking, porque uma organização provisionada sem peering de VPC nunca teve uma conexão do Service Networking e não há peering de produtor para remover.

Ainda é necessário excluir o balanceador de carga northbound do Private Service Connect que você criou no seu próprio projeto ao provisionar a organização. Esses recursos não pertencem à Apigee, e a organizations.delete não lança nenhum deles. Exclua-os na ordem inversa de dependência:

  1. Regra de encaminhamento
  2. Proxy HTTPS de destino
  3. Mapa de URL
  4. Serviço de back-end
  5. Grupo de endpoints de rede do PSC
  6. Certificado SSL
  7. Endereço IP reservado

Quando a limpeza do Northbound for concluída, prossiga para Janela de retenção e reprovisionamento.

Acompanhamento: organizações provisionadas com peering de VPC

A exclusão da organização da Apigee não libera a conexão de peering de VPC do Service Networking que você estabeleceu quando a organização foi provisionada. A conexão permanece na rede VPC, junto com o intervalo de peering reservado e qualquer rede VPC dedicada ao peering. Se você não precisar mais desses recursos, conclua a limpeza seguindo os procedimentos canônicos Configurar o acesso a serviços particulares e Rede de serviços. O restante desta seção fornece apenas os valores e avisos específicos de uma remoção da Apigee.

Coletar os valores necessários

As etapas de limpeza a seguir reutilizam os mesmos valores para inserir nos procedimentos dos guias de rede de serviços e VPC vinculados. Determine cada valor uma vez e defina-o como uma variável de shell para copiar os comandos vinculados textualmente:

  • NETWORK_PROJECT_ID: o projeto proprietário da rede VPC com peering. Nem sempre é o mesmo que o projeto de serviço da Apigee: em uma configuração de VPC compartilhada, a rede reside no projeto host. Derive-o do valor authorizedNetwork que você registrou em Determinar se sua organização usa peering de VPC:

    • Se authorizedNetwork for um caminho de recurso completo projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, use NETWORK_PROJECT_ID desse caminho.
    • Se authorizedNetwork for apenas um nome de rede (por exemplo, apigee-network), a rede estará no mesmo projeto que a organização da Apigee. Use o projeto da Apigee (APIGEE_PROJECT_ID).
  • NETWORK_NAME: o nome da rede VPC (por exemplo, apigee-network). Use o caminho completo em authorizedNetwork ou use o valor simples quando authorizedNetwork for apenas um nome.

  • APIGEE_RANGE_NAME: o nome do endereço global que foi alocado para o intervalo de peering de VPC (por exemplo, apigee-range) quando a organização foi provisionada. É possível ver os intervalos reservados anexados ao peering na lista reservedPeeringRanges retornada por gcloud services vpc-peerings list.

  • NETWORK_PROJECT_NUMBER: o número do projeto numérico para NETWORK_PROJECT_ID. A API REST do Service Networking requer o número do projeto (não o ID do projeto) no campo consumerNetwork:

    gcloud projects describe NETWORK_PROJECT_ID \
      --format="value(projectNumber)"

Sempre que um procedimento vinculado solicitar uma rede, um projeto de rede ou uma rede de consumidor, substitua esses valores.

Avisos que se aplicam a uma desmontagem da Apigee

Concluir a limpeza

Siga os procedimentos vinculados, substituindo as variáveis de Coletar os valores necessários:

  • Exclua a conexão de rede de serviço. Siga as instruções em Excluir uma conexão particular. Como você já excluiu a organização da Apigee em Excluir a organização da Apigee, o pré-requisito do guia de remover a instância de serviço é atendido para organizações de avaliação, que são excluídas imediatamente. Para organizações pagas, a exclusão é uma exclusão reversível, e a exclusão da conexão só é bem-sucedida depois que a janela de retenção expira. Consulte Janela de retenção e reprovisionamento ou exclua a organização com ?retention=MINIMUM para reduzir a janela para 24 horas. Quando o procedimento solicitar a rede e o projeto de rede, use NETWORK_NAME e NETWORK_PROJECT_ID. Quando a chamada REST services.connections.deleteConnection subjacente solicitar consumerNetwork, use projects/NETWORK_PROJECT_NUMBER/global/networks/NETWORK_NAME.

  • (Opcional) Libere o intervalo de peering reservado. Siga as instruções em Excluir um intervalo de endereços IP alocado, usando APIGEE_RANGE_NAME e NETWORK_PROJECT_ID. O intervalo reservado é um recurso de propriedade do cliente que persiste após a exclusão da organização da Apigee e da conexão do Service Networking. Deixá-lo no lugar não interrompe nenhum serviço do Google Cloud.

  • (Opcional) Exclua a rede VPC. Se você roteou o tráfego de saída por um grupo gerenciado de instâncias ou um balanceador de carga interno nessa rede, exclua esses recursos primeiro. Caso contrário, a exclusão da rede falhará com um erro de recurso dependente: regra de encaminhamento, proxy de destino, mapa de URL, serviço de back-end, grupo gerenciado de instâncias, modelo de instância, verificação de integridade, regras de firewall e endereço reservado. Em seguida, siga as instruções em Excluir uma rede no guia de redes VPC, usando NETWORK_NAME e NETWORK_PROJECT_ID.

Janela de retenção e reprovisionamento

Conforme documentado na referência organizations.delete:

  • A Apigee exclui as organizações de avaliação imediatamente.
  • A Apigee faz a exclusão reversível de organizações pagas (assinatura ou pagamento por uso) com uma janela de retenção padrão de sete dias. Durante o período de retenção, é possível restaurar a organização preenchendo um tíquete de suporte com a Apigee. Transmitir ?retention=MINIMUM na solicitação de exclusão reduz a janela para 24 horas.
  • Não é possível recriar uma organização da Apigee no mesmo projeto do Google Cloud durante a janela de retenção.

A seguir

Referências da Apigee:

Referências de rede de serviços e acesso a serviços particulares: