
ECS(Elastic Container Service)は、AWSが提供するマネージド型のコンテナオーケストレーションサービスです。
シンプルなタスク/サービスモデルで構成されており、ALB(Application Load Balancer)、Service Auto Scaling(サービスオートスケーリング)、および Code 系サービス(CodePipeline/CodeBuild/CodeDeploy/CodeCommit) と統合して動作します。
ECSの起動タイプには EC2 と Fargate があり、用途に応じて柔軟に選択できます。コントロールプレーンはAWSがマネージドし、タスクのスケジューリングやサービス管理を自動化します。一方、データプレーンとしては、ユーザーが EC2 インスタンスまたはサーバーレスな Fargate を選択してコンテナを実行します。
ECSの構成は階層的になっており、最上位に サービスがあり、その中で複数の タスクが実行されます。各タスクは タスク定義に基づいて構成され、使用するコンテナイメージ、CPU/メモリ、環境変数、ボリューム設定などが定義されています。サービスはタスクの数や実行状態を管理し、負荷分散やスケーリングを自動的に制御します。
Service Discovery(サービスディスカバリ) を利用することで、マイクロサービス間の名前解決や通信を自動化できます。
Capacity Providers(キャパシティープロバイダー)によって、EC2およびFargateの両方を組み合わせた柔軟なリソース運用が可能です。
Circuit Breaker(サーキットブレーカー)機能を活用すれば、デプロイ時に異常が発生した場合でも自動的にロールバックされ、安全に更新を行うことができます。
App Mesh と連携することで、サービス間通信の可視化やトラフィック制御も容易になります。
重要用語
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |