【重点要約】

AWSでのコンテナアーキテクチャとしては、コントロールプレーンをECS、EKS、データプレーンをFargate、EC2の組み合わせから選択し構成する。

ECSではコンテナイメージやリソースを指定したタスク定義からタスクを作成し、1つ以上のタスクからなるサービス、1つ以上のサービス(またはタスク)からなるクラスターの構成。

Well-Architectedフレームワークを考慮し設計・構築する。

 

 

【その他メモ】

・コンテナ…OSとカーネルは共有しプロセスを分離。プロセスごとにリソースが割り当てられ依存関係が含まれる。

      →仮想化と比較し、ゲストOSが不要でありリソースの消費が少ない。

・オーケストレータ…コンテナの配置管理、負荷分散、監視・復旧、デプロイ

・コンテナ運用設計

 イメージのライフサイクル管理・保護

 ビルドからデプロイまでの流れ(AWSのCodeシリーズでCI/CD構築可能)

 オーケストレーションの権限制御、定義管理、セキュリティ設定

・タスクごとにIPv4アドレスが割り当てられる

・Well-Architectedフレームワーク

 運用上の優秀性→メトリクス・トレース・ログの把握、修正の容易さ、デプロイリスクの軽減等

 セキュリティ→Secrets ManagerやARN、環境変数をタスク定義内でマッピングし、コンテナイメージ内のOSの環境変数として認識させる等

 信頼性→FargateでECSサービスを稼働し、ベストエフォートでAZ間の負荷バランスを調整しながらタスク配置等

 パフォーマンス効率→Application Auto Scalingと組み合わせコンテナ起動数を自動調整、必要なメトリクスを収集し適切なサイジングを行う等

 コスト最適化→FargateSpotの利用等