PrivateLink是否允许firehose访问我的私有Redshift集群?

ket*_*ham 7 amazon-vpc amazon-redshift amazon-kinesis-firehose

我正在尝试设置流水线,以将数据从运动学流发送到redshift集群。Firehose成功将数据插入到我的s3存储桶中,但是当firehose尝试执行s3-> Redshift copy命令时,我收到以下错误:

与指定的Amazon Redshift集群的连接失败。确保安全设置允许Firehose连接,确保Amazon Redshift目标配置JDBC URL中指定的集群或数据库正确,并且该集群可用。

除以下步骤外,我已按照步骤执行了所有设置步骤:我未公开访问Redshift集群。我无法执行此操作,因为该群集位于未连接互联网网关的专用VPC中。

在研究了该问题之后,我发现了本文该文章提供了有关如何使用firehose设置AWS PrivateLink的见解。但是,我听说有些AWS服务支持PrivateLink,而另一些则不支持。PrivateLink在这种情况下会起作用吗?

我还担心这将如何影响我的VPC的安全性。谁能提供使用PrivateLink可能带来的风险的见解?

小智 0

我能够解决这个问题。将 Internet 网关添加到您的 VPC 路由表。

转到 Redshift VPC。

在“路由”选项卡上(您必须有 3 条私有路由),选择“编辑”、“添加其他路由”,然后根据需要添加以下路由。完成后选择保存。

For IPv4 traffic, specify 0.0.0.0/0 in the Destination box, and select the internet gateway ID in the Target list.
Run Code Online (Sandbox Code Playgroud)

如果您将互联网网关 ID 添加到所有 3 个私有路由,您可能会在使用相同路由/VPC 的其他应用程序中看到失败。要解决此问题,请仅使用互联网网关 ID 更新 1 条路由,另外两条路由将 nat 作为 (0.0.0.0/0) 的目的地。