我已经在一个私有子网中建立了一个红移群集。我可以成功地连接到红移群集,并通过DBeaver执行基本的SQL查询。
我还需要从s3上传一些文件到redshift,因此我在私有子网中设置了一个s3网关,并更新了专用子网的路由表,以添加所需的路由,如下所示:
Destination Target Status Propagated
192.168.0.0/16 local active No
pl-7ba54012 (com.amazonaws.us-east-2.s3, 52.219.80.0/20, 3.5.128.0/21, 52.219.96.0/20, 52.92.76.0/22) vpce-04eed78f4db84ae49
active No
0.0.0.0/0 nat-0a73ba7659e887232 active No 但是,我无法从我的s3桶运行副本查询。
copy venue
from 's3://*****/tickit/venue_pipe.txt'
iam_role 'arn:aws:iam::******:role/global-dev-rdt-role-S3ReadonlyAccess'
region 'us-east-2';在存储桶以及公共和私有子网安全组上没有限制策略,而且我已经可以在私有子网中的redshift集群上运行SQL查询。
更新:红移群集的安全组允许所有对端口5439的连接。
Type Protocol Port Range Source Description
Redshift TCP 5439 0.0.0.0/0
Redshift TCP 5439 ::/0
SSH TCP 22 sg-0f933e18d6c1967b8发布于 2020-01-02 04:32:25
为了再现你的处境,我做了以下工作:
Gateway)
H 111可公开访问= No
)
instance
psql -h xx.yy.ap-southeast-2.redshift.amazonaws.com -p 5439 -U username)psql、表(create table foo(id integer);)copy foo from 's3://my-bucket/bar.txt' iam_role 'xxx';)与Redshift集群的连接
此成功地运行了,其消息为:
INFO: Load into table 'foo' completed, 4 record(s) loaded successfully.因此,从红移COPY 执行命令不需要VPC /NAT网关。红移集群有自己独特的连接S3的方式,似乎是通过红移“后端”连接的。
如果数据是从同一区域的亚马逊S3加载的,那么流量将完全保留在AWS网络中。如果数据来自不同的地区,它仍将被加密,因为与亚马逊S3的通信将通过HTTPS进行。
第二次测试:使用增强的VPC网络
为了反映您的情况,我启动了一个不同的Redshift集群,其中启用了增强的VPC路由支持的。
当我运行COPY命令时,可以预见地挂起它,因为我没有为Redshift集群配置通过VPC访问Amazon的方法。
然后,我为亚马逊 S3创建了一个VPC,并使用“完全访问”策略将其连接到私有子网。
然后,当我重新运行COPY命令时,它成功地从S3加载数据。
的底线是:对我有用。您可能希望将您的配置与我所采取的上述步骤进行比较。
https://stackoverflow.com/questions/59552702
复制相似问题