推出 Amazon ECS Gateway:一款适用于 ECS 服务的完全托管的入口解决方案

推出 Amazon ECS Gateway:一款适用于 ECS 服务的完全托管的入口解决方案

💡 原文中文,约3900字,阅读约需10分钟。
📝

内容提要

亚马逊推出ECS Gateway账户级资源,简化ECS容器服务入口联网。平台团队可集中创建网关,统一配置子网、安全组、TLS证书和WAF,并关联多个集群;应用团队只需在服务中添加网关连接器参数,ECS便自动预置证书、DNS主机名、侦听器规则和目标组等资源。网关基于ALB按主机路由,最多25个服务共享一个ALB以降低成本,并自动管理ALB生命周期。该服务已在所有商用AWS区域推出,ECS本身不额外收费,用户仅需为底层资源付费。

🔎

延伸解读

职责分离带来的运维变化

ECS Gateway 把入口联网拆成两层:平台团队集中定义子网、安全组、证书、侦听器和 WAF 等标准,应用团队只需在服务定义中加入网关连接器参数。这意味着应用侧不再需要逐项预置 ALB、证书和路由规则,配置偏差风险随之下降。但前提是平台团队先建好网关并关联集群,否则服务连接不会触发任何基础设施预置。

共享 ALB 的成本与容量边界

网关基于 ALB 做主机路由,最多 25 个服务共享一个 ALB,ECS 会在首个服务连接时创建 ALB、容量用尽时新增、不再需要时移除。这能降低底层资源开销,但 maxAlbCount 默认配额为 10,达到上限且无可用容量时部署会直接失败。因此需要按预期服务数量提前规划该上限,而不是等部署报错后再调整。

兼容条件决定连接是否生效

服务要连上网关,需同时满足访问类型匹配连接器筛选、与服务处于同一 VPC、且网关覆盖服务所用子网的全部可用区。此外网关 ALB 只把流量路由到其拥有子网的可用区中的任务。若集群与网关的可用区集合不一致,部分任务可能无法被路由,建议为同一可用区集合的集群和服务创建对应网关。

渐进迁移与可观测性要点

已有自建负载均衡器的服务可通过 UpdateService 添加网关连接器,两条入口路径并存,便于验证后再移除旧配置。监控上应按 TargetGroup 维度看单服务流量、按 LoadBalancer 维度看共享 ALB 整体流量,并用 describe-target-health 检查目标状态。ECS 本身不额外收费,但 ALB、CloudWatch、ACM 证书和数据传输等底层资源仍会计费。

❓

Q&A

Amazon ECS Gateway 是什么?它主要解决什么问题?

Amazon ECS Gateway 是一种账户级资源,用于简化 ECS 容器服务的入口联网。它通过动态预置和管理必要的基础设施(如 ALB、ACM 证书、安全组等),解决平台团队为每项服务手动配置入口资源导致的部署瓶颈和配置偏差风险。

平台团队和应用程序团队在使用 ECS Gateway 时如何分工?

平台团队集中创建和配置网关,定义子网、安全组、TLS 证书、侦听器设置和 WAF Web ACL 等联网标准,并将网关与一个或多个 ECS 集群关联。应用程序团队只需在创建或更新服务时添加网关连接器参数,ECS 便会自动预置每项服务所需的资源,无需联网专业知识。

ECS Gateway 如何帮助降低基础设施成本?

ECS Gateway 使用 ALB 提供基于主机的路由,支持最多 25 个服务共享一个 ALB,从而优化成本。ECS 管理 ALB 的整个生命周期,在需要时预置,容量达到时添加更多,不再需要时移除。

如何通过 AWS CLI 创建和关联 ECS Gateway?

使用 CreateGateway 命令,指定名称、基础设施角色 ARN 和配置对象(如子网、IP 地址类型、方案等)来创建网关。然后使用 AssociateGatewayWithCluster 命令将网关与一个或多个集群关联。

使用 ECS Gateway 时有哪些重要的注意事项?

注意事项包括:服务必须使用 awsvpc 网络模式,且可用区必须是网关可用区的子集;maxAlbCount 默认配额为 10,达到上限且无可用容量时部署会失败;可通过 CloudWatch 指标和 describe-target-health 监控流量和健康状态。

ECS Gateway 的计费方式是怎样的?

ECS Gateway 本身不额外收费,用户只需为账户中预置的底层基础设施付费,包括 ALB 费用、CloudWatch 日志和指标、ACM 证书以及数据传输费用。

🏷️

标签

➡️

继续阅读