1. はじめに
こんにちは、すぎもんです
いわゆる「コンテナ版HULFT」であるHULFT10 for Container Servicesを少しずつ触っております。
HULFT10 for Container ServicesでAWS上にコンテナを利用したソフトウェアの設定を行う際にはEC2版とFargate版のいずれかを選択することができます。この記事では、それぞれの特徴と、どちらを選択すべきかの指針となる情報を考察してみます。
2. EC2版とFargate版の特徴
EC2版
-
EC2版は実行エンジンのスペック(CPU、メモリ、ネットワーク等)の最適化が可能です。具体的には、アプリケーションのニーズに応じて、インスタンスの種類やサイズを自由に選択できるため、リソースの効率的な利用が可能です。これにより、高パフォーマンスが求められるワークロードに対しても柔軟に対応できます。加えて、手動によるチューニングが可能なため、特定の要件に合わせた微調整が行いやすい点が魅力。
-
ストレージはEFS、S3の両方を利用できます。EFS(Elastic File System)は、スケーラブルなファイルストレージサービスであり、EC2インスタンス間でファイルを共有するのに適しています。これにより、データの一貫性や可用性を高めることができます。一方、S3(Simple Storage Service)はオブジェクトストレージサービスで、大量のデータを安価に保存するのに適しています。これらを組み合わせることで、多様なストレージニーズに対応できます。
EC2版特徴のまとめ
CPU、メモリ、ネットワーク等の最適化が可能。
手動によるチューニングが可能で特定の要件に合わせた微調整が行いやすい。
ストレージはEFS、S3の両方を利用できる。
Fargate版
- Fargateはサーバレスで、OSセキュリティパッチなどのメンテナンスが不要(オートマチック)です。サーバーレスアーキテクチャのため、インフラ管理の手間が省け、アプリケーションの開発と運用に集中できます。また、AWSが自動でセキュリティパッチを適用してくれるため、セキュリティリスクの低減にも寄与します。
- FargateはAuto Scaling機能が使えます。これにより、負荷に応じて自動的にリソースを拡張・縮小できるため、スケーラビリティとコスト効率の両立が可能です。負荷が高まったときには迅速に対応し、不要なリソースを確保することなくコストを最小限に抑えることができます。
- FargateではS3のみを利用できます。
Fargate版特徴のまとめ
OSセキュリティパッチなどのメンテナンスが不要。
Auto Scaling対応。負荷に応じて自動的にリソースを拡張・縮小できる
ストレージはS3を利用できる。
表にしてみました。
特徴 | EC2 | Fargate |
---|---|---|
実行エンジンのスペック | マニュアル最適化が可能。 | サーバレスで、OSセキュリティパッチ等のメンテナンスが不要。 |
ストレージオプション | EFS、S3の両方を利用可能。 | S3のみ利用可能。 |
スケーリング | 手動またはスクリプトによるスケーリング。 | Auto Scaling機能が利用可能。負荷に応じて自動的にリソースを拡張・縮小。 |
3. EC2版とFargate版の価格の違い
AWSコスト見積ツールを使用して、EC2版とFargate版のコストを比較することができますが、一般的に、Fargateの方が単価が高い傾向にはあります。Fargateはメンテナンスフリーの付加価値・セキュリティリスクの低減を提供するため、価格差がどれだけのメリットをもたらすかを評価することになるかと想定します。
AWSでEC2と同程度の性能をFargateで出したい場合のコスト例
例えば、t3.mediumインスタンスと同等のFargate設定を考えた場合、Fargateの使用料はEC2インスタンスの使用料よりも約20~30%程度高くなることがありました。
4. EC2版とFargate版の長所
EC2版とFargate版の特徴と違いを選択の基準ごとに整理すると、以下のようになります。
EC2を選択するケース:
- システムを最適化したい(マニュアルチューニングが可能な状態)
- 高パフォーマンスが求められるワークロードに対応
- EFSとS3の両方を利用したい
Fargateを選択するケース:
- システム管理をAWSに任せたい(簡単・お任せモード)
- メンテナンスの手間を省きたい(運用負荷減)
- 自動スケーリングが必要
選択の基準 | EC2版を選択するケース | Fargate版を選択するケース |
---|---|---|
システムの最適化 | システムを最適化したい(マニュアルチューニングが可能な状態) | システム管理をAWSに任せたい |
性能重視 | 高パフォーマンスが求められるワークロードに対応 | |
運用負荷軽減重視 | メンテナンスの手間を省きたい(運用負荷減) | |
通信量の変化に対応 | 自動スケーリング対応 | |
ストレージ | EFSを利用したい |
システムのニーズや運用ポリシーに応じて選択するとよさそうです。EC2は柔軟性とカスタマイズ性を重視する場合に、Fargateは簡便さと運用効率を重視する場合に適しています。
昨今の傾向からすると価格が下がったことで運用費用対効果の出たFargeteが選定されることは多いようです。
最後に
いかがでしたでしょうか。
実行インスタンス選択も、HULFTがコンテナ対応したことで得られるメリットの一つだと思います。
皆さんもHULFT 10 for Container Servicesならではの運用負荷軽減やスケーリングを計画してみてはいかがでしょうか。
このブログでは、今後も様々なTopics記事や接続検証等、皆さんの参考になるような記事を投稿していきたいと思います!
ここまで読んでいただきありがとうございました。それでは、また!