Instala y usa Cloud Tools for PowerShell.

1. Descripción general

PowerShell es una shell de línea de comandos y un lenguaje de programación asociado compilado en .NET Framework. Es la herramienta predeterminada de automatización de tareas y administración de la configuración que se usa en el mundo de Windows. Un cmdlet de PowerShell es un comando ligero que se invoca dentro de PowerShell.

Cloud Tools for PowerShell es una colección de cmdlets para acceder a los recursos de Google Cloud y manipularlos, como Google Compute Engine, Google Cloud Storage, Google Cloud SQL y Google Cloud DNS, y habrá más en el futuro.

Sigue este lab para aprender a interactuar con los recursos de Google Cloud desde PowerShell.

Qué aprenderás

  • Cómo instalar Cloud Tools for PowerShell
  • Cómo autenticarse con el SDK de Google Cloud
  • Cómo crear y administrar Google Compute Engine desde PowerShell
  • Cómo crear copias de seguridad de datos en Google Cloud Storage desde PowerShell

Requisitos

  • Un proyecto de Google Cloud Platform
  • Un navegador, como Chrome o Firefox
  • Una máquina Windows

¿Cómo usarás este instructivo?

Leer Leer y completar los ejercicios

¿Cómo calificarías tu experiencia con Google Cloud Platform?

Principiante Intermedio Avanzado

2. Configuración y requisitos

Para este codelab, necesitas un proyecto de Google Cloud para interactuar con PowerShell. Si tienes un proyecto existente, puedes usarlo o crear uno nuevo siguiendo estos pasos.

Configuración del entorno de autoaprendizaje

Si aún no tienes una Cuenta de Google (Gmail o G Suite), debes crear una. Accede a la consola de Google Cloud ( console.cloud.google.com) y crea un proyecto nuevo:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Recuerda el ID del proyecto, un nombre único en todos los proyectos de Google Cloud Platform. Se mencionará más adelante en este codelab como PROJECT_ID.

A continuación, deberás habilitar la facturación en Google Cloud Console para usar los recursos de Google Cloud Platform, como Google Cloud Datastore y Cloud Storage.

Los usuarios nuevos de Google Cloud Platform son aptos para obtener una prueba gratuita de USD 300. Ejecutar este codelab debería costar solo unos pocos dólares, pero su costo podría aumentar si decides usar más recursos o si los dejas en ejecución (consulta la sección “Limpiar” al final de este documento).

3. Instalación

Instalación del entorno de autoaprendizaje

Los cmdlets de PowerShell se incluyen como parte del SDK de Cloud para Windows. Si aún no lo hiciste, descarga e instala el SDK de Google Cloud para Windows, como se describe en la Guía de inicio rápido para Windows. Asegúrate de haber marcado la opción de PowerShell cuando instalaste el SDK de Cloud.

d6df1af5b5b08e41.png

4. Autenticación

Cloud Tools for PowerShell usa las credenciales y la configuración almacenadas en el SDK de Cloud. Por lo tanto, para comenzar a usar los cmdlets, primero debes acceder con el SDK de Cloud.

Autenticación del entorno de autoaprendizaje

Inicia Google Cloud SDK Shell y ejecuta el siguiente comando.

gcloud init

Acepta la opción para acceder con tu cuenta de usuario de Google.

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

En tu navegador, accede a tu cuenta de usuario de Google cuando se te solicite y haz clic en Permitir para autorizar el acceso a los recursos de Google Cloud Platform.

En el símbolo del sistema, selecciona un proyecto de Cloud Platform de la lista de aquellos en los que tienes permiso de propietario, editor o lector.

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

5. Ejecuta cmdlets de Google Cloud en PowerShell

Una vez que te autentiques, podrás usar los cmdlets de Google Cloud en PowerShell. Busca y abre la shell de línea de comandos de PowerShell.

66b0c5d9b1cd7c68.png

Para asegurarte de que los cmdlets de Google Cloud estén instalados correctamente, ejecuta el cmdlet Get-GceInstance. Debería aparecer una lista de las instancias de Compute Engine que tienes en tu proyecto.

3ffd420f66f76b06.png

6. Crear y administrar instancias de Google Compute Engine

En esta sección, crearás y administrarás Google Compute Engine desde Google Cloud Tools for PowerShell.

Crea una configuración de instancia

Antes de crear una instancia, primero debes crear la configuración de una instancia. Como mínimo, esto requiere un nombre, un tipo de máquina y una imagen de disco de arranque o un disco de inicio preexistente. Usa Get-GceImage para crear una imagen de disco y New-GceInstanceConfig para crear una configuración.

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

En este punto, tienes una configuración que puedes usar para crear una instancia.

Crea una instancia.

Usa el cmdlet Add-GceInstance para crear una instancia nueva de Compute Engine. Puedes especificar un proyecto y una zona, pero, si los omites, los valores de los parámetros se establecerán de forma predeterminada en los de tu configuración activa actual del SDK de Cloud. Si especificas un proyecto, asegúrate de reemplazar PROJECT_ID por tu propio ID del proyecto.

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

Administra una instancia

Puedes usar el cmdlet Get-GceInstance para recuperar las instancias de máquina virtual de un proyecto. Ya que es posible que el nombre de la instancia no sea exclusivo en los proyectos o zonas, puedes especificar un parámetro de proyecto o zona para reducir la búsqueda. Según la configuración predeterminada, el cmdlet usa los valores que se encuentran en la configuración activa del SDK de Cloud.

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

Puedes configurar etiquetas de instancia, discos, configuraciones de acceso y otros tipos de metadatos después de crear tu instancia con el cmdlet Set-GceInstance. Agrega algunos metadatos y, luego, quítalos de la siguiente manera.

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

Ahora, agrega una etiqueta que usarás más adelante para quitar la instancia.

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

Puedes iniciar, detener o reiniciar una instancia con varios cmdlets. Puedes hacer referencia a una instancia con el nombre o el objeto con tipos sólidos que se muestran en el cmdlet Get-GceInstance. Prueba algunos de estos comandos.

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

Por último, cuando termines con la instancia, quítala de Compute Engine con el cmdlet Remove-GceInstance y proporciona la etiqueta que especificaste antes.

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

7. Crea copias de seguridad de los datos en Google Cloud Storage

En esta parte del codelab, harás una copia de seguridad de los datos de tu máquina local en Google Cloud Storage con Cloud Tools for PowerShell.

Cree un depósito

Antes de subir archivos a Cloud Storage, debes crear un bucket. Usa el cmdlet New-GcsBucket para crear un bucket nuevo.

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

Cómo subir archivos al bucket

Puedes usar New-GcsObject para subir archivos o carpetas completas al bucket.

Puedes subir el contenido de un archivo local a Cloud Storage, para ello usa el parámetro -File y especifica una ruta de acceso al archivo. Como alternativa, puedes pasar el contenido del objeto como una cadena a través de la canalización de PowerShell o puedes usar el parámetro -Value.

Elige un archivo local en tu máquina y súbelo a tu bucket de la siguiente manera.

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

Puedes subir un directorio completo desde el disco local a Cloud Storage con el parámetro -UploadFolder y especificar la ruta de acceso a la carpeta. Si no quieres que la carpeta se suba directamente en la raíz del bucket de Cloud Storage, usa -ObjectNamePrefix para especificar un prefijo que se aplicará a cada objeto subido.

Elige una carpeta local en tu máquina y súbela a tu bucket de la siguiente manera.

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

Datos de la Búsqueda

Puedes buscar datos con cmdlets o con el proveedor a través de los cmdlets de búsqueda de archivos comunes. Prueba el siguiente comando con tu bucket.

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

Deberías ver una cuadrícula emergente con el nombre y el tamaño.

59d92a6bfec86f89.png

Leer datos

Puedes usar el cmdlet Read-GcsObject para leer datos. Por ejemplo, puedes usar el siguiente comando para leer un archivo llamado hello.txt en tu escritorio.

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

Cómo borrar datos

Por último, puedes borrar datos con el cmdlet Remove-GcsObject. Usa el siguiente comando para borrar todo el contenido del bucket.

Get-GcsObject $bucket | Remove-GcsObject

8. ¡Felicitaciones!

En este codelab, aprendiste a administrar instancias de Compute Engine y buckets de Cloud Storage desde PowerShell, pero hay mucho más. También puedes administrar los recursos de Cloud SQL y Cloud CDN con PowerShell. Consulta la siguiente lista de próximos pasos para obtener más información.

Temas abordados

  • Cómo instalar Cloud Tools for PowerShell
  • Cómo autenticarse con el SDK de Google Cloud
  • Cómo crear y administrar Google Compute Engine desde PowerShell
  • Cómo crear copias de seguridad de datos en Google Cloud Storage desde PowerShell

Próximos pasos