Configuration de base avec le kit d'outils Fabric FAST

Cette page explique comment utiliser le framework Terraform Fabric FAST pour configurer une nouvelle organisation "de démarrage". Bien que vous puissiez toujours créer manuellement des projets, des dossiers, etc., la configuration de base de Fabric FAST vous permet de démarrer rapidement avec des valeurs par défaut sécurisées et testées, sans la surcharge administrative d'une configuration d'entreprise de grande envergure.

Cette page est destinée aux administrateurs qui doivent configurer une nouvelle organisation dans Cloud de Confiance. Nous vous recommandons cette option si les scénarios suivants s'appliquent à votre organisation :

  • Vous avez une expérience limitée de la configuration cloud et de Terraform.
  • Vous prévoyez qu'une seule équipe (voire un seul ingénieur) gère l'ensemble de la pile de bout en bout. Cela peut se produire si vous êtes une petite organisation ou une start-up, ou si vous développez une preuve de concept.

Une fois cette configuration terminée, vous pouvez continuer à utiliser Terraform pour gérer votre nouvelle organisation, ou passer à Google Cloud CLI ou à la Cloud de Confiance console.

Si vos besoins organisationnels ou techniques sont plus complexes, ou si vous avez déjà utilisé Fabric FAST avec Google Cloud, nous vous recommandons de passer directement à la configuration d'entreprise avec Fabric FAST pour en savoir plus sur les étapes FAST et commencer à utiliser notre configuration classique. Si vous ne savez toujours pas quelle option vous convient, consultez Quelle configuration Fabric FAST me convient ?.

Que dois-je savoir avant de commencer ?

Avant de lire ce guide, vous devez :

Il est utile de connaître Terraform, mais vous n'avez pas besoin d'être un utilisateur expérimenté de Terraform pour utiliser ce guide.

Qu'est-ce que cette configuration m'apporte ?

La configuration Fabric FAST "de démarrage" est relativement plate et constitue un point de départ de base et utilisable pour votre organisation. Cela contraste avec la configuration "classique", qui présente une hiérarchie de ressources approfondie et de qualité professionnelle, et qui implique de créer la configuration de manière incrémentielle par étapes.

Une fois la configuration exécutée, votre ressource d'organisation contient les éléments suivants :

  • Deux dossiers d'environnement, l'un pour le développement et l'autre pour la production. Ils sont automatiquement tagués pour vous aider à suivre les coûts et à appliquer des règles par environnement.
  • Deux projets dans chaque dossier :
    • Un projet de réseau dédié contenant le réseau unique du dossier.
    • Un premier projet d'application, créé sous le dossier et configuré en tant que projet de service du VPC du dossier.
  • Un seul réseau Virtual Private Cloud (VPC) dans chaque dossier, avec un sous-réseau et des règles de pare-feu de base et sécurisées préconfigurées (par exemple, autorisant la connexion sécurisée Identity-Aware Proxy (IAP)).
  • Un seul projet de gestion de premier niveau (prod-iac-core-0). Ce projet sert de cerveau à votre configuration, en stockant de manière sécurisée l'état de votre Terraform, les comptes de service d'automatisation et les journaux d'audit centraux.

Vous pouvez ensuite ajouter vos propres dossiers, projets, réseaux et autres ressources selon vos besoins.

Le schéma suivant illustre les relations entre les ressources "de démarrage" :

Schéma illustrant l'architecture du starter FAST.

Avant de commencer

Vérifiez les éléments suivants :

Accorder les autorisations requises

Exécutez les commandes suivantes pour accorder au compte principal qui exécute le déploiement les autorisations IAM requises :

export FAST_PRINCIPAL="PRINCIPAL_ID"

export FAST_ORG_ID="ORG_ID"

# set needed roles (billing role only needed for organization-owned account)
export FAST_ROLES="\
  roles/billing.admin \
  roles/logging.admin \
  roles/iam.organizationRoleAdmin \
  roles/orgpolicy.policyAdmin \
  roles/resourcemanager.folderAdmin \
  roles/resourcemanager.organizationAdmin \
  roles/resourcemanager.projectCreator \
  roles/resourcemanager.tagAdmin \
  roles/owner"

for role in $FAST_ROLES; do
  gcloud organizations add-iam-policy-binding $FAST_ORG_ID \
    --member $FAST_PRINCIPAL --role $role --condition None
done

Remplacez les éléments suivants :

  • PRINCIPAL_ID : identifiant du compte principal concerné. Pour en savoir plus sur la spécification des identités et des groupes à partir de la fédération des identités des employés, consultez Identifiants de compte principal.
  • ORG_ID : ID de ressource de votre organisation.

Créer un projet temporaire

Terraform Fabric FAST nécessite au moins un projet existant pour s'exécuter, car les services de règles d'administration ne sont pas automatiquement disponibles à la racine de l'organisation lors de la configuration initiale. Si vous appliquez Terraform pour la première fois dans une organisation vide, créez un projet temporaire à la racine de votre nouvelle organisation en procédant comme suit :

  1. Créez un projet dans votre organisation et notez son ID.
  2. Définissez le projet comme projet actuel pour Google Cloud CLI :

    gcloud config set project PROJECT_ID
    
  3. Activez les services requis dans votre projet en exécutant la commande suivante :

    gcloud services enable \
     bigquery.googleapis.com \
     cloudbilling.googleapis.com \
     cloudresourcemanager.googleapis.com \
     essentialcontacts.googleapis.com \
     iam.googleapis.com \
     logging.googleapis.com \
     orgpolicy.googleapis.com \
     serviceusage.googleapis.com
    

Vous pouvez supprimer ce projet si vous le souhaitez une fois la configuration terminée.

Obtenir Terraform

Clonez le dépôt Fabric FAST sur votre machine locale en exécutant la commande suivante :

git clone https://github.com/GoogleCloudPlatform/cloud-foundation-fabric.git

Une fois les fichiers copiés sur votre machine, passez au répertoire racine de l'étape de configuration de l'organisation Fabric FAST en tant que répertoire de travail pour commencer.

cd cloud-foundation-fabric/fast/stages/0-org-setup

Mettre à jour les fichiers de configuration

Avant d'appliquer Terraform, vous devez mettre à jour certains fichiers de configuration utilisés par Fabric FAST pour spécifier des informations telles que la configuration choisie, l'univers cible et votre compte administrateur. Utilisez l'éditeur de texte de votre choix.

Créer un fichier de fournisseurs

Un fichier de fournisseurs garantit que Terraform cible les points de terminaison d'API appropriés pour votre univers.

  1. Dans le répertoire racine de l'étape de configuration de l'organisation (0-org-setup), créez un fichier nommé providers.tf.
  2. Ajoutez le code ci-dessous à votre fichier :

    provider "google" {
      universe_domain = "s3nsapis.fr"
    }
    
    provider "google-beta" {
      universe_domain = "s3nsapis.fr"
    }
    
  3. Enregistrez votre nouveau fichier.

Spécifier votre ensemble de données

La configuration de démarrage est spécifiée dans l'ensemble de données starter-gcd. Dans Fabric FAST, un ensemble de données est une configuration basée sur YAML qui spécifie le type et le nombre de ressources cloud que vous souhaitez créer, ce qui permet aux utilisateurs de choisir entre les bonnes pratiques pour différents types d'organisation et différents besoins techniques.

Pour spécifier que vous souhaitez utiliser l'ensemble de données starter-gcd, procédez comme suit :

  1. Toujours dans le répertoire racine de l'étape de configuration de l'organisation, créez un fichier nommé terraform.tfvars.
  2. Dans ce fichier, spécifiez que vous souhaitez utiliser l'ensemble de données starter-gcd comme suit :

    factories_config = {
       dataset="datasets/starter-gcd"
    }
    
  3. Enregistrez votre nouveau fichier.

Spécifier les valeurs par défaut de la configuration

Fabric FAST utilise un fichier defaults.yaml pour chaque ensemble de données afin de spécifier les valeurs utilisées tout au long de la configuration, telles que les valeurs spécifiques à l'univers et les informations de votre administrateur.

  1. Ouvrez le fichier defaults.yaml existant dans le répertoire 0-org-setup/datasets/starter-gcd de l'ensemble de données.
  2. Mettez à jour le fichier de valeurs par défaut comme suit :

    # ... existing configuration ...
    projects:
      defaults:
        prefix: PREFIX
        locations:
          logging: global
          storage: u-france-east1
      overrides:
        universe:
          domain: s3nsapis.fr
          prefix: s3ns
          forced_jit_service_identities:
            - compute.googleapis.com
          unavailable_service_identities:
            - dns.googleapis.com
            - monitoring.googleapis.com
            - networksecurity.googleapis.com
    context:
      email_addresses:
        gcp-organization-admins: CONTACT_EMAIL
      iam_principals:
        gcp-organization-admins: ADMIN_ID
      locations:
        primary: u-france-east1
    # ... existing configuration ...
    

    Remplacez les éléments suivants :

    • PREFIX : préfixe spécifique à l'organisation qui est ajouté à l'ID de chaque projet créé, en plus du préfixe automatique spécifique à l'univers. Cela permet de s'assurer que les ID de vos projets sont uniques dans votre univers.
    • CONTACT_EMAIL : adresse e-mail que vous souhaitez définir comme contact essentiel pour les projets principaux.
    • ADMIN_ID : identifiant du groupe ou de l'ID qui doit disposer des autorisations d'administrateur pour votre organisation.
  3. Enregistrez defaults.yaml.

Appliquer Terraform

  1. Assurez-vous d'être de retour dans le répertoire racine de l'étape de configuration de l'organisation.
  2. Exécutez la commande suivante pour initialiser Terraform (vous ne devez le faire qu'une seule fois par répertoire) :

    terraform init
    
  3. Exécutez la commande suivante pour appliquer Terraform :

    terraform apply
    

Vérifier votre configuration

Pour vérifier votre configuration, nous vous recommandons de commencer par vérifier à l'aide de la Google Cloud CLI ou de la Cloud de Confiance console que la structure de vos dossiers et de vos projets a été configurée correctement.

Vous pouvez ensuite essayer de déployer une ou plusieurs charges de travail d'application dans l'un des projets d'application, soit en utilisant une charge de travail de votre choix, soit en suivant l'un de nos tutoriels de démarrage rapide. Il s'agit de tutoriels courts qui vous aident à exécuter rapidement un exemple simple sur Cloud de Confiance. Pour en savoir plus, consultez la section Étape suivante.

Étape suivante

  • Explorez votre organisation et vérifiez votre configuration en essayant un tutoriel suggéré.

  • Étendez et personnalisez votre configuration initiale, y compris :

  • Accordez des autorisations aux utilisateurs et aux groupes avec IAM.