【AWS学習記】CentOSにAWS CLIをインストールしてみた
下記のとおり、awsの各種サービスをAPIでアクセスするためのアクセスキーを取得したため、
AWS CLIをインストールしてみた。
なお、環境は、CentOS6.4を利用した。
[root@Linux ~]# cat /etc/redhat-release CentOS release 6.4 (Final) [root@Linux ~]#
- AWS CLIをインストールする
- AWS CLIのバージョン情報の確認
- AWS CLIのタブ補完設定
- アクセスキーの設定
- 設定ファイルの保存場所
- AWS CLIコマンドを実行してみる
- AWS CLIコマンド実行時エラー
AWS CLIをインストールする
[root@Linux ~]# yum install -y python-setuptools [root@Linux ~]# easy_install pip [root@Linux ~]# pip install awscli
AWS CLIのバージョン情報の確認
インストールの確認のため、バージョン情報を確認
[root@Linux ~]# aws --version aws-cli/1.10.56 Python/2.6.6 Linux/2.6.32-358.el6.i686 botocore/1.4.46 [root@Linux ~]#
AWS CLIのタブ補完設定
AWS CLIのコマンドやオプションを保管する機能を設定する。
一応下記のとおり、したらタブ保管された。
[root@Linux ~]# echo 'complete -C /usr/bin/aws_completer aws' > /etc/profile.d/aws-cli.sh [root@Linux ~]# cat /etc/profile.d/aws-cli.sh complete -C /usr/bin/aws_completer aws [root@Linux ~]#
※一応ここで、CentOSに再ログインした。
アクセスキーの設定
事前に作成・取得したアクセスキーの情報を下記のとおり、設定する。
[root@Linux ~]# aws configure AWS Access Key ID [None]: 作成・取得したアクセスキー AWS Secret Access Key [None]: 作成・取得したシークレットキー Default region name [None]: ap-northeast-1※日本のリージョンを指定 Default output format [None]: [root@Linux ~]#
設定ファイルの保存場所
aws configureで実施した情報はかきに保存された。
[root@Linux .aws]# pwd /root/.aws [root@Linux .aws]# cat config [default] region = ap-northeast-1 [root@Linux .aws]# cat credentials [default] aws_access_key_id = 設定したアクセスキー aws_secret_access_key = 設定したシークレットキー [root@Linux .aws]#
AWS CLIコマンドを実行してみる
環境の設定が完了したため、コマンドを実際に実行してみる。
なお、ここではリージョンの情報を取得する下記コマンドを実行しした。
[root@Linux ~]# aws ec2 describe-regions { "Regions": [ { "Endpoint": "ec2.ap-south-1.amazonaws.com", "RegionName": "ap-south-1" }, { "Endpoint": "ec2.eu-west-1.amazonaws.com", "RegionName": "eu-west-1" }, { "Endpoint": "ec2.ap-southeast-1.amazonaws.com", "RegionName": "ap-southeast-1" }, { "Endpoint": "ec2.ap-southeast-2.amazonaws.com", "RegionName": "ap-southeast-2" }, { "Endpoint": "ec2.eu-central-1.amazonaws.com", "RegionName": "eu-central-1" }, { "Endpoint": "ec2.ap-northeast-2.amazonaws.com", "RegionName": "ap-northeast-2" }, { "Endpoint": "ec2.ap-northeast-1.amazonaws.com", "RegionName": "ap-northeast-1" }, { "Endpoint": "ec2.us-east-1.amazonaws.com", "RegionName": "us-east-1" }, { "Endpoint": "ec2.sa-east-1.amazonaws.com", "RegionName": "sa-east-1" }, { "Endpoint": "ec2.us-west-1.amazonaws.com", "RegionName": "us-west-1" }, { "Endpoint": "ec2.us-west-2.amazonaws.com", "RegionName": "us-west-2" } ] } [root@Linux ~]#
AWS CLIコマンド実行時エラー
[root@Linux ~]# aws ec2 describe-regions An error occurred (AuthFailure) when calling the DescribeRegions operation: AWS was not able to validate the provided access credentials [root@Linux ~]# date 2016年 8月 12日 金曜日 01:51:48 JST [root@Linux ~]#
下記を参照に時刻を確認したところ、AWS CLIをインストールしたCentOSの時間が狂っていた。
そのため、ntpdateを定期的に実行するように、crontabを下記のとおり編集。
[root@Linux ~]# crontab -e ※下記となるようにcrontabを編集(5分毎に実施。) ntpdの再起動をしないで同期するようにntpdateの「uオプション」指定し、同期 [root@Linux ~]# crontab -l */5 * * * * /usr/sbin/ntpdate -u ntp.nict.jp > /tmp/ntp_sync.log 2>&1 [root@Linux ~]# 実行後、同期した際のログを確認 [root@Linux ~]# cat /tmp/ntp_sync.log 12 Aug 04:32:02 ntpdate[3601]: adjust time server 133.243.238.244 offset -0.000560 sec [root@Linux ~]#