Skip to main content More Related Content
PPTX
AWS Elastic BeanstalkとAWS Lambdaのご紹介 PDF
MSPとしてのオペチー向けReadOnly IAMポリシー PDF
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか PDF
[AWSマイスターシリーズ] AWS Elastic Beanstalk PPT
PDF
ISUCONの勝ち方 YAPC::Asia Tokyo 2015 PDF
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版 PDF
What's hot
PPTX
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう! PDF
Amazon ElastiCache - AWSマイスターシリーズ PPTX
サーバ構築・デプロイが簡単に!Elastic beanstalk PDF
華麗なるElastic Beanstalkでの環境構築 PDF
Leap MotionとLambdaで「第九」を鳴らしてみる PPTX
Microsoft Love Java & OSS PPTX
Jenkins cicdテンプレートazure版の利用方法解説 PDF
PDF
PPTX
AWS Elastic Beanstalk のススメ PDF
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk PDF
PDF
PPTX
Introduction to DocumentDB PPTX
Cloudstack user group meeting in osaka KEY
PPTX
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc PPTX
Express Web Application Framework PPTX
PDF
fluentd を利用した大規模ウェブサービスのロギング Viewers also liked
PPTX
PPTX
PDF
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 PDF
AWSアカウント開設からインスタンスを立ち上げるまでの作業自動化について PDF
HTTP2 時代の Web - web over http2 PDF
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js PDF
AWS Black Belt Tech シリーズ 2016 - Amazon SES PDF
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530 PDF
AWS Black Belt Online Seminar Amazon Aurora Similar to Aws cli
PDF
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell PDF
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell PDF
AWS Black Belt Techシリーズ AWS Command Line Interface PDF
AWS サービスアップデートまとめ 2013年9月 PPTX
PDF
PPTX
AWS Command Line Interface (AWS CLI) version 2 GA記念! 〜今からでも間に合う機能のおさらい〜 PDF
Programming AWS with Perl at YAPC::Asia 2013 PDF
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD... PDF
Aws tools for power shellをつかいこなそう PDF
20130904 aws cliツール 導入ガイド PDF
Windows 開発者のための Dev&Ops on AWS PDF
PDF
JAWS-UG Meets Windows (JAWS Days 2017) PDF
PDF
PDF
AWS Black Belt Techシリーズ Amazon Elastic Compute Cloud (Amazon EC2) PDF
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜 PPTX
Amazon S3のターゲットエンドポイントとしての利用 PDF
More from Hiroshi Toyama
PPTX
Embulk and Machine Learning infrastructure PPTX
Presto Meetup 2016 Small Start PDF
PDF
PPTX
PPTX
PPTX
PPT
Aws cli
- 1.
- 2.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
1
自己紹介
• 外山 寛
– 株式会社イプロス
– チーフエンジニア
• Github
– @toyama0919
– https://github.com/toyama0919/
• Twitter
– @god_tongue_19
- 3.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】2
AWS-CLIとは1
インスタンスメタデータについて2
IAM ROLE3
Jqコマンド4
イプロスの事例紹介5
まとめ6
AWS-CLI
- 4.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
3
AWSと他のVPSや
クラウドサービス
との違いは何で
しょうか?
- 5.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
4
他のVPSサービスとの違いは。。
インフラがプログラミングできる
ほぼ全てのサービスに対してAPIが用意されてい
る。
基本的に画面からできることは、APIからもでき
ると考えて良い。
リージョン、アベイラビリティゾーン
複数リージョン、複数データセンター。
- 6.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
5
昨今叫ばれる
プログラマブルな
インフラ
- 7.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
6
CLI使ったこと
ある方?
- 8.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
7
AWSのSDKは
たくさんあります。
- 9.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
8
AWS SDK
Java
Ruby
Node.js
.NET
PHP
Python
- 10.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
9
おすすめなのは
AWS-CLI
(Python)
- 11.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
10
AWS-CLIの特徴1
2012年12月にリリース
ほぼ全てのサービスが網羅されている
。
アクセスキーやシークレットキーの設
定が1箇所でよい。
サブコマンドの補完が可能。(これ結構
重要!)
Python製
- 12.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
11
AWS-CLIの特徴2
結果がJSON(textも可能)
IAM ROLEを使って認証情報をサーバ
ーから隠蔽できる(後述)
- 13.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
12
# easy_installを使えるようにする
$ sudo yum install python-setuptools
# インストール
$ sudo easy_install aws-cli
インストール方法
- 14.
COPYRIGHT © 2013IPROS 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 © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
14
AWS-CLIの対応サービス
EC2
RDS
Cloud Watch
Auto Scaling
Redshift
EMR
ELB
etc…
- 16.
COPYRIGHT © 2013IPROS 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 © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
16
環境設定方法は3つ
1. サーバーの環境変数
1. 設定ファイル
2. IAM ROLE
- 18.
COPYRIGHT © 2013IPROS 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 © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
18
ちょっと
いけてないですね。
- 20.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
19
問題点は?
開発環境と本番環境で認証情報を分け
ている場合、毎回環境変数を切り替え
なければいけない。
リージョンが異なる環境で開発をして
いる場合、リージョンを切り替えなけ
ればいけない。
--regionで毎回指定すれば可能。
- 21.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
20
もう少し
楽をしましょう。
- 22.
COPYRIGHT © 2013IPROS 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 © 2013IPROS 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 © 2013IPROS 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 © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
24
更に楽をすると!
- 26.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
25
IAM ROLEによる設定
アクセスキーをサーバーに置かなくて
良い。
権限を集中管理できる。
リージョンの指定は必要
- 27.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
26
IAM ROLEの設定
ここ
- 28.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
27
IAM ROLEによる設定
ec2
ec2
IAM
サーバーに認証情報がな
ければIAMを参照して認
証情報取得
- 29.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
28
IAM ROLEの注意点
ローカルマシンなどでAWS-CLIを使う
場合は、設定ファイルを使って実行す
ることになります。(自分のマシンに
IAM ROLE は振れない)
権限を変更すれば、その権限が即時に
反映されるので注意。
- 30.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
29
イプロスでの使用例(RDS)
同期
本番 ステージング
- 31.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
30
イプロスでの使用例(ELB)
ELB
障害検知
CLIでELB
から切り離し
EC2 監視
- 32.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
31
そんな便利なAWS-
CLIですが、
- 33.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
32
インスタンス
メタデータ
と組み合わせる。
- 34.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
33
インスタンスメタデータとは?
自分自身のデータを自分で取得できる
自分自身のElasticIP、インスタンスID、リージョ
ン、アベイラビリティゾーンなど。(※後述)
主にEC2で使用
cURLなどでデータを取得できる。
- 35.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
34
取得できるメタデータ
AMI-ID
インスタンスID
プライベートIPアドレス
所属しているセキュリティグループ
アベイラビリティゾーン
アクセスキー、シークレットキー
- 36.
COPYRIGHT © 2013IPROS 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 © 2013IPROS 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 © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
37
先ほどの図
ELB
障害検知
CLIでELB
から切り離し
EC2 監視
- 39.
COPYRIGHT © 2013IPROS 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 © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
39
Jqコマンドの特徴
command-line JSON processor
JSONを見やすく整形してくれる
インデント
カラーリング
公式
http://stedolan.github.io/jq/
高速に動く
詳しくは公式で!
- 41.
COPYRIGHT © 2013IPROS 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 © 2013IPROS 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 © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
42
まとめ
AWS-CLIでAWSの運用を自動化しまし
ょう。
認証情報は極力サーバーに置かないほ
うがよい。
IAM ROLE使いましょう。
- 44.
COPYRIGHT © 2013IPROS CORPORATION. ALL RIGHTS RESERVED. 【CONFIDENTIAL】
AWS-CLI
43
ご静聴ありがとう
ございました。