Gérer les ressources Google Cloud en tant que déploiement

Vous pouvez utiliser Google Cloud Deployment Manager pour créer un ensemble de ressources Google Cloud et les gérer en tant qu'unité, appelée déploiement. Par exemple, si l'environnement de développement de votre équipe nécessite deux machines virtuelles (VM) et une base de données BigQuery, vous pouvez définir ces ressources dans un fichier de configuration et utiliser Deployment Manager pour créer, modifier ou supprimer ces ressources. Vous pouvez intégrer le fichier de configuration au dépôt de code de votre équipe afin que tous les utilisateurs puissent créer le même environnement avec des résultats cohérents.

Dans ce tutoriel, vous allez utiliser Google Cloud Deployment Manager pour créer une instance de machine virtuelle (VM). Vous définirez la VM dans un fichier de configuration de base et utiliserez ce fichier de configuration pour créer un déploiement.

Pour suivre ce tutoriel, vous devez maîtriser l'exécution de commandes dans un terminal Linux, macOS ou Windows.

Pour obtenir une version interactive de ce tutoriel, ouvrez-le dans Cloud Shell, où vous pouvez modifier l'exemple de configuration et déployer vos ressources sans rien installer sur votre poste de travail. Si vous souhaitez suivre le tutoriel sur votre propre ordinateur, passez à la section suivante.

Démarrage rapide dans Cloud Shell

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Deployment Manager and Compute Engine APIs.

    Enable the APIs

  7. Sur votre poste de travail, installez Google Cloud CLI.
  8. Configurez Google Cloud CLI pour utiliser votre projet. Dans la commande suivante, remplacez [MY_PROJECT] par l'ID de votre projet :
    gcloud config set project [MY_PROJECT]

Définir vos ressources

Vous devez décrire vos ressources dans un fichier de configuration écrit en syntaxe YAML.

  1. Copiez l'exemple de configuration ci-dessous et collez-le dans un éditeur de texte.

    # Copyright 2016 Google Inc. All rights reserved.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    
    # Put all your resources under `resources:`. For each resource, you need:
    # - The type of resource. In this example, the type is a Compute VM instance.
    # - An internal name for the resource.
    # - The properties for the resource. In this example, for VM instances, you add
    #   the machine type, a boot disk, network information, and so on.
    #
    # For a list of supported resources,
    # see https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types.
    resources:
    - type: compute.v1.instance
      name: quickstart-deployment-vm
      properties:
        # The properties of the resource depend on the type of resource. For a list
        # of properties, see the API reference for the resource.
        zone: us-central1-f
        # Replace [MY_PROJECT] with your project ID
        machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/f1-micro
        disks:
        - deviceName: boot
          type: PERSISTENT
          boot: true
          autoDelete: true
          initializeParams:
            # See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support
            # The format of the sourceImage URL is: https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[FAMILY_NAME]
            sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11
        # Replace [MY_PROJECT] with your project ID
        networkInterfaces:
        - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
          # Access Config required to give the instance a public IP address
          accessConfigs:
          - name: External NAT
            type: ONE_TO_ONE_NAT
    

    Ce fichier de configuration de base décrit un déploiement contenant une instance de machine virtuelle présentant les propriétés suivantes :

    • Type de machine : f1-micro
    • Famille d'images : debian-9
    • Zone : us-central1-f
    • Disque persistant racine : boot
    • Une adresse IP externe attribuée aléatoirement
  2. Remplacez toutes les instances de [MY_PROJECT] par votre ID de projet.

  3. Enregistrez le fichier sous le nom vm.yaml.

Déployer les ressources

Pour déployer vos ressources, utilisez la Google Cloud CLI afin de créer un à l'aide de votre fichier de configuration:

gcloud deployment-manager deployments create quickstart-deployment --config vm.yaml

Si le déploiement réussit, vous recevez un message semblable à celui-ci :

Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully.
NAME                    TYPE                STATE      ERRORS
quickstart-deployment   compute.v1.instance COMPLETED  -

Votre premier déploiement est maintenant achevé !

Vérifier votre nouveau déploiement

Pour vérifier l'état du déploiement, exécutez la commande suivante :

gcloud deployment-manager deployments describe quickstart-deployment

Une description du déploiement s'affiche. Cette description inclut notamment les heures de début et de fin, les ressources créées, ainsi que tous les messages d'avertissement ou d'erreur générés :

fingerprint: xmVVeTtPq-5rr8F-vWFlrg==
id: '54660732508021769'
insertTime: '2016-03-09T04:45:26.032-08:00'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-first-deployment/manifests/manifest-1457527526037
name: quickstart-deployment
operation:
  endTime: '2016-03-09T04:46:19.480-08:00'
  id: '8993923014899639305'
  kind: deploymentmanager#operation
  name: operation-1457527525951-52d9d126f4618-f1ca6e72-3404bd3b
  operationType: insert
  progress: 100
  startTime: '2016-03-09T04:45:27.275-08:00'
  status: DONE
...
resources:
NAME                     TYPE                 STATE      ERRORS
quickstart-deployment-vm  compute.v1.instance  COMPLETED  -

Vérifier vos ressources

Après avoir créé le déploiement, vous pouvez examiner vos ressources dans console Google Cloud.

  1. Pour afficher la liste de vos déploiements, ouvrez la page Deployment Manager.

    Accéder à Deployment Manager

  2. Pour voir les ressources intégrées dans le déploiement, cliquez sur quickstart-deployment. La page de présentation du déploiement s'ouvre. Elle contient des informations sur le déploiement lui-même, ainsi que sur les ressources faisant partie du déploiement.

  3. Pour afficher des informations sur votre machine virtuelle, cliquez sur quickstart-deployment-vm.

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

gcloud deployment-manager deployments delete quickstart-deployment

Saisissez y à l'invite :

The following deployments will be deleted:
- quickstart-deployment

Do you want to continue (y/N)?

Les ressources et le déploiement que vous avez créés sont définitivement supprimés.

Étape suivante