AWS CloudFormation 安全组和网络接口错误、参数组合无效

Dir*_* SR 3 amazon-ec2 amazon-web-services amazon-vpc

每当我启动堆栈时(可能未在同一请求中指定网络接口和实例级安全组),我都会收到此错误,并且无法找出问题所在,即使在进行更改并在线查看问题之后也是如此。

我的堆栈包括公共子网中的 2 个 ec2 实例和私有子网中的 2 个 ec2 实例。网络服务器(公共)都有弹性 IP,并且每个服务器都有一个单独的安全组。

我尝试将 SecurityGroupIds 交换为 SecurityGroups 但这并没有改变错误。我也尝试完全删除 Groupset,出现同样的错误。

WebServerInstance:
    Type: 'AWS::EC2::Instance'
    Properties:
      UserData: !Base64 
        'Fn::Join':
          - ''
          - - WebEIP=
            - !Ref WebEIP
      ImageId: ami-d7576bc1
      InstanceType: t2.micro
      KeyName: !Ref KeyName
      NetworkInterfaces:
        - AssociatePublicIpAddress: 'true'
          DeleteOnTermination: 'true'
          DeviceIndex: '0'
          GroupSet:
            - !Ref PublicSecurityGroup
          PrivateIpAddress: 10.1.1.100
          SubnetId: !Ref PublicSubnetAZ1
      SecurityGroupIds:
        - !Ref PublicSecurityGroup
Run Code Online (Sandbox Code Playgroud)

启动此堆栈后,大多数资源都会被创建,除非它到达 WebServerInstance1 和 WebServerInstance2(公共子网中的 ec2 实例),其中错误为

不能在同一请求上指定网络接口和实例级安全组(服务:AmazonEC2;状态代码:400;错误代码:InvalidParameterCombination

Dir*_* SR 9

我已经解决了这个问题。基本上 GroupSet 和 SecurityGroupId 都会互相干扰。完全删除 SecurityGroupIds 行并保留 GroupSet 相同,然后问题就解决了。