Visão Geral do Resource Manager

O serviço Resource Manager automatiza a implantação e as operações de todos os recursos do Oracle Cloud Infrastructure. Usando o modelo infrastructure-as-code (IaC), o serviço se baseia no Terraform, um padrão do setor de código aberto que permite que os engenheiros de DevOps desenvolvam e implantem 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 https://www.terraform.io.

O Resource Manager está em conformidade com o Federal Information Processing Standard (FIPS). Para obter mais informações sobre o OCI nas regiões do governo dos EUA, consulte Oracle Cloud Infrastructure US Government 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 está no formato HCL (HashiCorp Configuration Language) ou no formato 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 Terraform Oracle Cloud Infrastructure Provider Examples e Oracle-Provided Templates. Para obter mais informações, consulte Terraform Configurações para o Resource Manager e Criando Configurações; consulte também HashiCorp: Configuração.
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 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: Integrando o Terraform e o Resource Manager no seu Pipeline de CI/CD - Criando com a CLI do OCI.

desvio
A 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 recursos 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 os 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á em execução (execução).
  • Falha (FAILED): O job não concluiu a execução.
  • Bem-sucedido (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 devido a 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 Go SDK para 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
Geralmente, um arquivo .zip para uma configuração do Terraform que é armazenada 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
Um recurso para capturar recursos implantados do Oracle Cloud Infrastructure como arquivos de configuração e estado do Terraform. 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 sobre a 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 do Terraform predefinida 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 obter 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 podem ajudar os clientes novos na infraestrutura como código e que estão atualizando as configurações do workflow de produção. Use modelos para experimentar o Resource Manager e aplicar as melhores práticas comprovadas à configuração do workflow 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 para 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 em uma Página de Criação de Recurso.

CI/CD com Gerenciador de Recursos

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: Integrando o Terraform e o Resource Manager no seu Pipeline de CI/CD - Criando com a CLI do OCI.

Além disso, também permitimos armazenar configurações do Terraform em buckets do serviço Object Storage. Para obter mais informações, consulte Criando uma Pilha de 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:

  • Passe da infraestrutura gerenciada manualmente para a infraestrutura controlada pelo serviço 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 serviç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 serviço Resource Manager gera e atualiza automaticamente o arquivo de estado da pilha (.tfstate, no formato JSON). Este 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 (terraform.io).

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 detalhado do desvio para cada recurso.

Opcionalmente, você pode limitar a detecção de divergência 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, mais 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 detecção de desvio, consulte drift e as seguintes instruções:
Botão Implantar no Oracle Cloud

O botão Implantar no Oracle Cloud permite que você inicie 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úblicos em sua tenancy no Resource Manager. Por exemplo, use a Execução Remota 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.

Provedores 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

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 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 Fornecedores Mais Recentes.

Reverter Jobs

Faça rollback de uma pilha para um estado conhecido anterior. O rollback é uma boa alternativa para gastar tempo na solução de problemas no estado desconhecido de uma pilha.

Para fazer rollback, primeiro identifique o job de aplicação bem-sucedido desejado. Este "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 jobs).
  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. Revise 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 são incluídas em tópicos nesta documentação. 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, use um browser suportado. Para acessar a página de acesso da Console, abra o menu de navegação na parte superior desta página e clique em 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 clique em Serviços ao Desenvolvedor. Em Resource Manager, clique em 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 Padrão

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

Para ver os 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 da sua 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, iniciar instâncias, criar buckets, fazer download de objetos e assim por diante. Para obter mais informações, consulte Conceitos Básicos de Políticas. 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 regular (não um administrador) que precisa usar os recursos do Oracle Cloud Infrastructure que sua empresa possui, entre em contato com o administrador para configurar um ID de usuário para você. O administrador pode confirmar qual compartimento ou compartimentos você deve 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 dão aos grupos acesso aos recursos do serviço Resource Manager, consulte Políticas do Serviço IAM (Protegendo o Serviço Resource Manager).

Segurança

Além de criar políticas do serviço IAM, siga estas melhores práticas de segurança para o serviç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 Protegendo o Resource Manager.