とりあえず、AWSにどんなサービスがあるのか改めて確認してみている。 途中までかいて力尽きたので後日更新する予定です。
コンピューティング
EC2 (Amazon Elastic Compute Cloud (Amazon EC2)
AWSが提供する仮想サーバ。
ELB (Elastic Load Balancing)
AWS上で利用できる負荷分散サービス。トラフィックを複数のターゲット(EC2、Lambda、コンテナ)に自動的に分散する事ができる。
ELBはAWSが提供する負荷分散サービスの総称で、負荷分散のサービスは3種類ある。
- Application Load Balancer (ALB)
- Network Load Balancer (NLB)
- Classic Load Balancer (CLB)
Elastic Beanstalk (AWS Elastic Beanstalk)
AWSが提供する、PaaS (Platform as a Service)型のサービス。
詳細は要確認。
Lambda (AWS Lambda)
サーバレスアーキテクチャ型のアプリケーション実行基盤を提供するFaaS (Functions as a Service)サービス。
アプリケーションコードをLambdaにデプロイするだけで、アプリケーション実行環境が構築できる。Lamdbaでは、関数を実行している時間のみ課金される。
特定のイベントをトリガーにして、短時間の処理が実行するようなケースに適している。
※めちゃくちゃ処理に時間がかかるようなバッチなどの実行には向いていない
AWS Batch
バッチ処理を行うためのサービス。
一般的な、定型処理をジョブスケジューラーによって実行していく「夜間バッチ」のような用途ではなく、膨大な量のコンピューティングリソースを、コンテナ型のアプリケーション実行環境で並列実行するための仕組みを提供するサービス。
大規模な科学計算やシミュレーションなどの用途で利用される。
ECS (Amazon Elastic Container Service (Amazon ECS)
コンテナ型のアプリケーションを実行する、コンテナオーケストレーションサービス。
EKS (Amazon Elastic Kubernetes Service (Amazon EKS)
ECSと同様にコンテナオーケストレーションサービス。
ECSとの大きな違いは、コンテナオーケストレーションのエンジンにKubernetes(K8S)を採用している点である。
Fargate (AWS Fargate)
コンテナ用のクラスタを構築し、コンテナを実行するためのコンピューティングリソース。
ECS、EKSの両方で利用可能。
コンテナ用のクラスタはEC2でも構築できるが、Fargate自体のパッチ適用や、ウィルス対策などホストレベルでのセキュリティ対策はAWSによって実施されるため、ユーザーはホストレベルでは運用を意識する必要がない。