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.

Consejo

Vea una introducción en vídeo al servicio.

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.
Para conocer los orígenes de configuración de Terraform soportados con Resource Manager, consulte Dónde almacenar las configuraciones de Terraform.
Por ejemplo, configuraciones, consulte Ejemplos de Terraform Oracle Cloud Infrastructure Provider y Plantillas proporcionadas por Oracle. Para obtener más información, consulte Configuraciones de Terraform para Resource Manager y Configuraciones de creación; consulte también la documentación de Terraform Language.
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.
Un proveedor de origen de configuración tiene los siguientes tipos:

Un proveedor de origen de configuración puede ser uno de los siguientes tipos:

  • Bitbucket
  • GitHub
  • GitLab

A continuación se muestran los productos soportados para cada tipo de proveedor de origen de configuración.

Un proveedor de origen de configuración tiene los siguientes estados de ciclo de vida:
  • Activo: el proveedor de origen de configuración está disponible para su uso.
Para obtener más información, consulte Gestión de proveedores de origen de configuración y Creación de una pila.

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

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.
Los trabajos almacenan el historial sobre su pila asociada. Por ejemplo, los trabajos de planificación almacenan planes de ejecución generados y los trabajos de aplicación almacenan configuraciones (instantáneas) y archivos de estado. Los trabajos residen en el mismo compartimento que la pila a la que están asociados. Se asigna OCID a cada trabajo.
Para obtener información sobre los tipos de trabajo del gestor de recursos, consulte Creación de un trabajo.
Un trabajo tiene los siguientes estados de ciclo de vida:
  • Aceptado (ACCEPTED): el trabajo se aceptó para su procesamiento.
  • En curso (IN_PROGRESS): el trabajo se está ejecutando (en ejecución).
  • Fallo (FAILED): la ejecución del trabajo no ha finalizado.
  • Corrado (SUCCEEDED): el trabajo ha terminado correctamente.
  • Cancelando (CANCELING): el trabajo se está cancelando; se ha enviado una notificación, pero el trabajo aún no se ha parado la ejecución.
  • Cancelado (CANCELED): el trabajo se ha cancelado y se ha parado su ejecución.
Política de reintento por defecto: un trabajo puede fallar debido a un problema de servicio descendente. Por ejemplo, un trabajo de aplicación para crear una instancia informática puede fallar debido a un problema de conectividad temporal en el servicio Compute. Cuando un trabajo falla debido a un problema de servicio descendente, el trabajo se reintenta según la política de reintentos por defecto del SDK de Go. Consulte SDK de Go para Oracle Cloud Infrastructure.
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.
Para conocer los pasos para crear pilas, consulte Creación de una pila. Para conocer los orígenes de configuración de Terraform soportados con Resource Manager, consulte Dónde almacenar las configuraciones de Terraform.
Una pila tiene los siguientes estados de ciclo de vida:
  • Creando: la pila se está creando.
  • Activa: la pila está disponible para su uso.
  • Suprimiendo: la pila se está suprimiendo.
  • Suprimida: la pila se ha suprimido.
  • Fallo: no se ha podido crear la 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.

Para crear plantillas privadas, consulte Gestión de plantillas privadas.

Funciones

Plantillas

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.

Comenzar con una página de creación de recursos

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.

Integración y despliegue continuos con Resource Manager

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.

Detección de recursos

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.
Gestión de Estado

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.

Detección de cambios

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.

Para obtener más información sobre la detección de cambios, consulte drift y las siguientes instrucciones:
Botón Despliegue en Oracle Cloud

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.

En esta imagen se muestra el botón Despliegue en Oracle Cloud.

Para obtener más información, consulte Uso del botón Desplegar en Oracle Cloud.

Puntos finales privados

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.

Proveedores personalizados

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.

Archivos de bloqueo de dependencia

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.

Realizar rollback de trabajos

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.

Esta imagen muestra el flujo de trabajo de la infraestructura de aprovisionamiento con el gestor de recursos.
  1. 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.
  2. Cree una pila.
  3. Ejecute un trabajo de planificación, que produzca un plan de ejecución.
  4. Revise el plan de ejecución (logs de trabajo).
  5. Si es necesario realizar cambios en el plan de ejecución, actualice la configuración y vuelva a ejecutar un trabajo de planificación.
  6. Ejecute un trabajo de aplicación para aprovisionar recursos.
  7. Revise los archivos de estado y los archivos log según sea necesario.
  8. Opcionalmente, puede volver a aplicar la configuración, con o sin realizar cambios, volviendo a ejecutar un trabajo de aplicación.
  9. 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.

Importante

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.