Amazon-Ec2

AWS:授權 VPC 內的SecurityGroupIngress

  • November 25, 2014

我正在使用 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 文件時,Source Group ID 的唯一來源似乎是SourceSecurityGroupOwnerId參數。

有沒有其他人遇到過這個?這個端點只是片狀嗎?

查看文件:

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>
       }
     ]
   }
 ]
};

引用自:https://serverfault.com/questions/646832