Creación y uso de alias en la AWS CLI - AWS Command Line Interface

Creación y uso de alias en la AWS CLI

Los alias son accesos directos que se pueden crear en la AWS Command Line Interface (AWS CLI) para acortar los comandos o secuencias de comandos que utiliza con frecuencia. Puede crear alias en el campo alias ubicado en la carpeta de configuración.

Requisitos previos

Para utilizar los comandos de alias, debe seguir estos pasos:

Paso 1: Creación del archivo de alias

Para crear el archivo alias, puede utilizar la navegación de archivos y un editor de texto, o utilizar su terminal preferido mediante el procedimiento paso a paso. Para crear rápidamente el archivo de alias, utilice el siguiente bloque de comandos.

Linux and macOS
$ mkdir -p ~/.aws/cli $ echo '[toplevel]' > ~/.aws/cli/alias
Windows
C:\> md %USERPROFILE%\.aws\cli C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias
Para crear el archivo de alias
  1. Cree una carpeta con el nombre cli en su carpeta de configuración de AWS CLI. De forma predeterminada, la carpeta de configuración es ~/.aws/ en Linux o macOS y %USERPROFILE%\.aws\ en Windows. Puede crearla a través de la navegación de archivos o mediante el siguiente comando.

    Linux and macOS
    $ mkdir -p ~/.aws/cli
    Windows
    C:\> md %USERPROFILE%\.aws\cli

    La ruta predeterminada resultante de la carpeta cli es ~/.aws/cli/ en Linux o macOS y %USERPROFILE%\.aws\cli en Windows.

  2. En la carpeta cli, cree un archivo de texto con el nombre alias sin extensión y agréguele [toplevel] a la primera línea. Puede crear este archivo a través de su editor de texto preferido o utilizar el siguiente comando.

    Linux and macOS
    $ echo '[toplevel]' > ~/.aws/cli/alias
    Windows
    C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias

Paso 2: Creación de un alias

Puede crear un alias mediante comandos básicos o scripting de bash.

Creación de un alias de comando básico

Puede crear su alias agregando un comando con la siguiente sintaxis en el archivo alias que creó en el paso anterior.

Sintaxis

aliasname = command [--options]

el nombre de alias es lo que usted llama su alias. El comando es el comando al que desea llamar, que puede incluir otros alias. Puede incluir opciones o parámetros en su alias, o agregarlos al llamar a su alias.

En el siguiente ejemplo se muestra cómo crear un alias llamado aws whoami con el comando aws sts get-caller-identity. Dado que este alias llama a un comando AWS CLI existente, puede escribir el comando sin el prefijo aws.

whoami = sts get-caller-identity

En el siguiente ejemplo se toma el ejemplo anterior whoami y se agregan las opciones de filtro Account y texto output.

whoami2 = sts get-caller-identity --query Account --output text

Creación de un alias de subcomando

nota

La característica de alias de subcomando requiere una versión de la AWS CLI mínima de 1.11.24 o 2.0.0

Puede crear un alias para subcomandos si agrega un comando mediante la siguiente sintaxis en el archivo alias que creó en el paso anterior.

Sintaxis

[command commandGroup] aliasname = command [--options]

En commandGroup se indica el espacio de nombres del comando, por ejemplo, el comando aws ec2 describe-regions está en el grupo de comandos ec2. el nombre de alias es lo que usted llama su alias. El comando es el comando al que desea llamar, que puede incluir otros alias. Puede incluir opciones o parámetros en su alias, o agregarlos al llamar a su alias.

En el siguiente ejemplo se muestra cómo crear un alias llamado aws ec2 regions con el comando aws ec2 describe-regions. Dado que este alias llama a un comando AWS CLI existente en el espacio de nombres de comando ec2, puede escribir el comando sin el prefijo aws ec2.

[command ec2] regions = describe-regions --query Regions[].RegionName

Para crear alias de comandos fuera del espacio de nombres del comando, anteponga al comando completo un signo de exclamación. En el siguiente ejemplo se muestra cómo crear un alias llamado aws ec2 instance-profiles con el comando aws iam list-instance-profiles.

[command ec2] instance-profiles = !aws iam list-instance-profiles
nota

Los alias solo utilizan espacios de nombres de comando existentes y no puede crear nuevos. Por ejemplo, no puede crear un alias con la sección [command johnsmith] ya que el espacio de nombres de comando johnsmith no existe.

Creación de un alias de scripting bash

aviso

Para utilizar scripts bash de alias AWS CLI, debe usar un terminal compatible con bash

Puede crear un alias utilizando scripts bash para procesos más avanzados utilizando la siguiente sintaxis.

Sintaxis

aliasname = !f() { script content }; f

El nombre de alias es lo que llama su alias y el contenido de script es el script que desea ejecutar al llamar al alias.

El siguiente ejemplo utiliza opendns para generar la dirección IP actual. Dado que puede usar alias en otros alias, el siguiente alias myip es útil para permitir o revocar el acceso a su dirección IP desde otros alias.

myip = !f() { dig +short myip.opendns.com @resolver1.opendns.com }; f

El siguiente ejemplo de script llama al alias anterior aws myip para autorizar la entrada de un grupo de seguridad de Amazon EC2 a su dirección IP.

authorize-my-ip = !f() { ip=$(aws myip) aws ec2 authorize-security-group-ingress --group-id ${1} --cidr $ip/32 --protocol tcp --port 22 }; f

Cuando llama a alias que usan scripting de Bash, las variables siempre se pasan en el orden en que las ingresó. En el scripting de Bash, los nombres de las variables no se tienen en cuenta, solo el orden en que aparecen. En los siguientes ejemplos de alias textalert, la variable para la opción --message es la primera y la opción --phone-number es la segunda.

textalert = !f() { aws sns publish --message "${1}" --phone-number ${2} }; f

Paso 3: Cómo llamar a un alias

Para ejecutar el alias que creó en su archivo alias utilice la siguiente sintaxis. Puede agregar opciones adicionales al llamar a su alias.

Sintaxis

$ aws aliasname

En el siguiente ejemplo se utiliza el alias de comando aws whoami.

$ aws whoami { "UserId": "A12BCD34E5FGHI6JKLM", "Account": "1234567890987", "Arn": "arn:aws:iam::1234567890987:user/userName" }

El siguiente ejemplo utiliza el alias aws whoami con opciones adicionales para devolver solo el número Account en la salida text.

$ aws whoami --query Account --output text 1234567890987

En el siguiente ejemplo se utiliza el alias de subcomando aws ec2 regions.

$ aws ec2 regions [ "ap-south-1", "eu-north-1", "eu-west-3", "eu-west-2", ...

Cómo llamar a un alias usando variables de scripting de Bash

Cuando se llama a alias que usan scripting de Bash, las variables se pasan en el orden en que se introducen. En el scripting de Bash, el nombre de las variables no se tiene en cuenta, solo el orden en que aparecen. Por ejemplo, en el siguiente alias textalert, la variable de la opción --message está primera y --phone-number está segunda.

textalert = !f() { aws sns publish --message "${1}" --phone-number ${2} }; f

Cuando llama al alias textalert, debe pasar variables en el mismo orden en que se ejecutan en el alias. En el siguiente ejemplo utilizamos las variables $message y $phone. La variable $message se pasa como ${1} para la opción --message y la variable $phone se pasa como ${2} para la opción --phone-number. Esto da como resultado una llamada correcta al alias textalert para enviar un mensaje.

$ aws textalert $message $phone { "MessageId": "1ab2cd3e4-fg56-7h89-i01j-2klmn34567" }

En el siguiente ejemplo, el orden se cambia al llamar al alias para $phone y $message. La variable $phone se pasa como ${1} para la opción --message y la variable $message se pasa como ${2} para la opción --phone-number. Dado que las variables están fuera de servicio, el alias pasa las variables de manera incorrecta. Esto provoca un error porque el contenido de $message no coinciden con los requisitos de formato de número de teléfono para la opción --phone-number.

$ aws textalert $phone $message usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help Unknown options: text

Ejemplos de repositorio de alias

El repositorio de alias de AWS CLI en GitHub contiene ejemplos de alias de AWS CLI creados por el equipo de desarrolladores y la comunidad de AWS CLI. Puede usar todo el ejemplo del archivo alias o tomar alias individuales para su propio uso.

aviso

Al ejecutar los comandos de esta sección, se elimina su archivo aliasexistente. Para evitar sobrescribir el archivo de alias existente, cambie la ubicación de descarga.

Para utilizar alias del repositorio
  1. Instale Git Para obtener instrucciones de instalación, consulte Introducción - Instalación de Git en la Documentación de Git.

  2. Instale el comando jp. El comando jp se utiliza en el alias tostring. Para obtener instrucciones de instalación, consulte el archivo JMESPath (jp) README.md en GitHub.

  3. Instale el comando jq. El comando jq se utiliza en el alias tostring-with-jq. Para obtener instrucciones de instalación, consulte el archivo JSON processor (jq) en GitHub.

  4. Descargue el archivo alias de la siguiente manera:

    • Ejecute los siguientes comandos que se descargan del repositorio y se copian el archivo alias en la carpeta de configuración.

      Linux and macOS
      $ git clone https://github.com/awslabs/awscli-aliases.git $ mkdir -p ~/.aws/cli $ cp awscli-aliases/alias ~/.aws/cli/alias
      Windows
      C:\> git clone https://github.com/awslabs/awscli-aliases.git C:\> md %USERPROFILE%\.aws\cli C:\> copy awscli-aliases\alias %USERPROFILE%\.aws\cli
    • Descargue directamente desde el repositorio y guárdelo en la carpeta cli en su carpeta de configuración AWS CLI. De forma predeterminada, la carpeta de configuración es ~/.aws/ en Linux o macOS y %USERPROFILE%\.aws\ en Windows.

  5. Para verificar que los alias funcionan, ejecute el siguiente alias.

    $ aws whoami

    Esto muestra la misma respuesta que el comando aws sts get-caller-identity:

    { "Account": "012345678901", "UserId": "AIUAINBADX2VEG2TC6HD6", "Arn": "arn:aws:iam::012345678901:user/myuser" }

Recursos