【AWS】コンピューティングサービスの選択フローチャート

AWSでアプリケーションを実行するとき、選択肢が多く何のサービスを使えば良いか迷うシーンが多々あります。
以前Azureのコンピューティングサービスを選択するときに参照したフローチャートがわかりやすかったので、AWSでも同様の選択ができるようなフローチャートを作ってみました。

参考: Azure コンピューティング サービスを選択する

誤記やより良い選択肢があればコメントいただけるとありがたいです。

選択フロー

説明

Amazon EC2

ソフトウェアライセンスによるハードウェア構成の制約がある場合や、パッケージの都合で複数のソフトウェアが同居する制約があるアプリケーションで使用します。
サーバ構成に制約があるレガシーアプリケーションの場合も同様です。

AWS Batch

実行時間が長く、大量のデータを処理したり、複数ジョブの制御が必要なバッチアプリケーションで使用します。

AWS Lambda

実行時間が短く、軽量なアプリケーションの場合に選択します。他のAWSサービスと組み合わせて、イベント駆動で実行します。

AWS Amplify Hosting

Webフレームワークが対応しているフロントエンドアプリケーションのホスティングに使用します。
エッジロケーションでサーバサイドレンダリング処理を行うアプリケーションにも最適です。

AWS App Runner

コンテナ化したアプリケーションをシンプルにホスティングしたい場合に使用します。
App Runnerのサービス仕様では要件を満たせない場合は後述のコンテナオーケストレーションの選択肢へ進みます。

Amazon ECS

Kubernetesマニフェストによるコンテナオーケストレーションが不要な場合はECSを選択します。
サービス構成が複雑で、クラスター内外通信インフラやCronJob、Jobを一元的にマニフェストで管理したい場合は後述のKubernets系サービスの選択肢に進みます。

アンマネージドKubernetes

コントロールプレーン、データプレーンともに自前で管理したい場合は、EC2インスタンス上にKubernetesクラスタを構築します。
既に別システムでKubernetesを使用している場合は、それに合わせたディストリビューションを選択します。

VMware Cloud with Tanzu Services

VMware SDDC環境の既存システムがありハイブリッド構成を組みたい場合は、VMware Cloud on AWSの機能であるVMware Cloud with Tanzu Servicesを選択します。

Red Hat OpenShift Service on AWS (ROSA)

Red Hat OpenShiftを使用した既存システムとハイブリッド構成を組みたい場合は、Red Hat OpenShift Service on AWS (ROSA) を選択します。

Amazon Elastic Kubernetes Service (EKS)

Kubernetesが必要かつ前述のどの選択肢にも当てはまらない場合は、Amazon Elastic Kubernetes Service (EKS)を選択します。

参考文献

Amazon EC2
AWS Lambda
AWS Batch
AWS App Runner
Amazon ECS
VMware Cloud on AWS
AWS での Red Hat OpenShift
Amazon Elastic Kubernetes Service (EKS)
VMware Cloud with Tanzu Services とは?
AWS Batch, Lambda, ECS Task 比較:バッチやジョブにはどれを使う?
AWS EKSとECSの比較と選択基準

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です