Esta página descreve como usar o Gerenciador de infraestrutura para atualizar uma implantação. Os casos em que você pode atualizar uma implantação incluem:
Para retornar a infraestrutura a um estado escolhido.
Quando você cria uma implantação, os recursos podem mudar depois de algum tempo. Por exemplo, alguns dos recursos podem ter sido modificados por alguém que trabalha no console. É possível atualizar a implantação usando a configuração original do Terraform para retornar ao estado escolhido.
Implementar mudanças na infraestrutura.
Depois de criar uma implantação, talvez você queira modificar a infraestrutura. Por exemplo, adicionar novos recursos ou mudar parte da configuração. É possível atualizar a implantação usando uma configuração do Terraform que descreve a nova infraestrutura.
Nesta página, consideramos que você já conhece o Terraform. Para mais detalhes, consulte Terraform e Infra Manager.
Antes de começar
- Verifique se o Infra Manager está ativado.
- Verifique se você tem as permissões do IAM necessárias para criar implantações:
roles/config.admin
- Verifique se você tem uma conta de serviço com as permissões necessárias. Para detalhes, consulte Configurar a conta de serviço.
- Identifique a implantação do Infra Manager a ser atualizada.
Identifique a configuração do Terraform a ser implantada para a atualização. Qualquer configuração pode ser usada para uma revisão. Essa configuração geralmente é uma versão idêntica ou atualizada da configuração já implantada.
Verifique se essa configuração do Terraform está em conformidade com as restrições, incluindo se a configuração não contém dados sensíveis.
Confirme a cota da sua organização para produtos associados à infraestrutura planejada. Você pode encontrar erros de implantação se a infraestrutura pretendida exceder a cota da sua organização para os produtos usados pela implantação. Consulte cotas e limites para mais informações.
Siga as etapas necessárias para a migração de dados ou a continuidade do serviço dos recursos que você está modificando.
Se você quiser conferir a atualização antes de configurar os recursos, consulte Conferir uma atualização de uma implantação.
Conceder permissões específicas para a configuração
Para implantar recursos do Google Cloud especificados na configuração do Terraform, a conta de serviço usada para chamar o Infra Manager precisa de permissões específicas para:
Recursos doGoogle Cloud definidos na configuração que você está usando para a revisão.
Se a configuração que você está usando para a revisão define recursos diferentes da configuração usada para a implantação, você precisa de permissões para os recursos definidos nas duas configurações.
As permissões específicas dos recursos definidos na configuração são adicionais às permissões que a conta de serviço precisa para usar o serviço Infra Manager.
Para detalhes sobre como conceder permissões para os recursos do Google Cloud e garantir que você tenha acesso aos projetos necessários, consulte Configurar a conta de serviço.
Conectar o repositório e o host Git particular ao Cloud Build
Se você estiver implantando uma configuração do Terraform em um repositório Git privado, será necessário conectar o host e o repositório do Git ao Cloud Build.
GitHub
GitHub Enterprise
GitLab
GitLab Enterprise
Atualizar uma implantação
Para atualizar uma implantação, implante uma configuração usando o mesmo nome de implantação, o que cria uma revisão. Para mais detalhes, consulte Visão geral de implantações e revisões.
Se você não tiver uma implantação, consulte Implantar infraestrutura usando o Infra Manager.
Para conferir uma prévia de uma atualização sem provisionar recursos, consulte Visualizar uma implantação.
Selecione a guia com o fluxo de trabalho escolhido para mais informações sobre como atualizar uma implantação.
Console
Esta seção descreve como atualizar uma configuração do Terraform usando o Infra Manager no console do Google Cloud.
Implante a configuração e crie uma revisão:
- No console do Google Cloud, acesse a página Infra Manager.
- Na página Deployments, procure na coluna ID e clique na implantação que você quer atualizar.
- Na página com o ID da implantação, clique em Editar.
- Na página Detalhes da implantação, é possível modificar os campos Versão do Terraform, Conta de serviço, e Origem da configuração do Terraform. Se você fornecer um repositório Git particular, verifique se o host e o repositório estão conectados ao Cloud Build.
Clique em Continuar.
- Na página Detalhes do Terraform, é possível modificar os valores de entrada da configuração do Terraform. Clique em Continuar.
- Na página Detalhes avançados, é possível modificar os campos Rótulos e anotações, Pools de workers e Bucket do bucket do Cloud Storage Storage.
- Clique em Atualizar quando estiver satisfeito com as mudanças feitas na implantação para iniciar o processo de atualização.
Para mais informações sobre os parâmetros de implantação e os formatos deles, consulte a documentação Implantar recursos.
CLI da gcloud
Esta seção descreve a implantação de uma configuração do Terraform armazenada em um bucket do Cloud Storage. Um bucket de armazenamento permite controlar o acesso à configuração.
- Verifique se a configuração do Terraform está em um bucket do Cloud Storage. Consulte Fazer upload de uma configuração para um bucket de armazenamento para mais detalhes.
Se o bucket de armazenamento estiver em um projeto diferente daquele em que você está executando o Infra Manager, verifique se a conta de serviço do Infra Manager tem permissão de leitura para o bucket. Consulte Configurar a conta de serviço para mais detalhes.
Se o bucket de armazenamento estiver no mesmo projeto que o Infra Manager, a permissão de leitura já estará ativada.
Implante a configuração e crie uma revisão:
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --quota-validation=QUOTA_VALIDATION \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
- PROJECT_ID: o ID do projeto em que o Infra Manager é executado.
- LOCATION: o local em que o Infra Manager é executado. Consulte Locais do Infra Manager para ver a lista de locais válidos.
- DEPLOYMENT_ID: o identificador de implantação especificado. Consulte Nome da implantação para saber mais sobre as restrições do identificador de implantação.
- SERVICE_ACCOUNT_PROJECT_ID é o ID do projeto da conta de serviço. É comum que esse seja o mesmo projeto em que o Infra Manager é executado.
- SERVICE_ACCOUNT: o nome da conta de serviço usada para chamar o Infra Manager.
- BUCKET_NAME: o nome do bucket de armazenamento em que a configuração está armazenada.
- OBJECT_NAME: o nome do objeto do arquivo de configuração. Esse objeto pode ser um diretório ou um arquivo ZIP, mas não um arquivo do Terraform. Se você estiver usando o controle de versões de objetos, também poderá especificar o número de geração do objeto. Para mais detalhes, consulte Usar objetos com versão.
Se o bucket de armazenamento for o caminho raiz da configuração do Terraform, OBJECT_NAME será opcional.
- Opcional: QUOTA_VALIDATION: o valor que determina se a validação de cota para recursos nos arquivos de configuração do Terraform é ativada ou aplicada quando você cria uma implantação. Os valores possíveis incluem:
ENABLED
: ative a validação da cota de computação para recursos em arquivos de configuração do Terraform. Oferece visibilidade dos recursos com cotas insuficientes.ENFORCED
: aplique a validação de cota para que a implantação falhe se não houver cota suficiente disponível para a infraestrutura definida no arquivo de configuração do Terraform.
Se QUOTA_VALIDATION não for definido, a validação de cota nos arquivos de configuração do Terraform será desativada. Esse é o valor padrão. A validação de cota se aplica a recursos limitados do Google Cloud . Para mais informações, consulte Cotas e limites.
INPUT_1_NAME e INPUT_2_NAME: todos os valores de entrada na configuração do Terraform, incluindo aqueles que não são definidos por padrão. Por exemplo, é possível especificar o projeto em que você implanta os recursos como
project_id=my-project
.Se todos os valores de entrada forem definidos por padrão na configuração, essa flag será opcional.
- Opcional:TERRAFORM_VERSION: a versão do Terraform que o Infra Manager vai usar para criar a implantação. Consulte versão do Terraform com suporte para conferir a lista de versões compatíveis. Se você remover essa flag opcional, a versão mais recente do Terraform será usada.
- Opcional: ANNOTATION_KEY e ANNOTATION_VALUE representam um par de chave-valor de texto em formato livre que pode ser anexado às implantações do Infra Manager. Para mais informações sobre o uso e as restrições de anotações e rótulos, consulte Anotações e rótulos.
CLI da gcloud
Esta seção descreve como trabalhar com uma configuração do Terraform armazenada em um repositório do Git.
- Verifique se você instalou o Git.
- Se a configuração do Terraform estiver armazenada em um
repositório Git particular , verifique se o host e o repositório do Git estão conectados ao Cloud Build. Implante a configuração e crie uma revisão:
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --git-source-repo="GIT_REPO" \ --git-source-directory="DIRECTORY" \ --git-source-ref="REF" \ --quota-validation=QUOTA_VALIDATION \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
- PROJECT_ID: o ID do projeto em que o Infra Manager é executado.
- LOCATION: o local em que o Infra Manager é executado. Consulte Locais do Infra Manager para ver a lista de locais válidos.
- DEPLOYMENT_ID: o identificador de implantação especificado. Consulte Nome da implantação para saber mais sobre as restrições do identificador de implantação.
- SERVICE_ACCOUNT_PROJECT_ID é o ID do projeto da conta de serviço. É comum que esse seja o mesmo projeto em que o Infra Manager é executado.
- SERVICE_ACCOUNT: o nome da conta de serviço usada para chamar o Infra Manager.
- GIT_REPO: o repositório Git.
- DIRECTORY: o diretório com a configuração do Terraform.
- Opcional: REF: a referência do Git da configuração. A referência é opcional. Se você não especificar a referência, a ramificação configurada padrão do repositório do Git será usada.
- Opcional: QUOTA_VALIDATION: o valor que determina se a validação de cota para recursos nos arquivos de configuração do Terraform é ativada ou aplicada quando você cria uma implantação. Os valores possíveis incluem:
ENABLED
: ative a validação da cota de computação para recursos em arquivos de configuração do Terraform. Oferece visibilidade dos recursos com cotas insuficientes.ENFORCED
: aplique a validação de cota para que a implantação falhe se não houver cota suficiente disponível para a infraestrutura definida no arquivo de configuração do Terraform.
Se QUOTA_VALIDATION não for definido, a validação de cota nos arquivos de configuração do Terraform será desativada. Esse é o valor padrão. A validação de cota se aplica a recursos limitados do Google Cloud . Para mais informações, consulte Cotas e limites.
INPUT_1_NAME e INPUT_2_NAME: todos os valores de entrada na configuração do Terraform, incluindo aqueles que não são definidos por padrão. Por exemplo, é possível especificar o projeto em que você implanta os recursos como
project_id=my-project
.Se todos os valores de entrada forem definidos por padrão na configuração, essa flag será opcional.
- Opcional:TERRAFORM_VERSION: a versão do Terraform que o Infra Manager vai usar para criar a implantação. Consulte versão do Terraform com suporte para conferir a lista de versões compatíveis. Se você remover essa flag opcional, a versão mais recente do Terraform será usada.
- Opcional: ANNOTATION_KEY e ANNOTATION_VALUE representam um par de chave-valor de texto em formato livre que pode ser anexado às implantações do Infra Manager. Para mais informações sobre o uso e as restrições de anotações e rótulos, consulte Anotações e rótulos.
CLI da gcloud
Esta seção descreve como trabalhar com uma configuração do Terraform armazenada na máquina local.
- Se você usa o Cloud Shell, é necessário fazer upload da configuração para ele. Para mais detalhes, consulte Gerenciar arquivos com o Cloud Shell.
Implante a configuração e crie uma revisão:
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --local-source="LOCAL_DIRECTORY" \ --quota-validation=QUOTA_VALIDATION \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
- PROJECT_ID: o ID do projeto em que o Infra Manager é executado.
- LOCATION: o local em que o Infra Manager é executado. Consulte Locais do Infra Manager para ver a lista de locais válidos.
- DEPLOYMENT_ID: o identificador de implantação especificado. Consulte Nome da implantação para saber mais sobre as restrições do identificador de implantação.
- SERVICE_ACCOUNT_PROJECT_ID é o ID do projeto da conta de serviço. É comum que esse seja o mesmo projeto em que o Infra Manager é executado.
- SERVICE_ACCOUNT: o nome da conta de serviço usada para chamar o Infra Manager.
- LOCAL_DIRECTORY: o diretório local que armazena a configuração do Terraform. Se você estiver usando o Cloud Shell, esse é o diretório em que a configuração é armazenada.
- Opcional: QUOTA_VALIDATION: o valor que determina se a validação de cota para recursos nos arquivos de configuração do Terraform é ativada ou aplicada quando você cria uma implantação. Os valores possíveis incluem:
ENABLED
: ative a validação da cota de computação para recursos em arquivos de configuração do Terraform. Oferece visibilidade dos recursos com cotas insuficientes.ENFORCED
: aplique a validação de cota para que a implantação falhe se não houver cota suficiente disponível para a infraestrutura definida no arquivo de configuração do Terraform.
Se QUOTA_VALIDATION não for definido, a validação de cota nos arquivos de configuração do Terraform será desativada. Esse é o valor padrão. A validação de cota se aplica a recursos limitados do Google Cloud . Para mais informações, consulte Cotas e limites.
INPUT_1_NAME e INPUT_2_NAME: todos os valores de entrada na configuração do Terraform, incluindo aqueles que não são definidos por padrão. Por exemplo, é possível especificar o projeto em que você implanta os recursos como
project_id=my-project
.Se todos os valores de entrada forem definidos por padrão na configuração, essa flag será opcional.
- Opcional:TERRAFORM_VERSION: a versão do Terraform que o Infra Manager vai usar para criar a implantação. Consulte versão do Terraform com suporte para conferir a lista de versões compatíveis. Se você remover essa flag opcional, a versão mais recente do Terraform será usada.
- Opcional: ANNOTATION_KEY e ANNOTATION_VALUE representam um par de chave-valor de texto em formato livre que pode ser anexado às implantações do Infra Manager. Para mais informações sobre o uso e as restrições de anotações e rótulos, consulte Anotações e rótulos.
A seguir
- Saiba mais sobre o Terraform com o Google Cloud.
- Automatizar implantações.
- Conferir o estado de uma implantação.
- Conferir os recursos implantados.
- Excluir uma implantação.