Visión general del gestor de recursos
Automatice el despliegue y las operaciones de los recursos de Oracle Cloud Infrastructure con Resource Manager. Con las herramientas de infraestructura como código (IaC) soportadas, los ingenieros de DevOps pueden desarrollar e implementar su infraestructura en cualquier lugar.
Una configuración de Terraform codifica la infraestructura en archivos de configuración declarativos. El gestor de recursos permite compartir y gestionar configuraciones de infraestructura y archivos de estado en varios equipos y plataformas. Esta gestión de infraestructura no se puede realizar solo con instalaciones locales de Terraform y módulos de Oracle Terraform. Para obtener más información sobre el proveedor de Terraform de Oracle Cloud Infrastructure, consulte Proveedor de Terraform. Para obtener una introducción general sobre Terraform y el modelo de "infraestructura como código", consulte Comunidad de Terraform.
El gestor de recursos cumple con el Federal Information Processing Standard (FIPS). Para obtener más información sobre OCI en las regiones gubernamentales de EE. UU., consulte Oracle US Government Cloud y Oracle US Defense Cloud.
Conceptos clave
A continuación, se muestran breves descripciones sobre los conceptos clave y los componentes principales del gestor de recursos.
- configuración
- Información para codificar la infraestructura. Utilice su configuración para especificar los recursos de Oracle Cloud Infrastructure en una pila determinada. Por ejemplo, especifique metadatos de recursos, definiciones de orígenes de datos y declaraciones de variables. Cada archivo de configuración de Terraform tiene el formato HashiCorp Configuration Language (HCL) o JSON. Los archivos con formato HCL utilizan la extensión de archivo
.tf
. Los archivos con formato JSON utilizan la extensión de archivo.tf.json
. - proveedor de origen de configuración
- Información de conexión a un sistema de control de código fuente en el que se almacenan los archivos de configuración de Terraform. Utilice un proveedor de origen de configuración para crear una pila a partir de un archivo de configuración de Terraform versionado y remoto.
- cambio
- Diferencia entre el estado real de la infraestructura y la última configuración ejecutada de la pila. Por ejemplo, el cambio se produce cuando un miembro del equipo agrega una etiqueta de producción a los recursos o cuando falla un recurso. Puede ejecutar informes de detección de cambios para determinar si los recursos aprovisionados tienen estados diferentes a los definidos en la última configuración ejecutada de la pila. También puede ver el estado de cambio detallado de cada recurso.
- trabajo
- Instrucciones para realizar las acciones definidas en la configuración. Solo se puede ejecutar un trabajo a la vez en una pila determinada; además, únicamente puede tener un juego de recursos de Oracle Cloud Infrastructure en una pila concreta. Para aprovisionar un juego de recursos diferente, debe crear una pila independiente y utilizar una configuración diferente.
- módulo
- Grupo de recursos relacionados. Utilice módulos para crear abstracciones sencillas y reutilizables, de manera que pueda describir su infraestructura en relación con su arquitectura. Para obtener más información, consulte la sección sobre creación de módulos.
- Paquete
- Normalmente, un archivo .zip en una configuración de Terraform que se almacena en un proveedor soportado, como GitHub. Para obtener más información, consulte Uso del botón Desplegar en Oracle Cloud.
- punto final privado
- Información de red para conectarse a un recurso no público. Para obtener más información, consulte Gestión de puntos finales privados.
- detección de recursos
- Función para capturar los recursos de Oracle Cloud Infrastructure desplegados como archivos de estado y configuración de Terraform. Para obtener más información, consulte Descubrimiento de recursos.
- pila
- Recopilación de recursos de Oracle Cloud Infrastructure correspondientes a una configuración de Terraform determinada. Cada pila reside en el compartimento que especifique, en una única región; sin embargo, los recursos de una pila determinada se pueden desplegar en varias regiones. Se asigna un OCID a cada pila.
- estado
- Estado de la configuración del recurso, almacenado en formato JSON en un archivo de estado (
.tfstate
). Para obtener más información, consulte Gestión de estados.
- plantilla
- Configuración de Terraform predefinida que aprovisiona un juego de recursos utilizados en un escenario común. La plantilla la puede proporcionar Oracle o alguien de su arrendamiento, como plantilla privada. Para crear pilas a partir de plantillas, consulte Creación de una pila a partir de una plantilla. Para obtener referencia, consulte Oracle-Provided Templates.
Funciones
Una plantilla es una configuración de Terraform que puede utilizar para gestionar la infraestructura. Las plantillas pueden ayudar a los clientes que son nuevos en la infraestructura como código y que están actualizando las configuraciones de flujos de trabajo de producción. Utilice plantillas para probar Resource Manager y aplicar las mejores prácticas probadas a la configuración del flujo de trabajo de producción. Para obtener información sobre las plantillas proporcionadas por Oracle, consulte Plantillas proporcionadas por Oracle.
Cree sus propias plantillas privadas para compartirlas con otros usuarios del arrendamiento.
Guarde la configuración de una página de configuración de recursos en una pila. Utilice la pila para instalar, configurar y gestionar el recurso mediante el modelo "infraestructura como código". Para obtener más información, consulte Creación de una pila a partir de una página de creación de recursos.
Almacene de forma remota las configuraciones de Terraform mediante sistemas de control de código fuente integrados, como Bitbucket Cloud, Bitbucket Server, DevOps, GitHub y GitLab. Esta integración le ayuda a lograr la integración y la entrega continuas (CI/CD).
Para obtener más información, consulte:
Para obtener un recorrido virtual mediante CLI para el aprovisionamiento en la nube en un pipeline de integración y despliegue continuos, consulte IaC en la nube: integración de Terraform y Resource Manager en el pipeline de integración y despliegue continuos: creación con la CLI de OCI
Además, también permitimos almacenar configuraciones de Terraform en cubos de Object Storage. Para obtener más información, consulte Creación de una pila a partir de un cubo.
Función para capturar los recursos desplegados como archivos de estado y configuración de Terraform. Con esta función, puede:
- Pase de la infraestructura gestionada manualmente a la infraestructura controlada por el gestor de recursos.
- Descubra cómo Terraform utiliza la sintaxis de lenguaje de configuración de HashiCorp (HCL) para representar los recursos de Oracle Cloud Infrastructure.
- Duplicar o reconstruir la infraestructura existente en otro compartimento.
Resource Manager almacena archivos de estado de Terraform para pilas para que no sea necesario. Varias personas pueden trabajar en una pila simultáneamente porque Resource Manager bloquea el estado de la pila, lo que permite que solo se ejecute un trabajo a la vez en una pila determinada. Resource Manager genera y actualiza automáticamente el archivo de estado de la pila (.tfstate
, en formato JSON). Este archivo asigna los recursos de la pila a su configuración y mantiene los metadatos de configuración esenciales, como las dependencias de recursos
Para obtener más información sobre los archivos de estado de Terraform, consulte Estado.
Averigüe si los recursos aprovisionados tienen estados diferentes a los recursos definidos en la configuración de la última ejecución de la pila y vea el estado de cambio detallado de cada recurso.
Opcionalmente, puede limitar la detección de cambios a recursos especificados. Cada recurso se identifica mediante una dirección de recurso, que es una cadena derivada del tipo de recurso y el nombre especificados en la configuración de Terraform de la pila más un índice opcional. Por ejemplo, la dirección del recurso para la cuarta instancia informática con el nombre "test_instance" es oci_core_instance.test_instance[3]
. El tipo de recurso es oci_core_instance
, un punto actúa como delimitador, el nombre de recurso es test_instance
y el índice es 3
entre corchetes. Para obtener más detalles y ejemplos de direcciones de recursos, consulte la documentación de Terraform en Ejemplos.
El botón Desplegar en Oracle Cloud permite iniciar la configuración remota de Terraform mediante el flujo de trabajo Crear pila disponible en Resource Manager.
Para obtener más información, consulte Uso del botón Desplegar en Oracle Cloud.
Con los puntos finales privados, puede acceder a recursos de nube no pública de su arrendamiento desde Resource Manager. Por ejemplo, utilice Remote Exec con una instancia privada o acceda a una configuración de Terraform en un servidor GitHub privado.
Para obtener más información, incluidos los escenarios comunes, consulte Gestión de puntos finales privados.
Puede proporcionar proveedores de Terraform personalizados mediante el almacenamiento de objetos. Para agregar proveedores personalizados a cubos, consulte Colocación de datos en Object Storage. Para recuperar proveedores personalizados de cubos, consulte Uso de proveedores personalizados con una pila.
Los archivos de bloqueo de dependencia se gestionan automáticamente para pilas nuevas y actualizadas. Decide cuándo recuperar las últimas versiones disponibles del origen configurado de los proveedores de Terraform. Los proveedores se actualizan con las restricciones de versión de la configuración de Terraform. Para obtener instrucciones, consulte Retrieving the Latest Providers.
Revertir una pila a un estado conocido anterior. La reversión es una buena alternativa a dedicar tiempo a solucionar problemas del estado desconocido de una pila.
Para realizar un rollback, primero identifique el trabajo de aplicación correcto que desea. Este "trabajo de destino" utiliza una configuración de Terraform diferente. Cree un trabajo de rollback de plan para este trabajo de destino y, a continuación, cree un trabajo de rollback de aplicación mediante el plan de ejecución generado.
Disponibilidad
El servicio Gestor de recursos está disponible en todas las regiones comerciales de Oracle Cloud Infrastructure. Consulte Acerca de las regiones y los dominios de disponibilidad para obtener la lista de regiones disponibles, junto con las ubicaciones, los identificadores de región, las claves de región y los dominios de disponibilidad asociados.
Flujo de trabajo generalizado
La siguiente imagen representa una vista generalizada del flujo de trabajo del gestor de recursos.
-
Cree una configuración de Terraform.
Nota
Para conocer los orígenes de configuración de Terraform soportados con Resource Manager, consulte Dónde almacenar las configuraciones de Terraform. - Cree una pila.
- Ejecute un trabajo de planificación, que produzca un plan de ejecución.
- Revise el plan de ejecución (logs de trabajo).
- Si es necesario realizar cambios en el plan de ejecución, actualice la configuración y vuelva a ejecutar un trabajo de planificación.
- Ejecute un trabajo de aplicación para aprovisionar recursos.
- Revise los archivos de estado y los archivos log según sea necesario.
- Opcionalmente, puede volver a aplicar la configuración, con o sin realizar cambios, volviendo a ejecutar un trabajo de aplicación.
- Opcionalmente, para liberar los recursos en ejecución en una pila, ejecute un trabajo de destrucción.
Para obtener una guía detallada sobre el flujo de trabajo del gestor de recursos, consulte Introducción.
Formas de acceder al gestor de recursos
Puede acceder al servicio del gestor de recursos mediante la consola o la API de REST del gestor de recursos. A lo largo de esta documentación se incluyen temas con instrucciones para utilizar la consola, la API y la CLI. Para obtener una lista de los SDK disponibles, consulte Software development kits e interfaz de línea de comandos.
Consola: para acceder al gestor de recursos mediante la Consola, debe utilizar un Explorador soportado. Para ir a la página de conexión de la consola, abra el menú de navegación situado en la parte superior de esta página y seleccione Consola de Infrastructure. Se le solicitará que introduzca el inquilino en la nube, el nombre de usuario y la contraseña. Abra el menú de navegación y seleccione Servicios para desarrolladores. En Gestor de recursos, seleccione Visión general.
API: para acceder al gestor de recursos a través de las API, utilice la API del gestor de recursos.
CLI: consulte Referencia de línea de comandos para Resource Manager.
Proveedor por Defecto
Por defecto, el gestor de recursos soporta terraform-provider-oci
, el proveedor de Terraform para Oracle Cloud Infrastructure.
Para ver los proveedores de Terraform de terceros soportados, consulte Proveedores de Terraform soportados.
Autenticación y autorización
Cada servicio de Oracle Cloud Infrastructure se integra con IAM con fines de autenticación y autorización para todas las interfaces (la consola, el SDK o la CLI, y la API de REST).
Un administrador de la organización debe configurar grupos, compartimentos y políticas que controlen qué usuarios pueden acceder a qué servicios, qué recursos y el tipo de acceso. Por ejemplo, las políticas controlan quién puede crear nuevos usuarios, crear y gestionar la red de la nube, crear instancias, crear cubos, descargar objetos, etc. Para obtener más información, consulte Gestión de dominios de identidad. Para obtener detalles específicos sobre la escritura de políticas de los distintos servicios, consulte Referencia de políticas.
Si es un usuario normal (no un administrador) que debe utilizar los recursos de Oracle Cloud Infrastructure que posee la compañía, póngase en contacto con un administrador para configurar su ID de usuario. El administrador puede confirmar qué compartimento o compartimentos puede utilizar.
También serán necesarias políticas para gestionar recursos de Oracle Cloud Infrastructure para operaciones del gestor de recursos que acceden a los recursos. Por ejemplo, la ejecución de un trabajo de aplicación en una pila que incluya instancias informáticas y subredes requiere políticas que le concedan permisos para esos tipos de recursos en los compartimentos en los que desea aprovisionar los recursos. Para consultar ejemplos de políticas de gestión de recursos de Oracle Cloud Infrastructure, consulte Políticas comunes.
Administradores: para políticas comunes que otorgan a los grupos acceso a los recursos de Resource Manager, consulte Políticas de IAM (Protección de Resource Manager).
Seguridad
Además de crear políticas de IAM, siga estas mejores prácticas de seguridad para Resource Manager.
- Limitar el uso de información confidencial en archivos de configuración y salida
- Realice una auditoría de seguridad
- Utilice puntos finales privados para acceder de forma segura a los recursos sin exponer el tráfico de red al público
Consulte Securing Resource Manager.
Límites sobre los recursos del gestor de recursos
Consulte Límites del gestor de recursos.
Para obtener una lista de límites aplicables e instrucciones para solicitar un aumento del límite, consulte Límites de servicio. Para definir límites específicos de compartimentos en un recurso o familia de recursos, los administradores pueden utilizar cuotas de compartimento.