Installer et utiliser Cloud Tools for PowerShell

1. Présentation

PowerShell est un shell de ligne de commande et le langage de script associé, basé sur .NET Framework. C'est l'outil par défaut d'automatisation et de gestion de la configuration des tâches utilisé dans le monde Windows. Un cmdlet PowerShell est une commande légère appelée dans PowerShell.

Cloud Tools for PowerShell est une collection de cmdlets permettant d'accéder aux ressources Google Cloud et de les manipuler, telles que Google Compute Engine, Google Cloud Storage, Google Cloud SQL et Google Cloud DNS, et d'autres sont à venir.

Suivez cet atelier pour apprendre à interagir avec les ressources Google Cloud à partir de PowerShell.

Points abordés

  • Installer Cloud Tools for PowerShell
  • S'authentifier auprès du SDK Google Cloud
  • Découvrez comment créer et gérer Google Compute Engine à partir de PowerShell.
  • Sauvegarder des données vers Google Cloud Storage à partir de PowerShell

Prérequis

  • Un projet Google Cloud Platform.
  • Un navigateur, tel que Chrome ou Firefox.
  • Une machine Windows.

Comment allez-vous utiliser ce tutoriel ?

Je vais le lire uniquement Je vais le lire et effectuer les exercices

Quel est votre niveau d'expérience avec Google Cloud Platform ?

<ph type="x-smartling-placeholder"></ph> Débutant Intermédiaire Expert
.

2. Préparation

Pour cet atelier de programmation, vous avez besoin d'un projet Google Cloud pour interagir avec PowerShell. Si vous avez déjà un projet, vous pouvez l'utiliser ou en créer un en suivant les étapes ci-dessous.

Configuration de l'environnement au rythme de chacun

Si vous ne possédez pas encore de compte Google (Gmail ou G Suite), vous devez en créer un. Connectez-vous à la console Google Cloud ( console.cloud.google.com) et créez un projet:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Mémorisez l'ID du projet, qui est un nom unique parmi tous les projets Google Cloud Platform. Il sera désigné par le nom PROJECT_ID tout au long de cet atelier de programmation.

Ensuite, vous devez activer la facturation dans la console Google Cloud afin de pouvoir utiliser les ressources Google Cloud Platform telles que Google Cloud Datastore et Cloud Storage.

Les nouveaux utilisateurs de Google Cloud Platform peuvent bénéficier d'un essai sans frais de 300$. L'exécution de cet atelier de programmation ne devrait pas vous coûter plus que quelques dollars, mais ce montant peut être plus élevé si vous décidez d'utiliser plus de ressources ou de continuer à les exécuter (consultez la section "Nettoyage" à la fin de ce document).

3. Installation

Installation de l'environnement d'auto-formation

Les cmdlets PowerShell sont inclus dans le SDK Cloud pour Windows. Si vous ne l'avez pas déjà fait, téléchargez et installez le SDK Google Cloud pour Windows, comme décrit dans le guide de démarrage rapide pour Windows. Assurez-vous d'avoir coché l'option PowerShell lors de l'installation du SDK Cloud.

d6df1af5b5b08e41.png

4. Authentification

Cloud Tools for PowerShell utilise les identifiants et les paramètres stockés dans Cloud SDK. Pour commencer à utiliser les cmdlets, vous devez d'abord vous connecter à l'aide de Cloud SDK.

Authentification de l'environnement d'auto-formation

Démarrez l'interface système du SDK Google Cloud et exécutez la commande suivante.

gcloud init

Acceptez l'option de connexion avec votre compte utilisateur Google.

To continue, you must log in. Would you like to log in (Y/n)? Y

Dans votre navigateur, connectez-vous à votre compte utilisateur Google lorsque vous y êtes invité, puis cliquez sur Autoriser pour autoriser l'accès aux ressources Google Cloud Platform.

Dans l'invite de commande, sélectionnez un projet Cloud Platform dans la liste des projets pour lesquels vous disposez des autorisations de propriétaire, d'éditeur ou de lecteur.

Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:

5. Exécuter des cmdlets Google Cloud dans PowerShell

Une fois authentifié, vous êtes prêt à utiliser les cmdlets Google Cloud dans PowerShell. Recherchez et ouvrez l'interface système de ligne de commande PowerShell.

66b0c5d9b1cd7c68.png

Pour vous assurer que les cmdlets Google Cloud sont correctement installés, exécutez le cmdlet Get-GceInstance. La liste des instances Compute Engine de votre projet devrait s'afficher.

3ffd420f66f76b06.png

6. Créer et gérer des instances Google Compute Engine

Dans cette section, vous allez créer et gérer Google Compute Engine à partir de Google Cloud Tools for PowerShell.

Créer une configuration d'instance

Avant de créer une instance, vous devez d'abord créer une configuration d'instance. Vous devez au moins indiquer un nom, un type de machine et une image de disque de démarrage ou un disque de démarrage préexistant. Utilisez Get-GceImage pour créer une image disque et New-GceInstanceConfig pour créer une configuration.

$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
    -MachineType "n1-standard-4" `
    -DiskImage $disk

À ce stade, vous disposez d'une configuration que vous pouvez utiliser pour créer une instance.

Créer une instance

Utilisez le cmdlet Add-GceInstance pour créer une instance Compute Engine. Vous pouvez spécifier un projet et une zone. Toutefois, si vous les omettez, les valeurs de paramètre par défaut sont celles de votre configuration active du SDK Cloud. Si vous spécifiez un projet, veillez à remplacer PROJECT_ID par l'ID de votre propre projet.

$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b

Gérer une instance

Vous pouvez utiliser le cmdlet Get-GceInstance pour récupérer les instances de machine virtuelle d'un projet. Étant donné que le nom de l'instance peut varier selon les projets ou les zones, vous pouvez spécifier un paramètre "Project" (Projet) ou "Zone" pour affiner la recherche. Par défaut, le cmdlet utilise les valeurs présentes dans la configuration active du SDK Cloud.

$instance = Get-GceInstance "my-vm-1"

Vous pouvez définir des tags d'instance, des disques, des configurations d'accès et d'autres métadonnées après avoir créé votre instance avec le cmdlet Set-GceInstance. Ajoutez des métadonnées, puis supprimez-les comme suit.

Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"

Ajoutez maintenant un tag que vous utiliserez plus tard pour supprimer l'instance.

Set-GceInstance $instance -AddTag "to-be-removed"

Vous pouvez démarrer, arrêter ou redémarrer une instance à l'aide de différents cmdlets. Vous pouvez faire référence à une instance en utilisant le nom ou l'objet fortement typé renvoyé par le cmdlet Get-GceInstance. Jouez avec certaines de ces commandes.

Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"

Enfin, lorsque vous avez terminé avec l'instance, supprimez-la de Compute Engine à l'aide du cmdlet Remove-GceInstance et en fournissant le tag que vous avez spécifié précédemment.

Get-GceInstance -Project $project |
    Where { $_.Tags.Items -contains "to-be-removed" } |
    Remove-GceInstance -WhatIf

7. Sauvegarder des données dans Google Cloud Storage

Dans cette partie de l'atelier de programmation, vous allez sauvegarder les données de votre ordinateur local dans Google Cloud Storage à l'aide de Cloud Tools for PowerShell.

Créer un bucket

Avant d'importer des fichiers dans Cloud Storage, vous devez créer un bucket. Utilisez le cmdlet New-GcsBucket pour créer un bucket.

$bucket = "my-gcs-bucket"
New-GcsBucket $bucket

Importer des fichiers dans le bucket

Vous pouvez utiliser New-GcsObject pour importer des fichiers ou des dossiers entiers dans le bucket.

Vous pouvez importer le contenu d'un fichier local dans Cloud Storage à l'aide du paramètre -File et en spécifiant un chemin d'accès au fichier. Vous pouvez également transmettre le contenu de l'objet sous forme de chaîne via le pipeline PowerShell ou utiliser le paramètre -Value.

Choisissez un fichier local sur votre ordinateur et importez-le dans votre bucket comme suit.

New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"

Vous pouvez importer un répertoire entier du disque local dans Cloud Storage en utilisant le paramètre -UploadFolder et en spécifiant le chemin d'accès au dossier. Si vous ne souhaitez pas que le dossier soit importé directement à la racine du bucket Cloud Storage, utilisez -ObjectNamePrefix pour spécifier un préfixe qui sera appliqué à chaque objet importé.

Choisissez un dossier local sur votre ordinateur et importez-le dans votre bucket comme suit.

New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"

Données de recherche

Vous pouvez rechercher des données avec des cmdlets, ou avec le fournisseur via les cmdlets de recherche de fichiers courants. Exécutez la commande suivante avec votre bucket.

Get-GcsObject $bucket | Select Name, Size | Out-GridView

Vous devriez voir une fenêtre pop-up de grille avec le nom et la taille.

59d92a6bfec86f89.png

Lire des données

Vous pouvez utiliser le cmdlet Read-GcsObject pour lire des données. Par exemple, vous pouvez utiliser la commande suivante pour lire un fichier nommé hello.txt sur votre bureau.

Read-GcsObject $bucket "hello.txt" `
    -OutFile "$Env:UserProfile\Desktop\hello.txt"

Supprimer des données

Enfin et surtout, vous pouvez supprimer des données à l'aide du cmdlet Remove-GcsObject. Exécutez la commande suivante pour supprimer tout le contenu du bucket.

Get-GcsObject $bucket | Remove-GcsObject

8. Félicitations !

Dans cet atelier de programmation, vous avez appris à gérer des instances Compute Engine et des buckets Cloud Storage à partir de PowerShell, mais ce n'est pas tout ! Vous pouvez également gérer des ressources Cloud SQL et Cloud CDN à l'aide de PowerShell. Pour en savoir plus, consultez la liste des étapes suivantes ci-dessous.

Points abordés

  • Installer Cloud Tools for PowerShell
  • S'authentifier auprès du SDK Google Cloud
  • Découvrez comment créer et gérer Google Compute Engine à partir de PowerShell.
  • Sauvegarder des données vers Google Cloud Storage à partir de PowerShell

Étapes suivantes