Neste guia, descrevemos como excluir a Solução de início rápido do web app Java para compartilhamento de dados grandes. Use este guia para excluir uma implantação atual da solução.
O web app Java para compartilhamento de dados grandes não pode mais ser implantado no console do Google Cloud e não é compatível.
Custo
Para uma estimativa dos custos dos recursos do Google Cloud usados pela solução de aplicativo da Web Java para compartilhamento de grandes volumes de dados, consulte a estimativa pré-calculada na Calculadora de preços do Google Cloud.
Use a estimativa como um ponto de partida para calcular o custo da implantação. É possível modificar a estimativa para refletir as alterações de configuração feitas nos recursos usados na solução.
A estimativa pré-calculada tem como base suposições específicas, incluindo o seguinte:
- Os locais do Google Cloud em que os recursos são implantados.
- A quantidade de tempo de uso dos recursos.
Também é possível analisar os custos de uso dos recursos implantados. Para mais detalhes, consulte Conferir relatórios de faturamento e tendências de custo.
Receber as permissões de IAM necessárias
Para excluir uma implantação atual, você precisa das permissões do Identity and Access Management (IAM)
listadas na tabela a seguir. Se você tiver o
papel básico
roles/owner
para o projeto em que a solução está implantada, você
já terá todas as permissões necessárias. Se você não tiver o papel roles/owner
,
peça ao administrador para conceder essas permissões (ou os papéis que incluem
essas permissões) a você.
Permissão do IAM necessária | Papel predefinido que inclui as permissões necessárias |
---|---|
|
Administrador do Service Usage ( roles/serviceusage.serviceUsageAdmin ) |
|
Administrador da conta de serviço ( roles/iam.serviceAccountAdmin ) |
|
Administrador de projetos do IAM ( roles/resourcemanager.projectIamAdmin ) |
config.deployments.create config.deployments.list |
Administrador do Cloud Infrastructure Manager ( roles/config.admin ) |
Conta de serviço criada para a solução
Quando você inicia o processo de exclusão pelo console, uma conta de serviço é criada para implantar a solução em seu nome (e para excluir a implantação mais tarde, se você quiser). Essa conta de serviço recebe determinadas permissões do IAM temporariamente, ou seja, as permissões são revogadas automaticamente após a conclusão das operações de implantação e exclusão da solução. O Google recomenda que, após a exclusão da implantação, você exclua a conta de serviço, conforme descrito mais adiante neste guia.
Ver os papéis atribuídos à conta de serviço
Esses papéis são listados aqui caso um administrador do projeto ou da organização do Google Cloud precise dessas informações.
roles/storage.admin
roles/datastore.owner
roles/appengine.appAdmin
roles/compute.admin
roles/compute.networkAdmin
roles/cloudtrace.admin
roles/iam.serviceAccountUser
roles/run.admin
roles/monitoring.admin
roles/vpcaccess.admin
Excluir a implantação
Quando você não precisar mais da implantação da solução, exclua a implantação para evitar o faturamento contínuo dos recursos criados.
Excluir o projeto
Se você tiver implantado a solução em um novo projeto do Google Cloud e não for mais usar o projeto, exclua-o seguindo estas etapas:
- No Console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- No prompt, digite o ID do projeto e clique em Encerrar.
Se você decidir manter o projeto, exclua a conta de serviço criada para essa solução, conforme descrito na próxima seção.
Excluir usando o console
Se você excluir a implantação da solução por meio do console, o banco de dados do Firestore não será excluído. Para excluir esse banco de dados, exclua o projeto conforme descrito anteriormente.
Use este procedimento se você tiver implantado a solução pelo console.
No console do Google Cloud, acesse a página Implantações da solução.
Selecione o projeto que contém a implantação que você quer excluir.
Localize a implantação que você quer excluir.
Clique em
Ações e selecione Excluir.Digite o nome da implantação e clique em Confirmar.
O campo Status mostra Excluindo.
Se a exclusão falhar, consulte as orientações de solução de problemas em Erro ao excluir uma implantação.
Quando você não precisar mais do projeto do Google Cloud usado na solução, exclua-o. Para mais informações, consulte Opcional: excluir o projeto.
Excluir usando a CLI do Terraform
Se você excluir a implantação da solução usando a CLI do Terraform, o banco de dados do Firestore não será excluído. Para excluir esse banco de dados, exclua o projeto conforme descrito anteriormente.
Use este procedimento se você tiver implantado a solução usando a CLI do Terraform.
No Cloud Shell, verifique se o diretório de trabalho atual é
$HOME/cloudshell_open/terraform-large-data-sharing-java-webapp/infra
. Se não estiver, acesse esse diretório.Remova os recursos provisionados pelo Terraform:
terraform destroy
O Terraform exibe uma lista dos recursos que serão destruídos.
Quando for solicitado que você execute as ações, digite
yes
.O Terraform exibe as mensagens que mostram o progresso. Depois que todos os recursos forem excluídos, o Terraform exibirá a seguinte mensagem:
Destroy complete!
Se a exclusão falhar, consulte as orientações de solução de problemas em Erro ao excluir uma implantação.
Quando você não precisar mais do projeto do Google Cloud usado na solução, exclua-o. Para mais informações, consulte Opcional: excluir o projeto.
Opcional: excluir a conta de serviço
Se você excluiu o projeto usado para a solução, pule esta seção.
Como mencionado anteriormente neste guia, quando você implantou a solução, uma conta de serviço foi criada em seu nome. A conta de serviço recebeu determinadas permissões do IAM temporariamente, ou seja, as permissões foram revogadas automaticamente após a conclusão das operações de implantação e exclusão da solução, mas a conta de serviço não foi excluída. O Google recomenda que você exclua essa conta de serviço.
Se você implantou a solução pelo console do Google Cloud, acesse a página Implantações da solução. Se você já estiver nessa página, atualize o navegador. Um processo é acionado em segundo plano para excluir a conta de serviço. Nenhuma outra ação é necessária.
Se você implantou a solução usando a CLI do Terraform, conclua as etapas a seguir:
No Console do Google Cloud, acesse a página Contas de serviço.
Selecione o projeto usado para a solução.
Selecione a conta de serviço que você quer excluir.
O ID de e-mail da conta de serviço que foi criada para a solução está no seguinte formato:
goog-sc-DEPLOYMENT_NAME-NNN@PROJECT_ID.iam.gserviceaccount.com
O ID de e-mail contém os seguintes valores:
- DEPLOYMENT_NAME: o nome da implantação.
- NNN: um número aleatório de três dígitos.
- PROJECT_ID é o ID do projeto em que você implantou a solução.
Clique em Excluir.
Solucionar erros
As ações que podem ser realizadas para diagnosticar e resolver erros dependem do método de implantação e da complexidade dele.
Erro ao excluir uma implantação
Em alguns casos, as tentativas de excluir uma implantação podem falhar:
- Depois de implantar uma solução no console, se você alterar qualquer recurso provisionado por ela e tentar excluir a implantação, a exclusão poderá falhar. O campo Status na página Implantações da solução mostra Com falha e o registro do Cloud Build mostra a causa do erro.
- Depois de implantar uma solução usando a CLI do Terraform, se você alterar qualquer recurso
usando uma interface diferente do Terraform (por exemplo, o console)
e, em seguida, tentar excluir a implantação, a exclusão poderá falhar. As
mensagens na saída do comando
terraform destroy
mostram a causa do erro.
Revise os registros de erro e as mensagens, identifique e exclua os recursos que causaram o erro e tente excluir a implantação novamente.
Se uma implantação baseada em console não for excluída e não for possível diagnosticar o erro usando o registro do Cloud Build, será possível excluir a implantação usando a CLI do Terraform, conforme descrito na próxima seção.
Excluir uma implantação com base no console usando a CLI do Terraform
Nesta seção, descrevemos como excluir uma implantação baseada em console em caso de erros ao tentar excluí-la no console. Nesta abordagem, faça o download da configuração do Terraform para a implantação que você quer excluir e use a CLI do Terraform para excluir a implantação.
Identifique a região em que o código, os registros e outros dados do Terraform da implantação são armazenados. Essa região pode ser diferente da região selecionada durante a implantação da solução.
No console do Google Cloud, acesse a página Implantações de soluções.
Selecione o projeto que contém a implantação que você quer excluir.
Na lista de implantações, identifique a linha da implantação que você quer excluir.
Clique em
Consultar todo o conteúdo da linha.Na coluna Local, observe o segundo local, conforme destacado no exemplo a seguir:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Crie variáveis de ambiente para o ID do projeto, a região e o nome da implantação que você quer excluir:
export REGION="REGION" export PROJECT_ID="PROJECT_ID" export DEPLOYMENT_NAME="DEPLOYMENT_NAME"
Nesses comandos, substitua o seguinte:
- REGION: o local que você anotou anteriormente neste procedimento.
- PROJECT_ID: o ID do projeto em que você implantou a solução.
- DEPLOYMENT_NAME: o nome da implantação que você quer excluir.
Encontre o ID da revisão mais recente da implantação que você quer excluir:
export REVISION_ID=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .latestRevision -r) echo $REVISION_ID
O resultado será assim:
projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME/revisions/r-0
Encontre o local do Cloud Storage na configuração do Terraform para a implantação:
export CONTENT_PATH=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/${REVISION_ID}" \ | jq .applyResults.content -r) echo $CONTENT_PATH
Veja a seguir um exemplo da saída desse comando:
gs://PROJECT_ID-REGION-blueprint-config/DEPLOYMENT_NAME/r-0/apply_results/content
Faça o download da configuração do Terraform do Cloud Storage para o Cloud Shell:
gsutil cp -r $CONTENT_PATH $HOME cd $HOME/content/infra
Aguarde até que a mensagem
Operation completed
seja exibida, conforme mostrado no exemplo a seguir:Operation completed over 45 objects/268.5 KiB
Inicialize o Terraform:
terraform init
Aguarde até ver a seguinte mensagem:
Terraform has been successfully initialized!
Remova os recursos implantados:
terraform destroy
O Terraform exibe uma lista dos recursos que serão destruídos.
Se forem exibidos avisos sobre variáveis não declaradas, ignore-os.
Quando for solicitado que você execute as ações, digite
yes
.O Terraform exibe as mensagens que mostram o progresso. Depois que todos os recursos forem excluídos, o Terraform exibirá a seguinte mensagem:
Destroy complete!
Exclua o artefato de implantação:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}?force=true&delete_policy=abandon"
Aguarde alguns segundos e verifique se o artefato de implantação foi excluído:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .error.message
Se a saída mostrar
null
, aguarde alguns segundos e execute o comando novamente.Depois que o artefato de implantação for excluído, uma mensagem, como mostrado no seguinte exemplo, será exibida:
Resource 'projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME' was not found
A seguir
- Procure outras Soluções de início rápido.
- Saiba como o Sharechat usa o Cloud CDN para distribuir conteúdos de alta qualidade e baixa latência aos usuários a qualquer hora e em qualquer lugar.
- Consulte a visão geral do Cloud CDN.
- Saiba mais sobre as práticas recomendadas para o Cloud CDN