EC2 API ToolsでアクセスキーIDとシークレットアクセスキーを使う

記事タイトルとURLをコピーする
こんにちはAWSチームの柳瀬です。 EC2をコマンドラインで操作出来るツールは主にEC2 API ToolsAWS Command Line Interfaceという選択肢があります。 今年は巳年という事もあり後者が人気のような気がしていますが、今回のエントリでは前者について書きたいと思います。 AWSのハンズオンや、社内の教育でEC2 API Toolsの使い方をレクチャする場合、認証方式はアクセスキーIDとシークレットアクセスキーの認証方式を使うようにしています。 EC2 API Toolsの使い方について古めのブログなどを参考にしていたりすると、X.509証明書を使う事が前提となっている事が多いですが、実はアクセスキーIDとシークレットアクセスキーの認証方式にも対応しています。 私がX.509証明書を使っていない理由は、他ツールやSDKを使うときにX.509証明書のみに対応している事が少なく(私個人としては知りません)認証方式を複数管理する事は大変だからです。 そういう訳でEC2 API ToolsでアクセスキーIDとシークレットアクセスキーを使用する方法をまとめておきます。

ec2-api-toolsのオプションとして使用する場合

こちらは-O(--aws-access-key)オプションと-W(--aws-secret-key)オプションを使います。
$ ec2-describe-regions -O xxxxxxxxxxxxxx -W yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

環境変数に設定する場合

実際にはこの方法で使う方が多いと思います。 この場合はAWS_ACCESS_KEYとAWS_SECRET_KEYを.bash_profileなどに記載して下さい。
export AWS_ACCESS_KEY=xxxxxxxxxxxxxx
export AWS_SECRET_KEY=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

IAMユーザーでアクセスキーIDとシークレットアクセスキーを取得

肝心のアクセスキーIDとシークレットアクセスキーがないと何も始まらないので紹介しておきます。 1.Management Console(IAM)にログインします 2. UsersのCreate New Usersをクリックします 3. ユーザー名を入力してCreateをクリックするとユーザーが作成されます 4. アクセスキーIDとシークレットアクセスキーが表示され、CSVでダウンロードします 5. 作成したユーザーにチェックしてPermissionsタブからポリシーを作成します 6. テンプレートから割り当てたい権限を選択します 7. Apply Policyをクリックして権限を適用します

まとめ

X.509証明書による認証から移行する事も簡単です。 必要なくなったX.509はしっかりと削除しておいてくださいね:-)