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
Come utilizzerai questo tutorial?
Come valuteresti la tua esperienza con la piattaforma Google Cloud?
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:
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.
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.
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.
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.
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
- Scopri di più su Cloud Tools for PowerShell.
- Scopri di più su Windows su Google Cloud.
- Scopri di più su .NET su Google Cloud.
- Scopri di più su SQL Server su Google Cloud Platform.
- Scopri di più su Cloud Tools for Visual Studio.