我正在尝试设置流水线,以将数据从运动流发送到redshift集群。 Firehose已成功将数据插入到我的s3存储桶中,但是当firehose尝试执行s3-> Redshift copy命令时,我收到以下错误:
The connection to the specified Amazon Redshift cluster failed. Ensure that security settings allow Firehose connections, that the cluster or database specified in the Amazon Redshift destination configuration JDBC URL is correct, and that the cluster is available.
我已经按照this执行了每个设置步骤,但有一个步骤:我没有将Redshift集群公开访问。我无法执行此操作,因为该群集位于未连接互联网网关的专用VPC中。
研究了该问题之后,我发现this article为您提供了如何使用firehose设置AWS PrivateLink的见解。但是,我听说有些AWS服务支持PrivateLink,而另一些则不支持。 PrivateLink在这种情况下可以使用吗?
我还担心这将如何影响我的VPC的安全性。谁能提供使用PrivateLink可能带来的风险的见解?
答案 0 :(得分:0)
我能够解决这个问题。您需要将 Internet 网关添加到您的 VPC 路由表。 转到 Redshift VPC
在 Routes 选项卡上(您必须有 3 个私有路由),选择 Edit、Add another route,然后根据需要添加以下路由。完成后选择保存。
For IPv4 traffic, specify 0.0.0.0/0 in the Destination box, and select the internet gateway ID in the Target list.
如果您将 Internet 网关 ID 添加到所有 3 个私有路由,您可能会在使用相同路由/VPC 的其他应用程序中看到失败。要解决此问题,请仅更新 1 条具有 Internet 网关 ID 的路由,其余两条路由将使用 nat 作为 (0.0.0.0/0) 的目的地。