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.
Temas
Requisitos previos
Para utilizar los comandos de alias, debe seguir estos pasos:
Instalar y configurar la AWS CLI. Para obtener más información, consulte Instalación o actualización de la versión más reciente de AWS CLI y Credenciales de autenticación y acceso para la AWS CLI.
-
Utilice como mínimo una versión de 1.11.24 o 2.0.0 de AWS CLI.
-
(Opcional) Para usar scripts de bash de alias de AWS CLI, debe utilizar un terminal compatible con bash.
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.
Para crear el archivo de alias
-
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.La ruta predeterminada resultante de la carpeta
cli
es~/.aws/cli/
en Linux o macOS y%USERPROFILE%\.aws\cli
en Windows. -
En la carpeta
cli
, cree un archivo de texto con el nombrealias
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.
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
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
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 CLIalias
o tomar alias individuales para su propio uso.
aviso
Al ejecutar los comandos de esta sección, se elimina su archivo alias
existente. Para evitar sobrescribir el archivo de alias existente, cambie la ubicación de descarga.
Para utilizar alias del repositorio
-
Instale Git Para obtener instrucciones de instalación, consulte Introducción - Instalación de Git
en la Documentación de Git. -
Instale el comando
jp
. El comandojp
se utiliza en el aliastostring
. Para obtener instrucciones de instalación, consulte el archivo JMESPath (jp) README.mden GitHub. -
Instale el comando
jq
. El comandojq
se utiliza en el aliastostring-with-jq
. Para obtener instrucciones de instalación, consulte el archivo JSON processor (jq)en GitHub. -
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. -
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.
-
-
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
-
El repositorio de alias de AWS CLI
en GitHub contiene ejemplos de alias de AWS CLI creados por el equipo de desarrolladores de AWS CLI y con la contribución de la comunidad de AWS CLI. -
El anuncio de la característica de alias de AWS re:Invent 2016: The Effective AWS CLI User
en YouTube.