Acerca de la configuración de Terraform en sistemas similares a UNIX

Para utilizar Terraform para crear componentes de Oracle Cloud Infrastructure, debe descargar e instalar Terraform. También descargará los módulos de Terraform que crean los archivos de configuración que utilizará para crear los componentes de infraestructura necesarios.

El sistema donde se instala Terraform y se almacenan los módulos Teraform puede ser on-premises o en la nube. Para mayor comodidad, nos referiremos a esto como su sistema local o su host local.

Antes de ejecutar Terraform:

  • Generar un par de claves SSH que le permita acceder a sus instancias informáticas

  • Generar una clave de firma de API utilizada para autenticar las llamadas de API realizadas por Terraform

  • Definir las variables de entorno que utiliza Terraform para autenticar el acceso y ejecutar sus planes

Al finalizar estos pasos, estará listo para aplicar los archivos de configuración de Terraform con el fin de crear los componentes de infraestructura en Oracle Cloud Infrastructure.

Instalación de Terraform

En sistemas similares a UNIX o Linux, incluido Oracle Linux, puede instalar Terraform descargando y extrayendo el paquete de Terraform para su sistema operativo.

  1. Vaya a https://www.terraform.io/downloads.html.
  2. Descargue el paquete adecuado según su sistema operativo.
  3. Extraiga el paquete a la ruta /usr/local/bin/.
    Puede extraer Terraform a cualquier otro directorio del host local. Asegúrese de que el directorio esté incluido en la variable PATH.
    Terraform está instalado y listo para su uso.
  4. Verifique la instalación.
    terraform -v

    Se muestra la versión de Terraform, como se muestra en este ejemplo:

    Terraform v0.12.18

Generación de un par de claves SSH para acceder a los hosts bastión

Puede utilizar SSH para acceder a instancias informáticas de Oracle Cloud de forma segura. Genere un par de claves SSH en el host local. Agregue la clave pública SSH a los hosts bastión al crearlos. Cuando se conecte a un bastión host mediante SSH, proporcione la clave privada para autenticar el acceso.

Utilice la utilidad ssh-keygen para generar un par de claves SSH. No establezca una frase de contraseña para su clave SSH.

  • En una ventana de terminal, introduzca el siguiente comando:
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa especifica que la clave se debe generar mediante el algoritmo RSA

    • -N "" especifica la frase de contraseña que desea asociar a esta clave. No introduzca nada entre las ofertas. La clave se crea sin una frase de contraseña.

    • -b 2048 especifica que desea generar una clave de 2048 bits. Este valor es el valor por defecto y también es el mínimo recomendado.

    • -C "key_name" especifica el nombre de este par de claves.

    • -f path/root_name especifica la ubicación en la que se guarda la clave y el nombre raíz de la clave pública y la clave privada. La clave pública tiene .pub agregada al nombre raíz.

El par de claves SSH se genera y se guarda en la ubicación especificada.

Anote la ubicación.

Generar un par de claves SSH para acceder a instancias privadas

Puede utilizar los hosts bastión para crear conexiones SSH a instancias informáticas que no tengan direcciones IP públicas y que no permitan el acceso a través de la red pública de Internet. Como mejor práctica de seguridad, genere pares de claves SSH independientes para los hosts bastión y las instancias privadas.

Utilice ssh-keygen en el host local para generar un par de claves SSH.

Anote la ubicación en la que guarda las claves SSH.

Generar una clave de firma de API

Debe proporcionar un par de claves RSA en el formato de correo mejorado con privacidad (PEM) para permitir que Terraform se autentique con Oracle Cloud Infrastructure. Tenga en cuenta que esta clave de firma de API no es la misma que el par de claves SSH que utiliza para acceder a sus instancias. Puede utilizar OpenSSL para generar la clave de firma de API.

  1. Cree un subdirectorio oculto en el directorio principal para almacenar la clave PEM.
    mkdir ~/.oci
  2. Genere una clave privada (tamaño: 2048 bits o superior).
    openssl genrsa -out ~/.oci/key_name.pem 2048
  3. Cambie los permisos en el archivo de clave privada, para garantizar que solo pueda leer la clave.
    chmod go-rwx ~/.oci/key_name.pem
  4. Genere la clave pública para la clave privada.
    openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
Puede almacenar las claves en cualquier directorio de su elección.

Anote la ubicación.

Carga de la clave de firma de API mediante la consola

Después de generar una clave de firma de API, debe cargar la clave pública para el usuario asociado en Oracle Cloud Infrastructure. La primera vez que cargue una clave de firma de API, debe utilizar la consola web. Posteriormente, también puede utilizar la API para cargar una clave de API.

  1. Inicie sesión en la consola de Oracle Cloud Infrastructure.
  2. En el menú Servicios, seleccione Identidad y, a continuación, seleccione Usuarios.
  3. En la página Usuarios, haga clic en el usuario para el que desea cargar la clave.
  4. En la página de detalles del usuario, haga clic en Agregar clave pública.
  5. Copie el valor de clave pública del archivo ~/.oci/key_name_public.pem y péguelo en el campo PUBLIC KEY.
  6. Haga clic en Agregar.
    La clave se carga y se muestra su huella.
  7. Copie la huella. Lo necesitará más tarde.