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
徹底討論!ECS vs EKS!
Search
高棹大樹
June 26, 2026
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
徹底討論!ECS vs EKS!
高棹大樹
June 26, 2026
More Decks by 高棹大樹
See All by 高棹大樹
金融システムで挑む!EKS Auto Mode導入ポイント大全
daitak
0
100
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
720
EKS CapabilitiesでKube Resource Orchestrator(KRO)を試してみた!
daitak
0
130
Kubernetesと共にふりかえる! エンタープライズシステムのインフラ設計・テストの進め方大全
daitak
0
860
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
1
250
CBになったのでEKSのこともっと知ってもらいたい!
daitak
1
310
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
0
260
AWS re:Invent 2024で発表されたアップデート/EKSオートモード使っていきましょう!
daitak
1
270
レガシーな金融システムをKubernetesを使ってクラウドネイティブ化するためのノウハウ大全
daitak
5
1.2k
Other Decks in Technology
See All in Technology
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.3k
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
220
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
140
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.2k
SONiCの統計情報を取得したい
sonic
0
220
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
200
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
100
AIはどのように 組織のアジリティを変えるのか?
junki
4
1k
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
0
280
20260619 私の日常業務での生成 AI 活用
masaruogura
1
230
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
140
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
1
2.4k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.2k
Designing for Timeless Needs
cassininazir
1
260
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Discover your Explorer Soul
emna__ayadi
2
1.1k
Thoughts on Productivity
jonyablonski
76
5.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
330
Transcript
徹底討論!ECS vs EKS! AWS Summit Japan Builder Community Loungeチョークトーク 2026年6月26日
株式会社 野村総合研究所 マルチクラウドインテグレーション事業本部 金融基盤サービス部 エキスパートアーキテクト 高棹 大樹
1 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
高棹 大樹 – Daiki Takasao NRI 金融基盤サービス部 • Amazon Elastic Kubernetes Service (EKS) を用いた金融機関様向けマイクロサービス共通基盤 のインフラ担当 主な仕事 趣味 最近の困り事 • キャンプ • 筋トレ • 子供と遊ぶ(相手をしてくれる内に。。) • 飼っている猫が懐いてくれない
2 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
今日話すことをざっくり 私はEKSの運用を5年ぐらいやっており、 EKSに色々詳しくなりました 一方Amazon ECSはそこまで深入りしておらず、 正直知識が浅いです EKSのできること/しんどいことを紹介するので、 それに対してECSはこうだ!を突っ込んでください
3 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
今日話すことをざっくり 私はEKSの運用を5年ぐらいやっており、 EKSに色々詳しくなりました 一方ECSはそこまで深入りしておらず、 正直知識が浅いです EKSのできること/しんどいことを紹介するので、 それに対してECSはこうだ!を突っ込んでください けっしてECSとEKSの対立を 煽っている訳ではありません!! 適しているユースケースを議論したいです
4 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
アジェンダ コンテナオーケストレーション/Kubernetes/EKSとは? 01 EKSだとこうやってますけど、ECSだとどうなります? 02
5 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 5 1. コンテナオーケストレーション/Kubernetes/EKSとは?
6 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
コンテナオーケストレーションの役割①: コンテナの配置管理 1. コンテナオーケストレーション/Kubernetes/EKSとは? サーバ コンテナA サーバ サーバ コンテナB コンテナA コンテナをどのサーバ上で稼働させるのかを判断・管理する コンテナC 障害が発生してもコンテナの機能提供を継続するために、同一種類のコンテナを複数稼働させる Kubernetes
7 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
コンテナオーケストレーションの役割②: 障害発生時の退避・自動復旧 1. コンテナオーケストレーション/Kubernetes/EKSとは? コンテナA コンテナB コンテナA コンテナC 障害が発生したコンテナを復旧する コンテナB コンテナA サーバに障害が発生した際、そのサーバ上で稼働していたコンテナを他のサーバに退避する Kubernetes サーバ サーバ サーバ
8 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
コンテナオーケストレーションの役割③: リソース拡張・アップデート管理 1. コンテナオーケストレーション/Kubernetes/EKSとは? コンテナA コンテナB コンテナA 問合せ量の増加等を契機として、コンテナのリソースを自動拡張する コンテナC コンテナのローリングアップデートのために、一連のコンテナの停止とデプロイの作業を、順序を守って実施する コンテナB NEW Kubernetes サーバ サーバ サーバ
9 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
コンテナオーケストレーションの役割③: リソース拡張・アップデート管理 1. コンテナオーケストレーション/Kubernetes/EKSとは? コンテナA コンテナB コンテナA 問合せ量の増加等を契機として、コンテナのリソースを自動拡張する コンテナC コンテナのローリングアップデートのために、一連のコンテナの停止とデプロイの作業を、順序を守って実施する コンテナB NEW Kubernetes サーバ サーバ サーバ コンテナ数が少なければ手動作業できるが、 増えると困難。。 コンテナオーケストレーションは 自動で実施してくれる!
10 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Kubernetesって何? 1. コンテナオーケストレーション/Kubernetes/EKSとは? ◼コンテナ化されたアプリケーションを自動で配置・スケーリング・管理するためのオーケストレーション プラットフォーム ◼元々Google で開発され、現在は CNCF(Cloud Native Computing Foundation) が運 営している ◼略してK8s
11 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Kubernetesの特徴①: 様々な形態で導入可能 1. コンテナオーケストレーション/Kubernetes/EKSとは? Kubernetes オンプレミス Kubernetes パブリッククラウド 様々なパブリッククラウド、オンプレミスでKubernetesを導入可能 Kubernetes上で構築したコンテナのシステム構成は、 他のパブリッククラウドやオンプレミス環境へ比較的容易に移行・展開が可能 ※クラウド固有のサービスに依存する部分を除く
12 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Kubernetesの特徴②: マニフェストによるリソース定義 1. コンテナオーケストレーション/Kubernetes/EKSとは? apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx:1.25 マニフェスト Kubernetes 適用 K8sリソース 望ましい状態 実際の状態 修 復 比 較 マニフェストをKubernetesに適用することで、K8sリソースが作成される NEW マニフェストで定義した望ましい状態と 実際の状態を継続的に比較し、 差分を検知した場合は自動的に修復する
13 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Kubernetesの特徴②: マニフェストによるリソース定義 1. コンテナオーケストレーション/Kubernetes/EKSとは? Kubernetes 比 較 望ましい状態: コンテナ(Pod)が3つ 実際の状態: コンテナ(Pod)が2つ → 1つ追加 誤って 削除 NEW 起 動 Kubernetes利用者が誤って1つのPodを削除 Kubernetesは差分を検知し、 望ましい数に合せる形で自動でPodを1つ起動する
14 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Kubernetesの特徴③: 高い拡張性 1. コンテナオーケストレーション/Kubernetes/EKSとは? プロダクト名 用途 主なカスタムリソース名 Istio サービスメッシュ VirtualService, DestinationRule, Gateway Linkerd サービスメッシュ ServiceProfile Argo CD GitOpsによる継続的デリバリー Application Prometheus Operator Kubernetesネイティブな監視 ServiceMonitor, PrometheusRule KEDA イベント駆動のオートスケーリング ScaledObject, TriggerAuthentication Argo Workflows バッチ処理・データパイプライン Workflow, CronWorkflow MongoDB Community Operator MongoDBクラスタ運用 MongoDBCommunity MySQL Operator MySQLクラスタ運用 MysqlCluster Postgres Operator PostgreSQLクラスタ運用 PostgresCluster ◼Kubernetesには豊富な種類のリソースがビルトインで揃っている ◼それらに加えて、独自のリソース(カスタムリソース)を定義できる ◼多数のカスタムリソースが開発されており、Kubernetesを中心とした大きなエコシステムを形成し ている
15 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Kubernetesクラスタの構成要素 1. コンテナオーケストレーション/Kubernetes/EKSとは? Kubernetesクラスタ ワーカーノード(データプレーン) ・・・ リソースを稼働させるサーバ群 コントロールプレーン リソースを管理
16 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Elastic Kubernetes Service(EKS)とは? 1. コンテナオーケストレーション/Kubernetes/EKSとは? ◼AWSのマネージドKubernetesサービス ◼コントロールプレーンの管理が不要、 IAMユーザ/ロールによる認証などが主なメリット ワーカーノード(データプレーン) リソースを稼働させるサーバ群 コントロールプレーン リソースを管理 ・・・ コントロールプレーンの 管理が不要 IAMユーザ/ロールによる 認証
17 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Copyright (C) Nomura Research Institute, Ltd. All rights reserved. 17 2. EKSだとこうやってますけど、ECSだとどうなります?
18 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
いきなり!私が思うECS/EKSのメリット/デメリット 2. EKSだとこうやってますけど、ECSだとどうなります? ◼このポイントを掘り下げていきますので、随時突っ込みをください! ECS (Elastic Container Service) EKS (Elastic Kubernetes Service) 利用可能な機能の幅 △ AWSが提供しているサービスの機能のみ 利用可能 AWS提供サービスに加えてKubernetesや その上で稼動するクラウドネイティブOSSを利用可能 マルチクラウド、オンプレミス との相互運用性 △ ECSはAWS独自サービス Kubernetes APIリソースは マルチクラウド、オンプレミスで使用可能 運用コスト クラスタのバージョンアップは実施不要 △ Kubernetesのバージョンリリースに追従して定期的に クラスタのバージョンアップを行う必要がある 今日のポイント 今日のポイント
19 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
① 多数のコンテナデプロイ/コンテナ間通信 2. EKSだとこうやってますけど、ECSだとどうなります? ◼多数のコンテナをデプロイする際にどうしている? ◼EKSだとServiceとPodをセットでデプロイするが、ECSだとコンテナ間の通信はどうやる? ・・・・・・ EKSワーカーノード(EC2)
20 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Pod名: mypod IPアドレス:1111.2222.3333.4444 コンテナ ・Pod内には1つ以上のコンテナ ・Pod内のコンテナ間は localhostで通信可能 localhost コンテナ ・ ・ ・ (参考) Pod 2. EKSだとこうやってますけど、ECSだとどうなります? ヘルス チェック Probe Liveness Probe(コンテナ生存確認) Readiness Probe (コンテナによるサービス提供可否確認) Startup Probe(コンテナ起動確認) Probeは稼働するコンテナのヘルスチェックを行い、 異常検知時に自動修復を行う リソース容量設定 最低保証値 (Requests) 上限値(Limits) コンテナに割り当てるリソース容量は2段階で指定可能
21 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
(参考) Service(ClusterIP) 2. EKSだとこうやってますけど、ECSだとどうなります? Deployment名: mydeployment Podのラベル: app: myapp ラベル app: myapp ラベル app: myapp ラベル app: myapp Service名:myservice type:ClusterIP 振り分け先のPodのラベル: app: myapp 紐付け 仮想IPアドレス/DNS名 ClusterIPとは、安定した仮想IPアドレスとDNS名を提供し、 一貫したネットワークアクセスを実現する仮想的なエンドポイント ClusterIPに対する問合せはラベルで紐付けられた複数のPodに振り分けられる
22 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
① 多数のコンテナデプロイ/コンテナ間通信 2. EKSだとこうやってますけど、ECSだとどうなります? ◼ECSだとどうなる?をAIに聞いたら以下の回答でした。みなさんどれを使っていますかね? ◼ 別 Task 間でシンプルな内部通信 → AWS CloudMap ⚫ Service 名 → Task IP 群 を DNS で引けるようにする ⚫ ただし、DNS 応答で複数 IP が返るので、実際にどのIPへ送るかはクライアント側挙動に依存 ⚫ ただし、リトライやロードバランシングをアプリ/ライブラリで考慮する必要あり ◼ HTTP API を安定運用したい → 内部向けApplication Load Balancer ⚫ AWS に負荷分散・ヘルスチェックを寄せたい場合に向く ⚫ ただし、サービスごとに ALB設計が必要 ◼ ECS 上でマイクロサービス通信を整理したい → ECS Service Connect 案1 案2 案3
23 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
② 安全なコンテナ停止 2. EKSだとこうやってますけど、ECSだとどうなります? ◼EKSはコンテナ(Pod)の停止時、Pod停止とServiceからの切離しが並行・非同期で行われる ◼コンテナの安全な停止のために、EKSではPod停止の前にリクエストの処理が完了する時間分 待つ設定(preStopフック)を入れたりするが、ECSだとどうなる? Pod停止の前にリクエストの処理が完了する時間分 待つ設定を入れる PreStopフックでsleepコマンド実行 terminationGracePeriodSeconds
24 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
(参考) Podの安全停止設定のイメージ 2. EKSだとこうやってますけど、ECSだとどうなります? ◼ PreStopフックのSleepコマンド実行とterminationGracePeriodSecondsの関係を図にしたものが以下 Service Pod停止開始 コンテナ強制終了 (SIGKILL) 新規リクエスト 受け入れ終了 コンテナ停止 (SIGTERM) ServiceからPodの切離し 新規リクエストの受け入れ コンテナ 処理してレスポンスを返す 新規リクエストの受け入れ PreStopフックでsleepコマンド実行 余裕値 Pod terminationGracePeriodSeconds 余裕値 apiVersion: apps/v1 kind: Deployment spec: template: spec: terminationGracePeriodSeconds: "180s" containers: - image: <コンテナイメージ名> lifecycle: preStop: exec: command: - sh - -c - "sleep 160" Deploymentマニフェストファイル
25 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
② 安全なコンテナ停止 2. EKSだとこうやってますけど、ECSだとどうなります? ◼ECSだとどうなる?をAIに聞いたら以下の回答でした。 ◼ECS でも安全停止のためのケアは必要だが、preStop相当の機能は無い アプリケーションでSIGTERMシグナルを受信した後gracefulに停止する必要がある ◼ALB配下のECS Serviceであれば、ターゲットグループからの切離し時に deregistration delay(接続ドレイニング時間)を効かす事ができる ◼stopTimeoutパラメータで、SIGTERMを送ってから強制停止(SIGKILL)までのタイムアウト を設定する事も重要 Gracefulな停止 気にしています? ALBのドレイニング設定 使っています?
26 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
③ コンテナ設定の機械的な違反チェック 2. EKSだとこうやってますけど、ECSだとどうなります? ◼大量のコンテナをデプロイする場合、それらの設定が正しく行われているのかを人間でチェックする のは大変。ポリシー違反を見逃してしまう恐れあり ◼EKSだとGatekeeperやKyverno等のポリシー管理ソフトを導入してルールで統制できるが、ECS だとどうなる?
27 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
③ コンテナ設定の機械的な違反チェック 2. EKSだとこうやってますけど、ECSだとどうなります? ◼ ECSだとどうなる?をAIに聞いたら以下の回答でした。複数サービスを組合せて実現する? ◼ Kubernetes の Admission Controller のような標準フックは ECS にはありません。そのため、ECS では主に以下の層で実現します。 ◼ つまり、ECS では Gatekeeper/Kyverno の完全な代替というより、CI/CD の事前検査 + AWSネイティブの事後監査 + IAM 制 御の組み合わせで実現するのが一般的です。 1. IaC / CI/CD 上でタスク定義・サービス定義を静的検査する 1. Terraform / AWS CloudFormation / AWS CDK / ecs-task-definition JSON を検査 2. 例: OPA(Conftest), Checkov, tfsec, cfn-guard, CDK Nag 2. デプロイパイプラインで “登録前 / 更新前” にカスタム検査を入れる 1. AWS CodePipeline / GitHub Actions / GitLab CI などでブロック 2. RegisterTaskDefinition や UpdateService 実行前に判定 3. AWS の設定評価系サービスで “デプロイ後” に継続監査する 1. AWS Config/ AWS Security Hub / Amazon Inspector / Amazon EventBridge + AWS Lambda で独自評価 4. IAM / SCP / 権限制御で危険な設定変更そのものを抑止する 1. 特定条件を満たさない操作を禁止 2. ただし ECS の設定内容を細かく Admission 的に判定するのは限定的
28 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
④ 環境間のアクセス制御/通信制御 2. EKSだとこうやってますけど、ECSだとどうなります? ◼KubernetesにはNamespace機能があり、論理的な環境を複数作成できる ◼RBACやNetworkpolicyと組合せる事で、環境間のアクセス制御/通信制御を行える ◼この様な制御はECSだとどうなる? Networkpolicyを使った通信制御 RBACを使ったアクセス制御
29 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
④ 環境間のアクセス制御/通信制御 2. EKSだとこうやってますけど、ECSだとどうなります? ◼ ECSだとどうなる?をAIに聞いたら以下の回答でした。これもAWSリソースの組合せで実現ですかね ◼ ECS でも EKS の RBAC / NetworkPolicy に相当する統制は実現できますが、やはり Kubernetes のように「オーケ ストレータ標準機能で namespace を境界に制御する」モデルではありません。 ECS では AWS の IAM / Amazon VPC / Security Group / ECS Service Connect / 複数アカウント構成を組 み合わせて、論理環境間のアクセス制御・通信制御を作ります。 ◼ ECS では次のように考えるのが基本です。 1. EKS namespace の代わり ⚫ ECS cluster/AWS account/VPC/subnet/Service/task IAM role/リソースタグ 2. K8s RBAC の代わり ⚫ IAM/IAM Identity Center/SCP/Permission Boundary 3. K8s NetworkPolicy の代わり ⚫ Security Group/NACL/PrivateLink /VPC Lattice / Service Connect ◼ つまり ECS では、“namespace という論理境界”ではなく、“AWS リソース境界”で分離するのが本質です。
30 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
⑤ EKSバージョンアップ 2. EKSだとこうやってますけど、ECSだとどうなります? ◼EKSはバージョン追従が辛い。。。。。年に1~2回はバージョンアップする必要がある。。。 ◼EKS運用されている方は、どの様に対応されています? ⚫ インラインでバージョンアップしているのか、Blue/Greenで対応しているのか ◼ECSはクラスタのバージョンを意識しなくて良いのは凄いメリットですよね!
31 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
(私なりの) まとめ そこまで大規模でない、プラットフォームチームが 組成できない、であればクラスタのメンテが不要な ECSに軍配がありと思ってます コンテナ数が大量・多種類だと Kubernetes/EKSの機能が活きてくる EKSはプラットフォームチームがクラスタ全体の 制御/統制を効かせやすいと思っています その分、EKSバージョンアップしんどいですね。。。
None