AWS CLI エイリアスと呼ばれるコマンドショートカットの作成と使用 - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CLI エイリアスと呼ばれるコマンドショートカットの作成と使用

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

前提条件

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

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

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

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. cli AWS 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
    C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias

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

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

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

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

[Syntax (構文)]

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 Account --output text

サブコマンドエイリアスの作成

注記

サブコマンドエイリアス機能には、1.11.24 または AWS CLI 2.0.0 の最小バージョンが必要です。

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

[Syntax (構文)]

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

commandGroup はコマンド名前空間です。例えば、コマンド aws ec2 describe-regionsec2 コマンドグループに属します。aliasname は、エイリアスの呼び名です。command は、呼び出すコマンドで、他のエイリアスを含めることができます。エイリアスにオプションやパラメータを含めたり、エイリアスを呼び出すときに追加したりできます。

次の例では、aws ec2 describe-regions コマンドを使用して、「aws ec2 regions」という名前のエイリアスを作成します。このエイリアスは ec2 コマンド名前空間の既存の AWS CLI コマンドを呼び出すため、aws ec2 プレフィックスなしでコマンドを記述できます。

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

コマンド名前空間外のコマンドからエイリアスを作成するには、コマンド全体の前に感嘆符を付けます。次の例では、aws iam list-instance-profiles コマンドを使用して、「aws ec2 instance-profiles」という名前のエイリアスを作成します。

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

エイリアスは既存のコマンド名前空間のみを使用します。新しいコマンド名前空間を作成することはできません。例えば、johnsmith コマンド名前空間がまだ存在していな場合、[command johnsmith] セクションでエイリアスを作成することはできません。

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

警告

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

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

[Syntax (構文)]

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

[Syntax (構文)]

$ 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

次の例では、aws ec2 regions サブコマンドエイリアスを使用しています。

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

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

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

AWS CLIGitHubのエイリアスリポジトリには、 AWS CLI AWS CLI 開発者チームとコミュニティが作成したエイリアスのサンプルが収められています。alias ファイルサンプル全体を使用することも、個々のエイリアスを使うこともできます。

警告

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

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

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

  3. jq コマンドをインストールします。jq コマンドは、tostring-with-jq エイリアスで使用されます。インストール手順については、上の JSON プロセッサー (jq) を参照してください。GitHub

  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
    • リポジトリから直接ダウンロードし、cli AWS 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" }

リソース