40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
---
|
||
title: "ECS Module"
|
||
type: concept
|
||
tags:
|
||
- ECS
|
||
- Terraform
|
||
- IaC
|
||
- Modules
|
||
sources:
|
||
- learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi
|
||
last_updated: 2023-08-08
|
||
---
|
||
|
||
## Definition
|
||
ECS Module 是 CTP/SRE 团队基于 Gruntwork 仓库构建的 Terraform 模块,用于在 AWS 上自动化部署和管理 ECS(Elastic Container Service)容器化应用。
|
||
|
||
## Core Features
|
||
- **Docker 容器化**:将应用封装为 Docker 容器作为逻辑部署单元
|
||
- **多部署模式**:支持 EC2 实例部署
|
||
- **自动扩缩容(Auto-Scaling)**:根据负载动态调整容器实例数量
|
||
- **自动故障恢复(Auto-Healing)**:自动重启失败的容器任务
|
||
- **金丝雀部署(Canary Deployment)**:支持渐进式流量切换
|
||
- **集中管理**:通过 Listener 方式统一管理各产品团队的 ECS 部署
|
||
|
||
## Architecture
|
||
- 基于 Gruntwork terraform-aws-ecs 模块
|
||
- 使用 VPC、ELB 安全组、EFS 卷作为前置条件
|
||
- 支持 YAML/JSON 配置传递
|
||
- 集成 CloudWatch、Splunk、Grafana、Prometheus 监控
|
||
|
||
## Listener Approach(集中管理)
|
||
避免各产品团队直接下载 Gruntwork 模板并本地使用导致的碎片化问题,改为统一通过 Listener 机制集中管理和更新 ECS 配置。
|
||
|
||
## Connections
|
||
- [[Gruntwork]] ← based_on ← ECS Module(技术基础来源)
|
||
- [[ECS]] ← manages ← ECS Module(AWS ECS 服务层面)
|
||
- [[Canary-Deployment]] ← included_in ← ECS Module
|
||
- [[Cloud-Transformation-Programme]] ← implements ← ECS Module(CTP 核心产出)
|
||
- [[Terraform]] ← tool ← ECS Module(模块实现工具)
|