Configuración de Terraform de OCI
Configure los scripts del proveedor de Terraform de Oracle Cloud Infrastructure, documentados en el registro de Terraform, para conectarse a una cuenta de OCI. Confirme la configuración recuperando información del arrendamiento.
Las tareas clave incluyen cómo:
- Crear claves RSA.
- Configurar los scripts del proveedor de Terraform de Oracle Cloud Infrastructure:
- Autentique los scripts de Terraform.
- Obtenga información sobre los dominios de disponibilidad de su arrendamiento.
Para obtener más información, consulte:
Antes de empezar
Para realizar correctamente este tutorial, debe tener lo siguiente:
- Una cuenta de Oracle Cloud Infrastructure. Consulte Solicitar y gestionar promociones de Oracle Cloud gratis.
- Un entorno MacOS, Linux o Windows:
- MacOS
- Linux (cualquier distribución)
- Puede instalar una máquina virtuales de Linux con una unidad de computación siempre gratis en Oracle Cloud Infrastructure. Consulte Cuenta gratuita: instalación de Apache y PHP en la instancia de Oracle Linux.
- Oracle Cloud Infrastructure Cloud Shell:
- Cómo instalar Linux en Windows con WSL (WSL)
- Git para Windows para acceder a una máquina virtual de Linux.
En este tutorial se utiliza un entorno de VM de Oracle Linux con una unidad AMD para sus ejemplos, pero puede utilizar cualquier entorno mencionado en esta sección.
1. Preparación
Prepare su entorno para autenticar y ejecutar scripts de Terraform. Además, recopile la información que necesita su cuenta para autenticar los scripts.
Omita la creación de claves RSA si:
- Está utilizando Cloud Shell o Resource Manager. Ya se ha autenticado al conectarse a la consola de Oracle Cloud.
- Ya ha creado claves RSA para el tutorial Configuración de la detección de recursos.
Ahora ha configurado las claves RSA para conectarse a su cuenta de OCI.
- Referencia
- Cómo generar una clave de firma de API
Si su nombre de usuario está en el grupo Administrators, omita esta sección. De lo contrario, solicite al administrador que agregue la siguiente política a su arrendamiento:
allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancyCon este privilegio, puede mostrar todos los recursos de su arrendamiento.
- Conéctese a la consola de Oracle Cloud.
-
En el menú de navegación , seleccione el menú Perfil
y, a continuación, seleccione Configuración de usuario.
- Seleccione Grupos o Mis grupos, según la opción que vea.
- En un bloc de notas, copie el nombre de un grupo al que pertenece el nombre de usuario.
- Abra el menú de navegación y seleccione Identidad y seguridad. En Identidad, seleccione Políticas.
- Seleccione el compartimento:
<your-tenancy>(root) - Seleccione Crear política.
- En la página Crear política, introduzca los siguientes valores:
-
Nombre:
list-resources -
Descripción:
Allow the group <a-group-that-your-username-belongs-to> to list the resources in this tenancy. -
Compartimento:
<your-tenancy>(root)
-
Nombre:
- En Creador de Política, seleccione Mostrar Editor Manual.
- Pegue la siguiente política:
allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancy - Haga clic en Crear.
Referencia: Políticas comunes
Prepare la información que necesita para autenticar los scripts de Terraform y copie la información en un bloc de notas.
2. Creación de scripts
Cree scripts para la autenticación, para recuperar datos de su cuenta e imprimir salidas.
required_providers para declarar las versiones de proveedor necesarias.Use las siguientes variables para la autenticación basada en claves de API:
-
tenancy_ocid -
user_ocid -
private_key_path -
fingerprint -
region
No es necesario instalar el proveedor. El proveedor se descarga cuando se ejecutan los scripts en este tutorial.
provider.tf y obtiene información de su cuenta.En Terraform, para recuperar datos, se utiliza un origen de datos. La recuperación de datos de un origen de datos es similar al método GET en las API de REST.
- Vaya a Proveedor de Oracle Cloud Infrastructure.
-
En el cuadro Filtro de la parte superior izquierda, introduzca
availability domains. - En Identidad, vaya a Orígenes de datos y seleccione oci_identity_availability_domains.
El título de la página es el tipo de recurso:
oci_identity_availability_domains - Busque el nombre del origen de datos en el título de la página:
- Origen de Datos:
- En la sección Referencia de argumento, busque todos los argumentos (entrada) etiquetados como (Necesario):
- compartment_id
- Cree un bloque de origen de datos:
- Declare un origen de datos con la palabra clave:
data. - Agregue una etiqueta para el nombre del origen de datos:
"oci_identity_availability_domains" - Agregue una etiqueta de su elección para el nombre local:
-
La etiqueta puede contener letras, dígitos, caracteres de subrayado (
_) y guiones (-). El primer carácter no debe ser un dígito. - En este tutorial se utiliza el nombre local,
"ads", para creardata "oci_identity_availability_domains" "ads".
-
La etiqueta puede contener letras, dígitos, caracteres de subrayado (
- Dentro del bloque de código, proporcione valores para todos los argumentos necesarios.
- Ejemplo:
compartment_id = "<some-compartment-ocid>"
- Ejemplo:
- Para argumentos opcionales, proporcione valores para reducir los resultados de la recuperación. Solo algunos orígenes de datos tienen argumentos opcionales.
- Declare un origen de datos con la palabra clave:
El origen de datos oci_identity_availability_domains recupera una lista de dominios de disponibilidad. En esta sección, declara un bloque de salida para imprimir la información recuperada.
- Vaya a Referencia de atributos (oci_identity_availability_domains).Nota
Los atributos son las salidas que puede devolver para el origen de datosoci_identity_availability_domains. - Busque los atributos:
- Atributo:
availability_domains:- Lista de dominios de disponibilidad
- Si muestra
availability_domains:, obtendrá tres atributos para cada dominio de disponibilidad en la lista:- compartment_id
- Identificador
- nombre
- Atributo:
- Cree un bloque de salida de origen de datos:
- Declare un bloque de salida con la palabra clave:
output - Agregue una etiqueta a imprimir con los resultados de la salida:
-
La etiqueta puede contener letras, dígitos, caracteres de subrayado (
_) y guiones (-). El primer carácter no debe ser un dígito. - Ejemplo:
"all-availability-domains-in-your-tenancy"
-
La etiqueta puede contener letras, dígitos, caracteres de subrayado (
- Dentro del bloque de código, introduzca un valor para la salida de origen de datos con la expresión:
-
value = data.<data-source-name>.<local-name-for-data-source>.<attribute> - Ejemplo:
value = data.oci_identity_availability_domains.ads.availability_domains
-
- Declare un bloque de salida con la palabra clave:
3. Ejecución de scripts
Ejecute los scripts de Terraform. Una vez que su cuenta autentica los scripts, Terraform recupera los dominios de disponibilidad de su arrendamiento.
tf-provider.Ahora tiene una carpeta denominada .terraform que incluye los plugins para el proveedor oci.
plan de Terraform.
terraform planSalida de ejemplo:
data.oci_identity_availability_domains.ads: Reading...
data.oci_identity_availability_domains.ads: Read complete after 1s [id=xxx]
Changes to Outputs:
+ all-availability-domains-in-your-tenancy = [
+ {
+ compartment_id = "ocid1.tenancy.oc1..xxx"
+ id = "ocid1.availabilitydomain.xxx"
+ name = "QnsC:US-ASHBURN-AD-1"
},
+ {
+ compartment_id = "ocid1.tenancy.oc1..xxx"
+ id = "ocid1.availabilitydomain.yyy"
+ name = "QnsC:US-ASHBURN-AD-2"
},
+ {
+ compartment_id = "ocid1.tenancy.oc1..xxx"
+ id = "ocid1.availabilitydomain.zzz"
+ name = "QnsC:US-ASHBURN-AD-3"
},
]
You can apply this plan to save these new output values to the Terraform state, without changing any real
infrastructure.
- Está recuperando datos, por lo que el plan muestra que solo está agregando salidas. No va a agregar, cambiar ni destruir ningún recurso.
- Está utilizando el archivo
output.tfen lugar de la opción-out, por lo que puede ignorar el siguiente mensaje:Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.
Felicidades! Su cuenta de Oracle Cloud Infrastructure ahora puede autenticar sus scripts del proveedor Terraform de Oracle Cloud Infrastructure.
Referencias:
Es posible que encuentre los siguientes mensajes de error al ejecutar los scripts de Terraform.
Errores 401 - (Error de servicio: No autenticado)
Una de las siguientes variables tiene un valor incorrecto:
- OCID de arrendamiento
- OCID de usuario
- Huella
- Clave privada de RSA (la ruta o la clave)
No se puede crear el cliente, configuración incorrecta: no se ha encontrado una configuración adecuada para la clave privada
Los scripts de Terraform no pueden encontrar la clave privada RSA.
No existe dicho host
El identificador de región tiene un valor incorrecto.
Error al consultar los paquetes de proveedores disponibles
Si estás en una VPN, comprueba la configuración del proxy.
Siguiente paso
Para el siguiente tutorial de Terraform: Introducción, vaya a:
Para obtener más información sobre el desarrollo con productos Oracle, consulte estos sitios: