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 configuración que se usa en 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 recursos de Google Cloud, como Google Compute Engine, Google Cloud Storage, Google Cloud SQL y Google Cloud DNS, y manipularlos, y pronto se agregarán más.

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 autenticar con el SDK de Google Cloud.
  • Cómo crear y administrar Google Compute Engine desde PowerShell.
  • Cómo hacer una copia 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 con 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

En este codelab, necesitas un proyecto de Google Cloud para interactuar con PowerShell. Si ya tienes un proyecto, puedes usarlo o crear uno nuevo siguiendo los pasos que se indican a continuación.

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.

Luego, deberás habilitar la facturación en la consola de Google Cloud para usar los recursos de Google Cloud, como Google Cloud Datastore y Cloud Storage.

Los usuarios nuevos de Google Cloud son aptos para una prueba gratuita de$300. La ejecución de este codelab no debería costar más que unos pocos dólares, pero podría ser más si decides usar más recursos o si los dejas en ejecución (consulta la sección "Limpieza" al final de este documento).

3. Instalación

Instalación del entorno de autoaprendizaje

Los cmdlets de PowerShell forman parte del SDK de Cloud para Windows. Si aún no lo hiciste, descarga y, luego, 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 el SDK de Google Cloud 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 el navegador, accede a tu cuenta de usuario de Google cuando se te solicite y haz clic en Permitir (Allow) para otorgar permiso de 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 tengas permisos de propietario, editor o visualizador.

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 realices la autenticación, estarás listo para 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 se instalen correctamente, ejecuta el cmdlet Get-GceInstance. Se deberían mostrar las instancias de Compute Engine que tienes en tu proyecto.

3ffd420f66f76b06.png

6. Crea y administra 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 instancias

Antes de crear una instancia, primero debes crear la configuración de una instancia. Como mínimo, se requiere un nombre, un tipo de máquina y una imagen de disco de arranque o un disco de arranque 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.

Crear una instancia

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

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

Administrar una instancia

Puedes usar el cmdlet Get-GceInstance para recuperar las instancias de máquina virtual de un proyecto. Dado que es posible que el nombre de la instancia no sea único en los proyectos o las zonas, puedes especificar un parámetro de Proyecto o Zona para acotar la búsqueda. De forma predeterminada, el cmdlet usa cualquier valor que se encuentre en la configuración activa del SDK de Cloud.

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

Puedes configurar etiquetas de instancia, discos, parámetros de configuración de acceso y otros metadatos después de crear la instancia con el cmdlet Set-GceInstance. Agrega algunos metadatos y, luego, quítalos como se muestra a continuación.

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. Juega con algunos de estos comandos.

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

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

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

7. Crea una copia de seguridad de los datos en Google Cloud Storage

En esta parte del codelab, creará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

Sube archivos al bucket

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

Para subir el contenido de un archivo local a Cloud Storage, usa el parámetro -File y especifica una ruta de acceso al archivo. Como alternativa, puedes pasar el contenido del objeto como una string 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 al bucket como se indica a continuación.

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 especificando la ruta de acceso a la carpeta. Si no quieres que la carpeta se suba directamente a 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 al bucket como se indica a continuación.

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 ventana emergente de cuadrícula con el nombre y el tamaño.

59d92a6bfec86f89.png

Lee datos

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

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

Cómo borrar datos

Por último, pero no menos importante, puedes borrar los 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 más. También puedes administrar los recursos de Cloud SQL y Cloud CDN con PowerShell. Consulta la lista de próximos pasos a continuación para obtener más información.

Temas abordados

  • Cómo instalar Cloud Tools for PowerShell
  • Cómo autenticar con el SDK de Google Cloud.
  • Cómo crear y administrar Google Compute Engine desde PowerShell.
  • Cómo hacer una copia de seguridad de datos en Google Cloud Storage desde PowerShell.

Próximos pasos