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.8k
CloudFormationで迎える優しい世界
pataiji
0
2.3k
OSS開発が業務にもたらす恩恵
pataiji
0
750
Itamaeで快適開発ライフ
pataiji
2
290
CloudMagick
pataiji
0
910
DevOpsの心
pataiji
0
97
イエウールの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
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
1
840
Optimizing JRuby 10
headius
0
470
AWS で実現する安全な AI エージェントの作り方 〜 Bedrock Engineer の実装例を添えて 〜 / how-to-build-secure-ai-agents
gawa
8
860
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
720
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
220
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
4
1.2k
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.2k
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1.1k
Sharing features among Android applications: experience feedback
jbvincey
0
110
趣味全開のAITuber開発
kokushin
0
200
The Nature of Complexity in John Ousterhout’s Philosophy of Software Design
philipschwarz
PRO
0
130
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
190
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.7k
Navigating Team Friction
lara
184
15k
Gamification - CAS2011
davidbonilla
81
5.2k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
GraphQLとの向き合い方2022年版
quramy
46
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Unsuck your backbone
ammeep
670
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
YesSQL, Process and Tooling at Scale
rocio
172
14k
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