Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Docker meets AWS OpsWorks
takipone
April 11, 2014
Technology
4
1.8k
Docker meets AWS OpsWorks
Docker Meetup Tokyo #2でお話する(した)スライドです。
takipone
April 11, 2014
Tweet
Share
More Decks by takipone
See All by takipone
takipone
0
1.3k
takipone
7
2k
takipone
0
1.7k
takipone
2
15k
takipone
0
500
takipone
3
2.8k
takipone
1
1.7k
takipone
1
1.1k
takipone
0
990
Other Decks in Technology
See All in Technology
sasakendayo
2
440
clustervr
0
170
sky_joker
0
120
ocise
1
970
humank
0
220
smzksts
0
280
yasuakiomokawa
0
370
y0hgi
1
400
am7cinnamon
2
2.8k
takapi86
0
140
takuros
3
520
ama_ch
0
3.7k
Featured
See All Featured
cromwellryan
101
5.9k
zakiwarfel
88
3.3k
lauravandoore
11
1.3k
reverentgeek
27
1.9k
maggiecrowley
8
430
bryan
100
11k
edds
56
9.3k
samanthasiow
56
6.3k
dotmariusz
94
5.1k
ddemaree
274
31k
lauravandoore
437
28k
searls
204
35k
Transcript
Docker meets AWS OpsWorks Docker Meetup Tokyo #2 classmethod.jp
1 2014/04/11 クラスメソッド株式会社 ⼤大瀧隆太 #dockerjp
classmethod.jp 2 ⾃自⼰己紹介 • ⽒氏名 : ⼤大瀧隆太 @takipone • ポジション
: AWSコンサル部 エンジニア / 研修講師 • 得意分野 : ネットワーク / デプロイツール • 好きなAWSサービス Amazon Route 53 classmethod.jp 2
classmethod.jp 3 会社の紹介 AWSとiPhoneアプリの ブログの会社です。 http://dev.classmethod.jp/
Dockerコンテナでのアプリデプロイ • SSHでDockerホストにログイン • Dockerfileに “ADD /src /docroot” を記述 •
docker build . • docker run classmethod.jp 4 本番環境では、誰が実⾏行行するべき? →デプロイフレームワークが欲しい!
classmethod.jp 5 AWSのデプロイサービス http://aws.amazon.com/application-‐‑‒management/ 今回はコレ!
AWS OpsWorksとは • AWSのデプロイサービスはEC2や他のサービ スとの連携、アプリケーションコードのデプ ロイなどの⾯面倒を⾒見見てくれる。 • OpsWorksはChef(chef-‐‑‒solo)をプロビジョニ ング基盤にしているため、Chefの知識識があれ ば詳細なカスタマイズが可能!
classmethod.jp 6 参考 • https://aws.amazon.com/jp/opsworks/ • http://www.slideshare.net/ AmazonWebServicesJapan/ops-‐‑‒ worksintroduction-‐‑‒20130625
OpsWorksのCookbookリポジトリ • https://github.com/aws/opsworks-‐‑‒cookbooks classmethod.jp 7 • 最近BerkShelfに対応したので、Opscodeの コミュニティCookbookが導⼊入しやすくなりました!
OpsWorksのCookbookリポジトリ classmethod.jp 8 • Chefだと... と、naoya_̲itoさんに怒怒られそう。 • OpsWorksのRecipeでは、結構ざっくり executeリソースを多⽤用している模様。 (多分冪等性の検証はしていると思いますが)
冪等性を確保せよ!
OpsWorksのCookbookリポジトリ classmethod.jp 9 • DockerはImmutableな使い⽅方をしたいとこ ろなので、Chefの冪等性にとらわれず くらいカジュアルに使う⽅方がシアワセになれ ると思います。 “DevOps Automation”
Amazonさんが無償で⽤用意してくれる スクリプトに⽑毛が⽣生えたサービス
OpsWorksのライフサイクルイベント classmethod.jp 10 ※ 後⽚片付けのためのUndeploy, Shutdownイベントもあります。 Setupイベント :
OS/ミドルウェアのインストール Configureイベント : OS/ミドルウェアの構成 Deployイベント : アプリケーションコードの配置 package/serviceリソース template/fileリソース & notify template/fileリソース & notify 任意のChef Recipe をキックできる
OpsWorksのライフサイクルイベント classmethod.jp 11 ※ 後⽚片付けのためのUndeploy, Shutdownイベントもあります。 Setupイベント :
OS/ミドルウェアのインストール Configureイベント : OS/ミドルウェアの構成 Deployイベント : アプリケーションコードの配置 package/serviceリソース template/fileリソース & notify template/fileリソース & notify Dockerインストール/アップデート 基本コンテナイメージの取得 アプリのデプロイ、コンテナ起動
出来そう! classmethod.jp 12
と思ったら。。。 classmethod.jp 13
classmethod.jp 14 まんまのブログがあった! http://jaredmarkell.com/ deploying-‐‑‒docker-‐‑‒with-‐‑‒opsworks/
classmethod.jp 15 試してみました。(スタックの設定) コンテナごとに Dockerイメージを指定
classmethod.jp 16 試してみました。(レイヤーの設定)
classmethod.jp 17 SSHで⼊入るとこんな感じ。 コンテナできてます!
今後の展望 • コンテナ数や構成が固定なので、変更更できる ような仕組みを。 • docker run/rmしか使っていないので、 Dockerぽいオペレーションを組み⼊入れたい。 • execリソースじゃない、かっこいいレシピの
ためにchef-‐‑‒docker Cookbookを利利⽤用したい。 – https://github.com/bflad/chef-‐‑‒docker • 随時ブログでアウトプットしていきます! classmethod.jp 18
まとめ • Dockerコンテナのデプロイは、いくらでもや りようはあるけど、有りものを使うのが楽。 • AWS OpsWorksはChefを使うので敷居が⾼高 そうに⾒見見えるかもしれないけど、カスタマイ ズが効くし、以外と簡単に使えます。 classmethod.jp
19
classmethod.jp 20 • ありがとうございました!