2.RHELに AWS CLIをインストール
こちらを参照
上記の公式ドキュメントの内容をベースにインストールします。
(1) unzipをインストールする
$ sudo yum -y install unzip
(2) AWS CLIバンドルインストーラをダウンロードする
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
(3) ダウンロードしたファイルを解凍する
$ unzip awscli-bundle.zip
(4) インストーラを実行する
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
$ aws --version aws-cli/1.16.77 Python/2.7.14 Linux/4.14.72-73.55.amzn2.x86_64 botocore/1.12.67
4.AWS CLIの設定
4.1 管理用のPCからAWS CLIを利用する場合(アクセスキーによる認証)
設定手順は、こちらの公式ページを参照して下さい。
アクセスキーの漏洩によるアカウント乗っ取りの可能があるので、EC2インスタンス上でAWS CLIを利用する場合は、次のIAMロールをEC2に割り当てる方法の利用を検討します。*1
(1)IAMユーザのアクセスキー ID とシークレットアクセスキーの生成と取得
以下は公式ドキュメントからの抜粋です。
- IAM コンソールを開きます。
- コンソールのナビゲーションペインで、[Users] を選択します。
- IAM のユーザー名 (チェックボックスではありません) を選択します。
- [Security credentials] タブを選択し、次に [Create access key] を選択します。
- 新しいアクセスキーを表示するには、[Show] を選択します。認証情報は以下のようになります。
(2)AWS CLI設定
aws cliに、取得したアクセスキーとシークレットアクセスキー、デフォルトリージョンを設定します。
$ aws configure AWS Access Key ID [None]: XXXXXXXXXXXXX <==アクセスキーを設定 AWS Secret Access Key [None]: YYYYYYYYYYYY <==シークレットアクセスキーを設定 Default region name [None]: ap-northeast-1 <==デフォルトリージョン設定( ap-northeast-1は東京リージョン) Default output format [None]:
4.2 EC2からAWS CLIを利用する場合(EC2にIAMロール割り当て)
ユーザガイドは私にはわかりずらかったです。こちらの公式ブログの記事の方がわかりやすかったです。
(1)IAM ロールの作成
- IAM コンソールを開きます。
- コンソールのナビゲーションペインで、[Roles] を選択します。
- [Create role]を選択します。
- [AWS Service]を選び、許可したいサービスを選び[Next Permission]で進む。
- 適切なpolicyを選び[next:Review]で進む。
- Roleの名前と詳細説明を入力し、[Create Role]でロールを作成する
(2)EC2へのRole割り当て
- EC2コンソールを開きます。
- コンソールのナビゲーションペインで、[Instances] を選択します。
- [Create Instance]でインスタンス作成中に、作成したRoleを割り当てるか、
- 割り当てたいインスタン(起動中も可)を選択し、[Attach/Replace IAM Role]で作成したロールをEC2に適用
(3)AWS CLI設定
ロールを割り当てる場合は、アクセスキーとシークレットキーは設定しないようにします。
$ aws configure AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: ap-northeast-1 <==デフォルトリージョン設定( ap-northeast-1は東京リージョン) Default output format [None]:
5.その他
5.1 コマンド保管
awsコマンドを[TAB]キーで保管してくれるAWSコンプリータという機能があります。これをシェルに組み込めばコマンドを保管してくれます(pythonだからかわかりませんが、保管までに微妙な間があり使いづらいですが)。公式ドキュメントはこちらです。
(1)AWSコンプリータの場所を確認する
$ which aws_completer /usr/bin/aws_completer
(2)プロファイルに組み込む
環境に依存しますが、例えば "~/.bash_profile"の末尾に下記行を追加します。
#Enable aws command autocompletion complete -C '/usr/bin/aws_completer' aws
(3)反映
プロファイルを読み込み設定を反映させます。
source .bash_profile