Gérer les ressources avec Schematics

Déployez, modifiez et supprimez des ressources IBM Cloud® à l'aide de IBM Cloud Schematics pour appliquer vos modèles Terraform.

Déploiement de vos ressources

Déployez votre « Terraform configs » pour provisionner ou modifier vos ressources Cloud avec « Schematics ».

Avant de commencer

Pour déployer vos ressources

  1. Dans le tableau de bord de l'espace de travail, sélectionnez l'espace de travail du modèle Terraform à appliquer.

    Des exemples de modèles sont répertoriés dans Cloud Schematics GitHub,. Vous pouvez utiliser l'un de ces modèles pour effectuer des tests. Par exemple, Easy multizone VPC.

  2. Sélectionnez l'onglet Paramètres.

  3. Dans la section Détails, cliquez sur Tirer la dernière version pour obtenir la dernière version de votre modèle Terraform à partir du référentiel source GitHub. Si vous avez fourni votre modèle Terraform en téléchargeant un fichier d'archivage sur bande (.tar), vous devez utiliser la commande ibmcloud schematics workspace upload pour fournir une nouvelle version de votre modèle.

  4. Facultatif : passez en revue les variables que vous avez définies pour votre espace de travail. Les valeurs de vos variables sont utilisées à chaque fois que vous faites référence à la variable dans votre modèle Terraform.

  5. Cliquez sur Générer un plan pour créer un plan d'exécution Terraform. Après avoir cliqué sur ce bouton, la page Jobs de l'espace de travail s'ouvre et Schematics exécute un terraform plan pour comparer l'état des ressources que vous avez déjà provisionnées dans votre compte IBM Cloud avec les ressources que vous voulez provisionner avec votre modèle Terraform.

  6. Cliquez sur Jobs pour consulter le journal de votre plan d'exécution. Le plan d'exécution comprend un résumé des ressources Cloud qui sont créées, modifiées ou supprimées pour atteindre l'état que vous avez décrit dans votre modèle Terraform. Si vos fichiers de configuration Terraform contiennent des erreurs de syntaxe, vous pouvez passer en revue le message d'erreur contenu dans le fichier journal.

  7. Examinez les plans de service et les informations tarifaires disponibles pour chacune des ressources en nuage que Schematics est sur le point de créer ou de modifier. Certains services sont fournis avec une limite par compte IBM Cloud. Si vous êtes sur le point d'atteindre la limite de service définie pour votre compte, la ressource n'est pas mise à disposition tant que vous n'augmentez pas le quota de service ou que vous ne retirez pas les services existants.

  8. Lorsque vous êtes prêt, appliquez votre modèle Terraform en cliquant sur Appliquer le plan. Cette action revient à exécuter la commande terraform apply. Après avoir cliqué sur le bouton, IBM Cloud Schematics commence à approvisionner, modifier ou supprimer vos ressources Cloud en fonction des actions identifiées dans le plan d'exécution. Selon le type et le nombre de ressources que vous souhaitez mettre à disposition ou modifier, ce processus peut prendre quelques minutes, voire quelques heures. Pendant ce temps, vous ne pouvez pas apporter de modifications à votre espace de travail. Une fois toutes les mises à jour appliquées, l'état de vos ressources Cloud est stocké dans un fichier d'état Terraform que IBM Cloud Schematics utilise pour déterminer quelles ressources existent dans votre compte IBM Cloud.

    Si vous souhaitez arrêter l'application de votre modèle Terraform, vous pouvez utiliser le bouton Arrêter. Notez que toutes les ressources déjà créées ne sont pas supprimées. Si une ressource est en cours de mise à disposition, Schematics attend que l'opération soit terminée puis arrête la création, la mise à jour ou la suppression de toutes les autres ressources de votre modèle Terraform.

  9. Examinez le journal des tâches pour vous assurer qu'aucune erreur ne s'est produite pendant le processus d'approvisionnement, de modification ou de suppression.

  10. Dans la navigation, sélectionnez Ressources pour trouver un résumé des ressources Cloud disponibles dans votre compte IBM Cloud.

Mise à jour de vos ressources

Pour mettre à jour les ressources Cloud, mettez à jour votre modèle Terraform avec les modifications requises qui doivent être effectuées sur les ressources.

En fonction du changement de configuration, Terraform peut ne pas être en mesure de mettre à jour votre ressource en place. Au lieu de cela, Terraform doit d'abord supprimer la ressource et créer une nouvelle ressource. Si Terraform identifie une ressource à supprimer et à recréer, veillez à ne pas interrompre un environnement de travail ou à supprimer des données.

Pour mettre à jour vos ressources :

  1. Dans le tableau de bord de l'espace de travail, sélectionnez l'espace de travail qui pointe vers le modèle Terraform que vous avez mis à jour.

  2. Sélectionnez l'onglet Paramètres.

  3. Dans la section Détails, cliquez sur Tirer la dernière version pour obtenir la dernière version de votre modèle Terraform à partir du référentiel source GitHub. Si vous avez fourni votre modèle Terraform en téléchargeant un fichier d'archivage sur bande (.tar), vous devez utiliser la commande ibmcloud schematics workspace upload pour fournir une nouvelle version de votre modèle.

  4. Si vous souhaitez modifier les valeurs de variable que vous avez définies lors de la création de l'espace de travail, modifiez les valeurs de variable.

  5. Cliquez sur Générer un plan pour créer un plan d'exécution Terraform. Notez que pendant ce temps, vous ne pouvez pas apporter de modifications à votre espace de travail.

  6. Cliquez sur Travaux pour consulter le journal de votre exécution. Le journal des tâches fournit un résumé de toutes les ressources que IBM Cloud Schematics est sur le point de modifier. IBM Cloud Schematics peut ne pas être en mesure de modifier certaines de vos ressources et suggérer de les supprimer et de les recréer.

  7. Cliquez sur Appliquer le plan pour appliquer la nouvelle version de modèle Terraform. En fonction des modifications apportées, l'application du modèle peut prendre quelques minutes ou quelques heures. Notez que pendant ce temps, vous ne pouvez pas apporter de modifications à votre espace de travail.

    Si vous souhaitez arrêter l'application de votre modèle Terraform, vous pouvez utiliser le bouton Arrêter. Notez que les mises à jour des ressources déjà effectuées ne sont pas rétablies. Si une ressource est en cours de mise à jour, Schematics attend que l'opération soit terminée puis arrête la création, la mise à jour ou la suppression de toutes les autres ressources de votre modèle Terraform.

  8. Examinez le journal des tâches pour vous assurer qu'aucune erreur ne s'est produite au cours du processus de modification.

  9. Dans le menu de navigation, sélectionnez Ressources et vérifiez que la configuration mise à jour apparaît dans vos ressources.

Gérer la dérive entre votre environnement cloud et la configuration de Terraform

La gestion des écarts entre l'état réel de votre environnement de cloud et votre code d'infrastructure, également appelés drift, est un défi majeur lors de l'implémentation d'une infrastructure en tant que code. Des écarts peuvent se produire pour de nombreuses raisons, telles que :

  • L'ajout, la mise à jour ou la suppression de ressources dans votre fichier de configuration Terraform sans exécution de votre code d'infrastructure.
  • L'ajout, la mise à jour ou la suppression manuels d'IBM Cloud sans utiliser Terraform.
  • Vous avez utilisé d'autres outils d'automatisation, tels que des scripts, pour manipuler l'état de vos ressources Cloud.

Reportez-vous à l'utilisation de la fonction de détection de dérive de l'espace de travail.

Révision des ressources et des détails de déploiement

Affichez les détails des déploiements IBM Cloud Schematics et des ressources Cloud que vous gérez actuellement avec IBM Cloud Schematics.

  1. Dans le tableau de bord de l'espace de travail, sélectionnez l'espace de travail que vous souhaitez inspecter.
  2. Dans la navigation, sélectionnez Paramètres pour obtenir un résumé des activités de votre espace de travail.
  3. Consultez les journaux des plans d'exécution Terraform précédents et les plans que vous avez appliqués.
  4. Dans la navigation, sélectionnez Ressources pour vérifier l'état des ressources Cloud que vous avez créées avec cet espace de travail.
  5. Pour identifier la personne qui a apporté une modification à votre modèle Terraform, accédez au référentiel source dans GitHub qui est lié à votre espace de travail et utilisez les fonctions intégrées, telles que l'historique de validation et les demandes d'extraction, pour passer en revue les modifications.
  6. Pour passer en revue les événements envoyés par Schematics à IBM Cloud Activity Tracker Event Routing, voir Evénements IBM Cloud Activity Tracker Event Routing.

Retrait de vos ressources

Pour supprimer une ressource Cloud que vous avez provisionnée avec IBM Cloud Schematics, vous pouvez soit supprimer vos ressources avec Schematics, soit supprimer votre espace de travail, soit supprimer le code d'infrastructure dans le modèle Terraform.

La suppression d'une ressource cloud ne peut pas être annulée. Prenez soin de sauvegarder vos données avant de retirer une ressource. Si vous choisissez de retirer le code d'infrastructure ou de mettre en commentaire la ressource dans votre fichier de configuration Terraform, consultez soigneusement le fichier journal de votre plan d'exécution pour vérifier que toutes vos ressources sont incluses dans l'opération de retrait.

Pour supprimer des ressources en supprimant la configuration de ressource dans votre modèle Terraform:

  1. Ouvrez le fichier de configuration Terraform dans votre référentiel source dans GitHub ou sur votre machine locale.

  2. Retirez le code d'infrastructure du fichier ou mettez en commentaire les ressources que vous souhaitez retirer en ajoutant # au début de chaque ligne.

    Exemple de suppression d'une ressource en mettant en commentaire une définition de ressource:

    # resource ibm_is_instance "vsi1" {
    #  name    = "${local.BASENAME}-vsi2"
    #  vpc     = ibm_is_vpc.vpc.id
    #  zone    = "${local.ZONE}"
    #  keys    = [data.ibm_is_ssh_key.ssh_key_id.id]
    #  image   = data.ibm_is_image.ubuntu.id
    #  profile = "cc1-2x4"
    
    #  primary_network_interface {
    #    subnet          = ibm_is_subnet.subnet1.id
    #    security_groups = [ibm_is_security_group.sg1.id]
    #  }
    #}
    
  3. Validez la modification apportée à votre fichier de configuration Terraform.

  4. Dans le tableau de bord de l'espace de travail, sélectionnez l'espace de travail du modèle Terraform que vous venez de modifier.

  5. Dans la barre de navigation, sélectionnez Paramètres.

  6. Dans la section Détails, cliquez sur Tirer la dernière version pour obtenir la dernière version de votre modèle Terraform à partir du référentiel source GitHub. Si vous avez fourni votre modèle Terraform en téléchargeant un fichier d'archivage sur bande (.tar), vous devez utiliser la commande ibmcloud schematics workspace upload pour fournir une nouvelle version de votre modèle.

  7. Cliquez sur Générer un plan pour créer un plan d'exécution Terraform. La page Emplois de l'espace de travail s'ouvre. Notez que pendant ce temps, vous ne pouvez pas apporter de modifications à votre espace de travail.

  8. Cliquez sur Jobs pour consulter le journal de votre plan d'exécution. Le journal fournit un résumé de toutes les ressources que IBM Cloud Schematics est sur le point de supprimer.

  9. Cliquez sur Appliquer le plan pour supprimer les ressources du nuage de votre compte.

    Si vous souhaitez arrêter l'application de votre modèle Terraform, vous pouvez utiliser le bouton Arrêter. Notez que toutes les ressources déjà supprimées ne sont pas recrées. Si une ressource est en cours de suppression, Schematics attend que l'opération soit terminée puis arrête la création, la mise à jour ou la suppression de toutes les autres ressources de votre modèle Terraform.

  10. Consultez les fichiers journaux pour vous assurer qu'aucune erreur n'est survenue lors du processus de suppression.

  11. Dans le menu de navigation, sélectionnez Ressources et vérifiez que vos ressources ont été retirées.

  12. Facultatif : après avoir retiré toutes vos ressources, retirez votre espace de travail.

  13. Ouvrez le tableau de bord de l'espace de travail et recherchez l'espace de travail que vous souhaitez supprimer.

  14. Cliquez sur l'onglet Actions et sélectionnez l'option Supprimer l'espace de travail.

  15. Tapez le nom de votre espace de travail dans la zone de texte Tapez workspace_name pour confirmer.

  16. Cliquez sur le bouton Supprimer.

Pour supprimer des ressources à l'aide de la console Schematics:

  1. Dans le tableau de bord de l'espace de travail, recherchez l'espace de travail qui comprend les ressources que vous souhaitez supprimer.
  2. Cliquez sur l'onglet Actions et sélectionnez l'option Détruire les ressources.
  3. Tapez le nom de votre espace de travail dans la zone de texte Tapez workspace_name pour confirmer. Notez que la destruction des ressources supprime les ressources de votre espace de travail et de IBM Cloud. Cette action ne peut pas être annulée.
  4. Cliquez sur le bouton Détruire.
  5. Dans le menu de navigation, sélectionnez Emplois pour consulter les journaux relatifs à la suppression de votre ressource. Assurez-vous qu'aucune erreur n'est survenue lors du processus de suppression.
  6. Une fois le travail exécuté avec succès, sélectionnez Ressources dans le menu de navigation et vérifiez que vos ressources ont été supprimées.

Une fois le retrait de vos ressources terminé, l'espace de travail Schematics peut être supprimé.

Déploiement de vos ressources via l'interface de ligne de commande

Déployez votre « Terraform configs » pour provisionner ou modifier vos ressources Cloud avec « Schematics ».

Avant de commencer :

Pour déployer vos ressources :

  1. A partir de votre interface de ligne de commande locale, configurez votre interface de ligne de commande et le plug-in Schematics.

  2. Répertoriez votre espace de travail à l'aide de la commande ibmcloud schematics workspace list.

  3. Obtenez votre espace de travail à l'aide de la commande ibmcloud schematics workspace get.

  4. Si vous avez fourni votre modèle Terraform en téléchargeant un fichier d'archive de bande (.tar), vous devez utiliser la commande ibmcloud schematics workspace upload.

  5. Créez un plan d'exécution Terraform à l'aide de la commande ibmcloud schematics plan.

  6. Utilisez votre ID d'espace de travail pour extraire les journaux à l'aide de la commande ibmcloud schematics logs.

  7. Lorsque vous êtes prêt, exécutez la commande ibmcloud schematics apply.

    Si vous souhaitez arrêter d'appliquer votre modèle Terraform, vous pouvez utiliser la commande ibmcloud schematics job delete. Notez que toutes les ressources déjà créées ne sont pas supprimées. Si une ressource est en cours de mise à disposition, Schematics attend que l'opération soit terminée puis arrête la création, la mise à jour ou la suppression de toutes les autres ressources de votre modèle Terraform.

  8. Examinez le journal des tâches pour vous assurer qu'aucune erreur ne s'est produite pendant le processus d'approvisionnement, de modification ou de suppression.

  9. Dans le volet de navigation, sélectionnez Ressources pour obtenir un résumé des ressources Cloud disponibles dans votre compte IBM Cloud.

Mise à jour de vos ressources via l'interface CLI

Pour mettre à jour les ressources Cloud, mettez à jour votre modèle Terraform avec les modifications requises qui doivent être effectuées sur les ressources.

En fonction du changement de configuration, Terraform peut ne pas être en mesure de mettre à jour votre ressource en place. Au lieu de cela, Terraform doit d'abord supprimer la ressource et créer une nouvelle ressource. Si Terraform identifie une ressource à supprimer et à recréer, veillez à ne pas interrompre un environnement de travail ou à supprimer des données.

Pour mettre à jour vos ressources :

  1. A partir de votre interface de ligne de commande, configurez votre interface de ligne de commande et le plug-in Schematics.

  2. Répertoriez votre espace de travail à l'aide de la commande ibmcloud schematics workspace list.

  3. Obtenez votre espace de travail à l'aide de la commande ibmcloud schematics workspace get.

  4. Si vous avez fourni votre modèle Terraform en téléchargeant un fichier d'archive de bande (.tar), vous devez utiliser la commande ibmcloud schematics workspace upload.

  5. Créez un plan d'exécution Terraform à l'aide de la commande ibmcloud schematics plan.

  6. Utilisez votre ID d'espace de travail pour extraire les journaux à l'aide de la commande ibmcloud schematics logs.

  7. Lorsque vous êtes prêt, exécutez la commande ibmcloud schematics apply.

    Si vous souhaitez arrêter d'appliquer votre modèle Terraform, vous pouvez utiliser la commande ibmcloud schematics job delete. Notez que toutes les ressources déjà créées ne sont pas supprimées. Si une ressource est en cours de mise à disposition, Schematics attend que l'opération soit terminée puis arrête la création, la mise à jour ou la suppression de toutes les autres ressources de votre modèle Terraform.

  8. Examinez le journal des tâches pour vous assurer qu'aucune erreur ne s'est produite pendant le processus d'approvisionnement, de modification ou de suppression.

  9. Dans le volet de navigation, sélectionnez Ressources pour obtenir un résumé des ressources Cloud disponibles dans votre compte IBM Cloud.

Gestion de la dérive entre votre environnement de cloud et la configuration Terraform via l'interface de ligne de commande

La gestion des écarts entre l'état réel de votre environnement de cloud et votre code d'infrastructure, également appelés drift, est un défi majeur lors de l'implémentation d'une infrastructure en tant que code. Des écarts peuvent se produire pour de nombreuses raisons, telles que :

  • L'ajout, la mise à jour ou la suppression de ressources dans votre fichier de configuration Terraform sans exécution de votre code d'infrastructure.
  • L'ajout, la mise à jour ou la suppression manuels d'IBM Cloud sans utiliser Terraform.
  • Vous avez utilisé d'autres outils d'automatisation, tels que des scripts, pour manipuler l'état de vos ressources Cloud.

Reportez-vous à l'utilisation de la fonction de détection de dérive de l'espace de travail.

Examen des détails de ressource et de déploiement via l'interface de ligne de commande

Affichez les détails des déploiements IBM Cloud Schematics et des ressources Cloud que vous gérez actuellement avec IBM Cloud Schematics.

  1. A partir de votre interface de ligne de commande, configurez votre interface de ligne de commande et le plug-in Schematics.
  2. Dans le volet de navigation, sélectionnez Ressources pour obtenir un résumé des ressources Cloud disponibles dans votre compte IBM Cloud.
  3. Pour identifier la personne qui a apporté une modification à votre modèle Terraform, accédez au référentiel source dans GitHub qui est lié à votre espace de travail et utilisez les fonctions intégrées, telles que l'historique de validation et les demandes d'extraction, pour passer en revue les modifications.
  4. Pour passer en revue les événements envoyés par Schematics à IBM Cloud Activity Tracker Event Routing, voir Evénements IBM Cloud Activity Tracker Event Routing.

Retrait de vos ressources via l'interface de ligne de commande

Pour supprimer une ressource Cloud que vous avez provisionnée avec IBM Cloud Schematics, vous pouvez soit supprimer vos ressources avec Schematics, soit supprimer votre espace de travail, soit supprimer le code d'infrastructure dans le modèle Terraform.

La suppression d'une ressource cloud ne peut pas être annulée. Prenez soin de sauvegarder vos données avant de retirer une ressource. Si vous choisissez de retirer le code d'infrastructure ou de mettre en commentaire la ressource dans votre fichier de configuration Terraform, consultez soigneusement le fichier journal de votre plan d'exécution pour vérifier que toutes vos ressources sont incluses dans l'opération de retrait.

Pour supprimer vos ressources en supprimant le code d'infrastructure de votre modèle Terraform :

  1. Ouvrez le fichier de configuration Terraform dans votre référentiel source dans GitHub ou sur votre machine locale.

  2. Retirez le code d'infrastructure du fichier ou mettez en commentaire les ressources que vous souhaitez retirer en ajoutant # au début de chaque ligne.

    Exemple relatif à la mise en commentaire d'une ressource :

    
    #resource ibm_is_instance "vsi1" {
    #  name    = "${local.BASENAME}-vsi2"
    #  vpc     = ibm_is_vpc.vpc.id
    #  zone    = "${local.ZONE}"
    #  keys    = [data.ibm_is_ssh_key.ssh_key_id.id]
    #  image   = data.ibm_is_image.ubuntu.id
    #  profile = "cc1-2x4"
    
    #  primary_network_interface {
    #    subnet          = ibm_is_subnet.subnet1.id
    #    security_groups = [ibm_is_security_group.sg1.id]
    #  }
    #}
    
  3. Validez la modification apportée à votre fichier de configuration Terraform.

  4. A partir de votre interface de ligne de commande, configurez votre interface de ligne de commande et le plug-in Schematics.

  5. Obtenez votre espace de travail à l'aide de la commande ibmcloud schematics workspace get.

  6. Si vous avez fourni votre modèle Terraform en téléchargeant un fichier d'archive de bande (.tar), vous devez utiliser la commande ibmcloud schematics workspace upload.

  7. Créez un plan d'exécution Terraform à l'aide de la commande ibmcloud schematics plan.

  8. Utilisez votre ID d'espace de travail pour extraire les journaux à l'aide de la commande ibmcloud schematics logs.

  9. Lorsque vous êtes prêt, exécutez la commande ibmcloud schematics apply.

    Si vous souhaitez arrêter d'appliquer votre modèle Terraform, vous pouvez utiliser la commande ibmcloud schematics job delete. Notez que toutes les ressources déjà créées ne sont pas supprimées. Si une ressource est en cours de mise à disposition, Schematics attend que l'opération soit terminée puis arrête la création, la mise à jour ou la suppression de toutes les autres ressources de votre modèle Terraform.

  10. Examinez le journal des tâches pour vous assurer qu'aucune erreur ne s'est produite pendant le processus d'approvisionnement, de modification ou de suppression.

  11. Dans le volet de navigation, sélectionnez Ressources pour obtenir un résumé des ressources Cloud disponibles dans votre compte IBM Cloud.

  12. Facultatif: après avoir supprimé toutes vos ressources, supprimez votre espace de travail à l'aide de la commande ibmcloud schematics workspace delete.