GitHub+ ECSで快適Review環境
by
pataiji
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
GitHub + ECS で快適Review 環境 2017/07/21 JAWS-UG コンテナ支部 #9 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 2
Slide 2 text
天野太智 @pataiji 株式会社Speee リー ドエンジニア 開発基盤グルー プ 兼務 好きなAWS のサー ビス: CloudFormation, Systems Manager ( 最近娘がパパっ子になってきて嬉しい) 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 3
Slide 3 text
webapp-revieee https://github.com/speee/webapp-revieee 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 4
Slide 4 text
動作イメー ジ GitHub にWebhook を登録するだけ PR 作ったら確認環境が立ち上がる 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 5
Slide 5 text
背景 Review 環境の渋滞 多数の独立したプロダクト 既存ツー ル 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 6
Slide 6 text
Review 環境の渋滞 Development / Staging / Production 複数のエンジニア / 案件 / レビュアー 声掛け運用で解決 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 7
Slide 7 text
多数の独立したプロダクト 社内に10 以上のプロダクト それぞれ独自の開発体制 全社で画一的な環境を用意するのは現 実的でない 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 8
Slide 8 text
全社共通の Review 基盤が 求められている 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 9
Slide 9 text
既存ツー ル Heroku Review Apps メンテナンスフリー 設定が圧倒的に楽 IP によるアクセス制限ができない (Enterprise は可) ミドルウェアのバー ジョンが指定不可 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 10
Slide 10 text
既存ツー ル Paus https://github.com/dtan4/paus Docker Swarm ベー ス docker-compose.yml を用意してgit push するとcontainer が立ち上がる Docker Swarm の管理が必要 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 11
Slide 11 text
ECS ベー スで実装しよう 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 12
Slide 12 text
実装面 ( とツラみ) 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 13
Slide 13 text
EC2 1 台 Nginx Ruby on Rails ECS + SpotFleet ECR 全体構成 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 14
Slide 14 text
ECS + SpotFleet 必要そうなリソー スをざっくり見積も って運用 落ちても大きな問題がない環境なので あまり気を使っていない 今後AutoScale するようにしていく 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 15
Slide 15 text
PR 作成時のワー クフロー 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 16
Slide 16 text
ブランチ指定してTask を実行 PR にhook して指定したブランチの最新のcommit をpull してきてTask を起動したい ECS はTaskDe nition でImage を指定するのでTask 起動時にImage を変更することはできない 悩んだ結果 ENTRYPOINT で頑張ることに 漂うコレジャナイ感 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 17
Slide 17 text
ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 18
Slide 18 text
ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 19
Slide 19 text
ワー クフロー(Review 環境アクセス時) 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 20
Slide 20 text
ホストベー スルー ティング Task へのアクセスポー トは動的に変化 Nginx(OpenResty) + MySQL で動的にproxy 初回アクセス時のみMySQL にアクセスし以降はキ ャッシュ Paus はVulcand を使用しているそう 漂うガンバッテル感 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 21
Slide 21 text
ホストベー スルー ティング 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 22
Slide 22 text
ECS を選んで思うこと やりたいことを比較的簡単に実現することが できた クラスタ管理はほとんど考える必要がない ので考えることが少なく済んだ Task 起動時にImage のTag を変更したい...! docker-compose.yml をAPI に投げられると嬉 しい 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 23
Slide 23 text
最後に webapp-revieee はまだまだβ もう少しでCFn 一発で環境が立ち上がる状態にでき そう いい感じになったらブログ(http://tech.speee.jp/) とかで告知すると思います 使ってみてFB いただけると嬉しいです...! 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 24
Slide 24 text
ありがとうございました 2017/07/21 JAWS-UG コンテナ支部 #9