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

관련 정보