Présentation de Resource Manager

Automatiser le déploiement et les opérations pour les ressources Oracle Cloud Infrastructure à l'aide de Resource Manager. Avec les outils Infrastructure as Code (IaC) pris en charge, les ingénieurs de DevOps peuvent développer et déployer leur infrastructure n'importe où.

Une configuration Terraform codifie votre infrastructure dans les fichiers de configuration déclaratifs. Resource Manager permet de partager et de gérer les configurations d'infrastructure ainsi que les fichiers d'état entre plusieurs équipes et plates-formes. Cette gestion de l'infrastructure ne peut pas être effectuée uniquement avec des installations Terraform locales et des modules Oracle Terraform. Pour en savoir plus sur le fournisseur Oracle Cloud Infrastructure Terraform, reportez-vous à Fournisseur Terraform. Pour une présentation générale de Terraform et du modèle "Infrastructure-as-Code", reportez-vous à Communauté Terraform.

Resource Manager est conforme à la Federal Information Processing Standard (FIPS). Pour plus d'informations sur OCI dans les régions du gouvernement américain, reportez-vous à Oracle US Government Cloud et Oracle US Defense Cloud.

Conseil

Regardez une présentation vidéo du service.

Concepts clés

Voici une brève description des concepts clés et des principaux composants de Resource Manager.

configuration
Informations permettant de codifier votre infrastructure. Utilisez votre configuration pour spécifier les ressources Oracle Cloud Infrastructure dans une pile donnée. Par exemple, spécifiez les métadonnées de ressource, les définitions de source de données et les déclarations de variable. Chaque fichier de configuration Terraform est au format HCL (HashiCorp Configuration Language) ou JSON. Les fichiers au format HCL utilisent l'extension de fichier .tf . Les fichiers au format JSON utilisent l'extension de fichier .tf.json.
Pour connaître les sources de configuration Terraform prises en charge avec Resource Manager, reportez-vous à Emplacement de stockage des configurations Terraform.
Par exemple, reportez-vous à Exemples de fournisseur Oracle Cloud Infrastructure Terraform et à Modèles fournis par Oracle. Pour plus d'informations, reportez-vous à Configurations Terraform pour Resource Manager et à Création de configurations. Reportez-vous également à la documentation en langage Terraform.
Fournisseur de source de configuration
Informations de connexion à un système de contrôle de code source dans lequel vos fichiers de configuration Terraform sont stockés. Utilisez un fournisseur de source de configuration pour créer une pile à partir d'un fichier de configuration Terraform distant avec numéro de version.
Un fournisseur de source de configuration présente les types suivants : 

Un fournisseur de source de configuration peut être l'un des types suivants :

  • Bitbucket
  • GitHub
  • GitLab

Voici les produits pris en charge pour chaque type de fournisseur de source de configuration.

Un fournisseur de source de configuration présente les états de cycle de vie suivants :
  • Actif : le fournisseur de source de configuration est prêt à être utilisé.
Pour plus d'informations, reportez-vous à Gestion des fournisseurs de source de configuration et à Création d'une pile.

Pour obtenir une procédure pas à pas à l'aide de l'interface de ligne de commande pour le provisionnement cloud dans un pipeline d'intégration continue et de déploiement continu, reportez-vous à IaC dans le cloud : intégration de Terraform et de Resource Manager dans votre pipeline d'intégration continue et de déploiement continu - Création à l'aide de l'interface de ligne de commande OCI.

dérive
Différence entre l'état réel de votre infrastructure et la dernière configuration exécutée de la pile. Par exemple, la dérive survient lorsqu'un membre de l'équipe ajoute une balise de production à vos ressources ou qu'une ressource échoue. Vous pouvez exécuter des rapports de détection de dérive pour déterminer si les ressources provisionnées présentent des états différents de ceux définis dans la dernière configuration exécutée de la pile. Vous pouvez également afficher le statut de dérive détaillé de chaque ressource.
travail
Instructions permettant d'effectuer les actions définies dans votre configuration. Un seul travail à la fois peut être exécuté sur une pile donnée. De plus, vous ne pouvez avoir qu'un seul ensemble de ressources Oracle Cloud Infrastructure sur une même pile. Pour provisionner un autre ensemble de ressources, vous devez créer une pile distincte et utiliser une autre configuration.
Les travaux stockent l'historique de la pile qui leur est associée. Par exemple, les travaux de planification stockent les plans d'exécution générés, tandis que les travaux d'application stockent les configurations (clichés) et les fichiers d'état. Les travaux résident dans le même compartiment que la pile à laquelle ils sont associés. Un OCID  est affecté à chaque travail.
Pour plus d'informations sur les types de travail Resource Manager, reportez-vous à la rubrique Création d'un travail.
Les états de cycle de vie d'un travail sont les suivants :
  • accepté : (ACCEPTED) le travail a été accepté pour traitement.
  • En cours d'exécution : (IN_PROGRESS) le travail est en cours d'exécution.
  • Failed : (FAILED) : le travail n'a pas été exécuté.
  • Réussi : (SUCCEEDED) le travail est terminé.
  • Annulation (CANCELING) : le travail est en cours d'annulation ; une notification a été envoyée, mais le travail n'a pas encore été exécuté.
  • Annulé : (CANCELED) le travail a été annulé et arrêté.
Stratégie de nouvelle tentative par défaut : un travail peut échouer en raison d'un problème de service en aval. Par exemple, un travail d'application pour la création d'une instance de calcul peut échouer en raison d'un problème de connectivité temporaire dans le service Compute. En cas d'échec d'un travail en raison d'un problème de service en aval, le travail tente à nouveau en fonction de la stratégie de nouvelle tentative par défaut du kit SDK Go. Reportez-vous à Kit SDK Go pour Oracle Cloud Infrastructure.
module
Groupe de ressources associées. Utilisez des modules pour créer des abstractions légères et réutilisables, afin de décrire votre infrastructure en fonction de son architecture. Pour plus d'informations, reportez-vous à Création de modules.
package
Il s'agit généralement d'un fichier .zip vers une configuration Terraform stockée dans un fournisseur pris en charge, tel que GitHub. Pour plus d'informations, reportez-vous à Utilisation du bouton Déployer vers Oracle Cloud.
adresse privée
Informations réseau pour la connexion à une ressource non publique. Pour plus d'informations, reportez-vous à Gestion des adresses privées.
Repérage de ressources
Fonction qui capture les ressources Oracle Cloud Infrastructure déployées en tant que fichiers de configuration et d'état Terraform. Pour plus d'informations, reportez-vous à Repérage des ressources.
pile
Ensemble de ressources Oracle Cloud Infrastructure correspondant à une configuration Terraform donnée. Chaque pile réside dans le compartiment indiqué, dans une région unique ; toutefois, les ressources d'une pile donnée peuvent être déployées dans plusieurs régions. Un OCID  est affecté à chaque pile.
Pour connaître les étapes de création de piles, reportez-vous à Création d'une pile. Pour connaître les sources de configuration Terraform prises en charge avec Resource Manager, reportez-vous à Emplacement de stockage des configurations Terraform.
Une pile présente les états de cycle de vie suivants :
  • Création : la pile est en cours de création.
  • Actif : la pile est prête à être utilisée.
  • Suppression : la pile est en cours de suppression.
  • Supprimé : la pile a été supprimée.
  • En échec : la pile n'a pas pu être créée.
état
Etat de votre configuration de ressource, stocké au format JSON dans un fichier d'état (.tfstate). Pour plus d'informations, reportez-vous à Gestion des états.
modèle
Configuration Terraform prédéfinie qui provisionne un ensemble de ressources utilisées dans un scénario courant. Le modèle peut être fourni par Oracle ou une personne de votre location, en tant que modèle privé. Pour créer des piles à partir de modèles, reportez-vous à la section Creating a Stack from a Template. Pour référence, reportez-vous à Modèles fournis par Oracle.

Pour créer des modèles privés, reportez-vous à Gestion des modèles privés.

Fonctions

Modèles

Un modèle est une configuration Terraform que vous pouvez utiliser pour gérer l'infrastructure. Les modèles peuvent aider les clients qui découvrent l'IaC et qui mettent à jour des configurations de workflow de production. Utilisez des modèles pour tester Resource Manager et appliquer les meilleures pratiques éprouvées à votre configuration de workflow de production. Pour plus d'informations sur les modèles fournis par Oracle, reportez-vous à Modèles fournis par Oracle.

Créez vos propres modèles privés à partager avec d'autres membres de la location.

Commencer par une page de création de ressource

Enregistrez votre configuration à partir d'une page de configuration de ressource dans une pile. Utilisez la pile pour installer, configurer et gérer la ressource via le modèle "infrastructure-as-code". Pour plus d'informations, reportez-vous à Création d'une pile à partir d'une page de création de ressource.

Intégration continue et déploiement continu avec Resource Manager

Stockez vos configurations Terraform à distance à l'aide de systèmes de contrôle de code source intégrés, tels que Bitbucket Cloud, Bitbucket Server, DevOps, GitHub et GitLab. Cette intégration vous aide à réaliser une intégration continue et une livraison continue.

Pour plus d'informations, reportez-vous à :

Pour obtenir une procédure pas à pas à l'aide de l'interface de ligne de commande pour le provisionnement cloud dans un pipeline d'intégration continue et de déploiement continu, reportez-vous à IaC dans le cloud : intégration de Terraform et de Resource Manager dans votre pipeline d'intégration continue et de déploiement continu - Création à l'aide de l'interface de ligne de commande OCI.

De plus, nous autorisons également le stockage de configurations Terraform dans des buckets Object Storage. Pour plus d'informations, reportez-vous à Création d'une pile à partir d'un bucket.

Repérage de ressources

Fonctionnalité permettant de capturer les ressources déployées en tant que fichiers de configuration et d'état Terraform. Avec cette fonctionnalité, vous pouvez effectuer les actions suivantes :

  • Passer de l'infrastructure gérée manuellement à l'infrastructure contrôlée par Resource Manager.
  • Découvrir comment Terraform utilise la syntaxe HCL (HashiCorp Configuration Language) pour représenter les ressources Oracle Cloud Infrastructure.
  • Dupliquer ou reconstruire l'infrastructure existante dans un autre compartiment.
Gestion de l'état

Resource Manager stocke les fichiers d'état Terraform pour les piles, ce qui est inutile. Plusieurs personnes peuvent travailler sur une pile simultanément car Resource Manager verrouille l'état de la pile, ce qui permet d'exécuter un seul travail à la fois sur une pile donnée. Resource Manager génère et met à jour automatiquement le fichier d'état de la pile (.tfstate, au format JSON). Ce fichier met les ressources de votre pile en correspondance avec votre configuration et conserve les métadonnées de configuration essentielles, telles que les dépendances de ressource.

Pour plus d'informations sur les fichiers d'état Terraform, reportez-vous à Etat.

Détection de dérive

Vérifiez si les états des ressources provisionnées sont différents de ceux des ressources définies dans la dernière configuration d'exécution de la pile et affichez le statut de dérive détaillé de chaque ressource.

Vous pouvez éventuellement limiter la détection de dérive aux ressources spécifiées. Chaque ressource est identifiée par une adresse de ressource, qui est une chaîne dérivée du type et du nom de ressource indiqués dans la configuration Terraform de la pile, ainsi qu'un index facultatif. Par exemple, l'adresse de ressource de la quatrième instance Compute portant le nom "test_instance" est oci_core_instance.test_instance[3]. Le type de ressource est oci_core_instance, un point sert de délimiteur, le nom de la ressource est test_instance et l'index est 3 entre crochets. Pour plus de détails et d'exemples d'adresses de ressource, reportez-vous à la documentation Terraform à l'adresse Exemples.

Pour plus d'informations sur la détection de dérive, reportez-vous à la section drift et aux instructions suivantes :
Bouton de déploiement vers Oracle Cloud

Le bouton Déployer vers Oracle Cloud vous permet de lancer votre configuration Terraform distante à l'aide du workflow Créer une pile disponible dans Resource Manager.

Cette image présente le bouton Déployer vers Oracle Cloud.

Pour plus d'informations, reportez-vous à Utilisation du bouton Déployer vers Oracle Cloud.

Adresses privées

Avec les adresses privées, vous pouvez accéder aux ressources cloud non publiques de votre location à partir de Resource Manager. Par exemple, utilisez l'exécution distante avec une instance privée ou accédez à une configuration Terraform dans un serveur GitHub privé.

Pour plus d'informations, y compris sur les scénarios courants, reportez-vous à Gestion des adresses privées.

Fournisseurs personnalisés

Vous pouvez fournir des fournisseurs Terraform personnalisés à l'aide d'Object Storage. Pour ajouter des fournisseurs personnalisés aux buckets, reportez-vous à Mise en place de données dans Object Storage. Pour extraire des fournisseurs personnalisés à partir de buckets, reportez-vous à Utilisation de fournisseurs personnalisés avec une pile.

Fichiers de verrouillage de dépendance

Les fichiers de verrouillage de dépendance sont gérés automatiquement pour les piles nouvelles et mises à jour. Vous décidez quand extraire les dernières versions disponibles à partir de la source configurée des fournisseurs Terraform. Les fournisseurs sont mis à jour dans les contraintes de version de la configuration Terraform. Pour obtenir des instructions, reportez-vous à Extraction des derniers fournisseurs.

Annuler les travaux

Restaurer une pile dans un état connu précédent. L'annulation (rollback) est une bonne alternative au dépannage de l'état inconnu d'une pile.

Pour annuler (rollback), identifiez d'abord le travail d'application de votre choix. Ce "travail cible" utilise une configuration Terraform différente. Créez un travail d'annulation de plan pour ce travail cible, puis créez un travail d'annulation d'application à l'aide du plan d'exécution généré.

Disponibilité

Le service Resource Manager est disponible dans toutes les régions commerciales Oracle Cloud Infrastructure. Reportez-vous à A propos des régions et des domaines de disponibilité pour obtenir la liste des régions disponibles, ainsi que les emplacements associés, les identificateurs de région, les clés de région et les domaines de disponibilité.

Workflow général

L'image suivante présente une vue générale du workflow de Resource Manager.

Cette image présente le workflow de provisionnement de l'infrastructure avec Resource Manager.
  1. Créez une configuration Terraform.

    Remarque

    Pour connaître les sources de configuration Terraform prises en charge avec Resource Manager, reportez-vous à Stockage des configurations Terraform.
  2. Créez une pile.
  3. Exécutez un travail de planification qui génère un plan d'exécution.
  4. Vérifiez le plan d'exécution (journaux de travail).
  5. Si des modifications sont nécessaires dans le plan d'exécution, mettez à jour la configuration, puis réexécutez un travail de planification.
  6. Exécutez un travail d'application pour provisionner les ressources.
  7. Si nécessaire, consultez les fichiers d'état et les fichiers journaux.
  8. Vous pouvez éventuellement réappliquer votre configuration (en la modifiant ou non) en réexécutant un travail d'application.
  9. (Facultatif) Pour libérer les ressources exécutées sur une pile, exécutez un travail de destruction.

Pour une présentation détaillée du workflow Resource Manager, reportez-vous à la rubrique Introduction.

Méthodes d'accès à Resource Manager

Vous pouvez accéder au service Resource Manager à l'aide de la console ou de l'API REST Resource Manager. Les instructions d'utilisation de la console, de l'API et de l'interface de ligne de commande sont incluses dans les rubriques de cette documentation. Pour obtenir la liste des kits SDK disponibles, reportez-vous à Kits SDK et interface de ligne de commande.

Console : pour accéder à Resource Manager à l'aide de la console, vous devez utiliser un navigateur pris en charge. Pour accéder à la page de connexion à la console, ouvrez le menu de navigation en haut de cette page et sélectionnez Console Infrastructure. Vous êtes invité à saisir votre locataire cloud, votre nom utilisateur et votre mot de passe. Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Gestionnaire de ressources, sélectionnez Présentation.

API : pour accéder à Resource Manager via des API, utilisez l'API de Resource Manager.

Interface de ligne de commande : reportez-vous à Référence de ligne de commande pour Resource Manager.

Fournisseur par défaut

Par défaut, Resource Manager prend en charge terraform-provider-oci, le fournisseur Terraform pour Oracle Cloud Infrastructure.

Pour connaître les fournisseurs Terraform tiers pris en charge, reportez-vous à Fournisseurs Terraform pris en charge.

Authentification et autorisation

Chaque service d'Oracle Cloud Infrastructure s'intègre à IAM à des fins d'authentification et d'autorisation pour toutes les interfaces (console, kit SDK ou interface de ligne de commande, et API REST).

Un administrateur d'une organisation doit configurer des groupes , des compartiments et des stratégies qui détermine quels utilisateurs peuvent accéder à quels services, quelles ressources, ainsi qu'à quel type d'accès. Par exemple, les stratégies indiquent qui peut créer les utilisateurs, créer et gérer le réseau cloud, créer les instances, créer les buckets, télécharger les objets, etc. Pour plus d'informations, reportez-vous à Gestion des domaines d'identité. Afin d'obtenir des détails spécifiques sur l'élaboration de stratégies pour chacun des différents services, reportez-vous à Référence de stratégie.

Si vous êtes un utilisateur standard (pas un administrateur) et que vous avez besoin des ressources Oracle Cloud Infrastructure de l'entreprise, demandez à un administrateur de configurer pour vous un ID utilisateur. L'administrateur peut confirmer les compartiments que vous pouvez utiliser.

Important

Des stratégies de gestion des ressources Oracle Cloud Infrastructure sont également requises pour les opérations Resource Manager qui accèdent aux ressources. Par exemple, l'exécution d'un travail d'application sur une pile qui inclut des instances Compute et des sous-réseaux nécessite des stratégies qui vous accordent des droits d'accès à ces types de ressource, dans les compartiments dans lesquels vous souhaitez provisionner les ressources. Pour consulter des exemples de stratégie de gestion des ressources Oracle Cloud Infrastructure, reportez-vous à Stratégies courantes.

Administrateurs : pour connaître les stratégies courantes qui permettent aux groupes d'accéder aux ressources Resource Manager, reportez-vous à Stratégies IAM (sécurisation de Resource Manager).

Sécurité

En plus de créer des stratégies IAM, suivez ces meilleures pratiques de sécurité pour Resource Manager.

  • Limiter l'utilisation des informations sensibles dans les fichiers de configuration et de sortie
  • Réalisation d'un audit de sécurité
  • Utilisez des adresses privées pour accéder aux ressources en toute sécurité sans exposer le trafic réseau au public

Reportez-vous à Sécurisation de Resource Manager.