Créer une configuration Terraform

Lors de l'organisation des solutions Private Catalog pour votre organisation, vous pouvez créer une configuration Terraform, ou configuration, que vos utilisateurs déploient à l'aide de Terraform. Une fois la configuration créée, vous pouvez la partager avec les utilisateurs en l'attribuant à catalogs.

Dans ce guide, vous utilisez Cloud Build pour exécuter des commandes Terraform dans la dernière version de l'image Docker de Terraform, et vous utilisez Cloud Storage pour stocker et stocker gérer les ressources Terraform, telles que les modules et les fichiers d'état.

Pour obtenir des ressources et des conseils sur l'utilisation de Terraform, consultez la page Utiliser Terraform avec Google Cloud.

Avant de commencer

Importer des fichiers de configuration dans Cloud Storage

Vous utilisez Cloud Storage pour gérer vos fichiers de configuration Terraform pour Private Catalog.

Créer un bucket Cloud Storage

Pour configurer Cloud Storage, créez un bucket dans le projet dans lequel vous avez activé Private Catalog pour votre organisation:

  1. Dans Cloud Console, accédez à la page du navigateur Cloud Storage.

    Accéder à la page du navigateur

  2. Cliquez sur Créer un bucket.
  3. Sur la page Créer un bucket, saisissez les informations concernant votre bucket. Pour passer à l'étape suivante, cliquez sur Continuer.
    • Pour nommer votre bucket, saisissez un nom qui répond aux exigences de dénomination des buckets.
    • Pour Choisir l'emplacement de stockage des données, procédez comme suit :
      • Sélectionnez une option de type d'emplacement.
      • Sélectionnez une option Emplacement.
    • Pour Choisir une classe de stockage par défaut pour vos données, sélectionnez une classe de stockage.
    • Pour le champ Choisir comment contrôler l'accès aux objets, sélectionnez une option de Contrôle des accès.
    • Sous Paramètres avancés (facultatif), choisissez une méthode de chiffrement, une règle de conservation ou des libellés de bucket.
  4. Cliquez sur Create (Créer).

Activer la gestion des versions d'objets

Pour éviter que votre configuration Terraform ne soit supprimée ou remplacée, vous devez utiliser la gestion des versions d'objets. Pour activer la gestion des versions d'objets, consultez la documentation de Cloud Storage sur l'utilisation de la gestion des versions d'objets.

Accorder l'accès à votre bucket

Lorsque les utilisateurs de votre organisation déploient la configuration, leur compte de service Cloud Build doit disposer d'un accès en lecture à votre bucket. Si votre bucket est stocké dans le projet Cloud dans lequel les utilisateurs déploient la configuration, le compte de service dispose déjà de cet accès.

Si vos utilisateurs déploient la configuration dans un autre projet Cloud, accordez l'accès au bucket en utilisant l'une des méthodes suivantes:

  • Attribuez le rôle Lecteur des objets de l'espace de stockage (roles/storage.objectViewer) aux comptes de service Cloud Build de vos utilisateurs ou à une ressource Google Cloud dans laquelle vos utilisateurs déploient des configurations Terraform. tel qu'un projet, un dossier ou une organisation.

  • Utilisez une liste de contrôle d'accès (LCA) pour gérer l'accès au bucket.

Pour en savoir plus sur la gestion de l'accès aux buckets, consultez la page Présentation du contrôle des accès de Cloud Storage.

Créer et importer un module Terraform

Après avoir configuré votre bucket Cloud Storage, vous devez créer et importer un module Terraform, qui est un conteneur de tous vos fichiers de configuration. Private Catalog utilise le module pour générer automatiquement un fichier de schéma JSON afin de définir les variables de votre configuration.

Pour obtenir les modules correspondant aux cas d'utilisation courants de Google Cloud, consultez le kit de certification Cloud.

L'exemple de code suivant illustre un fichier de configuration Terraform main.tf:


variable "machine_type" {
  type    = string
  default = "n1-standard-1"
}

variable "zone" {
  type    = string
  default = "us-central1-a"
}

variable "deployment_identifier" {
  description = "The unique name for your instance"
  type        = string
}

resource "google_compute_instance" "default" {
  name         = "vm-${var.deployment_identifier}"
  machine_type = var.machine_type
  zone         = var.zone

  boot_disk {
    device_name = "boot"
    auto_delete = true
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }

  network_interface {
    network = "default"
    access_config {
      // Ephemeral IP
    }
  }
}

Une fois le module créé, compressez le ou les fichiers dans un fichier ZIP. Assurez-vous que le module est stocké à la racine du fichier ZIP (n'utilisez pas de sous-répertoires).

Importez ensuite le fichier ZIP dans votre bucket. Pour savoir comment importer le fichier ZIP, consultez la documentation de Cloud Storage sur l'importation d'objets.

Créer la configuration dans Private Catalog

Après avoir configuré un bucket Cloud Storage avec votre module Terraform, créez une solution Private Catalog qui inclut le bucket.

Pour créer la configuration Terraform en tant que solution Private Catalog, procédez comme suit:

  1. Accédez à la page Solutions dans l'administration de Private Catalog de Cloud Console.
    Accéder à la page Solutions

  2. Cliquez sur Sélectionner pour choisir le projet Google Cloud.

  3. Cliquez sur CRÉER UNE SOLUTION. Dans la liste déroulante, sélectionnez Créer Terraform.

  4. Saisissez un nom, une description et une description pour votre configuration Terraform. La description est une brève description d'une solution visible par les utilisateurs lorsqu'ils parcourent Private Catalog.

  5. Dans le champ Link to Terraform config (Associer à la configuration Terraform), indiquez le lien vers le bucket Cloud Storage contenant le fichier ZIP du module Terraform, par exemple gs://my-terraform-bucket/my-zip-file.zip.

  6. Si vous le souhaitez, importez une icône pour la solution. Les dimensions recommandées sont de 80 x 80 pixels.

  7. Si vous le souhaitez, indiquez un lien vers l'assistance et les coordonnées pour le créateur.

  8. Si vous le souhaitez, ajoutez un lien vers la documentation de la solution.

  9. Cliquez sur CREATE (CRÉER).

La solution est créée et apparaît sur la page Solutions d'administration de Private Catalog.

La capture d'écran suivante illustre la création d'une configuration Terraform:

Créer une configuration Terraform

Étapes suivantes