Gerenciamento de recursos com Schematics

Implemente, modifique e remova recursos do IBM Cloud® usando IBM Cloud Schematics para aplicar seus modelos do Terraform.

Implementando seus recursos

Implemente seu Terraform configs para provisionar ou modificar seus recursos de nuvem com Schematics.

Antes de Iniciar

Para implementar seus recursos

  1. No painel da área de trabalho, selecione a área de trabalho do modelo do Terraform que deseja aplicar.

    Os exemplos de modelos de amostra estão listados em Cloud Schematics GitHub,. Você pode usar um dos modelos para teste. Por exemplo, VPC multizona fácil.

  2. Selecione a guia Configurações.

  3. Na seção Details (Detalhes), clique em Pull latest (Puxar mais recente ) para obter a versão mais recente do seu modelo do Terraform a partir do repositório de origem vinculado GitHub. Se você tiver fornecido o modelo do Terraform fazendo upload de um arquivo tar (.tar), deverá usar o comando ibmcloud schematics workspace upload para fornecer uma nova versão do modelo.

  4. Opcional: revise as variáveis configuradas para sua área de trabalho. Os valores de suas variáveis são usados sempre que você fizer referência à variável em seu modelo do Terraform.

  5. Clique em Gerar plano para criar um plano de execução do Terraform. Depois de clicar nesse botão, a página Jobs do espaço de trabalho é aberta e o site Schematics executa um terraform plan para comparar o estado dos recursos que você já provisionou na sua conta IBM Cloud com os recursos que deseja provisionar com o seu modelo do Terraform.

  6. Clique em Jobs para revisar o registro do seu plano de execução. O plano de execução inclui um resumo dos recursos da nuvem que são criados, modificados ou excluídos para atingir o estado descrito no modelo do Terraform. Se tiver erros de sintaxe em seus arquivos de configuração do Terraform, será possível revisar a mensagem de erro no arquivo de log.

  7. Analise os planos de serviço disponíveis e as informações de preços de cada um dos recursos de nuvem que o Schematics está prestes a criar ou alterar. Alguns serviços são fornecidos com um limite por conta do IBM Cloud. Se estiver prestes a atingir o limite de serviço para sua conta, o recurso não será provisionado até que você aumente a cota de serviço ou remova os serviços existentes primeiro.

  8. Quando você estiver pronto, aplique seu modelo Terraform clicando em Aplicar plano. Esta ação gera o mesmo resultado que o comando terraform apply. Depois que você clicar no botão, o site IBM Cloud Schematics começará a provisionar, modificar ou excluir seus recursos de nuvem com base nas ações identificadas no plano de execução. Dependendo do tipo e do número de recursos que você deseja provisionar ou modificar, este processo pode levar alguns minutos ou até mesmo horas para ser concluído. Durante este período, não será possível fazer mudanças em sua área de trabalho. Depois que todas as atualizações são aplicadas, o estado dos recursos da nuvem é armazenado em um arquivo de estado do Terraform que o IBM Cloud Schematics usa para determinar quais recursos existem na sua conta do IBM Cloud.

    Se você desejar parar de aplicar seu modelo do Terraform, será possível usar o botão Parar. Observe que todos os recursos que já estão criados não são removidos. Se um recurso estiver sendo provisionado atualmente, o Schematics esperará a conclusão do fornecimento e, em seguida, parará a criação, a atualização ou a exclusão de quaisquer outros recursos em seu modelo Terraform.

  9. Analise o registro de trabalho para garantir que não ocorreram erros durante o processo de provisionamento, modificação ou exclusão.

  10. Na navegação, selecione Recursos para encontrar um resumo dos recursos da nuvem que estão disponíveis em sua conta IBM Cloud.

Atualizando seus recursos

Para atualizar os recursos da nuvem, atualize seu modelo do Terraform com as alterações necessárias que devem ser realizadas nos recursos.

Dependendo da mudança na configuração, o Terraform pode não ser capaz de atualizar seu recurso no local. Em vez disso, o Terraform precisa primeiro excluir o recurso e criar um novo. Se o Terraform identificar um recurso a ser removido e recriado, certifique-se de não interromper um ambiente de trabalho ou excluir dados.

Para atualizar seus recursos:

  1. No painel do espaço de trabalho, selecione o espaço de trabalho que aponta para o modelo do Terraform que você atualizou.

  2. Selecione a guia Configurações.

  3. Na seção Details (Detalhes), clique em Pull latest (Puxar mais recente ) para obter a versão mais recente do seu modelo do Terraform a partir do repositório de origem vinculado GitHub. Se você tiver fornecido o modelo do Terraform fazendo upload de um arquivo tar (.tar), deverá usar o comando ibmcloud schematics workspace upload para fornecer uma nova versão do modelo.

  4. Se desejar alterar os valores de variáveis que você configurou quando criou a área de trabalho, altere os valores de variáveis..

  5. Clique em Gerar plano para criar um plano de execução do Terraform. Observe que, durante esse período, não será possível fazer mudanças em sua área de trabalho.

  6. Clique em Tarefas para revisar o log de sua execução O registro de trabalho fornece um resumo de todos os recursos que o IBM Cloud Schematics está prestes a modificar. O IBM Cloud Schematics pode não conseguir modificar alguns dos seus recursos e sugerir a remoção e a recriação do recurso.

  7. Clique em Aplicar plano para aplicar a nova versão do modelo Terraform. Dependendo das alterações que você fez, pode levar alguns minutos ou até algumas horas para que o modelo seja aplicado. Observe que, durante esse período, não será possível fazer mudanças em sua área de trabalho.

    Se você desejar parar de aplicar seu modelo do Terraform, será possível usar o botão Parar. Observe que as atualizações para recursos que já foram executadas não são revertidas. Se um recurso estiver sendo atualizado atualmente, o Schematics esperará a conclusão da atualização e, em seguida, parará a criação, a atualização ou a exclusão de quaisquer outros recursos em seu modelo do Terraform.

  8. Revise o registro do trabalho para garantir que não ocorreram erros durante o processo de modificação.

  9. Na navegação, selecione Recursos e verifique se seus recursos mostram a configuração atualizada.

Gerenciar a variação entre seu ambiente de nuvem e a configuração do Terraform

O gerenciamento de desvios entre o estado real do seu ambiente de nuvem e o seu código de infraestrutura, também referido como drift, é um desafio chave ao implementar a infraestrutura como código. Os desvios podem acontecer por muitas razões, como:

  • Você incluiu, atualizou ou removeu recursos em seu arquivo de configuração do Terraform sem executar seu código de infraestrutura.
  • Você incluiu, atualizou ou removeu manualmente a IBM Cloud sem o Terraform.
  • Você usou outras ferramentas de automação, como scripts, para manipular o estado dos seus recursos da nuvem.

Consulte o recurso de detecção de desvio da área de trabalho.

Revisando detalhes do recurso e da implementação

Veja os detalhes das implementações do IBM Cloud Schematics e dos recursos da nuvem que você gerencia atualmente com o IBM Cloud Schematics.

  1. No painel do espaço de trabalho, selecione o espaço de trabalho que deseja inspecionar.
  2. Na navegação, selecione Configurações para encontrar um resumo das atividades em seu espaço de trabalho.
  3. Revise os logs de planos de execução anteriores do Terraform e os planos aplicados.
  4. Na navegação, selecione Recursos para revisar o estado dos recursos da nuvem que você criou com esse espaço de trabalho.
  5. Para revisar quem fez uma mudança em seu modelo Terraform, acesse o repositório de origem no GitHub vinculado à sua área de trabalho e use os recursos integrados, como o histórico de confirmação e as solicitações de pull, para revisar as mudanças.
  6. Para revisar eventos que o Schematics enviou para o IBM Cloud Activity Tracker Event Routing, consulte Eventos do IBM Cloud Activity Tracker Event Routing.

Removendo seus recursos

Para remover um recurso de nuvem provisionado com IBM Cloud Schematics, você pode remover seus recursos com Schematics, excluir seu espaço de trabalho ou remover o código de infraestrutura no modelo do Terraform.

A remoção de um recurso da nuvem não pode ser desfeita. Certifique-se de ter feito backup de seus dados antes de remover um recurso. Ao optar por remover o código de infraestrutura ou comentar o recurso em seu arquivo de configuração do Terraform, certifique-se de revisar completamente o arquivo de log de seu plano de execução para verificar se todos os seus recursos estão incluídos na remoção.

Para remover recursos removendo a configuração de recurso em seu modelo do Terraform:

  1. Abra o arquivo de configuração do Terraform no repositório de origem no GitHub ou na máquina local.

  2. Remova o código de infraestrutura do arquivo ou comente os recursos que deseja remover, incluindo # no início de cada linha.

    Exemplo para remover um recurso comentando uma definição de recurso:

    # resource ibm_is_instance "vsi1" {
    #  name    = "${local.BASENAME}-vsi2"
    #  vpc     = ibm_is_vpc.vpc.id
    #  zone    = "${local.ZONE}"
    #  keys    = [data.ibm_is_ssh_key.ssh_key_id.id]
    #  image   = data.ibm_is_image.ubuntu.id
    #  profile = "cc1-2x4"
    
    #  primary_network_interface {
    #    subnet          = ibm_is_subnet.subnet1.id
    #    security_groups = [ibm_is_security_group.sg1.id]
    #  }
    #}
    
  3. Confirme a mudança em seu arquivo de configuração do Terraform.

  4. No painel da área de trabalho, selecione a área de trabalho para o modelo do Terraform que você acabou de mudar.

  5. Na navegação, selecione Configurações.

  6. Na seção Details (Detalhes), clique em Pull latest (Puxar mais recente ) para obter a versão mais recente do seu modelo do Terraform a partir do repositório de origem vinculado GitHub. Se você tiver fornecido o modelo do Terraform fazendo upload de um arquivo tar (.tar), deverá usar o comando ibmcloud schematics workspace upload para fornecer uma nova versão do modelo.

  7. Clique em Gerar plano para criar um plano de execução do Terraform. A página Jobs do espaço de trabalho é aberta. Observe que, durante esse período, não será possível fazer mudanças em sua área de trabalho.

  8. Clique em Jobs para revisar o registro do seu plano de execução. O registro fornece um resumo de todos os recursos que o IBM Cloud Schematics está prestes a remover.

  9. Clique em Aplicar plano para remover os recursos da nuvem de sua conta.

    Se você desejar parar de aplicar seu modelo do Terraform, será possível usar o botão Parar. Observe que todos os recursos que já foram removidos não são recriados. Se um recurso estiver sendo excluído atualmente, o Schematics esperará a conclusão da exclusão e, em seguida, parará a criação, a atualização ou a exclusão de quaisquer outros recursos em seu modelo do Terraform.

  10. Revise os arquivos de log para garantir que nenhum erro tenha ocorrido durante o processo de exclusão.

  11. Na navegação, selecione Recursos e verifique se seus recursos foram removidos.

  12. Opcional: depois de remover todos os seus recursos, remova sua área de trabalho.

  13. Abra o painel do espaço de trabalho e localize o espaço de trabalho que você deseja remover.

  14. Clique na guia Ações e selecione a opção Excluir área de trabalho.

  15. Digite o nome do seu espaço de trabalho na caixa de texto Digite workspace_name para confirmar.

  16. Clique no botão Excluir.

Para remover recursos usando o console do Schematics:

  1. No painel do espaço de trabalho, localize o espaço de trabalho que inclui os recursos que você deseja excluir.
  2. Clique na guia Actions (Ações ) e selecione a opção Destroy resources (Destruir recursos ).
  3. Digite o nome do seu espaço de trabalho na caixa de texto Digite workspace_name para confirmar. Observe que a destruição de recursos remove os recursos de sua área de trabalho e IBM Cloud. Essa ação não pode ser desfeita
  4. Clique no botão Destruir.
  5. Na navegação, selecione Jobs para revisar os registros da exclusão de recursos. Assegure que nenhum erro tenha ocorrido durante o processo de exclusão.
  6. Após a execução bem-sucedida do trabalho, na navegação, selecione Recursos e verifique se os recursos foram removidos.

Após a remoção de seus recursos ser concluída, a área de trabalho Schematics pode ser excluída.

Implementando seus recursos por meio da CLI

Implemente seu Terraform configs para provisionar ou modificar seus recursos de nuvem com Schematics.

Antes de iniciar:

Para implementar seus recursos:

  1. Em sua interface da linha de comandos local configure sua CLI e o plug-in Schematics.

  2. Liste a sua área de trabalho usando o comando ibmcloud schematics workspace list

  3. Obtenha a sua área de trabalho usando o comando ibmcloud schematics workspace get

  4. Se você forneceu seu modelo do Terraform fazendo upload de um archive de fita (.tar), deverá usar o comando ibmcloud schematics workspace upload.

  5. Crie o plano de execução do Terraform, usando o comando ibmcloud schematics plan

  6. Use o seu ID da área de trabalho para recuperar os logs usando o comando ibmcloud schematics logs

  7. Quando estiver pronto, execute o comando ibmcloud schematics apply.

    Se desejar parar de aplicar seu modelo do Terraform, será possível usar o comando ibmcloud schematics job delete. Observe que todos os recursos que já estão criados não são removidos. Se um recurso estiver sendo provisionado atualmente, o Schematics esperará a conclusão do fornecimento e, em seguida, parará a criação, a atualização ou a exclusão de quaisquer outros recursos em seu modelo Terraform.

  8. Analise o registro de trabalho para garantir que não ocorreram erros durante o processo de provisionamento, modificação ou exclusão.

  9. No painel de navegação, selecione Resources (Recursos ) para encontrar um resumo dos recursos da nuvem que estão disponíveis em sua conta IBM Cloud.

Atualizando seus recursos por meio da CLI

Para atualizar os recursos da nuvem, atualize seu modelo do Terraform com as alterações necessárias que devem ser realizadas nos recursos.

Dependendo da mudança na configuração, o Terraform pode não ser capaz de atualizar seu recurso no local. Em vez disso, o Terraform precisa primeiro excluir o recurso e criar um novo. Se o Terraform identificar um recurso a ser removido e recriado, certifique-se de não interromper um ambiente de trabalho ou excluir dados.

Para atualizar seus recursos:

  1. Em sua interface da linha de comandos configure sua CLI e o plug-in Schematics.

  2. Liste a sua área de trabalho usando o comando ibmcloud schematics workspace list

  3. Obtenha a sua área de trabalho usando o comando ibmcloud schematics workspace get

  4. Se você forneceu seu modelo do Terraform fazendo upload de um archive de fita (.tar), deverá usar o comando ibmcloud schematics workspace upload.

  5. Crie o plano de execução do Terraform, usando o comando ibmcloud schematics plan

  6. Use o seu ID da área de trabalho para recuperar os logs usando o comando ibmcloud schematics logs

  7. Quando estiver pronto, execute o comando ibmcloud schematics apply.

    Se desejar parar de aplicar seu modelo do Terraform, será possível usar o comando ibmcloud schematics job delete. Observe que todos os recursos que já estão criados não são removidos. Se um recurso estiver sendo provisionado atualmente, o Schematics esperará a conclusão do fornecimento e, em seguida, parará a criação, a atualização ou a exclusão de quaisquer outros recursos em seu modelo Terraform.

  8. Analise o registro de trabalho para garantir que não ocorreram erros durante o processo de provisionamento, modificação ou exclusão.

  9. No painel de navegação, selecione Resources (Recursos ) para encontrar um resumo dos recursos da nuvem que estão disponíveis em sua conta IBM Cloud.

Gerenciando o desvio entre seu ambiente de nuvem e a configuração do Terraform por meio da CLI

O gerenciamento de desvios entre o estado real do seu ambiente de nuvem e o seu código de infraestrutura, também referido como drift, é um desafio chave ao implementar a infraestrutura como código. Os desvios podem acontecer por muitas razões, como:

  • Você incluiu, atualizou ou removeu recursos em seu arquivo de configuração do Terraform sem executar seu código de infraestrutura.
  • Você incluiu, atualizou ou removeu manualmente a IBM Cloud sem o Terraform.
  • Você usou outras ferramentas de automação, como scripts, para manipular o estado dos seus recursos da nuvem.

Consulte o recurso de detecção de desvio da área de trabalho.

Revisando detalhes de recurso e implementação por meio da CLI

Veja os detalhes das implementações do IBM Cloud Schematics e dos recursos da nuvem que você gerencia atualmente com o IBM Cloud Schematics.

  1. Em sua interface da linha de comandos configure sua CLI e o plug-in Schematics.
  2. No painel de navegação, selecione Resources (Recursos ) para encontrar um resumo dos recursos da nuvem que estão disponíveis em sua conta IBM Cloud.
  3. Para revisar quem fez uma mudança em seu modelo Terraform, acesse o repositório de origem no GitHub vinculado à sua área de trabalho e use os recursos integrados, como o histórico de confirmação e as solicitações de pull, para revisar as mudanças.
  4. Para revisar eventos que o Schematics enviou para o IBM Cloud Activity Tracker Event Routing, consulte Eventos do IBM Cloud Activity Tracker Event Routing.

Removendo seus recursos por meio da CLI

Para remover um recurso de nuvem provisionado com IBM Cloud Schematics, você pode remover seus recursos com Schematics, excluir seu espaço de trabalho ou remover o código de infraestrutura no modelo do Terraform.

A remoção de um recurso da nuvem não pode ser desfeita. Certifique-se de ter feito backup de seus dados antes de remover um recurso. Ao optar por remover o código de infraestrutura ou comentar o recurso em seu arquivo de configuração do Terraform, certifique-se de revisar completamente o arquivo de log de seu plano de execução para verificar se todos os seus recursos estão incluídos na remoção.

Para remover seus recursos, exclua o código de infraestrutura do seu modelo do Terraform:

  1. Abra o arquivo de configuração do Terraform no repositório de origem no GitHub ou na máquina local.

  2. Remova o código de infraestrutura do arquivo ou comente os recursos que deseja remover, incluindo # no início de cada linha.

    Exemplo para comentar um recurso:

    
    #resource ibm_is_instance "vsi1" {
    #  name    = "${local.BASENAME}-vsi2"
    #  vpc     = ibm_is_vpc.vpc.id
    #  zone    = "${local.ZONE}"
    #  keys    = [data.ibm_is_ssh_key.ssh_key_id.id]
    #  image   = data.ibm_is_image.ubuntu.id
    #  profile = "cc1-2x4"
    
    #  primary_network_interface {
    #    subnet          = ibm_is_subnet.subnet1.id
    #    security_groups = [ibm_is_security_group.sg1.id]
    #  }
    #}
    
  3. Confirme a mudança em seu arquivo de configuração do Terraform.

  4. Em sua interface da linha de comandos configure sua CLI e o plug-in Schematics.

  5. Obtenha a sua área de trabalho usando o comando ibmcloud schematics workspace get

  6. Se você forneceu seu modelo do Terraform fazendo upload de um archive de fita (.tar), deverá usar o comando ibmcloud schematics workspace upload.

  7. Crie o plano de execução do Terraform, usando o comando ibmcloud schematics plan

  8. Use o seu ID da área de trabalho para recuperar os logs usando o comando ibmcloud schematics logs

  9. Quando estiver pronto, execute o comando ibmcloud schematics apply.

    Se desejar parar de aplicar seu modelo do Terraform, será possível usar o comando ibmcloud schematics job delete. Observe que todos os recursos que já estão criados não são removidos. Se um recurso estiver sendo provisionado atualmente, o Schematics esperará a conclusão do fornecimento e, em seguida, parará a criação, a atualização ou a exclusão de quaisquer outros recursos em seu modelo Terraform.

  10. Analise o registro de trabalho para garantir que não ocorreram erros durante o processo de provisionamento, modificação ou exclusão.

  11. No painel de navegação, selecione Resources (Recursos ) para encontrar um resumo dos recursos da nuvem que estão disponíveis em sua conta IBM Cloud.

  12. Opcional: depois de remover todos os recursos, remova a área de trabalho usando o comando ibmcloud schematics workspace delete.