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 :
Comprendre les concepts de base Cloud de Confiance décrits dans la Cloud de Confiance présentation de.
Comprendre la Cloud de Confiance hiérarchie des ressources, y compris les organisations, les dossiers et les projets.
Lire la présentation de la configuration, en particulier À propos de Fabric FAST. La configuration de base décrite dans ce document utilise une configuration Fabric FAST spéciale qui cible spécifiquement votre univers et fournit une organisation prête à l'emploi, le tout en une seule étape.
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" :
Avant de commencer
Vérifiez les éléments suivants :
- Vous avez un fournisseur d'identité (IdP) configuré pour votre organisation et vous êtes connecté à Cloud de Confiance avec votre ID d'administrateur.
- Vous avez configuré Google Cloud CLI pour l'utiliser avec Cloud de Confiance.
- Les outils
gitetterraformsont installés sur votre machine locale :- Installer Git
- Installer Terraform (version minimale 1.12)
Vous disposez des informations suivantes :
- Le compte principal que vous avez choisi et auquel vous devez accorder des autorisations d'administrateur pour votre organisation. Il peut s'agir de votre propre ID ou (recommandé) d'un groupe d'utilisateurs administrateurs dont vous êtes membre.
- L'adresse e-mail du contact essentiel que vous avez choisie pour les projets principaux
L'ID de ressource de votre organisation. Vous pouvez le trouver dans la Cloud de Confiance consoleou en exécutant la commande Google Cloud CLI suivante :
gcloud organizations listCette commande liste toutes les organisations auxquelles vous appartenez (il ne devrait y en avoir qu'une seule) et leurs ID correspondants.
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 :
- Créez un projet dans votre organisation et notez son ID.
Définissez le projet comme projet actuel pour Google Cloud CLI :
gcloud config set project PROJECT_IDActivez 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.
- Dans le répertoire racine de l'étape de configuration de l'organisation (
0-org-setup), créez un fichier nomméproviders.tf. Ajoutez le code ci-dessous à votre fichier :
provider "google" { universe_domain = "s3nsapis.fr" } provider "google-beta" { universe_domain = "s3nsapis.fr" }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 :
- Toujours dans le répertoire racine de l'étape de configuration de l'organisation, créez un fichier nommé
terraform.tfvars. Dans ce fichier, spécifiez que vous souhaitez utiliser l'ensemble de données
starter-gcdcomme suit :factories_config = { dataset="datasets/starter-gcd" }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.
- Ouvrez le fichier
defaults.yamlexistant dans le répertoire0-org-setup/datasets/starter-gcdde l'ensemble de données. 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.
Enregistrez
defaults.yaml.
Appliquer Terraform
- Assurez-vous d'être de retour dans le répertoire racine de l'étape de configuration de l'organisation.
Exécutez la commande suivante pour initialiser Terraform (vous ne devez le faire qu'une seule fois par répertoire) :
terraform initExé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 :
- Créez d'autres projets et associez-les à vos réseaux.
- Configurez davantage la journalisation et la surveillance, y compris si vous préférez configurer Cloud Monitoring pour envoyer des métriques à Grafana à des fins de visualisation.
Accordez des autorisations aux utilisateurs et aux groupes avec IAM.