Elastic Beanstalk から Amazon ECS(Fargate)へインフラ移行
株式会社助太刀 / 市川俊太
開発部長 / バックエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|
10名以下 | 2023年11月 | B to B B to C |
ツールの利用規模 | 10名以下 |
---|---|
ツールの利用開始時期 | 2023年11月 |
事業形態 | B to B B to C |
アーキテクチャ
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
弊社で管理するメインサービスのAPIサーバは、サービスイン当初からElasticBeanstalkで運用しておりました。サービスが成長するにつれて、ElasticBeanstalkで運用する上で、いくつかの課題が浮かび上がってきました。主に、以下のような課題がありました。
- プラットフォームの更新が手間
- 新しいバージョンのプラットフォーム、ランタイムを利用する際、基本的に0からの新規構築が必要で、簡単にバージョンアップができない。
- ランタイムに関するバージョン更新の遅延
- ElasticBeanstalkはプラットフォームの更新が遅く最新のPHPランタイムなどが利用できない。
- デプロイの遅延
- ElasticBeanstalkはデプロイ時にEC2インスタンスを新たに立ち上げ、古いインスタンスを削除するため、デプロイに時間がかかる。
- スケーリングの遅延
- ElasticBeanstalkはスケーリング時にEC2インスタンスを新たに立ち上げるため、スケーリングに時間がかかる。
- スケーリングの粒度
- ElasticBeanstalkはスケーリングの粒度がEC2インスタンス単位であるため、スケーリングの際に無駄なリソースを立ち上げることがある。
どのような状態を目指していたか
弊社、開発チームメンバのスキルセットとしては、アプリケーション開発がメインであるため、以下を念頭に選定しました。
- シンプルなインフラ構成であること
- インフラの運用コストを抑えること
比較検討したサービス
- Amazon ECS(EC2)
- Amazon EKS(Elastic Kubernetes Service)
比較した軸
- Amazon ECS(EC2)との比較
Amazon ECS(EC2) は、ECSを使用してコンテナを管理し、EC2インスタンス上でコンテナを実行するサービスです。そのため、EC2インスタンスの管理が必要となります。一方、Fargateを使用する場合、EC2 インスタンスの管理は不要です。このことから、Fargateの方が運用コストが低いと考え、Fargateを採用しました。
- Amazon EKS(Elastic Kubernetes Service)との比較
AWS Fargate 同様、EKSもコンテナオーケストレーションサービスですが、EKSはKubernetesをベースとしているため、EKS の運用にはKubernetesの知識が必要です。弊社の開発チームメンバのスキルセットとしては、Kubernetesの知識が浅いため、EKSの導入は避けることとしました。
以上のことから、ECS + Fargate を採用することにしました。
導入の成果
ECSに移行したことでプラットフォームの更新が容易になり、PHPやLaravelのバージョンアップも負荷なく行えるようになりました。また、デプロイ速度の向上によりリリース時間を短縮でき、開発チームの生産性向上に寄与しています。
導入に向けた社内への説明
上長・チームへの説明
Elastic Beanstalk 上で利用していたPHPランタイムのEOLに伴い移行が必要となったため、この機会にコンテナ化してECSへ移行する方針を取りました。将来的な保守性や標準化の観点で ECS が有利であることを説明。コスト面ではAmazon ECS(EC2)が割安ですが、運用効率を考えるとAWS Fargateの方が適している、という整理も行いました。
活用方法
よく使う機能
コンテナオーケストレーション
ツールの良い点
- トラフィックに応じたリソース調整が容易
ツールの課題点
- Amazon ECSならではの設定項目を理解するのに学習コストがかかる点
今後の展望
ECSが標準でBlue/Green デプロイメントに対応したため、CodeDeployを利用せずとも安全なリリース戦略を実現できるようになりました。今後はこの機能を試していきたいと考えています。
株式会社助太刀 / 市川俊太
開発部長 / バックエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
1987年生まれ。東京都在住。CS専攻大学院卒業後、2年間フリーターとして活動(バンド活動)。 2015年からWebシステム関連の制作会社にてソフトウェアエンジニアとしてのキャリアをスタート。 その後、複数のスタートアップ企業にてソフトウェアエンジニアとして従事。2022年2月に株式会社助太刀に入社。 https://www.ichikawa.me/
よく見られているレビュー
株式会社助太刀 / 市川俊太
開発部長 / バックエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
1987年生まれ。東京都在住。CS専攻大...
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法