SAA / ドメイン3 高パフォーマンスなアーキテクチャの設計

Amazon ECS (Elastic Container Service)

は、化したアプリケーションをデプロイ、実行、スケーリングするAWSネイティブのコンテナサービスです。

SAA では、Kubernetes互換性が不要で、AWSサービスと深く統合した運用を簡素化したい場合に選びます。


概要

タスク定義にイメージ、、メモリ、ポート、などを記述します。タスクを一時処理として実行するか、サービスで指定数を維持します。


主要技術

①クラスター、タスク、サービス

要素役割
クラスタータスクやサービスを配置する論理グループです。
タスク定義実行設定のテンプレートです。
タスクタスク定義の実行単位です。
サービス必要数のタスクを継続維持します。

②EC2とFargate ⚠️ 頻出

起動タイプではインスタンスのサイズ、パッチ、容量を管理します。ではタスク単位でとメモリを指定し、ホストを管理しません。


③高可用性とロードバランシング

サービスのタスクを複数へ分散し、やへ登録します。タスクが異常終了するとサービススケジューラーが置き換えます。Service で需要に応じてタスク数を変更できます。

起動タイプのbridgeネットワークモードでホストポートを固定すると、同じポートは1台のEC2で1つのタスクしか使えないため、1台に1タスクしか置けなくなります。ホストポートを0にした動的ポートマッピングにすると、タスクごとに空いているポートが割り当てられ、ALBのがそのポートでタスクを登録します。awsvpcネットワークモードでは各タスクが専用のとを持つため、ポートが衝突せず、ターゲットタイプipで登録します (1台に置けるタスク数はENIの上限に左右されます)。


④IAMロールと状態分離

タスクロールで各アプリケーションへを付けます。タスクは交換可能な設計とし、状態は、、、などへ外出しします。


⑤タスク数とEC2台数の伸縮

では、伸縮させる対象ごとに仕組みが分かれます。

対象仕組み判断ポイント
サービスのタスク数 (DesiredCount)Application (Service Auto Scaling)使用率などの目標値に合わせてタスク数を増減します。
タスクを載せるの台数Auto Scalingグループのキャパシティープロバイダーのマネージドスケーリング配置待ちのタスクも含めた必要量 (CapacityProviderReservation) からASGの台数を増減します。

インスタンスのCPU使用率でASGを伸縮させても、配置できずに待っているタスクは映らないため、EC2不足でタスクが置けない状態は解消しにくくなります。


試験対策

要件選択
AWSネイティブな管理
Kubernetes とエコシステム
ホスト管理を避けるECS on
特殊なや詳細なホスト制御ECS on EC2

ECSサービスは必要タスク数を維持しますが、データの永続化を保証するものではありません。


参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください