AWS:VPC 内的 authorizeSecurityGroupIngress

AWS:VPC 内的 authorizeSecurityGroupIngress

我正在使用 NodeJS SDK 从 db-access 安全组向 db 安全组添加入站规则。

这两个安全组都存在于 VPC 中,但是当我使用以下方式添加入口规则时

params =
  GroupId: <Target Group Id>
  SourceSecurityGroupOwnerId: <Source Group Id>

ec2.authorizeSecurityGroupIngress(params, ...)

我收到以下错误: { [MissingParameter: Source group ID missing.] message: 'Source group ID missing.', code: 'MissingParameter', time: Mon Nov 24 2014 19:44:13 GMT-0800 (PST), statusCode: 400, retryable: false, retryDelay: 30 }

我发送的有效载荷具有有效的安全组,当我查看 EC2 文档时,唯一似乎存在源组 ID 的地方是源安全组所有者 ID范围。

有其他人遇到过这种情况吗?这个端点是否不稳定?

答案1

查看以下文档:

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#authorizeSecurityGroupIngress-property

看来您正确使用了该函数。但是,根据参数的名称SourceSecurityGroupOwnerId,我怀疑这可能是您想要允许访问的安全组的所有者账户 ID,以防您想要允许跨账户访问。

相反,尝试使用IpPermissions数组来指示安全组信息。

var params = {
  GroupId: <Target Group Id>,
  IpPermissions: [
    {
      IpProtocol: 'tcp',
      FromPort: <port>,
      ToPort: <port>,
      UserIdGroupPairs: [
        {
          GroupId: <Source Group Id>
        }
      ]
    }
  ]
};

相关内容