Sobre a configuração do Terraform em sistemas Windows

Para usar o Terraform para criar componentes do Oracle Cloud Infrastructure, você deve fazer download e instalar o Terraform. Você também fará download dos módulos do 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 Teraform podem estar no local ou na nuvem. Por conveniência, faremos isso como seu sistema local ou seu host local.

Antes de executar o Terraform:

  • Gerar um par de chaves SSH usado para permitir que você acesse suas instâncias do serviço Compute

  • Gerar uma chave de assinatura de API usada para autenticar chamadas de API feitas pelo Terraform

  • Definir variáveis de ambiente usadas pelo Terraform para autenticar o acesso e executar seus planos

Após concluir essas etapas, você estará pronto para aplicar os arquivos de configuração do Terraform para criar seus componentes de infraestrutura no Oracle Cloud Infrastructure.

Instalar o Terraform

Para instalar o Terraform em um sistema Windows, faça download do pacote apropriado no site do Terraform.

  1. Vá para https://www.terraform.io/downloads.html.
  2. Faça download do pacote aplicável para seu sistema local.
  3. Extraia o pacote para a pasta C:\Program Files (x86).
    Esse caminho é usado como exemplo. No entanto, você também pode o executável Terraform para qualquer outro local do seu sistema local.
  4. Atualize a variável de ambiente de caminho para incluir a pasta onde o executável do Terraform está localizado.
    1. Vá para o Painel de Controle.
    2. Clique em Sistema.
    3. Em um sistema Windows 10, clique em Configurações avançadas do sistema. Essa opção pode variar em diferentes versões do Windows.
      A guia Avançado da janela Propriedades do Sistema é exibida.
    4. Clique em Variáveis de Ambiente próximo à parte inferior da janela.
      A janela Variáveis de Ambiente é exibida.
    5. No painel Variáveis do sistema, clique em Caminho e, em seguida, clique em Editar.
    6. Clique em Novo. Adicione o caminho à pasta em que o executável do Terraform está localizado.
    7. Clique em OK para salvar as alterações e, em seguida, clique em OK para sair das janelas Variáveis de Ambiente. Em seguida, clique em OK novamente para sair da janela Propriedades do Sistema.
  5. Para verificar sua instalação e verificar a versão, inicie o Windows PowerShell e digite: terraform -version.
    Você verá a versão do Terraform exibida na saída. Por exemplo: Terraform v0.11.8

Gerar um Par de Chaves SSH para Acessar os Hosts 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 do Terraform adicionam a chave pública SSH aos hosts bastion. Quando precisar se conectar ao bastion host pela Internet pública, você fornecerá a chave privada SSH para autenticar o acesso.

Você pode gerar um par de chaves SSH usando PuTTYgen. Não defina uma frase-senha para sua chave SSH.

  1. Inicie PuTTYgen.
  2. Aceite o tipo de chave padrão SSH-2 RSA e defina o Número de bits em uma chave gerada como 2048 se ainda não estiver definido.
  3. Clique em Gerar e, em seguida, mova o mouse pela área em branco para gerar aleatoriedade.
    A chave é gerada e seu valor aparece na chave Pública para colagem no arquivo OpenSSH authorized_keys.
  4. Clique em Salvar chave privada. Você deverá confirmar que deseja salvar a chave sem uma frase-senha. Clique em Sim. Você pode armazenar essa chave em qualquer local, mas, para simplificar, armazená-la na mesma pasta em que os módulos do Terraform estão localizados.
  5. Em seguida, para salvar a chave pública, selecione toda a chave gerada que aparece no campo Chave pública para colar no arquivo OpenSSH authorized_keys, copie-a e cole-a em um arquivo de texto. Salve esse arquivo no mesmo local que a chave privada. Não use o botão Salvar chave pública porque ele não salva a chave no formato OpenSSH.
Agora você gerou e armazenou seu par de chaves SSH no sistema local. Certifique-se de anotar o local em que esse par de chaves está armazenado.

Gerar um Par de Chaves SSH para Acessar Outras Instâncias

Os hosts bastion 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 pela internet pública. Para acessar com segurança outras instâncias do bastion host, você usa um par de chaves SSH em que a chave pública armazenada em instâncias de sub-redes privadas corresponde a uma chave privada armazenada na sua máquina local.

O par de chaves SSH usado para ativar o acesso do bastion host a outras instâncias deve ser gerado usando um utilitário como OpenSSL ou ssh-keygen. Você não pode usar um par de chaves SSH gerado no Windows usando PuTTY porque o formato .ppk usado pelo PuTTY não é suportado no Oracle Linux ou em outros sistemas operacionais semelhantes ao UNIX. Lembre-se de que o bastion host, que encaminha o tráfego SSH a outras instâncias, usa uma imagem do Oracle Linux.

  1. Inicie o Git Bash.
  2. Digite: ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>
    Nesse comando:
    • -t rsa especifica que a chave deve ser gerada usando o algoritmo RSA

    • -N "" especifica a frase-senha que você deseja associar a essa chave. Não informe nada entre as aspas. A chave é criada sem uma frase-senha.

    • -b 2048 especifica que você deseja gerar uma chave de 2048 bits. Este é o valor padrão e também é o valor mínimo recomendado.

    • -C "<key_name>" especifica o nome deste par de chaves.

    • -f <path/root_name> especifica o local em que a chave é salva e o nome raiz da chave pública e privada. A chave pública tem .pub anexado ao nome raiz.

O par de chaves SSH é gerado e salvo no local especificado. Anote este local.

Gerar uma Chave de Assinatura da 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 essa chave de assinatura de API não é igual ao par de chaves SSH que você usa para acessar suas instâncias. Você pode gerar esse par de chaves usando OpenSSL no Git Bash. Você já deve ter instalado o Git Bash no seu sistema local.

  1. Inicie o Git Bash.
  2. Crie uma pasta oculta para armazenar a chave PEM. Você pode armazenar a chave PEM em qualquer local, mas para simplificar, crie esta pasta na pasta em que os módulos Terraform estão localizados. Certifique-se de anotar o local em que você armazena o par de chaves. Navegue até esse local e informe: mkdir ./.oci
  3. Para criar a chave de assinatura da API, informe: openssl genrsa -out ./.oci/key_name.pem 2048
  4. 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
  5. Em seguida, para gerar a chave pública para a chave privada fornecida, informe: openssl rsa -pubout -in ./.oci/key_name.pem -out ./.oci/key_name_public.pem
A chave de assinatura da API pública e privada é armazenada na pasta especificada.

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ê faz upload de uma chave de assinatura de API, deverá usar a Console. Em seguida, você também pode usar a API para fazer upload de uma chave de API.

  1. Acesse a Console do Oracle Cloud Infrastructure.
  2. Clique em Identidade e, em seguida, clique em Usuários.
  3. Clique no usuário a quem você deseja adicionar a chave de assinatura de API.
  4. Na página de detalhes do usuário, clique em Adicionar Chave Pública.
  5. No sistema local, inicie Git Bash. Navegue até a pasta em que você armazenou seu par de chaves de assinatura de API.
  6. Para copiar a chave pública, informe: cat ./key_name_public.pem. O valor da chave pública é exibido. Copie esse valor, incluindo as linhas -----BEGIN PUBLIC KEY----- e -----END PUBLIC KEY-----.
  7. Na Console, cole o valor da chave pública e clique em Adicionar.