Site icon Blog Zenika

Découverte de Google Cloud Onboarding

Afin de faciliter la mise en place et l’utilisation de son Cloud, Google propose maintenant une procédure pas-à-pas pour simplifier la configuration d’une landing zone pour votre organisation. Cet assistant est disponible via la console Google Cloud à l’adresse suivante : https://console.cloud.google.com/cloud-setup

Cet article vous propose une présentation de cette procédure et des différentes étapes qu’elle couvre.

📝 Prérequis

Si vous souhaitez dérouler cette procédure, vous aurez besoin :

La première étape nécessaire est d’activer Cloud Identity et de paramétrer la base de votre organisation en indiquant le nom de domaine à utiliser.

De notre côté la totalité de la démarche nous a pris environ deux heures et nous a permis de configurer :

🏗 Lancement

Une fois l’organisation créée, l’assistant vous propose de créer les groupes dédiés aux différentes tâches d’administration et d’utilisation de la plateforme. Une liste prédéfinie vous est suggérée, mais en vous offrant également la possibilité de créer vos propres groupes.

Lors de cette étape, vous pourrez également ajouter des utilisateurs dans chacun des groupes d’administration, mais dans tous les cas, c’est une action que vous pourrez également réaliser ultérieurement.

Par défaut, l’utilisateur “administrateur de l’organisation” créé et configuré précédemment a été ajouté à l’ensemble de ces groupes.

Une fois ces groupes créés et les membres ajoutés, il est nécessaire de leur affecter des rôles qui leur donneront des droits effectifs sur les services.

Notons que le fait de gérer ces droits au niveau des groupes, plutôt qu’au niveau des utilisateurs individuels, est une bonne pratique et une recommandation de Google.

Nous allons maintenant ajouter un compte de facturation à notre organisation. Encore une fois plusieurs options sont proposées afin de simplifier la démarche.

Il est maintenant temps de définir la structure de notre organisation. De cette structure découlent :

Comme vous pouvez le voir, les suggestions qui nous sont faites proposent une configuration compatible avec les bonnes pratiques et les recommandations de Google Cloud.

Néanmoins, un choix est proposé parmi 4 hiérarchies types afin d’identifier celle qui correspond le mieux à votre organisation.

Une fois le type de hiérarchie sélectionné, un aperçu du résultat nous est proposé. Vous pouvez voir qu’un dossier réservé aux éléments communs sera créé.

Ce dossier sera utilisé pour les projets porteurs :

Les étapes suivantes vont justement vous permettre de configurer ces différents éléments, toujours à l’aide d’assistants.

D’abord la configuration du réseau avec quelques rappels sur les choix effectués ainsi qu’un aperçu de l’architecture retenue sous forme de diagramme.

Toujours pour la configuration du réseau, vous aurez ensuite à définir :

Pour conclure cette partie vous aurez un récapitulatif de ce qui sera créé.

Vient ensuite la configuration de la centralisation des journaux :

La configuration de la centralisation des métriques avec un workspace par environnement.

Enfin pour terminer et si vous le souhaitez, vous pouvez alors configurer Security Command Center et le niveau d’assistance que vous souhaitez.

Security Command Center, vous permettra de centraliser la gestion de la sécurité de votre organisation avec des services tels que :

Selon le niveau d’assistance que vous choisirez, vous avez accès à des niveaux de supports dédiés avec des garanties de temps de réponse, voire un interlocuteur dédié pour le plus haut niveau.

🚀Déploiement

Une fois que tout est configuré, vous avez alors deux possibilités :

Dans ce second cas, vous téléchargerez une archive .tar.gz qui contiendra :

Les fichiers proposés sont corrects et complets et s’appuient sur des modules publiés sur github par Google.

Extrait du fichier network.tf :

  # VPC and Subnets
  module "vpc-host-dev" {
      source  = "terraform-google-modules/network/google"
      version = "~> 5.0"

      project_id   = module.vpc-host-dev-eu007-by430.project_id
      network_name = "vpc-host-dev"

      subnets = [

          {
              subnet_name           = "subnet-dev-1"
              subnet_ip             = "10.0.0.0/24"
              subnet_region         = "europe-west9"
              subnet_private_access = true
              subnet_flow_logs      = true
              subnet_flow_logs_sampling = "0.5"
              subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
              subnet_flow_logs_interval = "INTERVAL_10_MIN"
          },
          {
              subnet_name           = "subnet-dev-2"
              subnet_ip             = "10.0.1.0/24"
              subnet_region         = "europe-west8"
              subnet_private_access = true
              subnet_flow_logs      = true
              subnet_flow_logs_sampling = "0.5"
              subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
              subnet_flow_logs_interval = "INTERVAL_10_MIN"
          },
      ]
  }
  # Firewall Rules
  resource "google_compute_firewall" "vpc-host-dev-allow-iap-ssh" {
    name      = "vpc-host-dev-allow-iap-ssh"
    network   = module.vpc-host-dev.network_name
    project   = module.vpc-host-dev-eu007-by430.project_id
    direction = "INGRESS"
    priority  = 10000

    log_config {
        metadata = "INCLUDE_ALL_METADATA"
      }

    allow {
      protocol = "tcp"
      ports    = ["22",]
    }

    source_ranges = [
    "35.235.240.0/20",
    ]
  }

Avant de conclure, si vous effectuez le même test de votre côté, à la fin, pensez à :

👍 Conclusion

Les étapes de la démarche présentée ici ne sont pas nouvelles. En revanche, ce qui est nouveau et que nous apprécions, c’est le fait de pouvoir les réaliser en suivant une feuille de route.

Cette approche a plusieurs avantages :

Enfin, la génération du résultat sous forme de fichiers terraform qui vous permettront de l’intégrer à vos processus et repository d’Infrastructure as Code.

⚠️ Attention toutefois, certaines étapes entraînent directement la création des ressources et celles-ci ne sont donc pas incluses dans les fichiers terraform.

Cet article a été co-rédigé avec Julien Landuré.

Formez-vous à Google Cloud avec nos formations officielles

Auteur/Autrice

Quitter la version mobile