AWS CLI エイリアスの作成と使用 - AWS Command Line Interface

AWS CLI エイリアスの作成と使用

エイリアスは、頻繁に使用するコマンドやスクリプトを短縮するために AWS Command Line Interface (AWS CLI) で作成できるショートカットです。設定フォルダにある alias ファイルにエイリアスを作成します。

前提条件

エイリアスコマンドを使用するには、以下を完了する必要があります。

ステップ 1: エイリアスファイルを作成する

alias ファイルを作成するには、ファイルナビゲーションとテキストエディタを使用するか、ステップバイステップの手順に従って任意のターミナルを使用します。エイリアスファイルをすばやく作成するには、次のコマンドブロックを使用します。

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

エイリアスファイルを作成するには

  1. AWS CLI 設定フォルダに cli という名前のフォルダを作成します。デフォルトでは、構成フォルダは Linux または macOS では「~/.aws/」、Windows 上は「%USERPROFILE%\.aws\」にあります。これは、ファイルナビゲーションまたは次のコマンドを使用して作成できます。

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

    作成されるフォルダ「cli」のデフォルトパスは、Linux または macOS では「~/.aws/cli/」、Windows では「%USERPROFILE%\.aws\cli」上にあります。

  2. cli フォルダで、拡張子なしの alias という名前のテキストファイルを作成し、最初の行に [toplevel] を追加します。任意のテキストエディタを使用してこのファイルを作成するか、次のコマンドを使用できます。

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

ステップ 2: エイリアスを作成する

エイリアスは、基本的なコマンドまたは bash スクリプトを使用して作成できます。

基本的なコマンドエイリアスの作成

前の手順で作成した alias ファイルで、次の構文を使用してコマンドを追加することにより、エイリアスを作成できます。

構文

aliasname = command [--options]

aliasname は、エイリアスの呼び名です。command は、呼び出すコマンドで、他のエイリアスを含めることができます。エイリアスにオプションやパラメータを含めたり、エイリアスを呼び出すときに追加したりできます。

次の例では、aws sts get-caller-identity コマンドを使用して、「aws whoami」という名前のエイリアスを作成します。このエイリアスは既存の AWS CLI コマンドを呼び出すことから、aws プレフィックスなしでコマンドを記述できます。

whoami = sts get-caller-identity

次の例は、前の whoami の例を用いて、Account フィルターオプションと output テキストオプションを追加します。

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

bash スクリプトエイリアスの作成

警告

AWS CLI エイリアス bash スクリプトを使用するには、bash 対応のターミナルを使用する必要があります。

次の構文を使用して、より高度なプロセス用の bash スクリプトを使用してエイリアスを作成できます。

構文

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

aliasname はエイリアスの呼び名であり、script content はエイリアスを呼び出すときに実行するスクリプトです。

次の例では、opendns を使用して現在の IP アドレスを出力します。他のエイリアスでもエイリアスを使用できるため、次の myip エイリアスは、他のエイリアス内から IP アドレスのアクセスを許可または取り消す場合に便利です。

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

次のスクリプト例では、前の aws myip エイリアスを呼び出して、Amazon EC2 セキュリティグループの受信 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

bash スクリプトを使用するエイリアスを呼び出すと、変数は常に入力した順序で渡されます。bash スクリプトでは、変数名は考慮されず、表示される順序のみが考慮されます。次の textalert エイリアスの例では、--message オプションの変数が最初で、--phone-number オプションが 2 番目です。

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

ステップ 3: エイリアスを呼び出す

alias ファイルに作成したエイリアスを実行するには、次の構文を使用します。エイリアスを呼び出すときに、追加のオプションを追加できます。

構文

$ aws aliasname

次の例では、aws whoami エイリアスを使用しています。

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

次の例では、aws whoami エイリアスを追加オプションとともに使用して、Account 出力で text の数のみを返します。

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

bash スクリプト変数を使用したエイリアスの呼び出し

bash スクリプトを使用するエイリアスを呼び出すと、変数は入力された順序で渡されます。bash スクリプトでは、変数の名前は考慮されず、表示される順序のみが考慮されます。例えば、次の textalert エイリアスでは、オプション --message の変数が最初で、--phone-number が 2 番目です。

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

textalert エイリアスを呼び出すときは、エイリアスで実行されるのと同じ順序で変数を渡す必要があります。次の例では、変数 $message$phone を使用します。$message 変数は ${1} オプションの --message として渡され、$phone 変数は ${2} オプションの --phone-number として渡されます。これにより、textalert エイリアスを正常に呼び出してメッセージを送信できます。

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

次の例では、エイリアスを $phone および $message に呼び出すときに順序が切り替わります。$phone 変数は ${1} オプションの --message として渡され、$message 変数は ${2} オプションの --phone-number として渡されます。変数の順序が間違っているため、エイリアスは変数を間違って渡します。$message の内容が --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

エイリアスリポジトリの例

GitHub のAWS CLI エイリアスリポジトリ には、AWS CLI デベロッパーチームとコミュニティによって作成された AWS CLI エイリアスの例が含まれています。alias ファイルサンプル全体を使用することも、個々のエイリアスを使うこともできます。

警告

このセクションのコマンドを実行すると、既存の alias ファイルが削除されます。既存のエイリアスファイルが上書きされないようにするには、ダウンロード先の場所を変更します。

リポジトリのエイリアスを使用するには

  1. Git をインストールします。インストール手順については、Git の DocumentationGetting Started - Installing Git をご参照ください。

  2. jp コマンドをインストールします。jp コマンドは、tostring エイリアスで使用されます。インストール手順については、GitHubJMESPath (jp) README.md をご参照ください。

  3. jq コマンドをインストールします。jq コマンドは、tostring-with-jq エイリアスで使用されます。インストール手順については、GitHubJSON processor (jq) をご参照ください。

  4. 次のいずれかの操作を行って、alias ファイルをダウンロードします。

    • 次のコマンドを実行して、alias ファイルをリポジトリからダウンロードし、設定フォルダにコピーします。

      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
    • リポジトリから直接ダウンロードして、AWS CLI 設定フォルダ内の cli フォルダに保存します。デフォルトでは、構成フォルダは Linux または macOS では「~/.aws/」、Windows 上は「%USERPROFILE%\.aws\」にあります。

  5. エイリアスが機能していることを確認するには、次のエイリアスを実行します。

    $ aws whoami

    aws sts get-caller-identity コマンドと同じ応答が表示されます。

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

リソース