SlideShare a Scribd company logo
1 of 16
Download to read offline
2013/7/6 JAWSUG-Kobe #2 OpsWorks (Chef) 特集
& fabric
& boto & awscliで
AMIの自動作成 & AutoScale
玉川竜司
13年7月6日土曜日
軽く自己紹介
Sky株式会社でいろいろやってます。
兼業翻訳やってます。
tamagawa_ryuji@twitter / RyujiTamagawa@FB
13年7月6日土曜日
今日のお話
✤ コードをコミットしたら
✤ ビルドして
✤ AMIを作成して
✤ AutoScaleのLaunchConfig書き換えて
✤ インスタンスを入れ替えます
ここを完全に
自動化します
13年7月6日土曜日
今回のシステム構成と動作
GitHub
ソース
コード
ソース
コード
ソース
コード
fabric
boto
awscli
AutomaticDeployer
(t1.micro with IAM Role)
build
workspace
Launch
Config
①監視 ②取得して
ビルド
③インスタンスを
作成してsshで
中身を設定
④カスタムAMIを作成し、
そのAMIを使う
LaunchConfigを作成
⑤インスタンスを
入れ替え
Amazon Linux
AMI
13年7月6日土曜日
デモ
13年7月6日土曜日
それでは順番に説明します
13年7月6日土曜日
✤ ご存じ万能執事さん
✤ gitプラグインを入れれば、ちょっとした設定でGitHubのポーリング
が可能
✤ GitHubのリポジトリが更新されていたら、中身をとってきてビルド
実行
✤ 今回は、fabricを呼び出して処理を行っている
13年7月6日土曜日
今回使った道具
✤ fabric(http://docs.fabfile.org/en/1.6/)
✤ PythonベースのSSH自動化ツールみたいなもの
✤ Pythonっぽくて便利!
✤ boto(http://aws.amazon.com/jp/sdkforpython/)
✤ 別名AWS SDK for Python
✤ 中の人がAWSに入って公式化(AWS CLIの基盤にもなりました)
✤ AWSCLI(http://aws.amazon.com/jp/cli/)
✤ jqと併せて使うと超便利
13年7月6日土曜日
fabricのいいところ
✤ fabfile.pyを書いていって、カスタムのコマンドを増やしていく感じ
✤ コマンドを個別に実行できるので、試しながらのスクリプティングが
非常に楽ちん
✤ sshやscp、複数サーバーの扱いなど、低レベルのビルディングブロ
ックが提供されている
✤ 要するに「スーパーssh」な感じなので、敷居が低い
13年7月6日土曜日
botoについて
✤ Pythonの人には楽ちん
✤ ドキュメントはちょっとわかりにくい
✤ 薄い本出てます(電子書籍 )
✤ IAM Rolesに対応しているところは高ポ
イント
13年7月6日土曜日
IAM Rolesについてちょっと説明
✤ IAM Roles以前はconn = EC2Connection('<aws access key>', '<aws secret key>')
✤ AWS内のインスタンスからAWSのAPIを呼ぶ際に、クレデンシャルの扱いが面倒だっ
た
✤ IAM Roles以降は、ロールが割り当たっていれば
conn = EC2Connection()だけでOK。クレデンシャルをEC2インスタンスに持たせる
必要がない
✤ ライブラリやツールが、http://169.254.169.254/latest/meta-dataあたりを見て、
よろしくやってくれる
✤ botoやawscliはばっちり。Javaはまだ?
13年7月6日土曜日
awscliと.jq
✤ 軽量な公式コマンドラインツール。ただし、すべてのサービスがカバ
ーされているわけでは(まだ)ない
✤ コマンドのレスポンスがJSONで返される
✤ JSONフィルタのjqを使えば、レスポンスの扱いが楽
13年7月6日土曜日
ローカルでPythonの環境構築するなら
✤ virtualenvを使うと、ホストマシン内に独立したPython環境を作れます。いろいろイ
ンストールしても、ホストマシンは「汚染」されないので便利
✤ easy_install pipでpip(Pythonのライブラリマネージャ)を入れて、pip install
virtualenvでvirtualenvをインストール。
✤ virtualenv devenvとして、cd devenv; source bin/activateでdevenvという環境を
使ったセッションに切り替わる。以降、いろいろインストールしても、それはdevenv
にローカルな変更になり、ホストそのものには影響しない
13年7月6日土曜日
ここで小市民には大きな問題
デバッグのたびに
「ちゃりーん」
という音が聞こえる・・・
13年7月6日土曜日
そこでVagrant
新原さんの話に注目!
・・・あと本も出るかも?
13年7月6日土曜日
Questions?
13年7月6日土曜日

More Related Content

More from Ryuji Tamagawa

初めてのAws elastic map reduce
初めてのAws elastic map reduce初めてのAws elastic map reduce
初めてのAws elastic map reduce
Ryuji Tamagawa
 

More from Ryuji Tamagawa (20)

20161215 python pandas-spark四方山話
20161215 python pandas-spark四方山話20161215 python pandas-spark四方山話
20161215 python pandas-spark四方山話
 
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
 
20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark
 
20151205 Japan.R SparkRとParquet
20151205 Japan.R SparkRとParquet20151205 Japan.R SparkRとParquet
20151205 Japan.R SparkRとParquet
 
Performant data processing with PySpark, SparkR and DataFrame API
Performant data processing with PySpark, SparkR and DataFrame APIPerformant data processing with PySpark, SparkR and DataFrame API
Performant data processing with PySpark, SparkR and DataFrame API
 
ヘルシープログラマ・翻訳と実践
ヘルシープログラマ・翻訳と実践ヘルシープログラマ・翻訳と実践
ヘルシープログラマ・翻訳と実践
 
Google Big Query
Google Big QueryGoogle Big Query
Google Big Query
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
 
You might be paying too much for BigQuery
You might be paying too much for BigQueryYou might be paying too much for BigQuery
You might be paying too much for BigQuery
 
lessons learned from talking at rakuten technology conference
lessons learned from talking at rakuten technology conferencelessons learned from talking at rakuten technology conference
lessons learned from talking at rakuten technology conference
 
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
 
Mongo dbを知ろう devlove関西
Mongo dbを知ろう   devlove関西Mongo dbを知ろう   devlove関西
Mongo dbを知ろう devlove関西
 
Seleniumをもっと知るための本の話
Seleniumをもっと知るための本の話Seleniumをもっと知るための本の話
Seleniumをもっと知るための本の話
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodb
 
Invitation to mongo db @ Rakuten TechTalk
Invitation to mongo db @ Rakuten TechTalkInvitation to mongo db @ Rakuten TechTalk
Invitation to mongo db @ Rakuten TechTalk
 
MongoDB tuning on AWS
MongoDB tuning on AWSMongoDB tuning on AWS
MongoDB tuning on AWS
 
初めてのMongo db
初めてのMongo db初めてのMongo db
初めてのMongo db
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
 
初めてのAws elastic map reduce
初めてのAws elastic map reduce初めてのAws elastic map reduce
初めてのAws elastic map reduce
 

Recently uploaded

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
 

Recently uploaded (14)

5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 

Jawsug神戸2 jenkinsとfabricでamiの自動作成とオートスケール