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
個人サービスをFargateに移行したよ
Search
hatappi
July 27, 2018
Programming
1
710
個人サービスをFargateに移行したよ
Repro Tech Meetup #1 Docker
#reprotech
hatappi
July 27, 2018
Tweet
Share
More Decks by hatappi
See All by hatappi
Cloudflare を活用して変わったメルカリの開発体験 / How Cloudflare Changed Mercari's Development Experience
hatappi
1
760
RubyではじめるGraphQL
hatappi
0
910
RubyでChainerつくってます!!
hatappi
2
1.5k
TDDな個人開発
hatappi
0
360
できるだけ楽して楽しくRails開発しよう
hatappi
2
360
EKSにRailsをのせた
hatappi
1
1.2k
RubyとApache Arrow
hatappi
0
2.6k
Red Chainerを なぜ作って今後どうするのか
hatappi
2
2.5k
Fargateで夢は見られるのか
hatappi
1
2.3k
Other Decks in Programming
See All in Programming
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
300
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
920
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
210
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1k
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.6k
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
CSC307 Lecture 14
javiergs
PRO
0
450
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
350
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.5k
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
410
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
160
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
450
Evolving SEO for Evolving Search Engines
ryanjones
0
150
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Code Review Best Practice
trishagee
74
20k
Odyssey Design
rkendrick25
PRO
2
530
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
130
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
660
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
850
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Transcript
個⼈サービスをFargateに移⾏したよ Repro Tech Meetup #1 Docker 畑中 悠作
About me • Yusaku Hatanaka (@hatappi) • Speee, Inc •
Ruby, Go, TypeScript, etc. • Roppongi.rb organizer • Vimmer (vimと同じ年) • 煎り⼤⾖が好き
IUUQTTQFBLFSEFDLDPNIBUBQQJSBJMTQMVTUZQFTDSJQUQMVTSFBDUQMVTIZQFSOPWBEFTIJNFSVTTSSBJIV Rails Developers Meetup 2018 Day 3 Extreme
時間は有限!!
出来るだけメンテするも のは減らしていきたい
None
Fargateとは? • ECSにて下回りのインスタンス群の管理を⾃分で管 理しなくても良くなる • 新しいサービスというよりはECSのEC2と並ぶ新し い起動タイプという捉え⽅がよいかも
下回りのインスタンス群の管理を ⾃分で管理しなくても良くなる
EC2 => Fargate IUUQTBXTBNB[PODPNKQCMPHTOFXTBXTGBSHBUFBQSPEVDUPWFSWJFX
今までのECS • Amazon ECSに対応したAMIでインスタン スをAuto Scaling グループなどで⽴てる必 要があった • AMIも⾃前で⽤意する場合はECS
Agentや docker daemonなどを⽤意する必要があ る • AMIを固定で使⽤している場合はECS AgentのUpdateなどを⼀定のメンテコス トがかかる • その上でECSのクラスターやタスクを管理 していく IUUQTBXTBNB[PODPNKQCMPHTOFXTBXTGBSHBUFBQSPEVDUPWFSWJFX
Fargate IUUQTBXTBNB[PODPNKQCMPHTOFXTBXTGBSHBUFBQSPEVDUPWFSWJFX • ユーザーが意識して管理するのはタスクの 管理 • クラスター管理や使⽤時の最適化も必要な い • ⾃分の使いたいメモリ、vCPUの組み合わ
せを指定するだけ後はタスク管理に注⼒で きる • Fargate⾃体はECSに組み込まれているの で新しくAPIを覚えていくみたいな必要は ない
⽇本にもきた!!!!
移⾏⼿順 • ローカルで動くようにDocker化していく • 今回はNginx, Rails, Hypernovaの3つ • docker-composeで⼀発で⽴ち上がるようにする •
ECSでクラスターを作成して新規作成したALBに紐 付ける形で動作検証を⾏う • Routes53で既存のALBとリプレイスを⾏う
Docker化 • Packer (https://www.packer.io/) • AMIやDocker Imageなどのマシンイメージを⽣ 成・管理するCLI • EC2で運⽤していた際にAnsibleで実現された資産
があったのでそれを使⽤ • 作成したイメージはECRへPUSH
デプロイは何で⾏ったか? • eagletmt/hako • Dockerコンテナをデプロイする ためのツール • YAML, Jsonnetで記載 •
以前ソースを全部読んだことがあり 使い勝⼿が分かっていたので採⽤
移⾏出来た
移⾏してどうだったか • ホストの管理をしなくても良くなったのでアプリ ケーションに集中できる • DockerImage化することでローカルなどでも同じ環 境で作業が出来るようになった • 何回もデプロイする時にDockerのImageサイズが⼤ きいとpullが毎回遅い
• EC2の時はホスト側でキャッシュされていた
監視周り • サービス単位ではCPU, メモリ使⽤率などが CloudWatchで取得が出来る • 実⾏しているコンテナ(Rails, Nginx, Hypernova)単 位でメトリクスを取りたい
監視周り • Datadog (https://www.datadoghq.com/) • IntegrationによってCloudWatchで取得できるメトリク スを収集できる • コンテナ単位はタスクメタデータを介して取得すること が出来る
• お⾦はかかる IUUQTBXTBNB[PODPNKQBCPVUBXTXIBUTOFXBXTGBSHBUFQMBUGPSNWFSTJPO
まとめ • Docker化してFargateにのせることでインスタンス の⾯倒を⾒なくても済みアプリケーションの開発に 集中できるようになった • Nginxはリダイレクト⽤途がメインだったので必要 ないかも • ALBでリダイレクトが出来るようになった