Installare e utilizzare Cloud Tools for PowerShell

1. Panoramica

PowerShell è una shell della riga di comando e un linguaggio di scripting associato basato su .NET Framework. È lo strumento predefinito di automazione delle attività e gestione della configurazione utilizzato in Windows. Un cmdlet PowerShell è un comando leggero richiamato in PowerShell.

Cloud Tools for PowerShell è una raccolta di cmdlet per accedere e manipolare le risorse Google Cloud come Google Compute Engine, Google Cloud Storage, Google Cloud SQL e Google Cloud DNS. Altri cmdlet verranno aggiunti in futuro.

Segui questo lab per imparare a interagire con le risorse Google Cloud da PowerShell.

Obiettivi didattici

  • Come installare Cloud Tools for PowerShell.
  • Come eseguire l'autenticazione con Google Cloud SDK.
  • Come creare e gestire Google Compute Engine da PowerShell.
  • Come eseguire il backup dei dati su 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?

Leggilo e basta Leggilo e completa gli esercizi

Come valuteresti la tua esperienza con Google Cloud Platform?

Principiante Intermedio Avanzato

2. Configurazione e requisiti

Per questo codelab, hai bisogno di un progetto Google Cloud per interagire con PowerShell. Se hai un progetto esistente, puoi utilizzarlo oppure crearne uno nuovo seguendo questi passaggi.

Configurazione dell'ambiente autonomo

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

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Ricorda l'ID progetto, un nome univoco tra tutti i progetti Google Cloud. In questo codelab verrà chiamato PROJECT_ID.

Successivamente, devi attivare la fatturazione nella console Google Cloud per utilizzare le risorse di Google Cloud Platform come Google Cloud Datastore e Cloud Storage.

I nuovi utenti di Google Cloud Platform possono beneficiare di una prova senza costi di 300$. L'esecuzione di questo codelab non dovrebbe costarti più di qualche dollaro, ma potrebbe essere più cara se decidi di utilizzare più risorse o se le lasci in esecuzione (vedi la sezione "Pulizia" alla fine di questo documento).

3. Installazione

Installazione dell'ambiente autonomo

I cmdlet di PowerShell fanno parte di Cloud SDK per Windows. Se non l'hai ancora fatto, scarica e installa Google Cloud SDK per 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. Pertanto, per iniziare a utilizzare i cmdlet, devi prima accedere utilizzando Cloud SDK.

Autenticazione dell'ambiente autonoma

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 Google Cloud.

Al prompt dei comandi, seleziona un progetto Cloud Platform dall'elenco di quelli 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 autenticato, puoi utilizzare i cmdlet di Google Cloud in 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 il cmdlet Get-GceInstance. Dovresti visualizzare le istanze Compute Engine nel tuo progetto.

3ffd420f66f76b06.png

6. Crea e gestisci 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 prima creare una configurazione dell'istanza. Come minimo, sono necessari un nome, un tipo di macchina e un'immagine del disco di avvio o un disco di avvio preesistente. Utilizza Get-GceImage per creare un'immagine del 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 omessi, i valori dei parametri vengono impostati come predefiniti in base alla configurazione Cloud SDK attiva corrente. 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 macchine virtuali di un progetto. Poiché il nome dell'istanza potrebbe non essere univoco in tutti i progetti o le zone, puoi specificare un parametro Progetto o Zona per restringere la ricerca. Per impostazione predefinita, il cmdlet utilizza i valori presenti nella configurazione attiva di Cloud SDK.

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

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

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

Ora aggiungi un tag che utilizzerai in un secondo momento 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 fortemente tipizzato 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, esegui 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

Caricare i file nel bucket

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

Puoi caricare i contenuti di un file locale su Cloud Storage utilizzando il parametro -File e specificando un percorso del file. In alternativa, puoi trasmettere 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 a Cloud Storage utilizzando il parametro -UploadFolder e specificando il percorso della cartella. Se non vuoi che la cartella venga caricata direttamente nella 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 nel seguente modo.

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

Dati sulle ricerche

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

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

Dovresti visualizzare un popup a griglia con nome e dimensioni.

59d92a6bfec86f89.png

Lettura 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 tuo computer.

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 seguente comando per eliminare tutti i contenuti del bucket.

Get-GcsObject $bucket | Remove-GcsObject

8. Complimenti!

In questo codelab hai imparato a gestire le istanze 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 saperne di più, 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.
  • Come creare e gestire Google Compute Engine da PowerShell.
  • Come eseguire il backup dei dati su Google Cloud Storage da PowerShell.

Passaggi successivi