创建AWS ECS集群后无法查看关联的VPC及子网怎么办?
解决ECS集群网络配置无法查看的问题
ECS集群本身不存储VPC和子网的关联信息,这些网络配置实际绑定在集群内的具体资源上:
- 若使用Fargate启动类型的任务/服务,VPC和子网配置在任务定义
networkMode为awsvpc时,由服务创建参数或运行任务的参数指定; - 若使用EC2启动类型,网络配置要么依附于容器实例所属的EC2实例(实例自带的VPC/子网),要么在任务定义的
networkMode对应设置中。
- 若使用Fargate启动类型的任务/服务,VPC和子网配置在任务定义
要获取相关网络配置,可从以下维度操作:
- 查看集群内的服务:执行命令
aws ecs describe-services --cluster foocluster --services <你的服务名>,返回结果的networkConfiguration字段中包含VPC、子网、安全组信息。 - 查看任务定义:执行命令
aws ecs describe-task-definitions --task-definition <你的任务定义名>,如果是awsvpc模式,会显示networkMode字段,具体子网等信息需查看对应服务或任务的运行参数。 - 若为EC2类型集群,查看容器实例:执行命令
aws ecs describe-container-instances --cluster foocluster --container-instances <你的实例ID>,用返回结果里的ec2InstanceId执行aws ec2 describe-instances --instance-ids <EC2实例ID>,即可查看该实例所属的VPC/子网配置。
- 查看集群内的服务:执行命令
补充说明:控制台创建集群时选择VPC和子网,本质是设置后续服务/任务的默认网络模板,这个默认值不会作为集群属性存储,而是在你创建服务时自动填充为默认选项,你可以在控制台创建服务的步骤中看到这些默认配置。
内容的提问来源于stack exchange,提问作者chb
相关产品推荐
相关产品推荐

