AWS コンテナとオーケストレーション

AWSのオーケストレーションサービスについて記載します。

コンテナ・オーケストレーションについて

機能しているコンテナ・デプロイメントはクラスタという。クラスタは 2 つのパーツとして認識できる。コントロールプレーンとデータプレーン(コンピュートマシンのノード)。

コントロールブレーン(コンテナアプリケーションのオートメーション管理)
EKS
(Elastic Kubernetes Service)
ECS
(Elastic Container Service)
データプレーン(コンテナ実行環境)
Forgate EC2

コンテナ・オーケストレーションサービス

環境 概要
ECS/EKS on EC2 ・EC2でのコンテナ・オーケストレーション環境
・トラフックが予測できるワークロードに向いている
・常時起動のため、コールドスタートはない
・GPU、Windowsコンテナも利用可能
・EC2インスタンス単位の課金と管理
ECS/EKS on Fargate

・マネージドなコンテナ・オーケストレーション環境
・サーバレスエンジン
・CPUとメモリ単位の課金と管理
・Lambdaのタイムアウト値(15分)よりも長い処理が可能
・Lambdaのメモリ容量の上限(10GB)よりも多いメモリ使用が可能

Lambda

AWSが用意したバッチサーバのようなサービス。
バッチサーバやジョブ管理システムはシングルポイントになりやすくレガシーシステムでは改善が難しいため有用。

主な特徴
・サーバレス
・イベントトリガーや軽量でステートレスなアプリの実行に適している
・リクエスト数と実行時間(msec)での課金
・最大稼働時間は15分
・使用可能メモリは128MB~10GB

ECR

完全マネージド型のコンテナレジストリで、Open Container Initiative (OCI) 標準とDocker Registry HTTP API V2 をサポート。ECS、EKS と統合されているため、どちらのオーケストレーターでもアプリケーションのコンテナイメージの保存と実行が可能。Docker hubのAWS版と考えて良いのではないかと。
ECRはDocker Hubレポジトリを作成しイメージをプッシュ・プル。ECS、EKSでDockerを起動させる(ECRのイメージからコンテナを起動して運用)。

関連記事

TOP