Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub+ ECSで快適Review環境
Search
pataiji
July 21, 2017
Programming
0
2.6k
GitHub+ ECSで快適Review環境
https://jawsug-container.connpass.com/event/60798/
pataiji
July 21, 2017
Tweet
Share
More Decks by pataiji
See All by pataiji
20190118_srelounge.pdf
pataiji
3
3.9k
CloudFormationで迎える優しい世界
pataiji
0
2.4k
OSS開発が業務にもたらす恩恵
pataiji
0
760
Itamaeで快適開発ライフ
pataiji
2
290
CloudMagick
pataiji
0
910
DevOpsの心
pataiji
0
98
イエウールのDevOpsっぽい話
pataiji
0
450
CloudMagick builder
pataiji
0
1.1k
RubyKaigi 2016 sponsored session by Speee inc.
pataiji
0
1.3k
Other Decks in Programming
See All in Programming
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
1
1k
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
180
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
920
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
0
240
TypeScript だけを書いて Tauri でデスクトップアプリを作ろう / Tauri with only TypeScript
tris5572
2
540
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
12
6.5k
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
300
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6.1k
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
1
490
ワンバイナリWebサービスのススメ
mackee
10
7.5k
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
5
1.1k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Bash Introduction
62gerente
614
210k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
For a Future-Friendly Web
brad_frost
178
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
How to Ace a Technical Interview
jacobian
276
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
BBQ
matthewcrist
88
9.7k
Transcript
GitHub + ECS で快適Review 環境 2017/07/21 JAWS-UG コンテナ支部 #9 2017/07/21
JAWS-UG コンテナ支部 #9
天野太智 @pataiji 株式会社Speee リー ドエンジニア 開発基盤グルー プ 兼務 好きなAWS のサー
ビス: CloudFormation, Systems Manager ( 最近娘がパパっ子になってきて嬉しい) 2017/07/21 JAWS-UG コンテナ支部 #9
webapp-revieee https://github.com/speee/webapp-revieee 2017/07/21 JAWS-UG コンテナ支部 #9
動作イメー ジ GitHub にWebhook を登録するだけ PR 作ったら確認環境が立ち上がる 2017/07/21 JAWS-UG コンテナ支部
#9
背景 Review 環境の渋滞 多数の独立したプロダクト 既存ツー ル 2017/07/21 JAWS-UG コンテナ支部 #9
Review 環境の渋滞 Development / Staging / Production 複数のエンジニア / 案件
/ レビュアー 声掛け運用で解決 2017/07/21 JAWS-UG コンテナ支部 #9
多数の独立したプロダクト 社内に10 以上のプロダクト それぞれ独自の開発体制 全社で画一的な環境を用意するのは現 実的でない 2017/07/21 JAWS-UG コンテナ支部 #9
全社共通の Review 基盤が 求められている 2017/07/21 JAWS-UG コンテナ支部 #9
既存ツー ル Heroku Review Apps メンテナンスフリー 設定が圧倒的に楽 IP によるアクセス制限ができない (Enterprise
は可) ミドルウェアのバー ジョンが指定不可 2017/07/21 JAWS-UG コンテナ支部 #9
既存ツー ル Paus https://github.com/dtan4/paus Docker Swarm ベー ス docker-compose.yml を用意してgit
push するとcontainer が立ち上がる Docker Swarm の管理が必要 2017/07/21 JAWS-UG コンテナ支部 #9
ECS ベー スで実装しよう 2017/07/21 JAWS-UG コンテナ支部 #9
実装面 ( とツラみ) 2017/07/21 JAWS-UG コンテナ支部 #9
EC2 1 台 Nginx Ruby on Rails ECS + SpotFleet
ECR 全体構成 2017/07/21 JAWS-UG コンテナ支部 #9
ECS + SpotFleet 必要そうなリソー スをざっくり見積も って運用 落ちても大きな問題がない環境なので あまり気を使っていない 今後AutoScale するようにしていく
2017/07/21 JAWS-UG コンテナ支部 #9
PR 作成時のワー クフロー 2017/07/21 JAWS-UG コンテナ支部 #9
ブランチ指定してTask を実行 PR にhook して指定したブランチの最新のcommit をpull してきてTask を起動したい ECS はTaskDe
nition でImage を指定するのでTask 起動時にImage を変更することはできない 悩んだ結果 ENTRYPOINT で頑張ることに 漂うコレジャナイ感 2017/07/21 JAWS-UG コンテナ支部 #9
ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9
ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9
ワー クフロー(Review 環境アクセス時) 2017/07/21 JAWS-UG コンテナ支部 #9
ホストベー スルー ティング Task へのアクセスポー トは動的に変化 Nginx(OpenResty) + MySQL で動的にproxy
初回アクセス時のみMySQL にアクセスし以降はキ ャッシュ Paus はVulcand を使用しているそう 漂うガンバッテル感 2017/07/21 JAWS-UG コンテナ支部 #9
ホストベー スルー ティング 2017/07/21 JAWS-UG コンテナ支部 #9
ECS を選んで思うこと やりたいことを比較的簡単に実現することが できた クラスタ管理はほとんど考える必要がない ので考えることが少なく済んだ Task 起動時にImage のTag を変更したい...!
docker-compose.yml をAPI に投げられると嬉 しい 2017/07/21 JAWS-UG コンテナ支部 #9
最後に webapp-revieee はまだまだβ もう少しでCFn 一発で環境が立ち上がる状態にでき そう いい感じになったらブログ(http://tech.speee.jp/) とかで告知すると思います 使ってみてFB いただけると嬉しいです...!
2017/07/21 JAWS-UG コンテナ支部 #9
ありがとうございました 2017/07/21 JAWS-UG コンテナ支部 #9