Resource Manager e Terraform
O Terraform é uma ferramenta de Infraestrutura como Código (IaC) suportada pelo Resource Manager para provisionar, configurar e gerenciar recursos do Oracle Cloud Infrastructure (OCI).
Para obter informações sobre ferramentas do IaC suportadas pelo Resource Manager, consulte Infraestrutura Suportada como Ferramentas de Código.
Cada pilha no Resource Manager está associada a uma configuração do Terraform e a um arquivo de estado do Terraform. Uma compreensão dos conceitos do Hashicorp Terraform é fundamental para gerenciar recursos com sucesso com o Resource Manager.
Configuração do Terraform
As configurações do Terraform codificam a infraestrutura em arquivos declarativos que contêm as etapas necessárias para provisionar a infraestrutura e manter o estado dela. Para gerenciar recursos do OCI, a configuração deve especificar o terraform-provider-ociprovedor Terraform.
O Resource Manager requer que as configurações do Terraform criem pilhas para provisionar e gerenciar recursos da OCI. As configurações predefinidas do Terraform estão disponíveis como modelos e você também pode gerar configurações do Terraform com base em compartimentos existentes e nas páginas de criação de recursos (como Criar instância de computação). Após o provisionamento inicial dos seus recursos do OCI, o Resource Manager usa a configuração do Terraform da pilha para detectar divergências de recursos (a diferença entre estados de recursos e a configuração).
Para obter um passo a passo que inclui gravar uma configuração de amostra do Terraform, consulte Conceitos Básicos.
Para obter informações sobre como criar nossas próprias configurações do Terraform, consulte Configurações do Terraform para o Resource Manager e Criando Configurações.
Estado do Terraform
Os arquivos de estado do Terraform são gerados e atualizados automaticamente pelo Resource Manager. O Resource Manager armazena arquivos de estado do Terraform para pilhas para que você não precise fazer isso. O arquivo de estado da pilha (.tfstate, no formato JSON) mapeia os recursos da sua pilha para sua configuração e mantém metadados de configuração essenciais, como dependências de recursos.
Várias pessoas podem trabalhar em uma pilha simultaneamente porque o estado da pilha está bloqueado, permitindo que apenas um job por vez seja executado em uma determinada pilha.
Para obter instruções relacionadas, consulte:
Cargos
Os jobs do Resource Manager usam arquivos de configuração e estado do Terraform para gerenciar seus recursos do Oracle Cloud Infrastructure (OCI) por meio das ações do Terraform a seguir.
- Planejar: Faz parsing da sua configuração do Terraform e cria um plano de execução para a pilha associada. O plano de execução lista a sequência de ações específicas planejadas para provisionar seus recursos do OCI. O plano de execução é entregue ao job de aplicação, que executa as instruções.
- Aplicação. Aplica o plano de execução à pilha associada para criar (ou modificar) seus recursos do OCI. Dependendo do número e do tipo de recursos especificados, um determinado job de aplicação pode demorar um pouco. Você pode verificar o status enquanto o job é executado.
- Destruir Libera recursos associados a uma pilha. Os recursos liberados não são excluídos. Por exemplo, encerra uma instância do serviço Compute controlada por uma pilha. O histórico e o estado do job da pilha permanecem após a execução de um job de destruição. Você pode monitorar o status e revisar os resultados de um job de destruição inspecionando os arquivos de log da pilha.
- Estado de Importação. Define o arquivo de estado do Terraform fornecido como o estado atual da pilha. Use este job para migrar ambientes locais do Terraform para o Resource Manager.
Quando você executa um job, os valores de variáveis da pilha são adicionados como variáveis de ambiente no host Terraform do Resource Manager. Por exemplo, a VCN especificada em uma pilha para uma determinada variável da VCN é adicionada como uma variável de ambiente.
Para obter um passo a passo que inclui a execução de jobs para as ações Planejar, Aplicar e Destruir do Terraform, consulte Conceitos Básicos.
Para obter instruções relacionadas a jobs para ações do Terraform, consulte Gerenciando Jobs.