Présentation de Resource Manager

Resource Manager automatise le déploiement et les opérations pour toutes les ressources Oracle Cloud Infrastructure. En utilisant le modèle Infrastructure-as-Code (IaC), le service repose sur Terraform, une norme open source qui permet aux ingénieurs DevOps de développer et de 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 plus d'informations sur le fournisseur Oracle Cloud Infrastructure Terraform, reportez-vous au fournisseur Terraform. Pour consulter une présentation générale de Terraform et du modèle "Infrastructure-as-Code", reportez-vous à la page https://www.terraform.io.

Resource Manager est conforme à la norme FIPS (Federal Information Processing Standard). Pour plus d'informations sur OCI dans les régions gouvernementales des Etats-Unis, reportez-vous à Oracle Cloud Infrastructure US Government 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 HashiCorp HCL 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 les sources de configuration Terraform prises en charge avec Resource Manager, reportez-vous à Emplacement de stockage des configurations Terraform.
Pour obtenir des exemples de configuration, 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 page HashiCorp : Configuration.
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 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 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 à Création d'un travail.
Les états de cycle de vie d'un travail sont les suivants :
  • Accepted : (ACCEPTED) le travail a été accepté pour traitement.
  • En cours d'exécution : (IN_PROGRESS) le travail est en cours d'exécution.
  • Echec : (FAILED) le travail n'a pas été exécuté.
  • Succès : (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é arrêté.
  • 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. Lorsqu'un travail échoue en raison d'un problème de service en aval, le travail effectue une nouvelle tentative 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
En général, 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
Fonctionnalité permettant de capturer 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 des piles, reportez-vous à Création d'une pile. Pour 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 commun. Le modèle peut être fourni par Oracle ou par un membre 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 obtenir des références, reportez-vous à Modèles fournis par Oracle.

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

Fonctionnalités

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'infrastructure en tant que code et qui mettent à jour les 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 utilisateurs de la location.

Commencer par une page de création de ressource

Enregistrez la configuration 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 à la section Creating a Stack from a Resource Creation Page.

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 à assurer l'intégration continue et le déploiement continu.

Pour plus d'informations, reportez-vous à :

Pour 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.

En outre, nous permettons également de stocker les 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 :

  • Passez 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 des états

Resource Manager stocke les fichiers d'état Terraform des piles afin que vous n'ayez pas à les stocker. Plusieurs personnes peuvent travailler simultanément sur une pile, car Resource Manager verrouille l'état de la pile, ce qui n'autorise qu'un seul travail à la fois à s'exécuter 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 obtenir des instructions connexes, reportez-vous aux rubriques suivantes :

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

Détection de dérive

Déterminez si les ressources provisionnées ont des états différents de ceux définis dans la configuration de la dernière exécution de la pile et affichez le statut de dérive détaillé pour 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, plus 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 des 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 Déployer vers Oracle Cloud

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

Cette image présente le bouton de déploiement 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 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 mémoire cache des 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 jusqu'à 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 qui a abouti. 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 les sources de configuration Terraform prises en charge avec Resource Manager, reportez-vous à Emplacement de vos 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 travaux).
  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 à 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 cliquez sur Console Infrastructure. Vous êtes invité à saisir votre locataire cloud, votre nom utilisateur et votre mot de passe. Ouvrez le menu de navigation et cliquez sur Services de développeur. Sous Gestionnaire de ressources, cliquez sur Présentation.

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

CLI : 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 de votre organisation doit configurer des groupes , des compartiments  et des stratégies  qui déterminent quels utilisateurs peuvent accéder à quels services et à quelles ressources, ainsi que le type d'accès. Par exemple, les stratégies déterminent qui peut créer des utilisateurs, créer et gérer le réseau cloud, lancer des instances, créer des buckets, télécharger des objets, etc. Pour plus d'informations, reportez-vous à Introduction aux stratégies. 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 (et non un administrateur) et que vous avez besoin d'utiliser les ressources Oracle Cloud Infrastructure de votre entreprise, contactez l'administrateur afin qu'il configure un ID utilisateur pour vous. L'administrateur peut confirmer les compartiments que vous devez 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 sous-réseaux et des instances Compute nécessite des stratégies qui vous accordent des droits d'accès pour 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 permettant aux groupes d'accéder aux ressources Resource Manager, reportez-vous à Stratégies IAM (Sécurisation de Resource Manager).

Sécurité

Outre la création de stratégies IAM, suivez les meilleures pratiques de sécurité suivantes 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 en toute sécurité aux ressources sans exposer le trafic réseau au public.

Reportez-vous à Securing Resource Manager.