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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
muryoimpl
September 27, 2019
Programming
350
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
2.1k
人魚とたわむれる
muryoimpl
0
62
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
2.2k
Kanazawa.rb LT大会用/kzlt コマンドの説明 2024/01版
muryoimpl
0
3.1k
kzltコマンドの新たなソリューションについて
muryoimpl
0
3.1k
俺と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
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
5分で問診!Composer セキュリティ健康診断
codmoninc
0
980
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
360
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
550
Go 1.27 における memory allocation の高速化
andpad
0
170
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
260
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
280
「人を評価する AI」の設計と実装
ryoyanara
0
200
What's New in Android 2026
veronikapj
0
260
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
230
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
110
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Done Done
chrislema
186
16k
Product Roadmaps are Hard
iamctodd
55
12k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
Scaling GitHub
holman
464
140k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
340
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
The Spectacular Lies of Maps
axbom
PRO
1
910
ラッコキーワード サービス紹介資料
rakko
1
4.3M
The SEO identity crisis: Don't let AI make you average
varn
0
530
Automating Front-end Workflow
addyosmani
1369
210k
Bash Introduction
62gerente
615
220k
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