Blog Zenika

#CodeTheWorld

Cloud

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.

Aperçu de l'écran de Fast-Onboarding Google Cloud

📝 Prérequis

  • d’un nom de domaine
  • d’une carte bancaire valide, même si rien ne vous sera facturé tant que vous restez dans les 14 jours de période d’essai de Cloud Identity et dans les 300$ de crédit Google Cloud offerts pour le démarrage.

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 :

  • Les groupes et utilisateurs de base
  • Les groupes d’administration
  • La facturation
  • La hiérarchie des dossiers et projets
  • Le réseau
  • La centralisation des journaux et métriques
  • La sécurité
  • Le niveau d’assistance

🏗 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.

Liste des groupes d'adminisration Google Cloud par défaut
Liste des groupes créés

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

Ajouter des membres aux groupes
Ajouter vos administrateurs aux 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.

Ajout des utilisateurs aux groupes d'administration

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

Configuration du compte de facturation

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

  • La hiérarchie des dossiers et projets 
  • La topologie et la configuration des réseaux VPC
  • La configuration des briques communes liés à l’exploitation de la plateforme (journalisation, surveillance et sécurité)

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.

Définissez des bases reposant sur les bonnes pratiques Google Cloud

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

Présentation des 4 hiérarchies types pour les organisations

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.

Aperçu de l'architecture réseau basée sur des VPC

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

  • Les règles de pare-feu par défaut
  • Les sous-réseaux par régions, ainsi que les plages d’adresses utilisées
  • La configuration du NAT si nécessaire

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

Vue d'ensemble des VPC, Cloud NAT et règles de pare-feux

Vient ensuite la configuration de la centralisation des journaux :

Configuration de la centralisation des journaux

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

Configuration de la surveillance (monitoring)

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 :

  • Inventaire des ressources
  • Prévention et détection des menaces
Configuration de Security Command Center

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.

Configuration du niveau d'assistance

🚀Déploiement

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

  • Déploiement direct
  • Téléchargement de la description de l’infrastructure sous forme de fichier Terraform
Choix du mode déploiement : Terraform ou direct

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

  • Un fichier README.md avec les instructions de déploiement à l’aide de Terraform
  • Un fichier .tf par type de ressource (iam, projet, network, …)

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 à :

  • Supprimer le compte de facturation Google Cloud
  • Annuler l’essai Cloud Identity

👍 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 :

  • Respect des bonnes pratiques
  • Moins de risque de passer à côté de quelque chose
  • Ensemble de la démarche centralisée sur un seul outil

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

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.