You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CloudFormation安全组typeNameList约束错误排查请求

解决AWS CloudFormation SecurityGroup相关的typeNameList约束错误

错误原因分析

从报错信息可以看到,typeNameList中包含了非法的资源类型AWS::EC2::SecurityGroup::Id,违反了CloudFormation资源类型的正则约束[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}。AWS::EC2::SecurityGroup::Id是参数类型,仅能用于Parameters块定义参数,不能作为Resources里的资源类型。

错误定位与修复步骤

1. 修正SSHSecurityGroup的资源类型

模板中SSHSecurityGroup错误使用参数类型作为资源Type,需改为合法的资源类型AWS::EC2::SecurityGroup:

原错误代码:

SSHSecurityGroup:
  Type: AWS::EC2::SecurityGroup::Id
  Properties:
    VpcId: !Ref VPC
    GroupDescription: Security group egress
    SecurityGroupEgress:
      - CidrIp: 127.0.0.1/32
        IpProtocol: "-1"

修复后:

SSHSecurityGroup:
  Type: AWS::EC2::SecurityGroup
  Properties:
    VpcId: !Ref VPC
    GroupDescription: Security group egress
    SecurityGroupEgress:
      - CidrIp: 127.0.0.1/32
        IpProtocol: "-1"

2. 移除重复的S3Bucket定义

模板中重复定义了两次S3Bucket资源,保留带BucketName配置的版本即可,删除无Properties的重复项:

# 删除该行
S3Bucket:
  Type: 'AWS::S3::Bucket'

3. 清理S3BucketPolicy的无效属性

S3BucketPolicy不支持SecurityGroupIds和KeyName属性,需删除这两个无效配置:

原错误代码:

S3BucketPolicy:
  Type: 'AWS::S3::BucketPolicy'
  Properties:
    Bucket: !Ref S3Bucket
    SecurityGroupIds:
      - !Ref EC2SecurityGroup
    KeyName: S3BucketPolicy
    PolicyDocument:
      ...

修复后:

S3BucketPolicy:
  Type: 'AWS::S3::BucketPolicy'
  Properties:
    Bucket: !Ref S3Bucket
    PolicyDocument:
      ...

4. 移除MyRDS的无效KeyName属性

AWS::RDS::DBInstance没有KeyName属性,删除该行冗余配置:

原错误代码:

MyRDS:
  Type: 'AWS::RDS::DBInstance'
  Properties:
    ...
    SecurityGroupIds:
      - !Ref EC2SecurityGroup
    KeyName: MyRDS

修复后:

MyRDS:
  Type: 'AWS::RDS::DBInstance'
  Properties:
    ...
    SecurityGroupIds:
      - !Ref EC2SecurityGroup

5. 移除EC2SecurityGroup的冗余DependsOn

EC2SecurityGroup的配置已关联VPC相关资源,CloudFormation会自动处理依赖关系,无需手动添加DependsOn: !Ref VPC:

原错误代码:

EC2SecurityGroup:
  Type: AWS::EC2::SecurityGroup
  Properties:
    GroupDescription: EC2 Security Group
    DependsOn: !Ref VPC
    ...

修复后:

EC2SecurityGroup:
  Type: AWS::EC2::SecurityGroup
  Properties:
    GroupDescription: EC2 Security Group
    ...

验证修复

完成上述修改后,重新提交CloudFormation模板即可解决typeNameList约束错误,同时修复了其他资源属性的无效配置问题。

内容的提问来源于stack exchange,提问作者Data Science Analytics Manager

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:17:02