この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
困っていた内容
マネジメントコンソールを利用した手順書を作成し、社内で運用しています。
マネジメントコンソールを利用した手順ですと、画面のアップデートが行われた際に、手順書を更新する必要があります。 そこで、AWS CLI を利用した運用に切り替えたいと考えています。
AWS CLI を利用するのに、どのような設定をすれば良いですか。 AWS CLI を簡単に使い始める方法を教えてください。
どう対応すればいいの?
セキュリティの観点から、アクセスキーを使わずに AWS CLI を使用する方法をお勧めしています。
下記のブログで、4つの方法をご紹介していますので、どの方法がご自身の環境に適しているか、一度ご検討ください。 [3]
以下では
- アクセスキーが不要
- 環境構築・運用が不要
が長所となる、CloudShell 上で AWS CLI を使用する方法をご紹介します。
CloudShell 上で AWS CLI を使用するための設定
- 必要な設定(権限)
- 操作方法
について、次の1〜4のステップでご説明いたします。
- CloudShell で操作を行う IAM ユーザー/ロール を用意する
- マネジメントコンソールにログインする
- CloudShell のアイコンをクリックして、CloudShell を起動する
- CloudShell 上で各サービスを操作するコマンドを実行する
1. CloudShell で操作を行う IAM ユーザー/ロール を用意する
一例となりますが、下記 (A)、(B) どちらかの方法を選択していただけますでしょうか。
- (A) 既存の「AdministratorAccess」の権限を持つ管理者ユーザー/ロールを使用する
- (B) CloudShell で操作を行うための IAM ユーザーを新規に作成する
CloudShell の操作を効率よくお試しいただくためには、 まずは、(A)既存の管理者ユーザーで CloudShell をお試しいただき、 コマンドの実行などが、CloudShell 上で問題なく実行できることをご確認いただいた上で、 (B)運用を行うための IAMユーザー を新規に作成してください。
(B) CloudShell で操作を行うための IAM ユーザーを新規に作成する
新規にIAM ユーザーを作成し、次の2種類のIAMポリシーをアタッチしてください。
- AWSCloudShellFullAccess
- 各サービスの操作を行うための カスタマー管理ポリシー
適宜、必要な権限の付与をお願いします。
EC2インスタンスを起動・停止するための、カスタマー管理ポリシーの例:
sample-policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": [
"arn:aws:ec2:ap-northeast-1:1234567890AB:instance/*"
]
}
]
}
2. マネジメントコンソールにログインする
1 で選択した IAM ユーザー/ロール で、マネジメントコンソールにログインしてください。
3. CloudShell のアイコンをクリックして、CloudShell を起動する
CloudShell のアイコン は、マネジメントコンソール画面の上部右側に表示されています。 アイコンをクリックし、CloudShell を起動します。
4. CloudShell 上で各サービスを操作するコマンドを実行する
CloudShell 上でコマンドを実行します。 コマンドは、ログインした IAM ユーザー/ロール の権限で実行されます。
参考資料
[ツールタイプ別で閲覧する]-[コマンドラインツール]-[AWS CLI]
[2] AWS Command Line Interface とはどのようなものですか。 - AWS Command Line Interface