Installare e utilizzare Cloud Tools for PowerShell

1. Panoramica

PowerShell è una shell della riga di comando e il linguaggio di scripting associato basato su .NET Framework. È lo strumento predefinito per la gestione delle configurazioni e dell'automazione delle attività utilizzato in Windows. Un cmdlet di PowerShell è un comando leggero richiamato all’interno di PowerShell.

Cloud Tools for PowerShell è una raccolta di cmdlet per accedere e manipolare risorse di Google Cloud come Google Compute Engine, Google Cloud Storage, Google Cloud SQL e Google Cloud DNS. Altre novità sono in arrivo.

Segui questo lab per scoprire come interagire con le risorse Google Cloud da PowerShell.

Obiettivi didattici

  • Come installare Cloud Tools for PowerShell.
  • Come eseguire l'autenticazione con Google Cloud SDK.
  • Creare e gestire Google Compute Engine da PowerShell.
  • Come eseguire il backup dei dati in Google Cloud Storage da PowerShell.

Che cosa ti serve

  • Un progetto Google Cloud.
  • Un browser, ad esempio Chrome o Firefox.
  • Un computer Windows.

Come utilizzerai questo tutorial?

Solo lettura Leggilo e completa gli esercizi

Come valuteresti la tua esperienza con la piattaforma Google Cloud?

Principiante Livello intermedio Eccellente

2. Configurazione e requisiti

Per questo codelab, è necessario un progetto Google Cloud per interagire con PowerShell. Se hai già un progetto, puoi utilizzarlo o crearne uno nuovo seguendo i passaggi riportati di seguito.

Configurazione dell'ambiente da seguire in modo autonomo

Se non hai ancora un Account Google (Gmail o G Suite), devi crearne uno. Accedi alla console Google Cloud ( console.cloud.google.com) e crea un nuovo progetto:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Ricorda l'ID progetto, un nome univoco tra tutti i progetti della piattaforma Google Cloud. Verrà indicato più avanti in questo codelab come PROJECT_ID.

Successivamente, dovrai abilitare la fatturazione nella console Google Cloud per utilizzare le risorse della piattaforma Google Cloud come Google Cloud Datastore e Cloud Storage.

I nuovi utenti della piattaforma Google Cloud hanno diritto a una prova senza costi di$300. L'esecuzione di questo codelab non dovrebbe costare più di qualche euro, ma potrebbe essere più costoso se decidi di utilizzare più risorse o se le lasci in esecuzione (vedi la sezione sulla pulizia alla fine di questo documento).

3. Installazione

Installazione dell'ambiente autonomo

I cmdlet PowerShell fanno parte di Cloud SDK for Windows. Se non l'hai ancora fatto, scarica e installa Google Cloud SDK for Windows, come descritto nella guida rapida per Windows. Assicurati di aver selezionato l'opzione PowerShell durante l'installazione di Cloud SDK.

d6df1af5b5b08e41.png

4. Autenticazione

Cloud Tools for PowerShell utilizza le credenziali e le impostazioni archiviate in Cloud SDK. Quindi, per iniziare a utilizzare i cmdlet, devi prima accedere utilizzando Cloud SDK.

Autenticazione in ambiente autogestito

Avvia Google Cloud SDK Shell ed esegui questo comando.

gcloud init

Accetta l'opzione di accesso con il tuo account utente Google.

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

Nel browser, accedi al tuo account utente Google quando richiesto e fai clic su Consenti per concedere l'autorizzazione ad accedere alle risorse della piattaforma Google Cloud.

Al prompt dei comandi, seleziona un progetto Cloud Platform dall'elenco per cui disponi delle autorizzazioni Proprietario, Editor o Visualizzatore.

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

5. Esegui i cmdlet di Google Cloud in PowerShell

Una volta autenticati, puoi utilizzare i cmdlet Google Cloud all'interno di PowerShell. Trova e apri la shell della riga di comando di PowerShell.

66b0c5d9b1cd7c68.png

Per assicurarti che i cmdlet di Google Cloud siano installati correttamente, esegui Get-GceInstance cmdlet. Dovrebbe apparire l'elenco delle istanze di Compute Engine presenti nel tuo progetto.

3ffd420f66f76b06.png

6. Creare e gestire istanze di Google Compute Engine

In questa sezione creerai e gestirai Google Compute Engine da Google Cloud Tools for PowerShell.

Crea una configurazione dell'istanza

Prima di creare un'istanza, devi creare una configurazione dell'istanza. Ciò richiede almeno un nome, un tipo di macchina e un'immagine disco di avvio o un disco di avvio preesistente. Utilizza Get-GceImage per creare un'immagine disco e New-GceInstanceConfig per creare una configurazione.

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

A questo punto, hai una configurazione che puoi utilizzare per creare un'istanza.

Crea un'istanza

Utilizza il cmdlet Add-GceInstance per creare una nuova istanza Compute Engine. Puoi specificare un progetto e una zona, ma se ometti, i valori dei parametri corrispondono per impostazione predefinita a quelli nell'attuale configurazione attiva di Cloud SDK. Se specifichi un progetto, assicurati di sostituire PROJECT_ID con il tuo ID progetto.

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

Gestire un'istanza

Puoi utilizzare il cmdlet Get-GceInstance per recuperare le istanze di macchina virtuale di un progetto. Poiché il nome dell'istanza potrebbe non essere univoco tra progetti o zone, puoi specificare un parametro Project o Zone per restringere la ricerca. Per impostazione predefinita, il cmdlet utilizza i valori presenti nella configurazione di Cloud SDK attiva.

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

Puoi impostare tag, dischi, configurazioni di accesso e altri metadati dell'istanza dopo aver creato l'istanza con il cmdlet Set-GceInstance. Aggiungi alcuni metadati, quindi rimuovili come segue.

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

A questo punto, aggiungi un tag che utilizzerai in seguito per rimuovere l'istanza.

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

Puoi avviare, arrestare o riavviare un'istanza utilizzando vari cmdlet. Puoi fare riferimento a un'istanza utilizzando il nome o l'oggetto di forte digitazione restituito dal cmdlet Get-GceInstance. Prova alcuni di questi comandi.

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

Infine, quando hai finito di utilizzare l'istanza, rimuovila da Compute Engine utilizzando il cmdlet Remove-GceInstance e fornendo il tag specificato in precedenza.

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

7. Esegui il backup dei dati in Google Cloud Storage

In questa parte del codelab, eseguirai il backup dei dati dalla tua macchina locale a Google Cloud Storage utilizzando Cloud Tools for PowerShell.

Crea un bucket

Prima di caricare i file su Cloud Storage, devi creare un bucket. Utilizza il cmdlet New-GcsBucket per creare un nuovo bucket.

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

Carica i file nel bucket

Puoi utilizzare New-GcsObject per caricare file o intere cartelle nel bucket.

Puoi caricare i contenuti di un file locale in Cloud Storage utilizzando il parametro -File e specificando un percorso file. In alternativa, puoi passare i contenuti dell'oggetto come stringa tramite la pipeline PowerShell oppure puoi utilizzare il parametro -Value.

Scegli un file locale sulla tua macchina e caricalo nel bucket come segue.

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

Puoi caricare un'intera directory dal disco locale in Cloud Storage utilizzando il parametro -UploadFolder e specificando il percorso della cartella. Se non vuoi che la cartella venga caricata direttamente nella directory radice del bucket Cloud Storage, utilizza -ObjectNamePrefix per specificare un prefisso che verrà applicato a ogni oggetto caricato.

Scegli una cartella locale sulla tua macchina e caricala nel bucket come segue.

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

Dati delle ricerche

Puoi cercare i dati con i cmdlet o con il provider tramite i comuni cmdlet di ricerca file. Prova questo comando con il tuo bucket.

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

Dovresti vedere un popup della griglia con nome e dimensioni.

59d92a6bfec86f89.png

Lettura di dati

Puoi utilizzare il cmdlet Read-GcsObject per leggere i dati. Ad esempio, puoi utilizzare il seguente comando per leggere un file denominato hello.txt sul desktop.

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

Eliminare i dati

Infine, puoi eliminare i dati utilizzando il cmdlet Remove-GcsObject. Utilizza il comando seguente per eliminare tutti i contenuti del bucket.

Get-GcsObject $bucket | Remove-GcsObject

8. Complimenti

In questo codelab, hai imparato a gestire le istanze di Compute Engine e i bucket Cloud Storage da PowerShell, ma c'è molto altro. Puoi anche gestire le risorse Cloud SQL e Cloud CDN utilizzando PowerShell. Per ulteriori informazioni, consulta l'elenco dei passaggi successivi riportato di seguito.

Argomenti trattati

  • Come installare Cloud Tools for PowerShell.
  • Come eseguire l'autenticazione con Google Cloud SDK.
  • Creare e gestire Google Compute Engine da PowerShell.
  • Come eseguire il backup dei dati in Google Cloud Storage da PowerShell.

Passaggi successivi