
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 プロパティ
関数を正しく使用しているようです。ただし、パラメータの名前からSourceSecurityGroupOwnerId
判断すると、アカウント間のアクセスを許可する場合、これはアクセスを許可するセキュリティ グループの所有者アカウント ID である可能性があります。
代わりに、IpPermissions
配列を使用してセキュリティ グループ情報を示してみてください。
var params = {
GroupId: <Target Group Id>,
IpPermissions: [
{
IpProtocol: 'tcp',
FromPort: <port>,
ToPort: <port>,
UserIdGroupPairs: [
{
GroupId: <Source Group Id>
}
]
}
]
};