Excluindo uma VPC e seus recursos associados

Antes de ser possível excluir um IBM Cloud® Virtual Private Cloud no console do IBM Cloud, deve-se excluir todos os gateways públicos, sub-redes e recursos conectados do VPC.

Excluindo um VPC usando o console do IBM Cloud

Para excluir um VPC usando o console:

  1. Localize todas as sub-redes no VPC. Clique em VPCs na área de janela de navegação e selecione sua VPC.

  2. Na página Detalhes de VPC, acesse a lista Sub-redes nesta VPC e selecione uma sub-rede para visualizar seus detalhes.

  3. Exclua todos os recursos que estiverem anexados à sub-rede. Na área de janela de navegação, clique em Recursos anexados. Selecione cada instância anexada, balanceador de carga e gateway de VPN para acessar sua página de detalhes. No menu Actions (Ações ), ícone Actions(Ações) ), selecione Delete (Excluir ). Para excluir instâncias conectadas, elas devem ser interrompidas.

    Embora o status do recurso seja imediatamente mudado para Excluindo, pode levar até 30 minutos para que a operação de exclusão seja concluída. A sub-rede não pode ser excluída até que todos os recursos conectados não sejam mais exibidos no console.

  4. Depois que todos os recursos associados forem excluídos, volte à página de detalhes da sub-rede e clique no ícone de exclusão.

  5. Depois de excluir todas as sub-redes, volte à página de detalhes da VPC e clique no ícone de exclusão. A VPC e todos os gateways públicos serão excluídos.

Excluindo um VPC usando a CLI do IBM Cloud

Os exemplos a seguir mostram como excluir recursos da sua IBM Cloud® Virtual Private Cloud, para cada recurso da VPC, na ordem sugerida.

Os seguintes fatos principais são importantes para lembrar sobre a exclusão:

  • Uma VPC não pode ser excluído até que esteja vazio.
  • Todos os recursos contidos devem ser excluídos com êxito antes que o recurso pai possa ser excluído.
  • Se o recurso estiver com uma exclusão pendente, ele mostrará um status deleting quando visualizado em consultas de lista.
  • A maioria das solicitações de exclusão é assíncrona, o que significa que o recurso pode mostrar um status excluindo em consultas de lista quando ele ainda não foi excluído completamente.
  • Deve-se realizar uma pesquisa para garantir que o recurso-filho não esteja mais na visualização de lista antes de tentar excluir o recurso pai.

Se o status do recurso for mudado de deleting para failed, será possível tentar excluir o recurso novamente. Se não for possível excluir um recurso no status failed, entre em contato com o suporte.

Passo 1: Identifique todas as sub-redes dentro da VPC que você deseja excluir

Antes que uma VPC possa ser excluído, cada uma de suas sub-redes deve ser excluída. Obtenha o ID da VPC que você deseja excluir executando o comando a seguir e verificando o valor de “ ID ”:

ibmcloud is vpcs

Salve o ID do VPC em uma variável para que ele possa ser usado posteriormente, por exemplo:

vpc="0738-3524fef5-da35-4622-bf9a-31614964649d"

Para obter a lista de todas as sub-redes em sua conta, execute o comando a seguir:

ibmcloud is subnets

Observe o valor VPC para determinar as sub-redes que precisam ser excluídas. Salve o ID da sub-rede em uma variável para que ela possa ser usada posteriormente, por exemplo:

subnet="0738-d31ce469-9b0f-44e1-87ce-0fc77d8b0e53"

Se a VPC que você deseja excluir tiver várias sub-redes, repita estas etapas para excluir cada sub-rede.

Etapa 2: excluir cada sub-rede no VPC

Exclua todos os gateways de VPN na sub-rede, se houver

Para listar todos os gateways de VPN em sua conta, execute o comando a seguir:

ibmcloud is vpn-gateways

Para cada gateway VPN na sub-rede que você gostaria de excluir, execute o comando a seguir, em que $vpnid é o ID do gateway VPN.

ibmcloud is vpn-gateway-delete $vpnid

O status do gateway VPN muda para deleting imediatamente, mas ele ainda aparece em um resultado de consulta de lista. A exclusão de um gateway de VPN pode levar até 30 minutos. É possível solicitar que outros recursos de sub-rede sejam excluídos em paralelo enquanto você espera que o gateway VPN seja excluído. No entanto, a sub-rede não pode ser excluída até que o gateway VPN e todos os outros recursos na sub-rede não apareçam mais nos resultados da consulta de lista.

Excluir todos os balanceadores de carga na sub-rede, se houver

Para listar todos os balanceadores de carga em sua conta, execute o comando a seguir:

ibmcloud is load-balancers

Para cada balanceador de carga na sub-rede que você deseja excluir, execute o comando a seguir, em que $lbid é o ID do balanceador de carga.

ibmcloud is load-balancer-delete $lbid

O status do Load Balancer muda para deleting imediatamente, mas ele ainda é mostrado em um resultado de consulta de lista. A exclusão de um balanceador de carga pode levar até 30 minutos. É possível solicitar que outros recursos de sub-rede sejam excluídos em paralelo enquanto você espera que o balanceador de carga seja excluído. No entanto, a sub-rede não pode ser excluída até que o balanceador de carga e todos os outros recursos na sub-rede não apareçam mais nos resultados da consulta de lista.

Exclua todas as interfaces de rede na sub-rede, se houver

Uma instância pode ter várias interfaces de rede que podem pertencer a várias sub-redes do VPC. Antes que uma sub-rede possa ser excluída, qualquer interface de rede na sub-rede deve ser excluída primeiro.

A única maneira de excluir uma interface de rede em uma sub-rede é excluir a instância.

Para listar todas as interfaces de rede de uma instância, execute o comando a seguir:

ibmcloud is instance-network-interfaces $vsi

Para listar todas as instâncias em sua conta, execute o comando a seguir:

ibmcloud is instances

Se você estiver excluindo todas as instâncias na VPC, será possível executar o comando a seguir para cada instância na VPC, em que $vsi é o ID da instância que você deseja excluir. Quando a instância é excluída, todas as interfaces de rede em outras sub-redes, se houver, são excluídas automaticamente.

As instâncias devem ser paradas antes da exclusão. Para parar uma instância, execute o comando ibmcloud is instance-stop.

ibmcloud is instance-delete $vsi

O status da instância é mudado para deleting imediatamente, mas ela ainda aparece no resultado de uma consulta de lista. A exclusão de uma instância pode levar até 30 minutos.

É possível solicitar que outros recursos de sub-rede sejam excluídos em paralelo enquanto você aguarda a exclusão da instância. No entanto, a sub-rede não pode ser excluída até que a instância e todos os outros recursos na sub-rede não apareçam mais nos resultados da consulta da lista.

Se existir uma interface de rede secundária na sub-rede que você está tentando excluir, a instância deverá ser excluída. Uma interface de rede não pode ser excluída da instância sem excluir a instância.

Excluir a sub-rede

Depois da exclusão de todos os recursos da sub-rede, o que significa que eles não são retornados em um resultado de uma consulta de lista, execute o comando a seguir para excluir a sub-rede:

ibmcloud is subnet-delete $subnet

O status da sub-rede é mudado para deleting imediatamente, mas é possível que ela demore alguns minutos para ser excluída e não aparecer mais nos resultados da consulta de lista.

Etapa 3: excluir todos os gateways públicos no VPC, se houver

Para listar todos os gateways públicos em sua conta, execute o comando a seguir:

ibmcloud is public-gateways

Para cada gateway público no VPC que você deseja excluir, execute o comando a seguir para excluir o gateway público, em que $gateway é o ID do gateway público.

ibmcloud is public-gateway-delete $gateway

Etapa 4: excluir o VPC

Após a exclusão de todas as sub-redes e gateways públicos na VPC, execute o comando a seguir para excluir a VPC, em que $vpc é o ID da VPC sendo excluído.

ibmcloud is vpc-delete $vpc

O status do VPC é mudado para deleting imediatamente, mas é possível que ele demore alguns minutos para ser excluído e não aparecer mais nos resultados da consulta de lista.

Excluindo um VPC usando as APIs de REST

As etapas a seguir são as principais partes no processo:

  1. Identifique todas as sub-redes na VPC que você deseja excluir.
  2. Exclua cada sub-rede na VPC, o que significa:
    • Exclua todos os gateways de VPN na sub-rede.
    • Exclua todos os Balanceadores de Carga na sub-rede.
    • Exclua todas as interfaces de rede das instâncias na sub-rede.
    • Exclua a sub-rede.
  3. Exclua todos os gateways públicos no VPC.
  4. Exclua a VPC.

As seções a seguir fornecem algumas chamadas da API de exemplos que podem ser executadas para excluir um VPC.

Etapa 1: Identifique todas as sub-redes na VPC que você deseja excluir

Antes que uma VPC possa ser excluído, cada uma de suas sub-redes deve ser excluída. Obtenha o ID da VPC que você deseja excluir executando o comando a seguir e verificando o valor de “ id ”:

curl -X GET "$vpc_api_endpoint/v1/vpcs?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Adicione | json_pp ou | jq após o comando curl para obter uma string JSON legível. jq é uma ferramenta de terceiros licenciada sob a licença MIT. jq pode não vir pré-instalado em todas as imagens de VPC disponíveis quando você cria uma instância. O comando json_pp é um pré-processador JSON que geralmente vem instalado por padrão na maioria das distribuições do Linux.

Salve o ID da VPC em uma variável para que seja possível usá-lo posteriormente, por exemplo:

vpc="0738-3524fef5-da35-4622-bf9a-31614964649d"

Para obter a lista de todas as sub-redes em sua conta, execute o comando a seguir:

curl -X GET "$vpc_api_endpoint/v1/subnets?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Observe o valor vpc para determinar as sub-redes que precisam ser excluídas. Salve o ID da sub-rede em uma variável para uso posterior, por exemplo:

subnet="0738-d31ce469-9b0f-44e1-87ce-0fc77d8b0e53"

Se a VPC que você deseja excluir tiver várias sub-redes, repita as etapas para excluir cada sub-rede.

Etapa 2: excluir cada sub-rede no VPC

Exclua todos os gateways de VPN na sub-rede, se houver

Para listar todos os gateways de VPN em sua conta, execute o comando a seguir:

curl -X GET "$vpc_api_endpoint/v1/vpn_gateways?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Execute o comando a seguir para cada gateway de VPN na sub-rede que você deseja excluir, sendo que $vpnid é o ID do gateway de VPN.

curl -X DELETE "$vpc_api_endpoint/v1/vpn_gateways/$vpnid?version=$version&generation=2" \
     -H "Authorization:$iam_token"

O status do gateway VPN muda para deleting imediatamente, mas ele ainda é retornado ao executar uma consulta de lista. A exclusão de um gateway de VPN pode levar até 30 minutos. É possível solicitar que outros recursos de sub-rede sejam excluídos em paralelo enquanto você espera que o gateway VPN seja excluído. No entanto, a sub-rede não pode ser excluída até que o gateway de VPN e todos os outros recursos da sub-rede deixem de aparecer nas consultas da lista.

Excluir todos os balanceadores de carga na sub-rede, se houver

Para listar todos os balanceadores de carga em sua conta, execute o comando a seguir:

curl -X GET "$vpc_api_endpoint/v1/load_balancers?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Execute o comando a seguir para cada balanceador de carga na sub-rede que você deseja excluir, sendo que $lbid é o ID do balanceador de carga.

curl -X DELETE "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$version&generation=2" \
     -H "Authorization:$iam_token"

O status do balanceador de carga muda para deleting imediatamente, mas ele ainda é retornado ao executar uma consulta de lista. A exclusão de um balanceador de carga pode levar até 30 minutos. É possível solicitar que outros recursos de sub-rede sejam excluídos em paralelo enquanto você espera que o balanceador de carga seja excluído. No entanto, a sub-rede não pode ser excluída até que o balanceador de carga e todos os outros recursos da sub-rede deixem de aparecer nas consultas da lista.

Exclua todas as interfaces de rede na sub-rede, se houver

Uma instância pode ter várias interfaces de rede que podem pertencer a várias sub-redes do VPC. Antes que uma sub-rede possa ser excluída, qualquer interface de rede na sub-rede deve ser excluída primeiro. A única maneira de excluir uma interface de rede em uma sub-rede é excluir a instância.

Para listar todas as interfaces de rede de uma instância, execute o comando a seguir:

curl -X GET "$vpc_api_endpoint/v1/instances/$vsi/network_interfaces?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Se existir uma interface de rede secundária na sub-rede que você está tentando excluir, será necessário excluir a instância. Uma interface de rede não pode ser excluída da instância sem excluir a instância.

Para listar todas as instâncias em sua conta, execute o comando a seguir:

curl -X GET "$vpc_api_endpoint/v1/instances?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Se você estiver excluindo todas as instâncias na VPC, será possível executar o comando a seguir para cada instância na VPC, em que $vsi é o ID da instância que você deseja excluir. Quando a instância é excluída, todas as interfaces de rede em outras sub-redes, se houver, são excluídas automaticamente.

As instâncias devem ser paradas antes da exclusão. Para obter mais informações, consulte Criar uma ação de instância para usar a solicitação type e a ação stop.

curl -X DELETE "$vpc_api_endpoint/v1/instances/$vsi?version=$version&generation=2" \
     -H "Authorization:$iam_token"

O status da instância muda imediatamente para “ deleting ”, mas ela ainda pode aparecer nos resultados de uma consulta de lista. A exclusão de uma instância pode levar até 30 minutos. É possível solicitar que outros recursos de sub-rede sejam excluídos em paralelo enquanto você aguarda a exclusão da instância. No entanto, a sub-rede não pode ser excluída até que a instância e todos os outros recursos da sub-rede não apareçam mais nas consultas da lista.

Excluir a sub-rede

Depois que todos os recursos na sub-rede forem excluídos e não forem retornados ao executar uma consulta de lista, execute o comando a seguir para excluir a sub-rede:

curl -X DELETE "$vpc_api_endpoint/v1/subnets/$subnet?version=$version&generation=2" \
     -H "Authorization:$iam_token"

O status da sub-rede é mudado para deleting imediatamente, mas é possível que ela demore alguns minutos para ser excluída e não mais ser retornada nas consultas de lista.

Etapa 3: excluir todos os gateways públicos no VPC, se houver

Para listar todos os gateways públicos em sua conta, execute o comando a seguir:

curl -X GET "$vpc_api_endpoint/v1/public_gateways?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Para cada gateway público no VPC que você deseja excluir, execute o comando a seguir para excluir o gateway público, em que $gateway é o ID do gateway público.

curl -X DELETE "$vpc_api_endpoint/v1/public_gateways/$gateway?version=$version&generation=2" \
     -H "Authorization:$iam_token"

Etapa 4: excluir o VPC

Após a exclusão de todas as sub-redes e gateways públicos na VPC, execute o comando a seguir para excluir a VPC, em que $vpc é o ID da VPC sendo excluído.

curl -X DELETE "$vpc_api_endpoint/v1/vpcs/$vpc?version=$version&generation=2" \
     -H "Authorization:$iam_token"

O status da VPC é mudado para deleting imediatamente, mas é possível que ele demore alguns minutos para ser excluído e não mais aparecer nas consultas de lista.