在Elastic Beanstalk中使用Node.js函数,我试图:
在Redshift COPY命令中,我将-credential
选项指定为可以访问S3存储桶的IAM用户。
我预计连接会成功,因为我创建了一个新的EC2安全组,添加了一个新的Redshift群集安全组;并将IAM用户的AWS账户ID添加到EC2安全组。
但是,AWS Beanstalk函数无法连接到Redshift:
{错误:连接ETIMEDOUT代码:'ETIMEDOUT',错误:'ETIMEDOUT',系统调用:'连接'}
我在此AWS thread中看到AWS回复:
用于与Redshift的Beanstalk连接。如果您的应用程序能够连接到postgresql数据库,那么将使用相同的方法连接到Redshift。
但是,据我所知,它是一个出色的功能要求:
您可能需要在Redshift上调整CIDR规则,以便允许网络访问它。但是,Redshift团队尚未对此进行专门测试,因此我现在将其添加为功能请求。
编辑
创建群集安全组后,我需要手动将其添加到Redshift群集的安全组。即使在添加新的安全组之后,我在Beanstalk日志中也遇到了相同的ETIMEDOUT
错误。