Configuration de Terraform pour CIS
Terraform sur IBM Cloud® permet la création prévisible et cohérente de services IBM Cloud, afin que vous puissiez rapidement mettre en place des environnements cloud complexes à plusieurs niveaux, conformément aux principes de l’Infrastructure as Code ( IaC ). Tout comme pour l'utilisation de l'interface CLI ou de l'API d' IBM Cloud, ainsi que des SDK, vous pouvez automatiser la création, la mise à jour et la suppression de vos instances d' IBM Cloud Internet Services à l'aide du langage de configuration d' HashiCorp (HCL).
Vous recherchez une solution Terraform on IBM Cloud® gérée ? Essayez IBM Cloud® Schematics. Avec Schematics, vous pouvez utiliser le langage de script Terraform que vous connaissez bien, sans avoir à vous soucier de la configuration et de la maintenance de la ligne de commande Terraform ni du plug-in IBM Cloud® Provider. Schematics fournit également des modèles Terraform prédéfinis que vous pouvez installer à partir du catalogue IBM Cloud®.
Installation de Terraform et configuration des ressources pour IBM Cloud Internet Services
Avant de créer une autorisation à l'aide de Terraform, il convient de remplir les conditions préalables suivantes :
- Assurez-vous que vous disposez de l'accès nécessaire pour créer et utiliser IBM Cloud Internet Services.
- Installez l'interface CLI de Terraform et configurez le plug-in IBM Cloud Provider pour Terraform. Pour plus d'informations, voir Démarrer avec Terraform sur IBM Cloud. Le plug-in fait abstraction des API d' IBM Cloud s utilisées pour réaliser cette tâche.
- Créez un fichier de configuration Terraform nommé
main.tf. Utilisez ce fichier pour définir l'autorisation entre les services en écrivant le code Terraform dans HashiCorp Configuration Language (HCL). Pour plus d'informations, consultez la documentation Terraform.
-
Dans votre fichier de configuration Terraform, repérez le code Terraform que vous avez utilisé pour créer l'instance d' CIS.
-
Créez une instance CIS en utilisant l'argument de ressource
ibm_resource_instancedans votre fichiermain.tf. Dans l'exemple suivant, l'instance d' CIS est nomméetestet est créée avec le forfait Standard.resource_group_idestdata.ibm_resource_group.group.idet la propriété d'emplacement est définie surglobal.data "ibm_resource_group" "group" { name = "test" } resource "ibm_cis" "cis_instance" { name = "test" plan = "standard-next" resource_group_id = data.ibm_resource_group.group.id tags = ["tag1", "tag2"] location = "global" //User can increase timeouts timeouts { create = "15m" update = "15m" delete = "15m" } }Si vous ne spécifiez pas
resource_group_id, l'instance CIS est créée dans le groupe de ressources par défaut. Le siteAPI_KEYdoit disposer des autorisations nécessaires pour ce groupe.Si vous passez d'un plan à un autre, le changement est considéré comme une modification d'une ressource existante. Il n'est pas considéré comme une création ou une suppression de ressources.
-
Une fois que vous avez terminé de générer votre fichier de configuration, initialisez l'interface de ligne de commande Terraform. Pour plus d'informations, voir Initialiser le répertoire de travail.
terraform init -
Mettez à disposition les ressources à partir du fichier
main.tf. Pour plus d'informations, voir Flux de travail Terraform pour le provisionnement de l'infrastructure.- Exécutez
terraform planpour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.
terraform plan- Exécutez
terraform applypour créer les ressources définies dans le plan.
terraform apply - Exécutez
-
Dans la liste de ressources IBM Cloud, sélectionnez l'instance CIS que vous avez créée et notez l'ID de l'instance.
-
Vérifiez que la règle d'accès a été affectée. Pour plus d'informations, voir Vérification de l'accès affecté à la console.
Étape suivante ?
Maintenant que vous avez créé avec succès votre première instance du service CIS avec Terraform sur IBM Cloud, vous pouvez vous rendre sur le registre Terraform CIS Cloud Internet Services (CIS) pour effectuer des tâches supplémentaires à l'aide de Terraform.