Como criar e gerenciar instâncias do Compute Engine

Nesta página, mostramos como criar e gerenciar instâncias do Compute Engine no Cloud Tools for PowerShell. Leia a referência de cmdlets do Cloud Tools for PowerShell para saber mais sobre os cmdlets do Compute Engine.

Como criar uma configuração de instância

Antes de gerar uma instância, você precisa criar uma configuração dela. No mínimo, ela requer um nome, um tipo de máquina e uma imagem de disco de inicialização ou um disco de inicialização preexistente:

$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig [VM_NAME] `
    -MachineType [MACHINE_TYPE] `
    -DiskImage $disk

Consulte a referência de cmdlets do Cloud Tools for PowerShell para as outras opções de configuração oferecidas pelo cmdlet New-GceInstanceConfig.

Criar uma instância

Use o cmdlet Add-GceInstance para criar uma nova instância de máquina. Especifique parâmetros, como projeto, zona ou região. Se você omitir uma parâmetro, o cmdlet usará os valores definidos no Configuração da Google Cloud CLI:

$config | Add-GceInstance -Project [PROJECT] -Zone [ZONE]

Gerenciar uma instância

Use o cmdlet Get-GceInstance para recuperar as instâncias de máquina virtual de um projeto. O nome da instância talvez não seja exclusivo nos projetos ou nas zonas. Neste caso, especifique um parâmetro de projeto ou zona para restringir a pesquisa. Por padrão, o cmdlet usa os valores definidos na configuração ativa da CLI da gcloud:

$instance = Get-GceInstance [VM_NAME]

Você pode iniciar, interromper ou reiniciar uma instância por meio de vários cmdlets. É possível se referir a uma instância usando o nome ou o objeto de tipo forte retornado do cmdlet Get-GceInstance:

Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance [VM_NAME]

É possível definir tags de instância, discos, configurações de acesso e outros metadados depois de criar a instância com o cmdlet Set-GceInstance:

Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata [METADATA_TAG]
Set-GceInstance $instance -RemoveTag [TAG] -AddTag [TAG]

Por fim, quando você terminar de usar uma instância, poderá removê-la do Compute Engine usando o cmdlet Remove-GceInstance:

# Remove all instances with the "to-be-removed" tag.
Get-GceInstance -Project [PROJECT] |
    Where { $_.Tags.Items -contains "to-be-removed" } |
    Remove-GceInstance