Amazon ECS
Document
Black Belt
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amazon ECS)
202108 AWS Black Belt Online Seminar Amazon ECS 入門
containers-roadmap
【AWS Black Belt Online Seminar】Amazon CloudWatch Container Insights で始めるコンテナモニタリング入門
PDF
AWS Black Belt Online Seminar Amazon ECS Deep Dive
PDF
ベストプラクティス-セキュリティ
Amazon Elastic Container Service のベストプラクティスガイド
独自 AMI などで EC2 を起動させる場合
Amazon ECS コンテナインスタンスの起動
UserData を利用する
Fargete Spot の利用
サービス
サービスの更新
サービススケジューラは、最小ヘルス率と最大ヘルス率のパラメータ (サービスのデプロイ設定) を使用して、デプロイ戦略を判断します。
タスク定義
タスクサイズ
メモリ
memoryReservation
ソフト制限
memory
ハード制限
注意事項
awsvpc ネットワークモードでの ENI 上限制約
note
ログドライバー
awslogs
機密情報
AWS System Manager のパラメータストアの利用
AWS Secrets Manager シークレット
table:ネットワークモード
none 外部と接続しない
bridge Docker の組み込み仮想ネットワークを使用して外部ネットワークと通信
host Docker の組み込み仮想ネットワークをバイパスし、コンテナがホスト EC2 インスタンスの NIC に直接マッピング
awsvpc ECS 管理下の ENI がタスクにアタッチされる
セキュリティグループを ENI に設定できる
タスク配置戦略
サービススケジューラ戦略
レプリカ
クラスタ全体で必要数のタスクを維持
通常のアプリケーションはこっち
デーモン
コンテナインスタンスごとに 1 つのタスクをデプロイ
ログやモニタリングなどに利用
キャパシティプロバイダ戦略
タスク配置先の柔軟なコントロールを実施
60 % はオンデマンド、残りはスポット等
Base
最初起動数
Weight
比率
監視
Amazon ECS のイベント
Amazon EventBridge => AWS Lambda => Slack, PagerDuty
接続性監視
DescribeContainerInstances API の agentConnected
バックアップ
設定の保存
クラスター情報の表示
code:shell
$ aws ecs describe-clusters --clusters "hoge"
サービス詳細情報表示
code:shell
$ aws ecs describe-services --cluster "arn:xxxxx" --services "arn:xxxxx"
定義詳細
code:shell
$ aws ecs describe-task-definition --task-definition "arn:xxxxx"
#AWS