An error occurred (RequestTimeTooSkewed) when calling the ListBuckets operation: The difference between the request time and the current time is too large. | 時間がずれているとき |
ROOTアカウントをそのまま使うのは危険なので、適切な権限を与える。セキュリティキーはコンソールから簡単に再発行できるので、定期的に使い捨てるように!
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm yum --enablerepo=epel search python-pip pip install awscli
complete -C aws_completer aws
aws configure [--profile=任意の名前]
aws configure AWS Access Key ID [None]: IAMのアクセスキー AWS Secret Access Key [None]: IAMのアクセスキー Default region name [None]: ap-northeast-1 Default output format [None]:
まずはホストゾーン一覧にてIDを取得するべし。
目的 | コマンド | パイプでjq絞り |
ホストゾーン一覧 | aws route53 list-hosted-zones | jq -c -r '.HostedZones[].Id' |
登録内容一覧 | aws route53 list-resource-record-sets --hosted-zone-id | jq -c -r '.ResourceRecordSets[].Name' |
s3のバケット名に.を含むとaws s3 cpが失敗するバグに悩み中。
バケット一覧 | aws s3 ls |
ローカルファイルをs3へ | aws s3 cp pukiwiki-1_5_0_utf8.zip s3://バケット名/パス/ |
s3ファイルをローカルへ | aws s3 cp s3://バケット名/パス/ファイル名 ローカルファイル名 |
ミラーリングs3からローカルへ | aws s3 sync s3://バケット名/パス /var/tmp/s3temp/ |
ミラーリングローカルからs3へ | aws s3 sync /var/tmp/s3_temp s3://バケット名/パス |
ワイルドカードはフルパスでの一致なので注意。--dryrunオプションをつけて実行結果を確認すべし。
aws s3 cp --exclude="*" --include "*201601*" s3://バケット名/パス名 ローカルフォルダ --dryrun --recursive
また--exclude="*"は意味がないように見えるかもしれないがこれを付けないとincludeが機能しなかった。また該当ファイルがパス以下のディレクトリに存在する場合は--recursiveを付けておく。
aws ec2 describe-instances | 一覧 |
aws ec2 start-instances --instance-ids インスタンスID | 起動 |
aws ec2 stop-instances --instance-ids インスタンスID | 終了 |
aws ec2 terminate-instances --instance-ids インスタンスID | 削除までできてしまう! |
オプションで絞ることが可能。running or stopped or terminatedなど
aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" aws ec2 describe-instances --instance-ids インスタンスID
rootデバイスは停止必須とのこと
http://docs.aws.amazon.com/cli/latest/reference/ec2/create-snapshot.html
#--dry-runを付けて権限などの確認をしてから実施。 aws ec2 create-snapshot --volume-id ボリュームID --description "test from cli" aws ec2 create-snapshot --volume-id ボリュームID --description "test from cli" --dry-run
#snapshot-idを与えて確認 aws ec2 describe-snapshots --snapshot-ids=上記スナップショットID
#削除 aws ec2 delete-snapshot --snapshot-id=snap-47b67c78
sudo yum install jq
aws ec2 describe-instances | jq '.Reservations[].Instances[].InstanceId'
aws ec2 describe-instances | jq '.Reservations[].Instances[] | {InstanceId, InstanceType, PublicIpAddress, PrivateIpAddress}'
Pythonライブラリ。Lambdaでもansibleでも利用している。
sudo pip install boto3