Sobre a Configuração do Terraform em Sistemas UNIX-Like
Para usar o Terraform para criar componentes do Oracle Cloud Infrastructure, você deve fazer download e instalar o Terraform. Você também fará o download dos módulos Terraform que criam os arquivos de configuração que você usará para criar os componentes de infraestrutura necessários.
O sistema no qual você instala o Terraform e armazena os módulos do Teraform pode estar no local ou na nuvem. Por conveniência, recomendaremos isso como seu sistema local ou seu host local.
Antes de executar o Terraform:
-
Gere um par de chaves SSH usado para permitir que você acesse suas instâncias do Compute
-
Gere uma chave de assinatura de API usada para autenticar chamadas de API feitas pelo Terraform
-
Defina as variáveis do ambiente usadas pelo Terraform para autenticar o acesso e executar seus planos
Após concluir estas etapas, você está pronto para aplicar os arquivos de configuração Terraform a fim de criar os componentes de infraestrutura no Oracle Cloud Infrastructure.
Instalar Terraform
Para instalar o Terraform em um sistema Linux ou UNIX, faça download do pacote apropriado do site Terraform.
Fazer Download dos Módulos Terraform
Para começar a criar componentes de infraestrutura no Oracle Cloud Infrastructure usando o Terraform, faça download dos módulos Terraform.
Gerar um Par de Chave SSH para Acessar os Hosts da Bastion
Um par de chaves SSH é usado para permitir que você acesse com segurança instâncias criadas em sub-redes públicas. Você gera um par de chaves SSH em seu host local. Os módulos Terraform adicionam a chave pública SSH aos hosts do bastion. Quando precisar se conectar ao host bastion pela internet pública, você fornece a chave privada SSH para autenticar o acesso.
Você pode usar o utilitário ssh-keygen
para gerar um par de chaves SSH. Não defina uma frase-senha para sua chave SSH.
Gerar um Par de Chaves SSH para Acessar Outras Instâncias
Os hosts bash são usados para ativar o encaminhamento SSH para outras instâncias que não têm endereços IP públicos e não permitem acesso na internet pública. Para acessar com segurança outras instâncias do host de bastecimento, use um par de chaves SSH onde a chave pública armazenada em instâncias de sub-redes privadas corresponde a uma chave privada armazenada em sua máquina local. Como uma melhor prática de segurança, esse par de chaves SSH não deve ser o mesmo que o par de chaves SSH usado para acessar o host de bastão.
Use ssh-keygen
no seu host local para gerar outro par de chaves SSH. Anote o local onde você salva este par de chaves SSH.
Gerar uma Chave de Assinatura de API
Você deve fornecer um par de chaves RSA no formato Privacy Enhanced Mail (PEM) para autenticar seu script Terraform com o Oracle Cloud Infrastructure. Observe que esta chave de assinatura de API não é igual ao par de chaves SSH que você usa para acessar suas instâncias. Você pode usar OpenSSL
para gerar este par de chaves.
- Crie um diretório oculto na sua área do home para armazenar a chave do PEM. Digite:
mkdir ~/.oci
- Use o OpenSSL para gerar uma chave privada. Lembre-se de especificar 2048 bits ou superior ao gerar a chave privada. Digite:
openssl genrsa -out ~/.oci/key_name.pem 2048
- Altere as permissões na chave privada para garantir que apenas você possa ler a chave privada. Digite:
chmod go-rwx ~/.oci/key_name.pem
- Em seguida, use o OpenSSL para gerar a chave pública da chave privada fornecida. Digite:
openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
Fazer Upload da Chave de Assinatura da API Usando a Console
Depois de gerar uma chave de assinatura de API, você deverá fazer upload da chave pública do usuário associado no Oracle Cloud Infrastructure. Na primeira vez que você fizer upload de uma chave de assinatura da API, deverá usar a Console. Subsequentemente, você também pode usar a API para fazer upload de uma chave de API.
Definir Variáveis de Ambiente
Os módulos Terraform fornecidos aqui permitem definir variáveis de ambiente, especificando os valores necessários em um arquivo de texto. Você pode, então, apenas originar o arquivo para garantir que todas as variáveis de ambiente necessárias sejam definidas da forma apropriada.
Antes de começar, efetue log-in na Console do Oracle Cloud Infrastructure. Você usará a Console para encontrar as seguintes informações.
-
O ID Oracle Cloud Infrastructure do tenancy (OCID)
-
O OCID do usuário
-
A impressão digital da chave de assinatura da API que você deseja usar
-
A região
-
O OCID do compartimento
Certifique-se também de conhecer o local onde sua chave de assinatura de API e seu par de chaves SSH estão armazenados no seu sistema local.
- No sistema local, navegue até o diretório onde os módulos Terraform estão localizados.
- Abra o arquivo
env-vars
em um editor de texto. - O arquivo
env-vars
tem quatro seções. Inicie com a seção de detalhes da autenticação.- Informe o OCID do tenancy. Você pode localizar o OCID da locação na parte inferior da Console do Oracle Cloud Infrastructure. É uma string semelhante a:
ocid1.tenancy.oc1..aaaaa...
. Cole esse valor no arquivoenv-vars
. - Informe o OCID do usuário. Para localizar o usuário OCID, na Console do Oracle Cloud Infrastructure, clique em Identidade e, em seguida, clique em Usuários. A lista de usuários é exibida, juntamente com o OCID do usuário. Clique em Copiar abaixo do nome do usuário para copiar o OCID necessário para o usuário. Cole esse valor no arquivo
env-vars
. - Informe a impressão digital da chave de assinatura da API. Na Console do Oracle Cloud Infrastructure, na página Usuários , clique no usuário para exibir a página de detalhes do usuário. Copie a impressão digital da chave da API da chave listada na seção Chaves da API . Cole esse valor no arquivo
env-vars
. - Digite o caminho completo e o nome do arquivo da chave privada da API em seu sistema local.
- Informe o OCID do tenancy. Você pode localizar o OCID da locação na parte inferior da Console do Oracle Cloud Infrastructure. É uma string semelhante a:
- Na seção de região do arquivo
env-vars
, informe a região na qual você deseja criar os componentes de infraestrutura. A região que você está exibindo no momento é exibida na parte superior da Console do Oracle Cloud Infrastructure. Você também pode usar a Console para encontrar outras regiões às quais tem acesso. - Na seção compartimento do arquivo
env-vars
, informe o OCID do compartimento no qual você deseja criar os componentes de infraestrutura. Certifique-se de que o usuário especificado anteriormente pertença a um grupo que tenha as permissões necessárias para o compartimento especificado aqui. Para localizar o OCID de compartimento, vá para a Console do Oracle Cloud Infrastructure. Clique em Identidade e, em seguida, clique em Compartimentos. A lista de compartimentos é exibida, junto com o OCID do compartimento. Clique em Copiar abaixo do nome do compartimento para copiar o OCID do compartimento necessário. Cole esse valor no arquivoenv-vars
. - Na seção de chaves públicas/privadas do arquivo
env-vars
, para os hosts do bastion e outras instâncias, informe o caminho completo e o nome do arquivo das chaves públicas e privadas SSH apropriadas em seu sistema local. A chave privada deve estar no formatoopenssh
. - Verifique se você informou todos os valores corretamente. Se você omitiu um valor, será solicitado a inserir ao executar o Terraform. Se você tiver informado valores incorretos, o Terraform apresentará erros. Quando estiver satisfeito com que todos os valores estejam corretos, salve e feche o arquivo
env-vars
. - Para definir as variáveis de ambiente especificadas no arquivo
env-vars
, abra um terminal e navegue até o diretório em que os módulos Terraform estão localizados. Digite:source ./env-vars