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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
pataiji
July 21, 2017
Programming
2.7k
0
Share
GitHub+ ECSで快適Review環境
https://jawsug-container.connpass.com/event/60798/
pataiji
July 21, 2017
More Decks by pataiji
See All by pataiji
20190118_srelounge.pdf
pataiji
3
4.2k
CloudFormationで迎える優しい世界
pataiji
0
2.6k
OSS開発が業務にもたらす恩恵
pataiji
0
830
Itamaeで快適開発ライフ
pataiji
2
350
CloudMagick
pataiji
0
940
DevOpsの心
pataiji
0
120
イエウールのDevOpsっぽい話
pataiji
0
500
CloudMagick builder
pataiji
0
1.2k
RubyKaigi 2016 sponsored session by Speee inc.
pataiji
0
1.4k
Other Decks in Programming
See All in Programming
🦞OpenClaw works with AWS
licux
1
210
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.5k
Agentic Elixir
whatyouhide
0
390
ハーネスエンジニアリングとは?
kinopeee
12
6k
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
1k
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
380
Running Swift without an OS
kishikawakatsumi
0
850
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
150
10 Tips of AWS ~Gen AI on AWS~
licux
5
460
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
280
t *testing.T は どこからやってくるの?
otakakot
1
710
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
120
Fireside Chat
paigeccino
42
3.9k
How STYLIGHT went responsive
nonsquared
100
6.1k
Building AI with AI
inesmontani
PRO
1
910
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
510
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