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.
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
. - 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
- 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.
- é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.
Fonctionnalités
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.
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.
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.
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.
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 plus d'informations sur les fichiers d'état Terraform, reportez-vous à Etat (terraform.io).
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.
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.
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 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 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.
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 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.
-
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. - 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 travaux).
- 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 à 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.
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.
Limites relatives aux ressources Resource Manager
Reportez-vous à Limites de Resource Manager.
Pour obtenir la liste des limites applicables et instructions pour demander une augmentation de limite, reportez-vous aux 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.