Introduction
Cet exemple décrit toutes les tâches nécessaires pour créer et déployer une instance de calcul Oracle Cloud Infrastructure à l'aide du gestionnaire de ressources.
Cette page vous aide à démarrer avec le gestionnaire de ressources. Utilisez cette présentation de bout en bout des tâches pour créer et déployer une instance de calcul Oracle Cloud Infrastructure à l'aide d'une configuration Terraform prédéfinie ou de votre propre configuration Terraform. Pour une brève présentation du gestionnaire de ressources, voir Aperçu du gestionnaire de ressources.
Points saillants
En plus de fournir une configuration Terraform prédéfinie pour la création d'une instance de calcul, cette procédure pas à pas fournit des exemples qui montrent comment écrire une configuration Terraform. Quelle que soit la configuration que vous utilisez (préconstruit ou la vôtre), le gestionnaire de ressources utilise Terraform pour provisionner les ressources définies. Les ressources sont organisées en piles, que vous créez et provisionnez à l'aide de tâches.
La procédure décrit les tâches suivantes :
- Sélectionnez ou créez une configuration Terraform.
- Provisionner l'infrastructure :
- Créez une pile dans laquelle provisionner l'infrastructure.
- Exécutez une tâche de planification sur la pile, qui analyse la configuration et crée un plan d'exécution.
- Vérifiez le plan d'exécution généré.
- Exécutez une tâche d'application sur la pile, qui provisionne les ressources. La tâche d'application suit le plan d'exécution, qui est basé sur la configuration Terraform.
- Vérifiez l'infrastructure obtenue.
- Facultativement, provisionnez l'infrastructure dans d'autres environnements, à l'aide de la même configuration Terraform.
Avant de commencer
Vérifiez que vous avez installé, obtenu ou créé les préalables suivants :
- Une location Oracle Cloud Infrastructure pour chaque environnement dans lequel vous voulez provisionner des ressources. Par exemple, vous pouvez provisionner les ressources définies dans une configuration Terraform pour les environnements de développement, de préparation et de production.Note
Il est recommandé de localiser chaque environnement dans sa propre location. - L'OCID du compartiment où vous souhaitez créer la pile.
- Un compte d'utilisateur incluant les éléments suivants :
- Une clé de signature d'API. Pour des conseils, voir Clés et OCID requis.
- Autorisations IAM requises. Pour plus d'informations, voir Aperçu des politiques IAM et Informations détaillées sur le gestionnaire de ressources.
- Si vous voulez utiliser l'interface de ligne de commande Oracle Cloud Infrastructure, installez et configurez d'abord l'interface de ligne de commande. Voir Démarrage rapide et Configuration de l'interface de ligne de commande
Tâche 1a : Sélectionner une configuration Terraform prédéfinie
Vous pouvez sélectionner le modèle d'instance de calcul avec sa configuration Terraform prédéfinie au lieu d'écrire votre propre configuration. Ces étapes vous guident tout au long du processus de création de pile.
- Sélectionnez le lien suivant pour lancer la page Créer une pile avec le modèle d'instance de calcul déjà sélectionné.
- Dans la page Créer une pile, entrez le nom de la nouvelle pile (ou acceptez le nom par défaut). Évitez d'entrer des informations confidentielles.
-
Dans la liste déroulante Créer dans le compartiment, sélectionnez le compartiment dans lequel vous souhaitez créer la pile.
Un compartiment de la liste est défini par défaut.
-
Sélectionnez Suivant.
Le panneau Configurer les variables affiche les variables de la configuration Terraform.
-
Vérifiez les variables et apportez des modifications si nécessaire.
Important
N'ajoutez pas votre clé privée ni d'autres informations confidentielles aux variables de configuration. - Sélectionnez Suivant.
- Dans le panneau Vérifier, vérifiez la configuration de la pile.
Pour les besoins de cette procédure pas à pas, laissez le champ Exécuter l'application vide. (Utilisez cette option pour provisionner automatiquement l'infrastructure lors de la création de la pile.)
- Sélectionnez Créer pour créer la pile.
La page des détails de la nouvelle pile apparaît.
Félicitations! Vous avez créé une pile avec la configuration Terraform prédéfinie à partir du modèle d'instance de calcul. L'étape suivante consiste à provisionner l'infrastructure.
Tâche 1b : Créer votre propre configuration Terraform
Si vous n'avez pas sélectionné de configuration Terraform prédéfinie, suivez ces étapes pour écrire la vôtre.
Une configuration Terraform est un fichier qui codifie l'infrastructure. La configuration définit le fournisseur Terraform, les ressources que vous prévoyez de provisionner, des variables et des instructions spécifiques pour le provisionnement des ressources.
Cette page vous guide dans la sélection du modèle d'instance de calcul avec sa configuration Terraform prédéfinie ou dans l'écriture de votre propre configuration à l'aide de plusieurs fichiers .tf dans un fichier .zip.
Pour plus d'informations sur l'écriture de configurations à utiliser avec le gestionnaire de ressources, voir Configurations Terraform pour le gestionnaire de ressources et Documentation sur le langage Terraform.
Ne fournissez pas de données d'identification d'utilisateur ou d'autres informations confidentielles dans la configuration Terraform.
L'exemple de code suivant crée un fournisseur Terraform de base pour Oracle Cloud Infrastructure. Vous pouvez fournir des valeurs en tant que variables définies dans un fichier de variables ou dans le fichier de définition du fournisseur (.tf). Pour plus d'informations, voir Configuration du fournisseur.
provider "oci" {
region = "${var.region}"
}
Définissez les variables à utiliser lors du provisionnement des ressources. Il est recommandé de créer un fichier "variables" dans l'ensemble de configuration que vous chargez. L'exemple qui suit présente un fichier de configuration nommé variables.tf
. Pour plus d'informations sur l'utilisation des variables, voir Définir des variables d'entrée. Voir aussi Variables d'entrée.
variable "compartment_ocid" {
default = "ocid1.compartment.oc1..uniqueid"
}
variable "region" {
default = "us-phoenix-1"
}
variable "InstanceImageOCID" {
type = "map"
default = {
// See https://docs.cloud.oracle.com/images/
// Platform image "Oracle-Linux-7.5-2018.10.16-0"
"eu-frankfurt-1" = "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaaitzn6tdyjer7jl34h2ujz74jwy5nkbukbh55ekp6oyzwrtfa4zma"
"uk-london-1" = "ocid1.image.oc1.uk-london-1.aaaaaaaa32voyikkkzfxyo4xbdmadc2dmvorfxxgdhpnk6dw64fa3l4jh7wa"
"us-ashburn-1" = "ocid1.image.oc1.iad.aaaaaaaageeenzyuxgia726xur4ztaoxbxyjlxogdhreu3ngfj2gji3bayda"
"us-phoenix-1" = "ocid1.image.oc1.phx.aaaaaaaaoqj42sokaoh42l76wsyhn3k2beuntrh5maj3gmgmzeyr55zzrwwa"
}
}
variable "ssh_public_key" {
default = "ssh-rsa <public_key_value>"
}
# Defines the number of instances to deploy
variable "NumInstances" {
default = "1"
}
variable "InstanceShape" {
default = "VM.Standard2.1"
}
# Specifies the Availability Domain
variable "localAD" {
default = "<AD_name>"
}
Pour plus d'informations sur les variables déclarées dans les exemples précédents, voir les informations ci-après :
-
InstanceImageOCID
: Images de plate-forme -
InstanceShape
: Formes du service de calcul -
region
etlocalAD
: Régions et domaines de disponibilité
Avec un document de schéma, vous pouvez réutiliser une configuration Terraform non modifiée dans les environnements de développement, de préparation et de production. Le gestionnaire de ressources vous invite à entrer des valeurs de variable lorsque vous créez une pile avec une configuration Terraform qui inclut un document de schéma.
Les documents de schéma sont recommandés pour les configurations Terraform lors de l'utilisation du gestionnaire de ressources. L'inclusion d'un document de schéma vous permet d'étendre des pages dans la console Oracle Cloud Infrastructure. Facilitez l'entrée de variable dans la page Créer une pile en surfant sur les contrôles de clé SSH et en attribuant un nom, en regroupant, en préalimentant dynamiquement les valeurs, etc. Définissez le texte dans l'onglet Informations sur l'application de la page Détails de la pile qui s'ouvre pour une pile créée.
Vous trouverez ci-dessous le contenu d'un exemple de document de schéma (schema.yaml
) qui couvre les détails de base de ce scénario.
Pour réutiliser facilement ce document de schéma, spécifiez les valeurs par défaut pour chaque variable.
locale: "en"
variableGroups:
- title: "Destination"
variables:
- compartment_ocid
- ${region}
- ${localAD}
- title: "Instance Details"
variables:
- ${numInstances}
- ${instanceImageOCID}
- ${instanceShape}
- title: "SSH Public Key"
variables:
- ${ssh_public_key}
variables:
compartment_ocid:
type: oci:identity:compartment:id
required: true
title: Compartment OCID
region:
type: oci:identity:region:name
required: true
title: Region
localAD:
type: oci:identity:availabilitydomain:name
required: true
title: Availability Domain
dependsOn:
compartmentId: compartment_ocid
numInstances:
type: integer
required: true
title: Number of Instances
minimum: 1
maximum: 10
multipleOf: 1
instanceImageOCID:
type: oci:core:image:id
required: true
title: Instance Image OCID
dependsOn:
compartmentId: compartment_ocid
instanceShape:
type: oci:core:instanceshape:name
required: true
title: Instance Shape
default: "VM.Standard.E2.1.Micro"
dependsOn:
compartmentId: compartment_ocid
ssh_public_key:
type: oci:core:ssh:publickey
required: true
title: SSH Public Key
L'exemple de code suivant crée un réseau en nuage virtuel (VCN) Oracle Cloud Infrastructure nommé "ExampleVCN".
resource "oci_core_virtual_network" "ExampleVCN" {
cidr_block = "10.1.0.0/16"
compartment_id = "${var.compartment_ocid}"
display_name = "TFExampleVCN"
dns_label = "tfexamplevcn"
}
L'exemple de code suivant crée un sous-réseau nommé "ExampleSubnet" dans le VCN défini dans l'exemple de code précédent.
resource "oci_core_subnet" "ExampleSubnet" {
availability_domain = "${var.localAD}"
cidr_block = "10.1.20.0/24"
display_name = "TFExampleSubnet"
dns_label = "tfexamplesubnet"
security_list_ids = ["${oci_core_virtual_network.ExampleVCN.default_security_list_id}"]
compartment_id = "${var.compartment_ocid}"
vcn_id = "${oci_core_virtual_network.ExampleVCN.id}"
route_table_id = "${oci_core_route_table.ExampleRT.id}"
dhcp_options_id = "${oci_core_virtual_network.ExampleVCN.default_dhcp_options_id}"
}
L'exemple de code suivant crée une passerelle Internet nommée "ExampleIG" dans le VCN que vous avez créé.
resource "oci_core_internet_gateway" "ExampleIG" {
compartment_id = "${var.compartment_ocid}"
display_name = "TFExampleIG"
vcn_id = "${oci_core_virtual_network.ExampleVCN.id}"
}
L'exemple de code suivant crée une table de routage de base Oracle Cloud Infrastructure dans le VCN, puis applique deux règles de routage.
resource "oci_core_route_table" "ExampleRT" {
compartment_id = "${var.compartment_ocid}"
vcn_id = "${oci_core_virtual_network.ExampleVCN.id}"
display_name = "TFExampleRouteTable"
route_rules {
cidr_block = "0.0.0.0/0"
network_entity_id = "${oci_core_internet_gateway.ExampleIG.id}"
}
}
L'exemple de code étendu suivant crée une instance de calcul Oracle Cloud Infrastructure. Le code référence également l'image sur laquelle l'instance de calcul est créée, définit la taille du volume de démarrage, ajoute les métadonnées essentielles et applique à la fois des marqueurs à structure libre et des marqueurs définis.
resource "oci_core_instance" "TFInstance" {
count = "${var.NumInstances}"
availability_domain = "${var.localAD}"
compartment_id = "${var.compartment_ocid}"
display_name = "TFInstance${count.index}"
shape = "${var.InstanceShape}"
create_vnic_details {
subnet_id = "${oci_core_subnet.ExampleSubnet.id}"
display_name = "primaryvnic"
assign_public_ip = true
hostname_label = "tfexampleinstance${count.index}"
}
source_details {
source_type = "image"
source_id = "${var.InstanceImageOCID[var.region]}"
# Apply this to set the size of the boot volume that's created for this instance.
# Otherwise, the default boot volume size of the image is used.
# This should only be specified when source_type is set to "image".
#boot_volume_size_in_gbs = "60"
}
# Apply the following flag only if you wish to preserve the attached boot volume upon destroying this instance
# Setting this and destroying the instance will result in a boot volume that should be managed outside of this config.
# When changing this value, make sure to run 'terraform apply' so that it takes effect before the resource is destroyed.
#preserve_boot_volume = true
metadata = {
ssh_authorized_keys = "${var.ssh_public_key}"
}
timeouts {
create = "60m"
}
}
Assurez-vous que tous les fichiers de configuration se trouvent dans un même répertoire. Vous pouvez stocker le fichier de configuration Terraform localement ou dans un système de contrôle de code source. Pour plus d'informations sur le stockage du fichier dans un système de contrôle de code source, voir Gestion des fournisseurs de source de configuration. Chaque fois que le fichier est stocké, vous pouvez le sélectionner lors de la création d'une pile à l'aide de l'interface de ligne de commande ou de la console.
Assurez-vous que le fichier de configuration Terraform est valide. Voir Création de configurations et Configurations Terraform pour le gestionnaire de ressources.
Tâche 2 : Provisionner l'infrastructure
Utilisez la configuration Terraform pour créer et déployer l'infrastructure en effectuant les actions suivantes :
-
Si vous avez créé votre propre configuration Terraform, procédez comme suit pour créer une pile dans un compartiment de location de votre choix. (Si vous avez sélectionné une configuration prédéfinie, ignorez cette étape.)
Pour les sources de configuration Terraform prises en charge par le gestionnaire de ressources, voir Où stocker vos configurations Terraform.
Une pile est une collection de ressources sur laquelle vous effectuez des actions en tant que groupe. Toutes les ressources que vous spécifiez dans la configuration sont provisionnées dans la pile que vous créez.
Vous pouvez créer une pile à partir d'un fichier distant avec version dans un système de contrôle de code source (par exemple, Git), un seau de stockage d'objets ou un fichier .zip accessible localement que vous chargez. Voici les instructions pour un fichier local.
Pour créer une pile à partir de votre fichier .zip (console)- Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Piles.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser.
-
Sélectionnez Créer une pile.
La page Créer une pile s'ouvre et l'onglet Informations sur la pile est sélectionné.
-
Dans la page Créer une pile, sous Sélectionner l'origine de la configuration Terraform, sélectionnez Ma configuration.
-
Sous Configuration de pile, sélectionnez Fichier zip et ajoutez la configuration Terraform.
Vous pouvez glisser-déposer votre fichier de configuration Terraform .zip dans le contrôle ou sélectionner Parcourir et naviguer jusqu'à l'emplacement du fichier .zip.
Vous pouvez également stocker votre configuration à distance. Par exemple, stockez la configuration dans Git ou un seau de stockage d'objets.
La page est alimentée avec les informations contenues dans la configuration Terraform.
-
Entrez des valeurs dans les autres champs.
Le nom Description Utiliser des fournisseurs personnalisés Sélectionnez cette option pour utiliser des fournisseurs personnalisés, puis sélectionnez le seau qui contient les fournisseurs personnalisés. Nom Nom de la pile. Vous pouvez accepter le nom par défaut fourni. Évitez d'entrer des informations confidentielles. Description Description de la pile (facultatif). Créer dans le compartiment Compartiment dans lequel créer la pile. Un compartiment de la liste est défini par défaut. Version de Terraform Version à utiliser pour la configuration Terraform. Marqueurs Facultativement, appliquez des marqueurs à la pile. -
Sélectionnez Suivant.
Le panneau Configurer les variables répertorie les variables de la configuration Terraform.
-
Vérifiez les variables et modifiez-les au besoin.
N'ajoutez pas votre clé privée ni d'autres informations confidentielles aux variables de configuration. -
Sélectionnez Suivant.
-
Dans le panneau Vérifier, vérifiez la configuration de la pile.
-
Pour provisionner automatiquement des ressources lors de la création de la pile, sélectionnez Exécuter l'application.
-
Sélectionnez Créer pour créer la pile.
La pile est créée et sa page de détails s'ouvre.
Si vous avez sélectionné Exécuter l'application, le gestionnaire de ressources exécute l'action d'application sur la nouvelle pile.
Pour créer une pile à partir de votre fichier .zip (interface de ligne de commande)Utilisez la commande liée à l'emplacement du fichier.
Pour créer une pile à partir d'un fichier distant avec versionUtilisez la commande
oci resource-manager stack create-from-git-provider
et les paramètres requis pour créer une pile à partir de Git.oci resource-manager stack create-from-git-provider [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
Exemple de demandeoci resource-manager stack create-from-git-provider --compartment-id ocid1.tenancy.oc1..uniqueid --config-source-configuration-source-provider-id ocid.ormconfigsourceprovider.oc1..uniqueid --config-source-repository-url https://github.com/user/repo.git --config-source-branch-name mybranch --display-name "My Stack from Git" --description "My Test" --variables file://variables.json --working-directory ""
Pour créer une pile à partir de votre fichier .zipNote
Sous Windows, assurez-vous que le fichier zip et les fichiers variables.json se trouvent dans le même répertoire que celui à partir duquel vous exécutez l'interface de ligne de commande. Une limitation de l'interface de ligne de commande sous Windows empêche actuellement le traitement correct des fichiers si l'un d'entre eux se trouve dans un sous-répertoire.Utilisez la commande
oci resource-manager stack create
et les paramètres requis pour créer une pile à partir d'un fichier zip local.oci resource-manager stack create [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
Exemple de demandeoci resource-manager stack create --compartment-id ocid1.tenancy.oc1..uniqueid --config-source vcn.zip --variables file://variables.json --display-name "My Example Stack" --description "My Tutorial to Create a VCN" --working-directory ""
Exemple de réponse{ "data": { config-source": { "working-directory": null, "config-source-type": "ZIP_UPLOAD" }, "defined-tags": {}, "description": "My Tutorial to Create a VCN", "display-name": "My Example Stack", "freeform-tags": {}, "id": "ocid1.ormstack.oc1..uniqueid", "lifecycle-state": "ACTIVE", "time-created": "2019-04-03T18:26:56.299000+00:00", "variables": { "compartment_ocid": "ocid1.compartment.oc1..uniqueid", "region": "us-phoenix-1" } } }
-
Générez un plan d'exécution.
La tâche de planification analyse la configuration pour créer un "plan d'exécution", qui est une représentation étape par étape du déploiement planifié dans les entrées du journal de la tâche. Une fois la tâche de planification terminée, vous pouvez évaluer le plan d'exécution en consultant les entrées du journal de la tâche pour vérifier qu'il effectue les opérations attendues dans l'ordre voulu.
Note
Vous pouvez ignorer cette étape si vous avez sélectionné Exécuter l'application lors de la création de la pile. Dans ce cas, les ressources ont déjà été provisionnées.Pour exécuter une tâche de planification (console)- Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Piles.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser.
-
Sélectionnez le nom de la pile qui vous voulez.
La page Détails de la pile s'affiche.
-
Sélectionnez Planifier.
-
Dans le panneau Planifier, vérifiez le nom et, facultativement, modifiez-le.
-
Sélectionnez Planifier.
La tâche de plan est créée. La nouvelle tâche est indiquée sous Tâches.
Surveillez le statut de la tâche (état du cycle de vie) en obtenant les détails de la tâche. Réussite (
SUCCEEDED
) indique que la tâche est terminée. Selon la complexité de la tâche, l'opération peut prendre un certain temps. Pendant l'exécution de la tâche ou une fois celle-ci terminée, vous pouvez obtenir le contenu des journaux de tâche.
Pour exécuter une tâche de planification (interface de ligne de commande)Utilisez la commande
oci resource-manager job create-plan-job
et les paramètres requis pour exécuter une tâche de planification.oci resource-manager job create-plan-job [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
Surveillez le statut de la tâche (état du cycle de vie) en obtenant les détails de la tâche. Réussite (
SUCCEEDED
) indique que la tâche est terminée. Selon la complexité de la tâche, l'opération peut prendre un certain temps. Pendant l'exécution de la tâche ou une fois celle-ci terminée, vous pouvez obtenir le contenu des journaux de tâche. -
Vérifiez le plan d'exécution pour vous assurer qu'il est conforme à vos intentions.
Le plan d'exécution est représenté dans le journal de la tâche de planification que vous avez exécutée précédemment.
Note
Vous pouvez ignorer cette étape si vous avez sélectionné Exécuter l'application lors de la création de la pile. Dans ce cas, les ressources ont déjà été provisionnées.Pour vérifier un plan d'exécution (journal de la tâche de planification) (console)-
Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Tâches.
Vous pouvez également accéder aux tâches à partir de la page de détails de la pile. Sélectionnez Piles, puis le nom de la pile souhaitée.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser.
-
Sélectionnez le nom de la tâche de planification que vous avez exécutée.
La page Détails de la tâche s'affiche. Les journaux sont visibles (dans la section Journaux sous Ressources).
Pour les tâches de planification, le fichier journal est le plan d'exécution. Recherchez la tâche de planification dans le fichier journal et notez les champs "message" dans la séquence des entrées de journal. Ces valeurs représentent la séquence des opérations spécifiées dans la configuration.
-
(Facultatif) Sélectionnez Télécharger les journaux (dans la section Journaux sous R ressources).
Si des modifications sont nécessaires, mettez à jour la pile pour utiliser une configuration révisée, puis exécutez une autre tâche de planification pour obtenir un plan d'exécution mis à jour.
Pour vérifier un plan d'exécution (journal de la tâche de planification) (interface de ligne de commande)Utilisez la commande
oci resource-manager job get-job-logs
et les paramètres requis pour obtenir les journaux d'une tâche en tant que liste d'entrées paginée.oci resource-manager job get-job-logs [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
Exemple de réponse pour une tâche de planLa commande retourne des objets JSON décrivant les entrées du journal. Chaque objet a un membre de message avec une propriété qui affiche une ligne du plan d'exécution. Dans cet exemple, la tâche de planification crée un seul réseau en nuage virtuel (VCN); les membres restants affichent les détails du VCN.
... { "level": "INFO", "message": "Terraform will perform the following actions:", "timestamp": "2018-05-24T00:57:14.170000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "", "timestamp": "2018-05-24T00:57:14.170000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "+ oci_core_virtual_network.vcn1", "timestamp": "2018-05-24T00:57:14.170000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "id: <computed>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "cidr_block: \"10.0.0.0/16\", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "compartment_id: \"ocid1.tenancy.oc1..exampleaqnpcpfqfmrf6dw5gcew7yqpirvarueirj2mv4jzn5goejsxma\", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "default_dhcp_options_id: <computed_value>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": " default_route_table_id: <computed_value>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": " default_security_list_id: <computed_value>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, ...
Si des modifications sont nécessaires, mettez à jour la pile pour utiliser une configuration révisée, puis exécutez une autre tâche de planification pour obtenir un plan d'exécution mis à jour.
-
-
Provisionnez les ressources en exécutant une tâche d'application pour le plan d'exécution.
Lorsque vous êtes satisfait du plan d'exécution, vous êtes prêt à effectuer le provisionnement de la pile avec les ressources que vous avez définies. La tâche d'application prend le plan d'exécution et l'applique à la pile. Il en résulte une pile entièrement provisionnée.
Note
Vous pouvez ignorer cette étape si vous avez sélectionné Exécuter l'application lors de la création de la pile. Dans ce cas, les ressources ont déjà été provisionnées.Pour exécuter une tâche d'application (console)-
Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Piles.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser.
-
Sélectionnez le nom de la pile que vous avez créée.
La page Détails de la pile s'affiche.
-
Sélectionnez Appliquer.
-
(Facultatif) Dans le panneau Appliquer, vérifiez le nom de la tâche et les autres paramètres, et mettez-les à jour au besoin.
-
Sélectionnez Appliquer.
La tâche d'application est créée. La nouvelle tâche est indiquée sous Tâches.
Surveillez le statut de la tâche (état du cycle de vie) en obtenant les détails de la tâche. Réussite (
SUCCEEDED
) indique que la tâche est terminée. Selon la complexité de la tâche, l'opération peut prendre un certain temps. Pendant l'exécution de la tâche ou une fois celle-ci terminée, vous pouvez obtenir le contenu des journaux de tâche.Pour vérifier l'existence des ressources nouvellement provisionnées, inspectez les ressources dans le compartiment.
Pour exécuter une tâche d'application (interface de ligne de commande)Utilisez la commande
oci resource-manager job create-apply-job
et les paramètres requis pour exécuter une tâche d'application.oci resource-manager job create-apply-job [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
ExemplesExemple 1 : Référencez un travail de plan.
oci resource-manager job create-apply-job --execution-plan-strategy <plan_job_ocid> --stack-id <stack_ocid>
Exemple 2 : Approuver automatiquement (ne pas référencer une tâche de plan).
oci resource-manager job create-apply-job --execution-plan-strategy AUTO_APPROVED --stack-id <stack_ocid>
Surveillez le statut de la tâche (état du cycle de vie) en obtenant les détails de la tâche. Réussite (
SUCCEEDED
) indique que la tâche est terminée. Selon la complexité de la tâche, l'opération peut prendre un certain temps. Pendant l'exécution de la tâche ou une fois celle-ci terminée, vous pouvez obtenir le contenu des journaux de tâche.Pour vérifier l'existence des ressources nouvellement provisionnées, inspectez les ressources dans le compartiment.
-
- Vérifiez les entrées de journal et le fichier d'état pour la tâche d'application que vous venez d'exécuter.
-
Consultez les entrées dans le journal de la tâche pour plus de détails sur celle-ci.
Pour voir le journal de la tâche (console)-
Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Tâches.
Vous pouvez également accéder aux tâches à partir de la page de détails de la pile. Sélectionnez Piles, puis le nom de la pile souhaitée.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser.
-
Sélectionnez le nom de la tâche d'application que vous avez exécutée.
La page Détails de la tâche s'affiche. Les journaux sont visibles (dans la section Journaux sous Ressources).
-
(Facultatif) Sélectionnez Télécharger les journaux (dans la section Journaux sous R ressources).
Pour voir le journal de la tâche (interface de ligne de commande)Consultez le fichier journal et notez les champs "message" dans la séquence des entrées de journal. Vous pouvez voir le fichier journal de la tâche indiquée sous la forme d'une liste d'entrées paginée ou dans un format brut.
Pour voir une liste paginée d'entréesUtilisez la commande
oci resource-manager job get-job-logs
et les paramètres requis pour obtenir les journaux d'une tâche en tant que liste d'entrées paginée.oci resource-manager job get-job-logs [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
Exemple de réponse pour une tâche de planLa commande retourne des objets JSON décrivant les entrées du journal. Chaque objet a un membre de message avec une propriété qui affiche une ligne du plan d'exécution. Dans cet exemple, la tâche de planification crée un seul réseau en nuage virtuel (VCN); les membres restants affichent les détails du VCN.
... { "level": "INFO", "message": "Terraform will perform the following actions:", "timestamp": "2018-05-24T00:57:14.170000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "", "timestamp": "2018-05-24T00:57:14.170000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "+ oci_core_virtual_network.vcn1", "timestamp": "2018-05-24T00:57:14.170000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "id: <computed>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "cidr_block: \"10.0.0.0/16\", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "compartment_id: \"ocid1.tenancy.oc1..exampleaqnpcpfqfmrf6dw5gcew7yqpirvarueirj2mv4jzn5goejsxma\", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": "default_dhcp_options_id: <computed_value>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": " default_route_table_id: <computed_value>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, { "level": "INFO", "message": " default_security_list_id: <computed_value>", "timestamp": "2018-05-24T00:57:14.172000+00:00", "type": "TERRAFORM_CONSOLE" }, ...
Pour voir les journaux sous forme bruteUtilisez la commande
oci resource-manager job get-job-logs-content
et les paramètres requis pour obtenir le contenu des journaux pour une tâche.oci resource-manager job get-job-logs-content [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
-
-
Le fichier d'état de la tâche présente la sortie au format JSON.
Le fichier d'état mappe les ressources de la pile à la configuration. Il tient également à jour les métadonnées de configuration essentielles, telles que les dépendances des ressources. Le gestionnaire de ressources génère et met à jour les fichiers d'état automatiquement lors de l'exécution des tâches.
Le gestionnaire de ressources prend en charge le verrouillage d'état en permettant l'exécution d'une seule tâche à la fois sur une pile indiquée. Pour plus d'informations sur les fichiers d'état, voir État.
Pour voir l'état de la tâche (console)-
Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Tâches.
Vous pouvez également accéder aux tâches à partir de la page de détails de la pile. Sélectionnez Piles, puis le nom de la pile souhaitée.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser.
-
Sélectionnez le nom de la tâche.
La page Détails de la tâche s'affiche.
-
Sélectionnez Télécharger la configuration Terraform.
Pour voir l'état de la tâche (interface de ligne de commande)Utilisez la commande
oci resource-manager job get-job-tf-state
et les paramètres requis pour obtenir l'état d'une tâche.oci resource-manager job get-job-tf-state [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
Exemple de réponse :
{ "data": { "lineage": "57ef4f0c-c8cd-8a32-d45f-d2c40be7b915", "modules": [ { "depends_on": [], "outputs": {}, "path": [ "root" ], "resources": { "oci_core_virtual_network.vcn1": { "depends_on": [], "deposed": [], "primary": { "attributes": { "cidr_block": "10.0.0.0/16", "compartment_id": "ocid1.tenancy.oc1..uniqueid", "default_dhcp_options_id": "ocid1.dhcpoptions.oc1.phx.uniqueid", "default_route_table_id": "ocid1.routetable.oc1.phx.uniqueid", "default_security_list_id": "ocid1.securitylist.oc1.phx.uniqueid", "display_name": "My VCN display name", "dns_label": "myvcntest", "id": "ocid1.vcn.oc1.phx.uniqueid", "state": "AVAILABLE", "time_created": "2018-05-24 01:13:05.855 +0000 UTC", "vcn_domain_name": "myvcntest.oraclevcn.com" }, "id": "ocid1.vcn.oc1.phx.uniqueid", "meta": { "e2bfb730-ecaa-11e6-8f88-34363bc7c4c0": { "create": 300000000000, "delete": 300000000000, "update": 300000000000 } }, "tainted": false }, "provider": "provider.oci", "type": "oci_core_virtual_network" } } } ], "serial": 4, "terraform_version": "0.11.7", "version": 3 } }
Note
Vous pouvez également importer des fichiers d'état pour les ressources déjà gérées par Terraform. -
-
-
Lorsque vous avez besoin de libérer les ressources que vous avez provisionnées, exécutez une tâche de destruction sur la pile.
Une tâche de destruction détruit la pile que vous avez créée et nettoie les ressources associées sans les supprimer. Par exemple, la tâche de destruction met fin aux instances de service Calcul associées à la pile.
Note
Nous recommandons d'exécuter une tâche de destruction avant de supprimer une pile pour libérer les ressources associées. Lorsque vous supprimez une pile, le fichier d'état qui lui est associé est également supprimé. Par conséquent, vous perdez trace de l'état des ressources associées. Le nettoyage des ressources associées à une pile supprimée peut être difficile sans le fichier d'état, particulièrement lorsque les ressources sont réparties entre plusieurs compartiments. Afin d'éviter un nettoyage difficile ultérieurement, nous recommandons de d'abord libérer les ressources associées en exécutant une tâche de destruction.
Les données ne peuvent pas être récupérées à partir de ressources détruites.
Pour exécuter une tâche de destruction (console)-
Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Piles.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser.
-
Sélectionnez le nom de la pile qui vous voulez.
La page Détails de la pile s'affiche.
- Sélectionnez Détruire.
-
(Facultatif) Dans le panneau Détruire, vérifiez le nom de la tâche d'application et les autres paramètres, et mettez-les à jour au besoin.
-
Sélectionnez Détruire.
La tâche de destruction est créée. La nouvelle tâche est indiquée sous Tâches.
Après avoir exécuté une tâche de destruction, demandez à la tâche de vérifier son statut. Vous pouvez éventuellement voir le fichier d'état Terraform, voir les journaux et confirmer la suppression des ressources. Vous pouvez également recréer des ressources détruites.
Surveillez le statut de la tâche (état du cycle de vie) en obtenant les détails de la tâche. Réussite (
SUCCEEDED
) indique que la tâche est terminée. Selon la complexité de la tâche, l'opération peut prendre un certain temps. Pendant l'exécution de la tâche ou une fois celle-ci terminée, vous pouvez obtenir le contenu des journaux de tâche.Pour voir le fichier d'état Terraform (affiche l'état des ressources après l'exécution de la tâche), sélectionnez le nom de la tâche à afficher dans la page Détails de la tâche, puis Voir l'état sous ressources. Facultativement, sélectionnez Afficher les modifications dans cette version.
Pour voir les journaux de la tâche, sélectionnez la tâche pour ouvrir sa page de détails, puis sélectionnez Journaux sous Ressources.
Pour confirmer la suppression des ressources, inspectez les ressources dans le compartiment.
Pour recréer les ressources d'une pile une fois les ressources détruites, exécutez une tâche d'application. Les nouvelles ressources diffèrent des ressources précédemment détruites par leurs OCID uniques et d'autres métadonnées.
Pour exécuter une tâche de destruction (interface de ligne de commande)Utilisez la commande
oci resource-manager job create-destroy-job
et les paramètres requis pour exécuter une tâche de destruction.oci resource-manager job create-destroy-job [OPTIONS]
Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande pour le gestionnaire de ressources.
Après avoir exécuté une tâche de destruction, demandez à la tâche de vérifier son statut.
Surveillez le statut de la tâche (état du cycle de vie) en obtenant les détails de la tâche. Réussite (
SUCCEEDED
) indique que la tâche est terminée. Selon la complexité de la tâche, l'opération peut prendre un certain temps. Pendant l'exécution de la tâche ou une fois celle-ci terminée, vous pouvez obtenir le contenu des journaux de tâche.Vous pouvez éventuellement voir le fichier d'état Terraform, voir les journaux et confirmer la suppression des ressources. Vous pouvez également recréer des ressources détruites.
Pour confirmer la suppression des ressources, inspectez les ressources dans le compartiment.
Pour recréer les ressources d'une pile une fois les ressources détruites, exécutez une tâche d'application. Les nouvelles ressources diffèrent des ressources précédemment détruites par leurs OCID uniques et d'autres métadonnées.
-
Tâche 3 : Répéter dans d'autres environnements
Cette section décrit comment créer et déployer une infrastructure dans plusieurs environnements.
Dans ce scénario, vous utilisez le même fichier .zip de configuration Terraform pour provisionner une instance de calcul dans vos environnements de développement, de préparation et de production.
Ce scénario suppose que la configuration Terraform inclut un document de schéma, ce qui vous permet de modifier les valeurs de variable lors de la création d'une pile dans la console.
-
Accédez à la location du nouvel environnement dans lequel vous voulez provisionner l'infrastructure définie dans votre configuration Terraform.
Par exemple, accédez à la location pour votre environnement intermédiaire ou de production.
- Ouvrez la page Créer une pile :
- Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Gestionnaire de ressources, sélectionnez Piles.
-
Sous Portée de la liste, sélectionnez un compartiment que vous êtes autorisé à utiliser. La page est mise à jour pour afficher uniquement les ressources de ce compartiment. Si vous ne savez pas quel compartiment utiliser, communiquez avec un administrateur.
- Sélectionnez Créer une pile.
-
À l'aide de la même configuration Terraform que pour le premier environnement, remplissez l'onglet Informations sur la pile :
-
Dans la page Créer une pile, sélectionnez Ma configuration.
-
Sous Configuration de pile, sélectionnez Fichier zip et ajoutez la configuration Terraform.
Vous pouvez glisser-déposer votre fichier de configuration Terraform .zip dans le contrôle ou sélectionner Parcourir et naviguer jusqu'à l'emplacement du fichier .zip.
- Entrez le nom de la nouvelle pile (ou acceptez le nom par défaut). Évitez d'entrer des informations confidentielles.
- Facultativement, entrez une description.
-
Dans la liste déroulante Créer dans le compartiment, sélectionnez le compartiment dans lequel vous souhaitez créer la pile.
-
Sélectionnez Suivant.
Le panneau Configurer les variables affiche les variables du fichier de configuration Terraform sélectionné.
-
-
Spécifiez les valeurs de variable pour cet environnement :
-
Dans le panneau Configurer des variables, vérifiez les variables et apportez des modifications si nécessaire.
Les valeurs par défaut sont fournies lorsqu'elles sont spécifiées dans le document de schéma.
Important
N'ajoutez pas votre clé privée ni d'autres informations confidentielles aux variables de configuration. - Sélectionnez Suivant.
-
- Dans le panneau Vérifier, vérifiez la configuration de la pile.
- Pour provisionner automatiquement des ressources lors de la création de la pile, sélectionnez Exécuter l'application.
-
Sélectionnez Créer pour créer la pile.
La page des détails de la nouvelle pile apparaît.
Si vous avez sélectionné Exécuter l'application, le gestionnaire de ressources exécute l'action d'application sur la nouvelle pile.
Félicitations, vous avez réutilisé votre configuration Terraform pour créer une pile dans un nouvel environnement. Si vous avez sélectionné Exécuter l'application, vous avez également provisionné des ressources dans le nouvel environnement.
Vous pouvez maintenant générer et vérifier un plan d'exécution (et provisionner des ressources si l'option Exécuter l'application n'a pas été sélectionnée). Pour terminer ces éléments, répétez les étapes de la tâche 2 : Provisionner l'infrastructure dans le nouvel environnement.