Visão Geral do Serviço Resource Manager

Automatize a implantação e as operações dos recursos do Oracle Cloud Infrastructure usando o serviço Resource Manager. Com as ferramentas compatíveis de Infraestrutura como Código (IaC), os engenheiros do DevOps podem desenvolver e implantar sua infraestrutura em qualquer lugar.

Uma configuração Terraform codifica sua infraestrutura em arquivos de configuração declarativos. O serviço Resource Manager permite que você compartilhe e gerencie configurações de infraestrutura e arquivos de estado em várias equipes e plataformas. Esse gerenciamento de infraestrutura não pode ser feito com instalações locais do Terraform e módulos do Oracle Terraform individuais. Para obter mais informações sobre o provedor Terraform do Oracle Cloud Infrastructure, consulte Provedor Terraform. Para obter uma introdução geral ao Terraform e ao modelo de "infraestrutura como código", consulte Comunidade do Terraform.

O Resource Manager é compatível com o Federal Information Processing Standard (FIPS). Para obter mais informações sobre a OCI em regiões do governo dos EUA, consulte Oracle US Government Cloud e Oracle US Defense Cloud.

Dica

Assista a uma introdução em vídeo ao serviço.

Principais Conceitos

Veja a seguir descrições resumidas dos principais conceitos e componentes do serviço Resource Manager.

configuração
Informações para codificar sua infraestrutura. Use sua configuração para especificar os recursos do Oracle Cloud Infrastructure em uma determinada pilha. Por exemplo, especifique metadados do recurso, definições da origem de dados e declarações variáveis. Cada arquivo de configuração do Terraform é um formato HashiCorp de Linguagem de Configuração (HCL) ou JSON. Os arquivos formatados em HCL usam a extensão de arquivo .tf . Os arquivos formatados em JSON usam a extensão de arquivo .tf.json.
Para origens de configuração do Terraform suportadas com o Resource Manager, consulte Onde Armazenar Suas Configurações do Terraform.
Por exemplo, configurações, consulte Exemplos de Provedor do Terraform do Oracle Cloud Infrastructure e Modelos Fornecidos pela Oracle. Para obter mais informações, consulte Configurações do Terraform para o Resource Manager e Criando Configurações; consulte também Documentação da Linguagem do Terraform.
provedor de origem de configuração
Informações de conexão a um sistema de controle de código-fonte em que seus arquivos de configuração do Terraform são armazenados. Use um provedor de origem de configuração para criar uma pilha com base em um arquivo de configuração Terraform remoto com controle de versão.
Um provedor de origem de configuração tem os seguintes tipos: 

Um provedor de origem de configuração pode ser um dos seguintes tipos:

  • Bitbucket
  • GitHub
  • GitLab

Veja a seguir os produtos suportados para cada tipo de provedor de origem de configuração.

Um provedor de origem de configuração tem os seguintes estados do ciclo de vida:
  • Ativo: O provedor de origem de configuração está disponível para uso.
Para obter mais informações, consulte Gerenciando Provedores de Origem de Configuração e Criando uma Pilha.

Para obter um passo a passo usando a CLI para provisionamento de nuvem em um pipeline de CI/CD, consulte IaC na Nuvem: Integração do Terraform e do Resource Manager no Pipeline de CI/CD - Criação com a CLI do OCI.

deriva
Diferença entre o estado real da sua infraestrutura e a última configuração executada da pilha. Por exemplo, a divergência ocorre quando um membro da equipe adiciona uma tag de produção aos seus recursos ou quando um recurso falha. Você pode executar relatórios de detecção de divergência para determinar se os recursos provisionados têm estados diferentes dos definidos na última configuração executada da pilha. Você também pode exibir o status detalhado da divergência para cada recurso.
job
Instruções para executar as ações definidas em sua configuração. Apenas um job por vez pode ser executado em uma determinada pilha; além disso, você só pode ter um conjunto de recursos do Oracle Cloud Infrastructure em uma determinada pilha. Para provisionar outro conjunto de recursos, você deve criar uma pilha separada e usar outra configuração.
Os jobs armazenam o histórico sobre sua pilha associada. Por exemplo, os jobs de planejamento armazenam planos de execução gerados e os jobs de aplicação armazenam configurações (snapshots) e arquivos de estado. Os jobs residem no mesmo compartimento da pilha à qual estão associados. Um OCID  é designado a cada job.
Para obter informações sobre tipos de job do Resource Manager, consulte Criando um Job.
Um job tem os seguintes estados do ciclo de vida:
  • Aceito (ACCEPTED): O job foi aceito para processamento.
  • Em andamento (IN_PROGRESS): O job está sendo executado (em execução).
  • Falha (FAILED): O job não concluiu a execução.
  • Êxito (SUCCEEDED): O job foi concluído com sucesso.
  • Cancelando (CANCELING): O job está sendo cancelado; uma notificação foi enviada, mas a execução do job ainda não foi interrompida.
  • Cancelado (CANCELED): O job foi cancelado e sua execução foi interrompida.
Política de repetição padrão: Um job pode falhar por causa de um problema de serviço downstream. Por exemplo, um job de aplicação para criar uma instância de computação pode falhar por causa de um problema de conectividade temporário no serviço Compute. Quando um job falha por causa de um problema de serviço downstream, o job é repetido de acordo com a política de repetição padrão do Go SDK. Consulte Ir SDK para o Oracle Cloud Infrastructure.
módulo
Um grupo de recursos relacionados. Use os módulos para criar abstrações leves e reutilizáveis, para que você possa descrever sua infraestrutura em termos de sua arquitetura. Para obter informações, consulte Criando Módulos.
pacote
Normalmente, um arquivo .zip em uma configuração do Terraform que é armazenado em um provedor suportado, como GitHub. Para obter mais informações, consulte Usando o Botão Implantar no Oracle Cloud.
ponto final privado
Informações de rede para conexão com um recurso não público. Para obter mais informações, consulte Gerenciando Pontos Finais Privados.
descoberta de recursos
Uma funcionalidade para capturar recursos implantados do Oracle Cloud Infrastructure como configuração do Terraform e arquivos de estado. Para obter mais informações, consulte Descoberta de Recursos.
pilha
A coleção de recursos do Oracle Cloud Infrastructure correspondentes a uma determinada configuração do Terraform. Cada pilha reside no compartimento especificado, em uma única região; no entanto, os recursos de uma determinada pilha podem ser implantados em várias regiões. Um OCID  é designado a cada pilha.
Para ver as etapas de criação de pilhas, consulte Criando uma Pilha. Para origens de configuração do Terraform suportadas com o Resource Manager, consulte Onde Armazenar Suas Configurações do Terraform.
Uma pilha tem os seguintes estados do ciclo de vida:
  • Criando: A pilha está sendo criada.
  • Ativa: A pilha está disponível para uso.
  • Excluindo: A pilha está sendo excluída.
  • Excluída: A pilha foi excluída.
  • Falha: Não foi possível criar a pilha.
estado
O estado da configuração do recurso, armazenado no formato JSON em um arquivo de estado (.tfstate). Para obter mais informações, consulte Gerenciamento de Estado.
modelo
Uma configuração de Terraform pré-criada que provisiona um conjunto de recursos usados em um cenário comum. O modelo pode ser fornecido pela Oracle ou por alguém em sua tenancy, como um modelo privado. Para criar pilhas com base em modelos, consulte Criando uma Pilha com Base em um Modelo. Para referência, consulte Modelos Fornecidos pela Oracle.

Para criar modelos privados, consulte Gerenciando Modelos Privados.

Recursos

Modelos

Um modelo é uma configuração do Terraform que você pode usar para gerenciar a infraestrutura. Os modelos ajudam os clientes novos em infraestrutura como código e que estão atualizando configurações de workflow de produção. Use modelos para experimentar o Resource Manager e aplicar as melhores práticas comprovadas à configuração do fluxo de trabalho de produção. Para obter informações sobre modelos fornecidos pela Oracle, consulte Modelos Fornecidos pela Oracle.

Crie seus próprios modelos privados para compartilhar com outras pessoas na tenancy.

Iniciar com uma Página de Criação de Recurso

Salve sua configuração de uma página de configuração de recurso em uma pilha. Use a pilha para instalar, configurar e gerenciar o recurso por meio do modelo "infraestrutura como código". Para obter mais informações, consulte Criando uma Pilha a partir de uma Página de Criação de Recurso.

CI/CD com o Resource Manager

Armazene remotamente suas configurações do Terraform usando sistemas integrados de controle de código-fonte, como Bitbucket Cloud, Bitbucket Server, DevOps, GitHub e GitLab. Essa integração ajuda você a obter integração e entrega contínuas (CI/CD).

Para obter mais informações, consulte:

Para obter um passo a passo usando a CLI para provisionamento de nuvem em um pipeline de CI/CD, consulte IaC na Nuvem: Integração do Terraform e do Resource Manager no Pipeline de CI/CD - Criação com a CLI do OCI.

Além disso, também permitimos o armazenamento de configurações do Terraform em buckets do Object Storage. Para obter mais informações, consulte Criando uma Pilha com Base em um Bucket.

Descoberta de Recursos

Uma funcionalidade para capturar recursos implantados como configuração do Terraform e arquivos de estado. Com esse recurso, é possível:

  • Transfira da infraestrutura gerenciada manualmente para a infraestrutura controlada pelo Resource Manager.
  • Saber como o Terraform usa a sintaxe HCL (HashiCorp Configuration Language) para representar recursos do Oracle Cloud Infrastructure.
  • Duplicar ou recriar a infraestrutura existente em outro compartimento.
Gerenciamento de Estado

O Resource Manager armazena arquivos de estado do Terraform para pilhas para que você não precise fazer isso. Várias pessoas podem trabalhar em uma pilha simultaneamente porque o Resource Manager bloqueia o estado da pilha, permitindo que apenas um job de cada vez seja executado em uma determinada pilha. O Resource Manager gera e atualiza automaticamente o arquivo de estado da pilha (.tfstate, no formato JSON). Esse arquivo mapeia os recursos da sua pilha para sua configuração e mantém metadados de configuração essenciais, como dependências de recursos.

Para obter mais informações sobre arquivos de estado do Terraform, consulte Estado.

detecção de desvio

Descubra se os recursos provisionados têm estados diferentes dos recursos definidos na configuração da última execução da pilha e exiba o status de desvio detalhado para cada recurso.

Opcionalmente, você pode limitar a detecção de desvio a recursos especificados. Cada recurso é identificado por um endereço de recurso, que é uma string derivada do tipo de recurso e do nome especificados na configuração do Terraform da pilha, além de um índice opcional. Por exemplo, o endereço do recurso da quarta instância do serviço Compute com o nome "test_instance" é oci_core_instance.test_instance[3]. O tipo de recurso é oci_core_instance, um ponto atua como delimitador, o nome do recurso é test_instance e o índice é 3 entre colchetes. Para obter mais detalhes e exemplos de endereços de recursos, consulte a documentação do Terraform em Exemplos.

Para obter mais informações sobre a detecção de divergência, consulte deriva e as seguintes instruções:
Botão Implantar no Oracle Cloud

O botão Implantar no Oracle Cloud permite iniciar sua configuração remota do Terraform usando o workflow Criar Pilha disponível no Resource Manager.

Esta imagem mostra o botão Implantar no Oracle Cloud.

Para obter mais informações, consulte Usando o Botão Implantar no Oracle Cloud.

Pontos Finais Privados

Com pontos finais privados, você pode acessar recursos de nuvem não pública em sua tenancy pelo Resource Manager. Por exemplo, use o Remote Exec com uma instância privada ou acesse uma configuração do Terraform em um servidor GitHub privado.

Para obter mais informações, incluindo cenários comuns, consulte Gerenciando Pontos Finais Privados.

Fornecedores personalizados

Você pode fornecer provedores Terraform personalizados usando o Object Storage. Para adicionar provedores personalizados a buckets, consulte Colocando Dados no Serviço Object Storage. Para extrair provedores personalizados de buckets, consulte Usando Provedores Personalizados com uma Pilha.

Arquivos de Bloqueio de Dependência

Os arquivos de bloqueio de dependência são gerenciados automaticamente para pilhas novas e atualizadas. Você decide quando recuperar as versões mais recentes disponíveis na origem configurada dos provedores do Terraform. Os provedores são atualizados dentro das restrições de versão da configuração do Terraform. Para obter instruções, consulte Recuperando os Provedores Mais Recentes.

Fazer Rollback de Ordens de Produção

Faça rollback de uma pilha para um estado conhecido anterior. O rollback é uma boa alternativa para gastar tempo solucionando problemas do estado desconhecido de uma pilha.

Para fazer rollback, primeiro identifique o job de aplicação bem-sucedido desejado. Esse "job de destino" usa outra configuração do Terraform. Crie um job de rollback de plano para esse job de destino e, em seguida, crie um job de rollback de aplicação usando o plano de execução gerado.

Disponibilidade

O serviço Resource Manager está disponível em todas as regiões comerciais do Oracle Cloud Infrastructure. Consulte Sobre Regiões e Domínios de Disponibilidade para obter a lista de regiões disponíveis, juntamente com locais associados, identificadores de região, chaves de região e domínios de disponibilidade.

Workflow Generalizado

A imagem a seguir representa uma view generalizada do workflow do Resource Manager.

Esta imagem mostra o workflow para a infraestrutura de provisionamento usando o Resource Manager.
  1. Crie uma configuração do Terraform.

    Observação

    Para origens de configuração do Terraform suportadas com o Resource Manager, consulte Onde Armazenar Suas Configurações do Terraform.
  2. Crie uma pilha.
  3. Execute um job de planejamento, o qual produz um plano de execução.
  4. Revise o plano de execução (logs de job).
  5. Se forem necessárias alterações no plano de execução, atualize a configuração e execute um job de planejamento novamente.
  6. Execute um job de aplicação para provisionar recursos.
  7. Reveja arquivos de estado e arquivos de log, conforme necessário.
  8. Como opção, você pode reaplicar sua configuração, fazendo ou não alterações, executando um job de aplicação novamente.
  9. Como opção, para liberar os recursos em execução em uma pilha, execute um job de destruição.

Para obter um passo a passo detalhado do workflow do Resource Manager, consulte Conceitos Básicos.

Maneiras de Acessar o Serviço Resource Manager

Você pode acessar o serviço Resource Manager usando a Console ou a API REST do Resource Manager. Instruções para usar a Console, API e CLI estão incluídas em tópicos ao longo deste guia. Para obter uma lista dos SDKs disponíveis, consulte SDKs (Software Development Kits) e Interface de Linha de Comando.

Console: Para acessar o serviço Resource Manager usando a Console, você deve usar um browser suportado. Para ir até a página de acesso da Console, abra o menu de navegação na parte superior desta página e selecione Console de Infraestrutura. Você é solicitado a digitar seu tenant na nuvem, seu nome de usuário e sua senha. Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Resource Manager, selecione Visão Geral.

API: Para acessar o Resource Manager por meio de APIs, use a API do Resource Manager.

CLI: Consulte Referência de Linha de Comando para o Resource Manager.

Provedor Default

Por padrão, o Resource Manager suporta terraform-provider-oci, o provedor Terraform do Oracle Cloud Infrastructure.

Para provedores Terraform de terceiros suportados, consulte Provedores Terraform Suportados.

Autenticação e Autorização

Cada serviço do Oracle Cloud Infrastructure se integra ao serviço IAM para autenticação e autorização, para todas as interfaces (Console, SDK ou CLI e API REST).

Um administrador de uma organização precisa configurar grupos, compartimentos e políticas que controlam quais usuários podem acessar quais serviços, quais recursos e o tipo de acesso. Por exemplo, as políticas controlam quem pode criar novos usuários, criar e gerenciar a rede na nuvem, criar instâncias, criar buckets, fazer download dos objetos, entre outros. Para obter mais informações, consulte Gerenciando Domínios de Identidade. Para ver detalhes específicos sobre a gravação de políticas para cada um dos diversos serviços, consulte a Referência de Políticas.

Se você for um usuário comum (não um administrador) que precisa usar os recursos do Oracle Cloud Infrastructure que a empresa possui, entre em contato com um administrador para configurar um ID de usuário para você. O administrador pode confirmar o(s) compartimento(s) que você pode usar.

Importante

As políticas para gerenciar recursos do Oracle Cloud Infrastructure também são obrigatórias para operações do serviço Resource Manager que acessam recursos. Por exemplo, executando um job de aplicação em uma pilha que inclui instâncias e sub-redes do serviço Compute requer políticas que concedem permissões para esses tipos de recursos, nos compartimentos em que você deseja provisionar os recursos. Para ver exemplos de políticas para gerenciar recursos do Oracle Cloud Infrastructure, consulte Políticas Comuns.

Administradores: Para políticas comuns que concedem aos grupos acesso aos recursos do Resource Manager, consulte Políticas do Serviço IAM (Protegendo o Resource Manager).

Segurança

Além de criar políticas de IAM, siga estas melhores práticas de segurança para o Resource Manager.

  • Limite o uso de informações confidenciais em arquivos de configuração e saída
  • Execute uma auditoria de segurança
  • Use pontos finais privados para acessar recursos com segurança sem expor o tráfego de rede ao público

Consulte Securing Resource Manager.