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.
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
. - 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.
- 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.
- 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.
- é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.
Fonctions
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.
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.
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.
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.
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.
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.
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.
Pour plus d'informations, reportez-vous à Utilisation du bouton Déployer vers Oracle Cloud.
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.
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.
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.
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.
-
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. - Créez une pile.
- Exécutez un travail de planification qui génère un plan d'exécution.
- Vérifiez le plan d'exécution (journaux de travail).
- Si des modifications sont nécessaires dans le plan d'exécution, mettez à jour la configuration, puis réexécutez un travail de planification.
- Exécutez un travail d'application pour provisionner les ressources.
- Si nécessaire, consultez les fichiers d'état et les fichiers journaux.
- Vous pouvez éventuellement réappliquer votre configuration (en la modifiant ou non) en réexécutant un travail d'application.
- (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.
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.
Limites relatives aux ressources Resource Manager
Reportez-vous à Limites de Resource Manager.
Pour obtenir la liste des limites applicables et des instructions permettant de demander une augmentation de limite, reportez-vous à Limites de service. Pour définir des limites propres aux compartiments sur une ressource ou une famille de ressources, les administrateurs peuvent utiliser des quotas de compartiment.