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
720
1
Share
個人サービスをFargateに移行したよ
Repro Tech Meetup #1 Docker
#reprotech
hatappi
July 27, 2018
More Decks by hatappi
See All by hatappi
AlloyDB 奮闘記
hatappi
0
360
Cloudflare を活用して変わったメルカリの開発体験 / How Cloudflare Changed Mercari's Development Experience
hatappi
1
790
RubyではじめるGraphQL
hatappi
0
920
RubyでChainerつくってます!!
hatappi
2
1.5k
TDDな個人開発
hatappi
0
360
できるだけ楽して楽しくRails開発しよう
hatappi
2
360
EKSにRailsをのせた
hatappi
1
1.3k
RubyとApache Arrow
hatappi
0
2.6k
Red Chainerを なぜ作って今後どうするのか
hatappi
2
2.5k
Other Decks in Programming
See All in Programming
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
130
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
440
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
へんな働き方
yusukebe
6
2.9k
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
130
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
140
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
440
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
230
iOS機能開発のAI環境と起きた変化
ryunakayama
0
170
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
220
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
450
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
WCS-LA-2024
lcolladotor
0
520
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
720
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
For a Future-Friendly Web
brad_frost
183
10k
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でリダイレクトが出来るようになった