Acerca de la Configuración de Terraform en Sistemas UNIX-Like
Para utilizar Terraform para crear componentes de Oracle Cloud Infrastructure, debe descargar e instalar Terraform. También descargará los módulos Terraform que creen los archivos de configuración que utilizará para crear los componentes de infraestructura necesarios.
El sistema en el que instala Terraform y almacena los módulos de Teraform puede ser tanto locales como locales en la nube. Para mayor comodidad, recomendamos que sea su sistema local o su host local.
Antes de ejecutar Terraform:
-
Genere un par de claves SSH que le permita acceder a las instancias de Compute.
-
Generar una clave de firma de API utilizada para autenticar llamadas de API realizadas por Terraform
-
Establecer variables de entorno utilizadas por Terraform para autenticar el acceso y ejecutar sus planes.
Después de completar estos pasos, está listo para aplicar los archivos de configuración de Terraform para crear los componentes de infraestructura en Oracle Cloud Infrastructure.
Instalar Terraform
Para instalar Terraform en un sistema Linux o similar a UNIX, descargue el paquete adecuado del sitio web Terraform.
Descarga de módulos de Terraform
Para empezar a crear componentes de infraestructura en Oracle Cloud Infrastructure mediante Terraform, descargue los módulos Terraform.
Generar un par de claves SSH para acceder a los hosts básicos
Un par de claves SSH se utiliza para acceder de forma segura a las instancias creadas en subredes públicas. Genera un par de claves SSH en el host local. A continuación, los módulos de Terraform agregan la clave pública SSH a los hosts de base. Cuando necesite conectarse al host de la base a través de Internet público, proporcione la clave privada SSH para autenticar el acceso.
Puede usar la utilidad ssh-keygen
para generar un par de claves SSH. No establezca una contraseña para su clave SSH.
Generar un par de claves SSH para acceder a otras instancias
Los hosts básicos se utilizan para activar el reenvío SSH a otras instancias que no tienen direcciones IP públicas y no permiten el acceso a través de Internet pública. Para acceder de forma segura a otras instancias desde el host de la base, utilice un par de claves SSH donde la clave pública almacenada en instancias en subredes privadas coincida con una clave privada almacenada en la máquina local. Se recomienda que este par de claves SSH no sea el mismo que el par de claves SSH utilizado para acceder al host de la base.
Utilice ssh-keygen
en el host local para generar otro par de claves SSH. Tome nota de la ubicación en la que guarda este par de claves SSH.
Generación de una clave de firma de API
Debe proporcionar un par de claves RSA en formato Privacy Enhanced Mail (PEM) para autenticar el script Terraform 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 usa para acceder a sus instancias. Puede utilizar OpenSSL
para generar este par de claves.
- Cree un directorio oculto en el área de inicio para almacenar la clave de PEM. Introduzca:
mkdir ~/.oci
- Utilice OpenSSL para generar una clave privada. No olvide especificar 2048 bits o superior al generar la clave privada. Introduzca:
openssl genrsa -out ~/.oci/key_name.pem 2048
- Cambie los permisos de la clave privada para asegurarse de que sólo usted puede leer la clave privada. Introduzca:
chmod go-rwx ~/.oci/key_name.pem
- A continuación, utilice OpenSSL para generar la clave pública para la clave privada proporcionada. Introduzca:
openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
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. Posteriormente, también puede utilizar la API para cargar una clave de API.
Definir Variables de Entorno
Los módulos de Terraform que se proporcionan aquí permiten definir las variables de entorno especificando los valores necesarios en un archivo de texto. A continuación, puede asignar una fuente al archivo para asegurarse de que todas las variables de entorno necesarias se hayan definido correctamente.
Antes de empezar, conéctese a la consola de Oracle Cloud Infrastructure. Utilizará la consola para buscar la siguiente información.
-
Identificador de Oracle Cloud Infrastructure de arrendamiento (OCID)
-
El usuario OCID
-
Huella de la clave de firma de API que desea utilizar
-
Región
-
OCID del compartimento
Asegúrese también de conocer la ubicación donde su clave de firma de API y su par de claves SSH se almacenan en su sistema local.
- En el sistema local, navegue hasta el directorio donde se encuentran los módulos de Terraform.
- Abra el archivo
env-vars
en un editor de texto. - El archivo
env-vars
tiene cuatro secciones. Comience con la sección de detalles de autenticación.- Introduzca el OCID de arrendamiento. Puede encontrar el OCID de arrendamiento en la parte inferior de la consola de Oracle Cloud Infrastructure. Es una cadena similar a:
ocid1.tenancy.oc1..aaaaa...
. Pegue este valor en el archivoenv-vars
. - Introduzca el usuario OCID. Para buscar al usuario OCID, en la Consola de Oracle Cloud Infrastructure, haga clic en Identidad y, a continuación, en Usuarios. Se muestra la lista de usuarios junto con el OCID del usuario. Haga clic en Copiar debajo del nombre de usuario para copiar el OCID de usuario necesario. Pegue este valor en el archivo
env-vars
. - Introduzca la huella de la clave de firma de API. En la consola de Oracle Cloud Infrastructure, en la página Usuarios , haga clic en el usuario para ver la página de detalles de usuario. Copie la huella de la clave de API de la clave que aparece en la sección de claves de API . Pegue este valor en el archivo
env-vars
. - Introduzca la ruta de acceso completa y el nombre de archivo de la clave privada de API en el sistema local.
- Introduzca el OCID de arrendamiento. Puede encontrar el OCID de arrendamiento en la parte inferior de la consola de Oracle Cloud Infrastructure. Es una cadena similar a:
- En la sección de región del archivo
env-vars
, introduzca la región en la que desea crear los componentes de infraestructura. La región que está visualizando se muestra en la parte superior de la consola de Oracle Cloud Infrastructure. También puede utilizar la consola para buscar otras regiones a las que tenga acceso. - En la sección de compartimento del archivo
env-vars
, introduzca el OCID del compartimento en el que desea crear los componentes de infraestructura. Asegúrese de que el usuario que ha especificado anteriormente pertenece a un grupo que tiene los permisos necesarios para el compartimento especificado aquí. Para encontrar el OCID del compartimento, vaya a la consola de Oracle Cloud Infrastructure. Haga clic en Identidad y, a continuación, en Compartimentos. Se muestra la lista de compartimentos, junto con el OCID del compartimento. Haga clic en Copiar debajo del nombre del compartimento para copiar el OCID del compartimento necesario. Pegue este valor en el archivoenv-vars
. - En la sección de claves públicas/privadas del archivo
env-vars
, para los hosts de base y otras instancias, introduzca la ruta de acceso completa y el nombre de archivo de las claves SSH públicas y privadas adecuadas en el sistema local. La clave privada debe tener el formatoopenssh
. - Compruebe que ha introducido todos los valores correctamente. Si ha omitido algún valor, se le pedirá que introduzca al ejecutar Terraform. Si ha proporcionado valores incorrectos, se producirá un error en Terraform. Cuando esté satisfecho con que todos los valores sean correctos, guarde y cierre el archivo
env-vars
. - Para definir las variables de entorno especificadas en el archivo
env-vars
, abra un terminal y navegue hasta el directorio en el que se encuentran los módulos de Terraform. Introduzca:source ./env-vars