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.
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
. - 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.
- 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.
- 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.
- 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.
Recursos
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.
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.
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.
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.
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.
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.
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.
Para obter mais informações, consulte Usando o Botão Implantar no Oracle Cloud.
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.
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.
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.
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.
-
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. - Crie uma pilha.
- Execute um job de planejamento, o qual produz um plano de execução.
- Revise o plano de execução (logs de job).
- Se forem necessárias alterações no plano de execução, atualize a configuração e execute um job de planejamento novamente.
- Execute um job de aplicação para provisionar recursos.
- Reveja arquivos de estado e arquivos de log, conforme necessário.
- Como opção, você pode reaplicar sua configuração, fazendo ou não alterações, executando um job de aplicação novamente.
- 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.
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.
Limites nos Recursos do Resource Manager
Consulte Limites do Serviço Resource Manager
Para obter uma lista de limites e instruções aplicáveis à solicitação de um aumento de limite, consulte Limites do Serviço. Para definir limites específicos de compartimentos em um recurso ou família de recursos, os administradores podem usar cotas de compartimentos.