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運用物語 / Fargate-Story
Search
soudai sone
PRO
August 20, 2019
Technology
8.7k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
fargate運用物語 / Fargate-Story
JAWS-UG コンテナ支部 #15 での登壇資料です
https://jawsug-container.connpass.com/event/143245/
soudai sone
PRO
August 20, 2019
More Decks by soudai sone
See All by soudai sone
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
280
AI時代における具体と抽象の往復 - 日常にチャンスがある / Moving Between the Concrete
soudai
PRO
9
3.8k
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
6
4k
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
2
660
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
16
6.3k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
16
6.7k
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
45
11k
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
21
8.9k
コミュニティと計画的偶発性理論 - 出会いが人生を変える / Life-Changing Encounters
soudai
PRO
8
5.1k
Other Decks in Technology
See All in Technology
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
6
530
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
150
書籍セキュアAPIについて
riiimparm
0
360
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
160
信頼できるテスティングAIをどう育てるか?
odan611
0
100
カメラ×AIで挑む「ホワイト物流」― 車両管理、自動化の壁と突破口【SORACOM Discovery 2026】
soracom
PRO
0
140
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
30
17k
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
210
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
850
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
1.1k
データエンジニアリングとドメイン駆動設計
masuda220
PRO
15
2.7k
Flutter研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
200
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Believing is Seeing
oripsolob
1
170
GraphQLとの向き合い方2022年版
quramy
50
15k
Producing Creativity
orderedlist
PRO
348
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Facilitating Awesome Meetings
lara
57
7k
4 Signs Your Business is Dying
shpigford
187
22k
The agentic SEO stack - context over prompts
schlessera
0
850
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Transcript
Fargate運用物語 ~ 本当にコンテナで幸せになりますか? ~ JAWS-UG コンテナ支部 #15
What is it? 結論は突然に
What is it? EC2で運用できるならEC2 EC2で困ってるならコンテナ
What is it? シンプルなサービス構成ならFargate
What is it? その理由と運用の話をします
What is it? 大前提!! 今日はFargateの細かい説明はありません
あじぇんだ 1. 自己紹介 2. EC2よりもFargateを使いたい 3. Fargateで辛かったこと 4. Fargateで良かったこと 5.
コンテナの勘所 6. まとめ
あじぇんだ 1. 自己紹介 2. EC2よりもFargateを使いたい 3. Fargateで辛かったこと 4. Fargateで良かったこと 5.
コンテナの勘所 6. まとめ
自己紹介 曽根 壮大(34歳) 株式会社 オミカレ 副社長 CTO そ ね
たけ とも • 日本PostgreSQLユーザ会 勉強会分科会 担当 • 3人の子供がいます(長女、次女、長男) • 技術的にはWeb/LL言語/RDBMSが好きです • コミュニティが好き
婚活といえばオミカレ https://party-calendar.net/
None
本書きました
先週のそーだいさん
明日のそーだいさん
あじぇんだ 1. 自己紹介 2. EC2よりもFargateを使いたい 3. Fargateで辛かったこと 4. Fargateで良かったこと 5.
コンテナの勘所 6. まとめ
EC2よりもFargateを使いたい なぜならば、使いたいからだ
EC2よりもFargateを使いたい なぜならば、使いたいからだ
EC2よりもFargateを使いたい 根拠がないと辛みを重ねるだけ
EC2よりもFargateを使いたい EC2で辛かったこと
EC2よりもFargateを使いたい • AMIやAnsibleの管理 • 手元の環境との乖離 • deployの複雑さ よくあるEC2で辛かったこと
EC2よりもFargateを使いたい • AMIやAnsibleの管理 • 手元の環境との乖離 • deployの複雑さ よくあるEC2で辛かったこと
EC2よりもFargateを使いたい Ansibleで冪等性を担保すればいいじゃん!
EC2よりもFargateを使いたい どんどんオートスケール時の起動が遅くなる
EC2よりもFargateを使いたい オートスケール用のAMIを作ろう
EC2よりもFargateを使いたい オートスケール用のAMIを作ろう ↓ 細かい修正をする度にAMIを作り直すことに
EC2よりもFargateを使いたい ロールが増えてくると サーバの責務が Ansibleの責務を超えてしまいがち
EC2よりもFargateを使いたい そもそも冪等性は幻想
EC2よりもFargateを使いたい 複雑になったAnsibleのメンテは大変
EC2よりもFargateを使いたい 複雑になったAnsibleのメンテは大変 ↓ 最初にちゃんと設計してることは稀 (スタートアップだと特にそうだと思う)
EC2よりもFargateを使いたい Ansibleはとても便利だけど 頻繁に環境に手を入れるなら コンテナの方が向いてる Ansibleも便利だけどね
EC2よりもFargateを使いたい • AMIやAnsibleの管理 • 手元の環境との乖離 • deployの複雑さ よくあるEC2で辛かったこと
EC2よりもFargateを使いたい LAMPの時は EC2 & Vagrant でも良かった
EC2よりもFargateを使いたい LAMPの時は EC2 & Vagrant でも良かった ↓ APIやデータストア層が増えてくると…
LAMPの頃 PHP データストア フレームワーク httpd EC2=Vagrant 同じAnsibleを実行すれば良い Web
サービスがスケールしてくると… PHP データストア フレームワーク httpd Web APIサーバ NoSQL
EC2よりもFargateを使いたい 1つのVagrantではデカすぎる
EC2よりもFargateを使いたい 1つのVagrantではデカすぎる ↓ AnsibleとVMもロール単位で分けよう
乱立するVM VM2 VM1 VM3 VM3.5 VM4 VM5 VM5.1 VM6
EC2よりもFargateを使いたい なるほど、dockerだ!!
EC2よりもFargateを使いたい なるほど、dockerだ!! ↓ Ansibleとdockerの二重管理
EC2よりもFargateを使いたい こうやって開発環境と乖離してきた
EC2よりもFargateを使いたい • AMIやAnsibleの管理 • 手元の環境との乖離 • deployの複雑さ よくあるEC2で辛かったこと
EC2よりもFargateを使いたい はるか昔、deployツールは神から与えられた (当時のエースエンジニアが作った)
EC2よりもFargateを使いたい Mackerel Web Web Web deployサーバ github ansible 1. MackerelからWebサーバの一覧を取得
2. Inventoryに登録してAnsibleで対象にdeploy 3. githubの該当のmasterをPull
EC2よりもFargateを使いたい 8年前のデプロイツール、メンテが属人化
EC2よりもFargateを使いたい deployをシンプルにしよう
EC2よりもFargateを使いたい Web Web Fargate ECR github CircleCI 1. githubの該当のmasterからコンテナを生成
2. ECRのコンテナをECSにdeploy
EC2よりもFargateを使いたい 最近っぽい
EC2よりもFargateを使いたい なんとdocker fileだけメンテすれば良い!
EC2よりもFargateを使いたい 幸せ!!最高!!!!
あじぇんだ 1. 自己紹介 2. EC2よりもFargateを使いたい 3. Fargateで辛かったこと 4. Fargateで良かったこと 5.
コンテナの勘所 6. まとめ
Fargateで辛かったこと 理論はわかったけど 現実はそんなに甘くない
Fargateで辛かったこと • 最初の環境構築 • トラブルシューティング • ログ • モニタリング
Fargateで辛かったこと 知見が全く無い状態でいきなり作った
Fargateで辛かったこと 知見が全く無い状態でいきなり作った ↓ これは失敗だった(自分が悪いけど)
知見が無くて失敗したこと • 既存とVPCを安易に分けてしまった • 作りながら学ぶ状態 • パフォーマンスの計測が甘かった • ネットワークのdebugが大変
知見が無くて失敗したこと • 既存とVPCを安易に分けてしまった • 作りながら学ぶ状態 • パフォーマンスの計測が甘かった • ネットワークのdebugが大変 ALBがVPCを超えてターゲットグループを
指定するにはルーティングテーブルが必要
知見が無くて失敗したこと • 既存とVPCを安易に分けてしまった • 作りながら学ぶ状態 • パフォーマンスの計測が甘かった • ネットワークのdebugが大変 ECRからdeployするときにAWS内に経由の設定ではまったり…
サイドカー立てるのにハマったり… Terraformがまだ未対応の機能を使ったり…
知見が無くて失敗したこと • 既存とVPCを安易に分けてしまった • 作りながら学ぶ状態 • パフォーマンスの計測が甘かった • ネットワークのdebugが大変 本番リリースしたら障害になった
オートスケールが間に合わなかった
知見が無くて失敗したこと • 既存とVPCを安易に分けてしまった • 作りながら学ぶ状態 • パフォーマンスの計測が甘かった • ネットワークのdebugが大変 つながらなくてコンテナが落ちた時、
DNSなのかネットワークのルーティングなのかセ キュリティグループなのか… (気軽にPINGやCURLが打てない)
Fargateで辛かったこと オートスケールは簡単だけど 増えるより落ちる方が早い場合に困る EC2の時はオートスケールとは別に 落ちないインスタンスを用意してた
Fargateで辛かったこと Fargateは高い
Fargateで辛かったこと Fargateは高い ↓ 特にCPUを増やすと金額が跳ねる!
Fargateで辛かったこと ログが気軽に保存できない
Fargateで辛かったこと ログが気軽に保存できない ↓ CloudWatch Logsか…
Fargateで辛かったこと コンテナのdebugしたいけど 大切なときに(負荷がかかってた) 君(コンテナ)はもういない
Fargateで辛かったこと モニタリングしてチューニングしたいけど 永続的な情報を取るのは難しい
Fargateで辛かったこと 知見が全く無い状態でいきなり作った
Fargateで辛かったこと 知見が全く無い状態でいきなり作った ↓ 最初はECSで作るべきだったなと思う
あじぇんだ 1. 自己紹介 2. EC2よりもFargateを使いたい 3. Fargateで辛かったこと 4. Fargateで良かったこと 5.
コンテナの勘所 6. まとめ
Fargateで良かったこと もちろん当初の目的(前述)を 達成したメリットは大きい
Fargateで良かったこと さらに運用が回りだせば 得る物も多い
Fargateで良かったこと 本番にあるコンテナは全て同じ
Fargateで良かったこと 本番にあるコンテナは全て同じ ↓ つまり、バージョンを固定することも 常に最新にすることもコントロールしやすい
Fargateで良かったこと 本番にあるコンテナは全て同じ ↓ つまり、バージョンを固定することも 常に最新にすることもコントロールしやすい 弊社は常に最新のパッケージを使ってます つまりセキュアになるし、Fargateはホストのことを 考えなくても良い
Fargateで良かったこと ロールバックが簡単 ECRの履歴を使って戻せる (buildやコードの調整は不要)
Fargateで良かったこと コンテナは外に閉じているし ホスト無いので EC2よりも守りやすい
Fargateで良かったこと stagingや開発環境の複製が簡単
Fargateで良かったこと stagingや開発環境の複製が簡単 ↓ パートナーにも環境を提供しやすい (これはFargateってよりコンテナ)
Fargateで良かったこと CI/CDの環境構築がより簡単に
Fargateで良かったこと CI/CDの環境構築がより簡単に ↓ サービスの品質向上へ
Fargateで良かったこと Fargateは一旦置いても コンテナを利用するメリットは多い
あじぇんだ 1. 自己紹介 2. EC2よりもFargateを使いたい 3. Fargateで辛かったこと 4. Fargateで良かったこと 5.
コンテナの勘所 6. まとめ
コンテナの勘所 段階的に学ぶことが大事
コンテナの勘所
コンテナの勘所 テストが楽になる!
コンテナの勘所 テストが楽になる! ↓ 御社ちゃんとテストあります? (テストが無いとメリットが弱い)
コンテナの勘所 ネットワークとログの設計は コンテナの方が難しい (無限にCloudWatchに頼るとしても)
コンテナの勘所 油断するとサイドカーを増やしたくなる
コンテナの勘所 それ、レンタルサーバで出来るよ
コンテナの勘所 それ、レンタルサーバで出来るよ ↓ 他にもPaaSやFaaSでも良い
コンテナの勘所 自分たちの解決したい問題の スコープを大事にする
コンテナの勘所 コンテナ技術を使うなら 仕組み化が重要 (状態を持たないからこそ仕組み化しやすい)
あじぇんだ 1. 自己紹介 2. EC2よりもFargateを使いたい 3. Fargateで辛かったこと 4. Fargateで良かったこと 5.
コンテナの勘所 6. まとめ
まとめ コンテナ技術は使えばいいと言うものではない
まとめ 自分たちの解決したい課題に合わせる
まとめ 自分たちの解決したい課題に合わせる ↓ 一部から使うことでもメリットはある (例えば開発環境でdockerとか)
まとめ 運用のことは考えよう
まとめ 技術で課題を解決する
まとめ ご清聴ありがとうございました