AWS EC2实例创建失败提示安全组与子网属于不同网络问题排查
问题原因
Security group sg-0ca713960ef97b70b and subnet subnet-0fb1a03979897974d belong to different networks. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameter; Request ID: 5f03e0f1-fc1b-4ab4-8bef-0d71a1756212; Proxy: null)
该报错是因为安全组和EC2实例部署的子网不属于同一个VPC,你的模板存在配置缺失:
- 你定义的两个安全组
ForensicSecurityGroup、IsolatedSecurityGroup都明确绑定了入参传入的VpcId - 但
AWS::EC2::Instance资源的配置项中未指定SubnetId,AWS默认会选择账户默认VPC下的子网部署实例,当你传入的VpcId不是默认VPC ID时,就会出现跨VPC不匹配的问题。
修复步骤
- 在模板的
Parameters块新增子网入参,确保选择的子网属于你传入的VPC:
Parameters: # 原有其他参数保持不变 SubnetId: Type: AWS::EC2::Subnet::Id Description: 选择目标VPC下的可用子网用于部署取证EC2实例
- 在
ForensicInstance的Properties块中新增SubnetId配置,引用上面的参数:
Resources: ForensicInstance: Type: AWS::EC2::Instance Properties: # 原有其他配置保持不变 SubnetId: !Ref SubnetId
额外注意事项
- 部署时CloudFormation的参数选择界面会自动过滤对应VPC下的子网,不会出现选错子网的问题
- 模板中给实例角色绑定的
AmazonEC2FullAccess权限过大,生产环境建议按需缩小权限范围
内容的提问来源于stack exchange,提问作者abhinav singh
相关产品推荐
相关产品推荐

