2.2 コンピュート

AWS Compute Services

AWSのコンピュートサービスは、仮想サーバー(EC2)からサーバーレス(Lambda)、コンテナ(ECS/EKS)まで多様な選択肢を提供する。ワークロードの特性に応じた適切な選択が重要である。

EC2(Elastic Compute Cloud)

EC2インスタンスの構成

図1: EC2インスタンスの構成要素

インスタンスファミリー 用途
汎用(M, T) バランス型、Webサーバー t3.medium, m6i.large
コンピュート最適化(C) CPU集約型、バッチ処理 c6i.xlarge
メモリ最適化(R, X) インメモリDB、キャッシュ r6i.large
GPU(P, G) 機械学習、グラフィック p4d.24xlarge

Lambda(サーバーレス)

Lambda実行モデル

図2: Lambda実行モデル

Lambdaはイベント駆動型のサーバーレスコンピューティングサービスである。コードをアップロードするだけで実行環境が自動的にプロビジョニングされ、リクエストに応じてスケールする [1]。

Lambda vs EC2の選択基準
Lambda: 短時間処理、イベント駆動、変動負荷
EC2: 長時間処理、常時稼働、カスタム環境必要

コンテナサービス

AWSコンテナサービス比較

図3: AWSコンテナサービスの選択肢

サービス 特徴 選択基準
ECS + EC2 AWS独自、フル制御 AWS中心、コスト最適化
ECS + Fargate AWS独自、サーバーレス 運用負荷軽減、変動負荷
EKS + EC2 K8s互換、フル制御 K8sスキル活用、移植性
EKS + Fargate K8s互換、サーバーレス K8s + 運用負荷軽減
出典
[1] AWS. AWS Lambda Documentation. https://docs.aws.amazon.com/lambda/
[2] AWS. Amazon EC2 Instance Types. https://aws.amazon.com/ec2/instance-types/
発展学習
→ EC2 Auto Scaling
→ Lambda Best Practices