AWSの各種サービスをShellから操作するには、AWS-CLIをインストールする必要があります。
※予めIAMで使用したいサービスの操作権限ポリシーを割り当てたIAMユーザを作成しておき、クレデンシャル情報を用意する必要があります。また、よりセキュアに利用するのであれば本ページの内容ではなくロールによる操作権限付与をおこなう方がベターです。
既に認証ファイル(.awsディレクトリ)が存在していないことを確認します。(rootユーザでの操作)
[root@tagutagu-aws ~]# ls -a /root/. ./ .bash_history .bash_profile .cshrc .mysql_history .rediscli_history .ssh/ .viminfo ../ .bash_logout .bashrc .lesshst .pki/ .rnd .tcshrc
初期設定を行うコマンドを実行します。
[root@tagutagu-aws ~]# 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]: text ←textと入力
AWSコマンドが実行できることを確認します。
[root@tagutagu-aws ~]# aws --version aws-cli/1.7.14 Python/2.7.9 Linux/3.14.35-28.38.amzn1.x86_64
s3のバケット一覧表示コマンドを表示してみます。
[root@tagutagu-aws ~]# aws s3 ls 2015-08-19 11:25:37 api-logs-tagutagu 2015-08-16 08:40:40 elasticbeanstalk-ap-northeast-1-xxxxxxxxxx
既に認証ファイル(.awsディレクトリ)が存在していないことを確認します。(rootユーザでの操作)
[root@tagutagu-aws ~]# ls -a /root/. ./ .bash_history .bash_profile .cshrc .mysql_history .rediscli_history .ssh/ .viminfo ../ .bash_logout .bashrc .lesshst .pki/ .rnd .tcshrc
必要なリポジトリ・ソフトウェアをインストールします。
[root@tagutagu-aws ~]# yum install -y epel-release [root@tagutagu-aws ~]# yum install -y python-setuptools [root@tagutagu-aws ~]# easy_install pip [root@tagutagu-aws ~]# pip install awscli [root@tagutagu-aws ~]# echo 'complete -C /usr/bin/aws_completer aws' > /etc/profile.d/aws-cli.sh
[root@tagutagu-aws ~]# 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]: text ←textと入力
AWSコマンドが実行できることを確認します。
[root@tagutagu-aws ~]# aws --version aws-cli/1.7.14 Python/2.7.9 Linux/3.14.35-28.38.amzn1.x86_64
s3のバケット一覧表示コマンドを表示してみます。
[root@tagutagu-aws ~]# aws s3 ls 2015-08-19 11:25:37 api-logs-tagutagu 2015-08-16 08:40:40 elasticbeanstalk-ap-northeast-1-xxxxxxxxx
既に認証ファイル(.awsディレクトリ)が存在していないことを確認します。
[root@tagutagu-aws ~]# ls -a /root/. ./ .bash_history .bash_profile .cshrc .mysql_history .rediscli_history .ssh/ .viminfo ../ .bash_logout .bashrc .lesshst .pki/ .rnd .tcshrc
必要なリポジトリ・ソフトウェアをインストールします。
[root@tagutagu-aws ~]# yum install python-setuptools [root@tagutagu-aws ~]# easy_install pip [root@tagutagu-aws ~]# yum install epel-release [root@tagutagu-aws ~]# yum install python26 [root@tagutagu-aws ~]# wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip [root@tagutagu-aws ~]# unzip awscli-bundle.zip [root@tagutagu-aws ~]# cd awscli-bundle [root@tagutagu-aws ~]# vi ./install [root@tagutagu-aws ~]# ./install -i /usr/local/aws -b /usr/local/bin/aws
[root@tagutagu-aws ~]# 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]: text ←textと入力
AWSコマンドが実行できることを確認します。
[root@tagutagu-aws ~]# aws --version aws-cli/1.7.14 Python/2.7.9 Linux/3.14.35-28.38.amzn1.x86_64
s3のバケット一覧表示コマンドを表示してみます。
[root@tagutagu-aws ~]# aws s3 ls 2015-08-19 11:25:37 api-logs-tagutagu 2015-08-16 08:40:40 elasticbeanstalk-ap-northeast-1-xxxxxxxxxxxx
AWS側サーバとローカルサーバの時刻ずれが大きい場合に以下エラーが発生。
[root@tagutagu-aws ~]# aws s3 ls A client error (RequestTimeTooSkewed) occurred when calling the ListBuckets operation: The difference between the request time and the current time is too large.
ntpdateで時刻を修正して再チャレンジ
[root@tagutagu-aws ~]# ntpdate ntp.nict.jp
Copyright © 2021 たぐたぐ.com. All rights reserved.