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.5k
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.7k
CloudFormationで迎える優しい世界
pataiji
0
2.2k
OSS開発が業務にもたらす恩恵
pataiji
0
720
Itamaeで快適開発ライフ
pataiji
2
270
CloudMagick
pataiji
0
900
DevOpsの心
pataiji
0
90
イエウールのDevOpsっぽい話
pataiji
0
420
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
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
ドメインイベント増えすぎ問題
h0r15h0
2
330
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.9k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
360
42 best practices for Symfony, a decade later
tucksaun
1
180
103 Early Hints
sugi_0000
1
230
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
선언형 UI에서의 상태관리
l2hyunwoo
0
170
php-conference-japan-2024
tasuku43
0
300
From Translations to Multi Dimension Entities
alexanderschranz
2
130
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
780
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
250
Featured
See All Featured
Visualization
eitanlees
146
15k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Side Projects
sachag
452
42k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Git: the NoSQL Database
bkeepers
PRO
427
64k
GitHub's CSS Performance
jonrohan
1030
460k
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