Visão geral do Infrastructure Manager

O Infrastructure Manager (Infra Manager) é um serviço gerenciado que simplifica e automatiza a implantação e o gerenciamento dos recursos de infraestrutura do Google Cloud . Ao usar as configurações do Terraform (também chamadas de blueprints), o Infra Manager fornece um conjunto de ferramentas Google Cloud gerenciado para implementar fluxos de trabalho de infraestrutura como código (IaC).

Com o Infra Manager, é possível:

  • Defina sua infraestrutura de forma declarativa usando o Terraform.
  • Implante configurações do Terraform armazenadas em buckets do Cloud Storage, repositórios do Git ou diretórios locais.
  • Gerencie o ciclo de vida da infraestrutura com implantações e revisões.
  • Crie implantações de pré-lançamento para ver como as mudanças afetam sua infraestrutura antes de aplicá-las.
  • Use integrações com o Cloud Build para fluxos de trabalho automatizados.

O Infra Manager não gerencia a implantação de aplicativos nos recursos. Para a implantação de aplicativos, use Google Cloud produtos como o App Lifecycle Manager, o Cloud Build e o Cloud Deploy ou ferramentas de terceiros.

Para trabalhar com o Infra Manager, é preciso conhecer o Terraform. Para saber mais sobre o Terraform com o Google Cloud, consulte Terraform noGoogle Cloud.

Para saber mais sobre o que é o Terraform e como ele funciona, consulte O que é o Terraform? da HashiCorp.

Infra Manager e infraestrutura como código

O Infra Manager permite usar a IaC para gerenciar o ciclo de vida dos recursos doGoogle Cloud :

  • O Terraform é definido de forma declarativa em uma configuração do Terraform. Isso significa que a configuração descreve o estado final da infraestrutura.
  • É possível criar versões da configuração do Terraform em um repositório Git ou em um bucket do Cloud Storage. Use o controle de versões de objeto para controlar as versões das configurações em um bucket de armazenamento.
  • Use o Infra Manager para atualizar a implantação da infraestrutura com revisões. Para cada revisão, o Infra Manager armazena o seguinte:
    • Registros
    • A configuração usada para fazer a revisão
    • A lista de recursos do Google Cloud criados pela revisão
    • O arquivo de estado criado como parte de cada implantação e revisão

Consulte Infraestrutura como código no Google Cloud para mais informações sobre IaC.

Personalizar implantações usando valores de entrada

É possível parametrizar as configurações do Terraform com variáveis de entrada do Terraform, que o Infra Manager chama de valores de entrada. Os valores de entrada permitem personalizar uma implantação e reutilizar a mesma configuração em vários ambientes ou implantações sem modificar o código-fonte da configuração do Terraform. É possível fornecer valores para variáveis obrigatórias que não têm um valor padrão ou substituir os valores padrão atuais.

É possível transmitir valores de entrada ao criar, atualizar ou visualizar uma implantação. Para mais informações sobre como definir e usar variáveis de entrada no Terraform, consulte a documentação sobre variáveis de entrada da HashiCorp.

Como o Infra Manager funciona

Veja a seguir uma descrição do que acontece em um cenário em que você usa o Infra Manager para implantar a infraestrutura:

  1. Os recursos de infraestrutura a serem implantados no Google Cloud são definidos em uma configuração do Terraform.
    • Você pode criar esse arquivo por conta própria ou usar uma configuração que já esteja escrita para o Google Cloud. Consulte Terraform e Infrastructure Manager para mais detalhes.
    • É possível armazenar a configuração do Terraform em um bucket do Cloud Storage, em um repositório Git ou na máquina local.
  2. Ao usar o Infra Manager para implantar recursos de uma configuração do Terraform, você cria uma implantação. Para criar uma implantação, o Infra Manager:
    1. Valida a solicitação. Por exemplo, ele garante que, no comando, você especificou o local da configuração do Terraform.
    2. Cria um job do Cloud Build usando uma imagem de contêiner. Esta imagem é de propriedade e mantida por Google Cloud. Consulte Ambiente de execução para detalhes sobre o ambiente de build do Cloud Build. O job do Cloud Build automatiza as seguintes tarefas:
      1. Faz o download do módulo do Terraform no bucket de armazenamento ou no repositório do Git.
      2. Inicializa o Terraform (terraform init)
      3. Valida a configuração do Terraform (terraform validate)
      4. Ativa a configuração (terraform apply ou terraform destroy se você estiver excluindo uma implantação)
      5. Transmite registros do Cloud Build para um bucket de armazenamento criado pelo Infra Manager.
      6. Se a implantação falhar, o Infra Manager vai repetir automaticamente as operações terraform init ou terraform apply em determinados cenários, como se houver falha com interrupções de rede intermitentes. Essas novas tentativas são realizadas um número limitado de vezes.
    3. Cria um bucket do Cloud Storage e armazena metadados sobre a implantação. Para mais informações sobre a implantação e os metadados, consulte Visão geral da implantação e da revisão.
  3. Quando a implantação é concluída, os recursos do Google Cloud são provisionados conforme descrito na configuração.

    É possível consultar a implantação do Infra Manager para:

    • status da implantação
    • A lista de recursos que são implantados como parte da implantação.
    • Detalhes sobre recursos individuais que fazem parte de uma implantação.

Ambiente de execução

O ambiente de execução do Infra Manager é um ambiente temporário do Cloud Build. O Infra Manager executa comandos do Terraform nesse ambiente de build do Cloud Build e, em seguida, o ambiente é descartado.

O sistema operacional específico, o software disponível e outros detalhes de configuração do ambiente de build do Cloud Build são detalhes de implementação interna do Infra Manager e podem mudar a qualquer momento.

É possível especificar qual versão compatível do Terraform usar em cada implantação.

Não inclua informações pessoais ou sensíveis

Não inclua informações pessoais ou sensíveis nos valores de configuração do Terraform.

Para mais informações sobre configurações do Terraform e dados sensíveis, consulte Valores de configuração do Terraform e dados sensíveis.

A seguir