狠狠撸

狠狠撸Share a Scribd company logo
株式会社イプロス
外山 寛
AWS-CLI
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
1
自己紹介
? 外山 寛
– 株式会社イプロス
– チーフエンジニア
? Github
– @toyama0919
– https://github.com/toyama0919/
? Twitter
– @god_tongue_19
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】2
AWS-CLIとは1
インスタンスメタデータについて2
IAM ROLE3
Jqコマンド4
イプロスの事例紹介5
まとめ6
AWS-CLI
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
3
AWSと他のVPSや
クラウドサービス
との違いは何で
しょうか?
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
4
他のVPSサービスとの違いは。。
インフラがプログラミングできる
ほぼ全てのサービスに対してAPIが用意されてい
る。
基本的に画面からできることは、APIからもでき
ると考えて良い。
リージョン、アベイラビリティゾーン
複数リージョン、複数データセンター。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
5
昨今叫ばれる
プログラマブルな
インフラ
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
6
CLI使ったこと
ある方?
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
7
AWSのSDKは
たくさんあります。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
8
AWS SDK
Java
Ruby
Node.js
.NET
PHP
Python
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
9
おすすめなのは
AWS-CLI
(Python)
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
10
AWS-CLIの特徴1
2012年12月にリリース
ほぼ全てのサービスが網羅されている
。
アクセスキーやシークレットキーの設
定が1箇所でよい。
サブコマンドの補完が可能。(これ結構
重要!)
Python製
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
11
AWS-CLIの特徴2
結果がJSON(textも可能)
IAM ROLEを使って認証情報をサーバ
ーから隠蔽できる(後述)
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
12
# easy_installを使えるようにする
$ sudo yum install python-setuptools
# インストール
$ sudo easy_install aws-cli
インストール方法
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
13
# 作成したインスタンス表示
$ aws ec2 describe-instances
# RDSのインスタンスを表示
$ aws rds describe-db-instances
# redshiftのクラスタ表示
$ aws redshift describe-clusters
コマンドの例(EC2の場合)
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
14
AWS-CLIの対応サービス
EC2
RDS
Cloud Watch
Auto Scaling
Redshift
EMR
ELB
etc…
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
15
# githubからclone
$ git clone https://github.com/aws/aws-cli
# bash
$ complete -C bin/aws_completer aws
# zsh
$ source bin/aws_zsh_completer.sh
補完設定
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
16
環境設定方法は3つ
1. サーバーの環境変数
1. 設定ファイル
2. IAM ROLE
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
17
# アクセスキー
$ export AWS_ACCESS_KEY_ID=<access_key>
# シークレットキー
$ export AWS_SECRET_KEY_ID=<secret_key>
# リージョンを省略したい場合
$ export AWS_DEFAULT_REGION=ap-northeast-1
サーバー環境変数による設定
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
18
ちょっと
いけてないですね。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
19
問題点は?
開発環境と本番環境で認証情報を分け
ている場合、毎回環境変数を切り替え
なければいけない。
リージョンが異なる環境で開発をして
いる場合、リージョンを切り替えなけ
ればいけない。
--regionで毎回指定すれば可能。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
20
もう少し
楽をしましょう。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
21
export AWS_CONFIG_FILE=/path/to/config_file
[default]
aws_access_key_id=<default access key>
aws_secret_access_key=<default secret key>
region=ap-northeast-1
[setting2]
...
[setting3]
...
コンフィグファイルによる設定
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
22
ap-northeast-1
Setting1
ap-southeast-1
Setting2
$ aws ec2 describe-instances –profile setting1
$ aws ec2 describe-instances –profile setting2
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
23
環境変数 設定ファイルのキー 説明
AWS_DEFAULT_PROFILE 設定ファイルで管理する際の
プロファイルのキーを指定。
AWS_DEFAULT_REGION region デフォルトのリージョンを指
定できる。
AWS_CONFIG_FILE 設定ファイルで管理する際の
パス。
AWS_DEFAULT_OUTPUT output JSONかtextか
AWS_SECRET_ACCESS_
KEY
aws_secret_access_
key
シークレットキー
AWS_ACCESS_KEY_ID aws_access_key_id アクセスキー
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
24
更に楽をすると!
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
25
IAM ROLEによる設定
アクセスキーをサーバーに置かなくて
良い。
権限を集中管理できる。
リージョンの指定は必要
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
26
IAM ROLEの設定
ここ
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
27
IAM ROLEによる設定
ec2
ec2
IAM
サーバーに認証情報がな
ければIAMを参照して認
証情報取得
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
28
IAM ROLEの注意点
ローカルマシンなどでAWS-CLIを使う
場合は、設定ファイルを使って実行す
ることになります。(自分のマシンに
IAM ROLE は振れない)
権限を変更すれば、その権限が即時に
反映されるので注意。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
29
イプロスでの使用例(RDS)
同期
本番 ステージング
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
30
イプロスでの使用例(ELB)
ELB
障害検知
CLIでELB
から切り離し
EC2 監視
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
31
そんな便利なAWS-
CLIですが、
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
32
インスタンス
メタデータ
と組み合わせる。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
33
インスタンスメタデータとは?
自分自身のデータを自分で取得できる
自分自身のElasticIP、インスタンスID、リージョ
ン、アベイラビリティゾーンなど。(※後述)
主にEC2で使用
cURLなどでデータを取得できる。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
34
取得できるメタデータ
AMI-ID
インスタンスID
プライベートIPアドレス
所属しているセキュリティグループ
アベイラビリティゾーン
アクセスキー、シークレットキー
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
35
# メタデータから取得できる一覧
$ curl http://169.254.169.254/latest/meta-data/
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
hostname
instance-action
instance-id
..
cURLによるメタデータの取得
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
36
#インスタンスID取得
$ curl http://169.254.169.254/latest/meta-data/instance-id
i-30d73534
#グローバルDNS取得
$ curl http://169.254.169.254/latest/meta-data/public-
hostname
ec2-54-250-117-207.ap-northeast-
1.compute.amazonaws.com
cURLによるメタデータの取得
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
37
先ほどの図
ELB
障害検知
CLIでELB
から切り離し
EC2 監視
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
38
#ロードバランサーから切り離し
$ aws elb deregister-instances-from-load-balancer --
load-balancer-name ${ELB} --instances `cURL
http://169.254.169.254/latest/meta-data/instance-id`
#ロードバランサーと接続
$ aws elb register-instances-with-load-balancer --
load-balancer-name ${ELB} --instances `cURL
http://169.254.169.254/latest/meta-data/instance-id`
コマンドにするとこんな感じ
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
39
Jqコマンドの特徴
command-line JSON processor
JSONを見やすく整形してくれる
インデント
カラーリング
公式
http://stedolan.github.io/jq/
高速に動く
詳しくは公式で!
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
40
# 最も簡単な例
$ echo ?{“id” : 1 , “name” : “toyama”}? | jq .
# awsコマンドと連携
$ aws ec2 describe-instances | jq .
# もちろん外部のJSONとも連携可能
$ curl -s https://graph.facebook.com/toyama0919 | jq .
jqコマンド
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
41
AWS-CLIの問題点
もちろん対応していないサービスもあ
ります。
Cloud Front
DynamoDB
SimpleDB
参考URL
http://aws.amazon.com/cli/
https://github.com/aws/aws-cli
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
42
まとめ
AWS-CLIでAWSの運用を自動化しまし
ょう。
認証情報は極力サーバーに置かないほ
うがよい。
IAM ROLE使いましょう。
COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
43
ご静聴ありがとう
ございました。

More Related Content

Aws cli

  • 2. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 1 自己紹介 ? 外山 寛 – 株式会社イプロス – チーフエンジニア ? Github – @toyama0919 – https://github.com/toyama0919/ ? Twitter – @god_tongue_19
  • 3. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】2 AWS-CLIとは1 インスタンスメタデータについて2 IAM ROLE3 Jqコマンド4 イプロスの事例紹介5 まとめ6 AWS-CLI
  • 4. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 3 AWSと他のVPSや クラウドサービス との違いは何で しょうか?
  • 5. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 4 他のVPSサービスとの違いは。。 インフラがプログラミングできる ほぼ全てのサービスに対してAPIが用意されてい る。 基本的に画面からできることは、APIからもでき ると考えて良い。 リージョン、アベイラビリティゾーン 複数リージョン、複数データセンター。
  • 6. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 5 昨今叫ばれる プログラマブルな インフラ
  • 7. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 6 CLI使ったこと ある方?
  • 8. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 7 AWSのSDKは たくさんあります。
  • 9. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 8 AWS SDK Java Ruby Node.js .NET PHP Python
  • 10. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 9 おすすめなのは AWS-CLI (Python)
  • 11. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 10 AWS-CLIの特徴1 2012年12月にリリース ほぼ全てのサービスが網羅されている 。 アクセスキーやシークレットキーの設 定が1箇所でよい。 サブコマンドの補完が可能。(これ結構 重要!) Python製
  • 12. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 11 AWS-CLIの特徴2 結果がJSON(textも可能) IAM ROLEを使って認証情報をサーバ ーから隠蔽できる(後述)
  • 13. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 12 # easy_installを使えるようにする $ sudo yum install python-setuptools # インストール $ sudo easy_install aws-cli インストール方法
  • 14. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 13 # 作成したインスタンス表示 $ aws ec2 describe-instances # RDSのインスタンスを表示 $ aws rds describe-db-instances # redshiftのクラスタ表示 $ aws redshift describe-clusters コマンドの例(EC2の場合)
  • 15. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 14 AWS-CLIの対応サービス EC2 RDS Cloud Watch Auto Scaling Redshift EMR ELB etc…
  • 16. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 15 # githubからclone $ git clone https://github.com/aws/aws-cli # bash $ complete -C bin/aws_completer aws # zsh $ source bin/aws_zsh_completer.sh 補完設定
  • 17. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 16 環境設定方法は3つ 1. サーバーの環境変数 1. 設定ファイル 2. IAM ROLE
  • 18. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 17 # アクセスキー $ export AWS_ACCESS_KEY_ID=<access_key> # シークレットキー $ export AWS_SECRET_KEY_ID=<secret_key> # リージョンを省略したい場合 $ export AWS_DEFAULT_REGION=ap-northeast-1 サーバー環境変数による設定
  • 19. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 18 ちょっと いけてないですね。
  • 20. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 19 問題点は? 開発環境と本番環境で認証情報を分け ている場合、毎回環境変数を切り替え なければいけない。 リージョンが異なる環境で開発をして いる場合、リージョンを切り替えなけ ればいけない。 --regionで毎回指定すれば可能。
  • 21. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 20 もう少し 楽をしましょう。
  • 22. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 21 export AWS_CONFIG_FILE=/path/to/config_file [default] aws_access_key_id=<default access key> aws_secret_access_key=<default secret key> region=ap-northeast-1 [setting2] ... [setting3] ... コンフィグファイルによる設定
  • 23. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 22 ap-northeast-1 Setting1 ap-southeast-1 Setting2 $ aws ec2 describe-instances –profile setting1 $ aws ec2 describe-instances –profile setting2
  • 24. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 23 環境変数 設定ファイルのキー 説明 AWS_DEFAULT_PROFILE 設定ファイルで管理する際の プロファイルのキーを指定。 AWS_DEFAULT_REGION region デフォルトのリージョンを指 定できる。 AWS_CONFIG_FILE 設定ファイルで管理する際の パス。 AWS_DEFAULT_OUTPUT output JSONかtextか AWS_SECRET_ACCESS_ KEY aws_secret_access_ key シークレットキー AWS_ACCESS_KEY_ID aws_access_key_id アクセスキー
  • 25. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 24 更に楽をすると!
  • 26. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 25 IAM ROLEによる設定 アクセスキーをサーバーに置かなくて 良い。 権限を集中管理できる。 リージョンの指定は必要
  • 27. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 26 IAM ROLEの設定 ここ
  • 28. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 27 IAM ROLEによる設定 ec2 ec2 IAM サーバーに認証情報がな ければIAMを参照して認 証情報取得
  • 29. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 28 IAM ROLEの注意点 ローカルマシンなどでAWS-CLIを使う 場合は、設定ファイルを使って実行す ることになります。(自分のマシンに IAM ROLE は振れない) 権限を変更すれば、その権限が即時に 反映されるので注意。
  • 30. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 29 イプロスでの使用例(RDS) 同期 本番 ステージング
  • 31. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 30 イプロスでの使用例(ELB) ELB 障害検知 CLIでELB から切り離し EC2 監視
  • 32. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 31 そんな便利なAWS- CLIですが、
  • 33. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 32 インスタンス メタデータ と組み合わせる。
  • 34. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 33 インスタンスメタデータとは? 自分自身のデータを自分で取得できる 自分自身のElasticIP、インスタンスID、リージョ ン、アベイラビリティゾーンなど。(※後述) 主にEC2で使用 cURLなどでデータを取得できる。
  • 35. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 34 取得できるメタデータ AMI-ID インスタンスID プライベートIPアドレス 所属しているセキュリティグループ アベイラビリティゾーン アクセスキー、シークレットキー
  • 36. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 35 # メタデータから取得できる一覧 $ curl http://169.254.169.254/latest/meta-data/ ami-id ami-launch-index ami-manifest-path block-device-mapping/ hostname instance-action instance-id .. cURLによるメタデータの取得
  • 37. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 36 #インスタンスID取得 $ curl http://169.254.169.254/latest/meta-data/instance-id i-30d73534 #グローバルDNS取得 $ curl http://169.254.169.254/latest/meta-data/public- hostname ec2-54-250-117-207.ap-northeast- 1.compute.amazonaws.com cURLによるメタデータの取得
  • 38. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 37 先ほどの図 ELB 障害検知 CLIでELB から切り離し EC2 監視
  • 39. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 38 #ロードバランサーから切り離し $ aws elb deregister-instances-from-load-balancer -- load-balancer-name ${ELB} --instances `cURL http://169.254.169.254/latest/meta-data/instance-id` #ロードバランサーと接続 $ aws elb register-instances-with-load-balancer -- load-balancer-name ${ELB} --instances `cURL http://169.254.169.254/latest/meta-data/instance-id` コマンドにするとこんな感じ
  • 40. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 39 Jqコマンドの特徴 command-line JSON processor JSONを見やすく整形してくれる インデント カラーリング 公式 http://stedolan.github.io/jq/ 高速に動く 詳しくは公式で!
  • 41. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 40 # 最も簡単な例 $ echo ?{“id” : 1 , “name” : “toyama”}? | jq . # awsコマンドと連携 $ aws ec2 describe-instances | jq . # もちろん外部のJSONとも連携可能 $ curl -s https://graph.facebook.com/toyama0919 | jq . jqコマンド
  • 42. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 41 AWS-CLIの問題点 もちろん対応していないサービスもあ ります。 Cloud Front DynamoDB SimpleDB 参考URL http://aws.amazon.com/cli/ https://github.com/aws/aws-cli
  • 43. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 42 まとめ AWS-CLIでAWSの運用を自動化しまし ょう。 認証情報は極力サーバーに置かないほ うがよい。 IAM ROLE使いましょう。
  • 44. COPYRIGHT ? 2013 IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】 AWS-CLI 43 ご静聴ありがとう ございました。