AWS Fargateの運用ノウハウ
株式会社カンリー / 井上慶人
EM / EM / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
| ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
|---|---|---|
| 51名〜100名 | 2022年5月 | B to B |
| ツールの利用規模 | 51名〜100名 |
|---|---|
| ツールの利用開始時期 | 2022年5月 |
| 事業形態 | B to B |
アーキテクチャ

導入の背景・解決したかった問題
導入背景
ツール導入前の課題
EC2,EKSにてワークロードを構築していましたが、両者ともに運用コストが高く負担になっていました。 特に以下のような運用作業が継続的に発生していました。
- OSのセキュリティパッチ適用
- AMI更新やノード更新
- Kubernetesクラスタやノードグループの管理
- 障害時のノードレベルのトラブルシュート
これらの運用はアプリケーション開発とは直接関係がなく、インフラ運用に関する認知負荷が高い状態になっていました。 今後の事業拡大を見据えた際に、より運用負担を軽減できるマネージドサービスでアプリケーション構築をしていきたいと考えていました。 また今後ソフトウェアエンジニアが運用していくうえで、インフラレイヤーの理解コストを可能な限り下げる必要があるという課題もありました。
どのような状態を目指していたか
マネージドサービスの利用で運用コストを削減できること。 OSやホストレベルのセキュリティ対応を極力減らすこと。 スケーリングが容易で、可用性をコントロールしやすいこと。 従量課金だけではなく、ARMアーキテクチャやSpotを活用することでコスト最適化が可能であること。 ソフトウェアエンジニアが理解しやすく、運用時の認知負荷を最小化できること。
比較検討したサービス
- EC2
- EKS
- ECS on EC2
比較した軸
- 運用コストが低減できること
- ソフトウェアエンジニアにとって学習コストが低いこと
- システム利用料がコントロールしやすいこと
- デプロイでサービスダウンしない仕組みが作れること
- スケーリングを柔軟に設定できるなど、可用性に対してある程度コントロールできること
- セキュリティ運用(パッチ管理など)の負担が低いこと
選定理由
【EC2との比較】
OSの管理が不要で運用負荷が軽減できること。 セキュリティの対応が簡素化でき、認知負荷が減ること。 運用の仕方によってコスト削減が見込めること。
【EKSとの比較】
OSの管理が不要で運用負荷が軽減できること。 学習コストが低い。 サービスメッシュや複雑なマイクロサービス制御などの要件が検討当時は不要であったこと。
導入の成果
改善したかった課題はどれくらい解決されたか
概ね解消されました。 特に以下の点で効果を感じています。
- OS管理が不要になった
- セキュリティアップデート対応が減った
- インフラ運用の認知負荷が減少した
結果として、アプリケーション開発に集中できる時間が増えました。
どのような成果が得られたか
Terraformでモジュール化して必要なパラメータを入力するだけで簡単にデプロイできるようになりました。
これにより
- 新規サービスの立ち上げ
- 検証環境の作成
などが非常に簡単になりました。
また、インフラ構成を再利用可能なモジュールとして整理したことで、
- インフラ構築の標準化
- 再現性の向上
といった副次的なメリットも得られました。
導入時の苦労・悩み
タスク定義をどこで管理するかについてはアプリケーション側リポジトリにて管理し、デプロイと一緒に更新することとしました。ライフサイクル上アプリケーション側の都合が大きく、インフラ側(Terraform)で管理すると運用負荷が高まるからです。
また、Spot利用する時は予期しないタイミングでシャットダウンが発生します。そのためシャットダウンシグナルをイベントとして検知、通知することで状況を把握できるように設定しました。
Spotと絡む話だとALBと併せて利用する場合に、ターゲットグループのderegistration_delayを考慮することで安全にシャットダウンできるよう工夫しました。
導入に向けた社内への説明
上長・チームへの説明
現状の課題としてEC2,EKSの運用コスト(特にセキュリティまわりのアップデートなど)が高く、開発工数が逼迫、もしくは、実行されないケースが発生していました。 なるべく運用負担を軽減し、アプリケーション開発に集中してもらうアーキテクチャへの変換としてFargateを提案しました。 費用対効果として運用工数の削減、また、Fargate自体の運用コストも削減できる術がいくつかある点を説明しました。
活用方法
よく使う機能
- サイドカーとしてFluent BitとDatadog Agent
- アーキテクチャはx86_64ではなく、ARM64
- ExecuteCommandAgentを使えるようにし、踏み台としても使えるECSを生み出した
- Fargate Spot
- Public ECRからpullするときにはPull Through CacheとVPC Endpointを組み合わせる
これにより
- observability
- セキュリティ
- コスト最適化
をバランス良く実現しています。
ツールの良い点
- 関心事のほとんどがアプリケーションになり、開発に集中できる時間が多くなる
- ナレッジがインターネット上にも多い
ツールの課題点
- コスト効率の観点ではEKSやECS on EC2で運用するほうがメリットが出る可能性がある
- ノードレベルの細かいチューニングができない
- Fargateのリソースサイズに制約がある
ツールを検討されている方へ
運用コストの削減という観点では、大きくメリットがあるかと思います。
今後の展望
インフラとしてのコスト効率を高めるなら、EKSやECS on EC2などに移す可能性はあります。
株式会社カンリー / 井上慶人
EM / EM / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
よく見られているレビュー
株式会社カンリー / 井上慶人
EM / EM / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法

