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
わたしたちはEKS運用の夢をみるか(vs ECS) / EKS vs ECS Fargate
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
muryoimpl
September 27, 2019
Programming
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
わたしたちはEKS運用の夢をみるか(vs ECS) / EKS vs ECS Fargate
muryoimpl
September 27, 2019
More Decks by muryoimpl
See All by muryoimpl
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
1.9k
人魚とたわむれる
muryoimpl
0
61
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
2.1k
Kanazawa.rb LT大会用/kzlt コマンドの説明 2024/01版
muryoimpl
0
3.1k
kzltコマンドの新たなソリューションについて
muryoimpl
0
3k
俺とTODOアプリ~Linearの変~
muryoimpl
0
2.8k
POSIX文字クラスでの躓き
muryoimpl
0
2.4k
/kzlt コマンドとは
muryoimpl
0
1.1k
meetup.kzrb.org の更新を考える 事前激闘編
muryoimpl
0
1.7k
Other Decks in Programming
See All in Programming
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
360
初めてのKubernetes 本番運用でハマった話
oku053
0
130
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
920
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.5k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
160
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
170
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
act2-costs.pdf
sumedhbala
0
110
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
エンジニアに許された特別な時間の終わり
watany
108
250k
Site-Speed That Sticks
csswizardry
13
1.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
First, design no harm
axbom
PRO
2
1.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
270
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
WENDY [Excerpt]
tessaabrams
11
38k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Transcript
わたしたちは EKS 運用の夢 をみるか (vs ECS) ESM Real Lounge 2019/09
無量井 健
モチベーション AWS EKS を使おうとした場合、コストが高い、というイメージがありますが、実際どのくら いコストが高いの?というのをECS(Fargate) と価格面、構築面のコストから比較したい な、と思った。 これくらいのコスト(or 増) なら、まぁ今回EKS
使ってみる?となるかどうかをみてみようと いう試み
比較の前提条件 • AWS の ECS (Fargate) と EKS でおおよそ同じようなインフラ、アプリケーションを 構築して比較してみます
• 一部構成が異なる部分がありますのでその差分について目をつむってください • ECR で管理した同一の Docker image を使用するものとします • AWS インフラの構築は CloudFormation(YAML) を使用します ◦ JSON は行数が増えるので避けました • ソースはこちら: https://github.com/muryoimpl/ecs-eks-sample
今回作成した Fargate の構成
今回作成した EKS の構成 ※EKSのコントロールプレーンは 隠蔽されており、コンソールから 見えない ※ControlPlane の部分は無料で、 ワーカーノード分のみインスタンス 代がかかる
構築ソース(YAML)での比較 Fargate (CloudFormation yaml): 1051行 EKS(CloudFormation + kube object の
yaml): 918行(fluentd含む) EKS のほうはログにCloudWatch Logs への集約のために別途 fluentd の container を登録する必要があり一手間かかる。kubernetes用fluentd 用 object はGitHubの fluentd/fluentd-kubernetes-daemonset に用意されているので一から作成する必要は ない。 CloudFormationよりkubernetes object のほうが複雑さがない分わかれば書きやすい
作ってハマったところ • EKS構築時、下記URLの手順でCloudFormationの実行のみAnsibleで実行したた め、API呼び出しとコンソール上のユーザが異なっており、「ワーカーノードをクラスターと結合す るには」の手順でレスポンスが返ってこない事象が発生した。 https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/getting-started-console.html RBACというKubernetesの認証テーブルに登録されるのは クラスターを作成した IAMユーザなので、別の IAMユーザでは認証が通らずアクセスできない。
=> 普通はエラーメッセージが返るがこのときは何も返らなかった • 比較対象のECS FargateのALBとのつなぎこみがうまく行かず …
Fargate と EKS の料金比較 ※ECR, RDS, 通信料について同条件として算出に含めていません。
料金(Fargate) Fargateの料金表: https://aws.amazon.com/jp/fargate/pricing/ 1vCPU 0.05056USD/時 1GiB 0.00553USD/時 Webサーバ1台 t2.medium 相当(2vCPU,4GiB)
を30日間(24時間 * 30日 = 720時間) 使用と考えると… (2 * 0.05056 * 720) + (4 * 0.00553 * 720) = 72.8064 + 15.9264 = 88.7328USD 9月26日 15:17 UTC の 1ドル 107.68円 で計算すると、107.68 * 88.7328 = 9554.7479円 t2.medium 1台で 9555円くらい。Rails 実行を考えると、mirationタスクの実行で更に費用が発生する
料金(EKS) EKSの料金: https://aws.amazon.com/jp/eks/pricing/ EC2の料金: https://aws.amazon.com/jp/ec2/pricing/on-demand/ EKS 利用料が $0.20/時(隠蔽されているクラスタ管理部分のインスタンス代については無料) t2.medium 利用料が
$0.0608/時 t2.medium 相当を30日間(24時間 * 30日 = 720時間) 利用すると考えると… (0.0608 * 720) + (0.20 * 720) = 43.776 + 144 = 187.776 USD 9月26日 15:17 UTC の 1ドル 107.68円 で計算すると、187.776 * 107.68 = 20219.7197円
EKSとFargate の料金比較結果 Fargate: 9554.7479円/30日 EKS: 20219.7197円/30日 料金だけの比較でいくと、EKSをちょっと使ってみようか、とはなりにくそう。 コンテナオーケストレーションツールとして
Kubernetes エコシステムを最大限活用した いという欲求がない限りは Fargate を使うことを優先させることとなりそう。
最後に 設定ファイルについてはあまり大きな行数差はなかった。CloudFormation よりは Kubernetes object のほうがパターンが少ない分書きやすそう。ただし、ECS と比較す るとログ集約分の手間がかかる。 お金の面でいうと ECS
のほうがかなり安いので、新規で作成しはじめるとなるととりあ えず ECS で作成して必要に駆られたときに EKS or 他の Kubernetes 環境に移行す る、というのがよさそう
その他参考リンク集 • CloudFormation の template ◦ https://github.com/awslabs/aws-cloudformation-templates • EKS: AWS
マネジメントコンソール の開始方法 (eks用YAMLテンプレあり) ◦ https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/getting-started-console.html • fulentd/fluentd-kubernetes-daemonset ◦ https://github.com/fluent/fluentd-kubernetes-daemonset