Instalación de las Herramientas de AWS para PowerShell en Linux o macOS - Herramientas de AWS para PowerShell (versión 4)

¡Se Herramientas de AWS para PowerShell ha lanzado la versión 5 (V5) del!

Para empezar a utilizar la nueva versión de Tools para PowerShell, consulte la Guía del usuario de Herramientas de AWS para PowerShell (V5), especialmente el tema sobre la Migración a la V5.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Instalación de las Herramientas de AWS para PowerShell en Linux o macOS

En este tema se proporcionan instrucciones para instalar Herramientas de AWS para PowerShell en Linux o macOS.

Información general de la configuración

Para instalar Herramientas de AWS para PowerShell en un equipo Linux o macOS, puede elegir entre dos opciones de paquete:

  • AWS.Tools: versión por módulos de Herramientas de AWS para PowerShell. Cada servicio de AWS es compatible con su pequeño módulo propio y cuenta con módulos auxiliares compartidos AWS.Tools.Common.

  • AWSPowerShell.NetCore: versión de módulo grande y único de Herramientas de AWS para PowerShell. Todos los servicios de AWS son compatibles con este único módulo grande.

    nota

    Tenga en cuenta que el módulo individual puede ser demasiado grande para usarlo con funciones de AWS Lambda. En su lugar, utilice la versión modularizada que se muestra arriba.

La configuración de cualquiera de estas versiones en un equipo con Linux o macOS implica las siguientes tareas, que se describen en detalle más adelante en este tema:

  1. Instalar PowerShell Core 6.0 o posterior en un sistema compatible.

  2. Después de instalar PowerShell Core, iniciar PowerShell ejecutando pwsh en el shell del sistema.

  3. Instale AWS.Tools o AWSPowerShell.NetCore.

  4. Ejecutar el cmdlet Import-Module adecuado para importar el módulo en la sesión de PowerShell.

  5. Ejecutar el cmdlet Initialize-AWSDefaultConfiguration para proporcionar las credenciales de AWS.

Requisitos previos

Para ejecutar AWS Tools for PowerShell Core, el equipo debe ejecutar PowerShell Core 6.0 o posterior.

  • Para obtener una lista de las versiones de plataforma compatibles de Linux y para obtener información acerca de cómo instalar la última versión de PowerShell en un equipo basado en Linux, consulte Instalación de PowerShell en Linux en el sitio web de Microsoft. Algunos sistemas operativos basados en Linux, como Arch, Kali y Raspbian, no se admiten oficialmente, pero reciben diversos grados de soporte de la comunidad.

  • Para obtener información acerca de las versiones compatibles de macOS y acerca de cómo instalar la última versión de PowerShell en macOS, consulte Instalación de PowerShell en macOS en el sitio web de Microsoft.

Instalación de AWS.Tools en Linux o macOS

Puede instalar la versión por módulos de Herramientas de AWS para PowerShell en equipos que ejecuten PowerShell Core 6.0 o versiones posteriores. Para obtener información acerca de cómo instalar PowerShell Core, consulte Instalación de distintas versiones de PowerShell en el sitio web de Microsoft PowerShell.

Puede instalar AWS.Tools de tres maneras:

  • Utilizando los cmdlets del módulo AWS.Tools.Installer. Este módulo simplifica la instalación y la actualización de otros módulos de AWS.Tools. Como AWS.Tools.Installer necesita una versión actualizada de PowerShellGet, la descarga e instala automáticamente. Además, AWS.Tools.Installer mantiene automáticamente las versiones de tus módulos sincronizadas. Cuando se instala un módulo o se actualiza a una versión más reciente, los cmdlets de AWS.Tools.Installer actualizan automáticamente todos los demás módulos de AWS.Tools a la misma versión.

    Este método se describe en el siguiente procedimiento.

  • Descargando los módulos de AWS.Tools.zip y extrayéndolos en uno de los directorios del módulo. Para saber cuáles son los directorios del módulo, puede imprimir el valor de la variable $Env:PSModulePath.

  • Instalando cada módulo de servicio desde la Galería de PowerShell con el cmdlet Install-Module.

Cómo instalar AWS.Tools en Linux o macOS con el módulo de AWS.Tools.Installer
  1. Inicie una sesión de PowerShell Core ejecutando el siguiente comando.

    $ pwsh
    nota

    Le recomendamos que no ejecute PowerShell como administrador con permisos elevados, excepto cuando lo requiera la tarea en cuestión. Esto puede suponer un riesgo para la seguridad y no se atiene al principio de privilegios mínimos.

  2. Para instalar el paquete de varios módulos de AWS.Tools con el módulo AWS.Tools.Installer, ejecute el siguiente comando.

    PS > Install-Module -Name AWS.Tools.Installer Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y

    Si se le notifica que el repositorio no es de confianza, se le preguntará si desea realizar la instalación de todos modos. Ingrese y para permitir que PowerShell instale el módulo. Para evitar que aparezca el mensaje e instalar el módulo sin confiar en el repositorio, puede ejecutar el siguiente comando.

    PS > Install-Module -Name AWS.Tools.Installer -Force
  3. Ahora puede instalar el módulo para cada servicio que desee utilizar. Por ejemplo, el siguiente comando instala los módulos de Amazon EC2 y Amazon S3. Este comando también instala los módulos dependientes necesarios para que el módulo especificado funcione. Por ejemplo, cuando instala el primer módulo de servicio AWS.Tools, también se instala AWS.Tools.Common. Es un módulo compartido que todos los módulos de servicio de AWS necesitan. También elimina las versiones anteriores de los módulos y actualiza otros módulos a la misma versión.

    PS > Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp Confirm Are you sure you want to perform this action? Performing the operation "Install-AWSToolsModule" on target "AWS Tools version 4.0.0.0". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Installing module AWS.Tools.Common version 4.0.0.0 Installing module AWS.Tools.EC2 version 4.0.0.0 Installing module AWS.Tools.Glacier version 4.0.0.0 Installing module AWS.Tools.S3 version 4.0.0.0 Uninstalling AWS.Tools version 3.3.618.0 Uninstalling module AWS.Tools.Glacier Uninstalling module AWS.Tools.S3 Uninstalling module AWS.Tools.SimpleNotificationService Uninstalling module AWS.Tools.SQS Uninstalling module AWS.Tools.Common
    nota

    El cmdlet Install-AWSToolsModule descarga todos los módulos solicitados de un repositorio de PSRepository llamado PSGallery (https://www.powershellgallery.com/) y considera este repositorio como un origen de confianza. Utilice el comando Get-PSRepository -Name PSGallery para obtener más información sobre este repositorio de PSRepository.

    El comando anterior instala los módulos en los directorios predeterminados del sistema. Los directorios reales dependen de la distribución y la versión del sistema operativo y de la versión de PowerShell que haya instalado. Por ejemplo, si instaló PowerShell 7 en un sistema similar a RHEL, lo más probable es que los módulos predeterminados estén ubicados en /opt/microsoft/powershell/7/Modules (o $PSHOME/Modules) y los módulos de usuario probablemente estén ubicados en ~/.local/share/powershell/Modules. Para obtener más información, consulte Instalación de PowerShell en Linux en el sitio web de Microsoft PowerShell. Para ver dónde están instalados los módulos, ejecute el siguiente comando:

    PS > Get-Module -ListAvailable

    Para instalar otros módulos, ejecute comandos similares con los nombres de módulo correspondientes, tal y como se encuentra en la Galería de PowerShell.

Instalación de AWSPowerShell.NetCore en Linux o macOS

Para actualizar a una versión más reciente de AWSPowerShell.NetCore, siga las instrucciones de Actualización de las Herramientas de AWS para PowerShell en Linux o macOS. En primer lugar, desinstale las versiones anteriores de AWSPowerShell.NetCore.

Puede instalar AWSPowerShell.NetCore de dos maneras:

  • Descargando el módulo de AWSPowerShell.NetCore.zip y extrayéndolo en uno de los directorios del módulo. Para saber cuáles son los directorios del módulo, puede imprimir el valor de la variable $Env:PSModulePath.

  • Instalándolo desde la Galería de PowerShell con el cmdlet Install-Module, tal y como se describe en el procedimiento siguiente.

Para instalar AWSPowerShell.NetCore en Linux o macOS con el cmdlet Install-Module

Inicie una sesión de PowerShell Core ejecutando el siguiente comando.

$ pwsh
nota

No es conveniente iniciar PowerShell con sudo pwsh para ejecutar PowerShell con privilegios de administrador elevados. Esto puede suponer un riesgo para la seguridad y no se atiene al principio de privilegios mínimos.

Para instalar el paquete de un solo módulo de AWSPowerShell.NetCore desde la Galería de PowerShell, ejecute el siguiente comando.

PS > Install-Module -Name AWSPowerShell.NetCore Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y

Si se le notifica que el repositorio no es de confianza, se le preguntará si desea realizar la instalación de todos modos. Ingrese y para permitir que PowerShell instale el módulo. Para evitar que aparezca el mensaje que indica que el repositorio no es de confianza, puede ejecutar el siguiente comando.

PS > Install-Module -Name AWSPowerShell.NetCore -Force

No es necesario ejecutar este comando como raíz, a menos que desee instalar las Herramientas de AWS para PowerShell para todos los usuarios de un equipo. Para ello, ejecute este comando en una sesión de PowerShell que haya iniciado con sudo pwsh.

PS > Install-Module -Scope AllUsers -Name AWSPowerShell.NetCore -Force

Ejecución de scripts

El comando Set-ExecutionPolicy no está disponible en los sistemas que no son Windows. Puede ejecutar Get-ExecutionPolicy, que muestra que la configuración de política de ejecución predeterminada cuando PowerShell Core se ejecuta en sistemas distintos de Windows es Unrestricted. Para obtener más información, vea Acerca de las directivas de ejecución en el sitio web de Microsoft Technet.

Como PSModulePath incluye la ubicación del directorio del módulo de AWS, el cmdlet Get-Module -ListAvailable muestra el módulo que ha instalado.

AWS.Tools

PS > Get-Module -ListAvailable Directory: /Users/username/.local/share/powershell/Modules ModuleType Version Name PSEdition ExportedCommands ---------- ------- ---- --------- ---------------- Binary 3.3.563.1 AWS.Tools.Common Desk {Clear-AWSHistory, Set-AWSHistoryConfiguration, Initialize-AWSDefaultConfiguration, Clear-AWSDefaultConfigurat…

AWSPowerShell.NetCore

PS > Get-Module -ListAvailable Directory: /Users/username/.local/share/powershell/Modules ModuleType Version Name ExportedCommands ---------- ------- ---- ---------------- Binary 3.3.563.1 AWSPowerShell.NetCore

Configuración de una consola de PowerShell para usar AWS Tools for PowerShell Core (solo AWSPowerShell.NetCore)

PowerShell Core normalmente carga módulos automáticamente cada vez que se ejecuta un cmdlet en el módulo. Pero esto no funciona con AWSPowerShell.NetCore debido a su gran tamaño. Para comenzar a ejecutar los cmdlets de AWSPowerShell.NetCore, primero debe ejecutar el comando Import-Module AWSPowerShell.NetCore. Esto no es necesario en los cmdlets de los módulos AWS.Tools.

Inicialización de la sesión de PowerShell

Si inicia PowerShell en un sistema basado en Linux o en macOS después de haber instalado Herramientas de AWS para PowerShell, debe ejecutar Initialize-AWSDefaultConfiguration para especificar qué clave de acceso de AWS debe utilizarse. Para obtener más información acerca de Initialize-AWSDefaultConfiguration, consulte Uso de credenciales de AWS.

nota

En versiones anteriores (previas a la 3.3.96.0) de Herramientas de AWS para PowerShell, este cmdlet se llamaba Initialize-AWSDefaults.

Control de versiones

AWS publica periódicamente nuevas versiones de las Herramientas de AWS para PowerShell que admiten nuevos servicios y características de AWS. Para determinar cuál es la versión de las Herramientas de AWS para PowerShell que ha instalado, ejecute el cmdlet Get-AWSPowerShellVersion.

Por ejemplo:

PS > Get-AWSPowerShellVersion AWS Tools for PowerShell Version 4.1.849 Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Amazon Web Services SDK for .NET Core Runtime Version 3.7.402.75 Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Release notes: https://github.com/aws/aws-tools-for-powershell/blob/v4.1/changelogs/CHANGELOG.ALL.md This software includes third party software subject to the following copyrights: - Logging from log4net, Apache License [http://logging.apache.org/log4net/license.html]

Para ver una lista de los servicios de AWS admitidos en la versión actual de las herramientas, añada el parámetro -ListServiceVersionInfo a un cmdlet Get-AWSPowerShellVersion.

Para determinar la versión de PowerShell que está ejecutando, ingrese $PSVersionTable para ver el contenido de $PSVersionTable, la variable automática.

Por ejemplo:

PS > $PSVersionTable Name Value ---- ----- PSVersion 6.2.2 PSEdition Core GitCommitId 6.2.2 OS Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 Platform Unix PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0

Actualización de las Herramientas de AWS para PowerShell en Linux o macOS

De forma periódica, cuando se publiquen versiones actualizadas de las Herramientas de AWS para PowerShell, debería actualizar la versión que ejecuta localmente.

Actualización de módulos AWS.Tools modularizados

Para actualizar los módulos AWS.Tools a la versión más reciente, ejecute el siguiente comando:

PS > Update-AWSToolsModule -CleanUp

Este comando actualiza todos los módulos AWS.Tools que hay instalados actualmente y, en los módulos que se actualizaron correctamente, elimina las versiones anteriores.

nota

El cmdlet Update-AWSToolsModule descarga todos los módulos de un repositorio de PSRepository llamado PSGallery (https://www.powershellgallery.com/) y considera este repositorio como un origen de confianza. Utilice el comando Get-PSRepository -Name PSGallery para obtener más información sobre este repositorio de PSRepository.

Actualización de Tools for PowerShell Core

Ejecute el cmdlet Get-AWSPowerShellVersion para determinar la versión que está ejecutando y compárela con la versión de Tools for Windows PowerShell disponible en el sitio web de la Galería de PowerShell. Le sugerimos que revise cada dos o tres semanas. La compatibilidad con nuevos comandos y servicios de AWS solo está disponible después de realizar la actualización a una versión con esa compatibilidad.

Antes de instalar una versión más reciente de AWSPowerShell.NetCore, desinstale el módulo existente. Cierre las sesiones abiertas de PowerShell antes de desinstalar el paquete existente. Ejecute el siguiente comando para desinstalar el paquete.

PS > Uninstall-Module -Name AWSPowerShell.NetCore -AllVersions

Cuando se haya completado la desinstalación del paquete, instale el módulo actualizado ejecutando el siguiente comando.

PS > Install-Module -Name AWSPowerShell.NetCore

Después de la instalación, ejecute el comando Import-Module AWSPowerShell.NetCore para cargar los cmdlets actualizados en la sesión de PowerShell.

Información relacionada