Más contenido relacionado
La actualidad más candente (20)
Similar a Introduction of aws-cli (20)
Más de Masaaki HIROSE (6)
Introduction of aws-cli
- 2. 自己紹介
• ひろせ まさあき @hirose31
• インフラエンジニア :D
• 『サーバ/インフラを支える技術』, 2008
• 最近の関心事
• NATインスタンスの冗長化 (single subnet, multiAZ)
• タダでELBを暖機する方法
• サブネットとかVPCに名前つけたいですぅ
- 4. aws-cli
• 2012-12公開
• 最新 0.5.3 (Developer Preview)
• http://aws.amazon.com/cli/
• https://github.com/aws/aws-cli
• http://docs.aws.amazon.com/cli/latest/
userguide/cli-chap-welcome.html
- 5. aws-cli
VS
EC2 API tool
• 1コマンドで複数サービスに対応
• Python (not Java)
• 結果がJSON (textも可)
• bash, zshの補完可能
- 6. AWS::CLIWrapper
Perl module, wrapping aws-cli
use
AWS::CLIWrapper;
my
$aws
= AWS::CLIWrapper->new;
my
$res
= $aws->ec2('describe-instances', {
instance_ids
=> ['i-XXXXX', 'i-YYYYY'],
});
- 7. 使い方 / 環境設定
$ export AWS_ACCESS_KEY_ID=<access_key>
$ export AWS_SECRET_ACCESS_KEY=<secret_key>
$ export AWS_DEFAULT_REGION=us-west-2
or
$ export AWS_CONFIG_FILE=/path/to/config_file
- 8. 使い方 / help
$ aws help
$ aws ec2 help
$ aws ec2 describe-instances help
- 9. 使い方 / 引数
• string
• そのまま文字列
• list
• --instance-ids 'i-AAA' 'i-BBB' (space separaed)
× 'i-AAA i-BBB' (NOT quoted as single string)
× 'i-AAA, i-BBB' (NOT comma separated)
× '["i-AAA", "i-BBB"]' (NOT JSON)
• structure
• JSON
• list + structure = space separated + JSON
• --filters '{"name":"tag:Name","values": ["web*","db*"]}' '{"name"...}'
- 10. 使い方 / 補完
bash
$ complete -C aws_completer aws
zsh
$ source bin/zsh_complete.sh
- 11. 使い方 / jq
• jq
• lightweight and flexible command-line
JSON processor
• http://stedolan.github.com/jq/
$ aws ec2 describe-instances |
jq '.reservationSet[].instancesSet[] | {instanceId, instanceType}'
{
"instanceType": "m2.2xlarge",
"instanceId": "i-AAA"
}
{
"instanceType": "c1.xlarge",
"instanceId": "i-BBB"
}
...
- 14. おはまりかも?と思ったら
aws --debug SERVICE COMMAND ...
$ aws --debug ec2 describe-instances --filters '{"name":"tag:Name","values":
["web*","db*"]}'
...
AWSAccessKeyId=XXX&Action=DescribeInstances&Filter.1.Name=tag%3AName&Filter.1.Value.
1=web%2A&Filter.1.Value.2=db
%2A&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-02-17T15%3A47%3A36.
787450&Version=2012-12-01
...
で、API リファレンスとにらめっこ
- 15. 今後
• 対応サービスの追加
EC2 VPC ELB
Auto Scaling
SQS SNS SES
Elastic Beanstalk CloudFormation
IAM
S3 RDS Route 53
CloudFront ElastiCache SimpleDB
CloudWatch...