カミナシが EC2 から AWS Fargate に移行した当時の背景と現在の活用状況
レビュー投稿日の情報になります
株式会社カミナシ / Taku
メンバー / フルスタックエンジニア / 従業員規模: 101名〜300名
最終更新日投稿日
ツールの利用開始時期 | 事業形態 |
---|---|
2020年11月 | B to B |
ツールの利用開始時期 | 2020年11月 |
---|---|
事業形態 | B to B |
アーキテクチャ

アーキテクチャの意図・工夫
- API サーバーのコンテナの実行環境に AWS Fargate を利用し、大きなメンテナンスコストなしに柔軟なサーバーの更新やスケーリングができるようにしている
- サイドカーパターンを採用し、タスク内の責務を分散するために複数コンテナを立ち上げることで、一つひとつのユニットの単位を最小限に保つようにしている
- 具体的には、APIサーバー(メイン)の他に、以下の責務を個別のサイドカーコンテナに分割している
- Datadog Agent
- ログ収集機能
- AppConfig との連携
- 具体的には、APIサーバー(メイン)の他に、以下の責務を個別のサイドカーコンテナに分割している
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
EC2 + ELBの冗長化構成を取っていましたが、以下の課題がありました。
- デプロイを EC2 へ直接 scp でバイナリコピーで行っていた
- CI上でバイナリをデプロイするタイミングで一時的なダウンタイムが発生してしまう
- EC2内のミドルウェア(fluentd, systemdなど)がブラックボックス化
- 外部サービスとの連携の難易度の高さ、インフラ変更の難しさ
どのような状態を目指していたか
カミナシでは、当時から現在に至るまでインフラ専任のチームが不在です。
そのため、インフラの管理コスト増大を避け、サービスチームがアプリケーション開発に注力できるよう、運用コストの最小化を図る必要がありました。
具体的には、インフラの複雑性を下げ、EC2やOSレイヤーの管理といった間接的な運用をプラットフォーム側にアウトソースできる状態を目指しました。
比較検討したサービス
導入の成果
改善したかった課題はどれくらい解決されたか
ホストのアップグレードやパッチ適用を AWS 側に任せることが可能になり、インフラの管理コストを削減できるようになりました。
どのような成果が得られたか
サービスの拡大やユーザーの利用状況に応じて、サーバーの台数やサイズの変更が容易になりました。
その結果、現在まで大きなアーキテクチャの変更を行うことなくサービスを提供し続けられています。
また AWS Fargate はコストの見積もりや管理がしやすく、Savings Plans の適用によるコスト減も行うことができるようになりました。
導入に向けた社内への説明
上長・チームへの説明
不明
活用方法
主にサービスのAPIサーバーとして利用しています。
よく使う機能
- Docker コンテナの実行・スケールアウト/イン
- サイドカーによるログの送信
- サービス無停止でのデプロイ
ツールの良い点
- サーバーレスでコンテナを実行でき、スケーリングが容易
- AWS マネージドなサービスであるため、メンテナンスがほとんど必要ない
- ホストのアップグレード、パッチ適用が対応不要
- EC2と比べて必要なリソース量を細かく定義・割り当て可能なため、タスク単位でCPU/メモリリソースを最大限に活用できる
- AWS Batch と組み合わせることで、マーネージドなバッチ環境を作れる
ツールの課題点
- 開発・サービス提供面
- Web アプリケーションを作る上では特に課題を感じてません
- コスト面
- Task の数を0にできないため、開発環境などの利用が少ない環境でもコストが一定かかる
- タスクが中断しても問題ない環境であれば、 Fargate Spot を利用することでコスト減は可能
- Task の数を0にできないため、開発環境などの利用が少ない環境でもコストが一定かかる
株式会社カミナシ / Taku
メンバー / フルスタックエンジニア / 従業員規模: 101名〜300名
よく見られているレビュー
株式会社カミナシ / Taku
メンバー / フルスタックエンジニア / 従業員規模: 101名〜300名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法