【问题标题】:How to access redshift regional endpoint from within a restricted VPC?如何从受限 VPC 中访问 redshift 区域端点?
【发布时间】:2020-08-04 22:48:33
【问题描述】:

我需要以编程方式访问 Redshift 区域端点,以使用 boto3 API 恢复表。我的代码在绑定到受限子网(不是 NAT)的 lambda 函数内。 因此,为了访问 Glue 和 Athena 等 lambda 中的 AWS 服务,我使用 VPC 端点,但 Redshift 没有 VPC 端点,我无法运行我的 boto3 API(获取“端点 URL 上的连接超时:“https://redshift.us-east-1.amazonaws.com/”)。 我相信完成这项工作的唯一方法是将流量路由到 NAT 实例/网关。还有其他解决办法吗?

【问题讨论】:

    标签: amazon-redshift amazon-vpc


    【解决方案1】:

    您说得对,没有可用于 Amazon Redshift 的 VPC 终端节点。任何 API 调用都需要通过 Internet 进行。

    这可以通过在您的 VPC 的公共子网中安装 NAT 网关来实现。

    另一种方法是创建一个额外的 AWS Lambda 函数,该函数与您的 VPC 关联。这意味着它可以访问 Internet(但不能访问 VPC)。

    您现有的 Lambda 函数可以调用“外部”Lambda 函数,然后该函数将调用 Amazon Redshift。但是,这需要 API 网关和 API 网关的 VPC 端点,因为 Lambda 没有 VPC 端点。

    查看 Reddit 上的类似讨论:Access Lambda service from Lambda in a VPC : aws

    您也可以通过 Amazon SNS 和 VPC Endpoint for SNS,然后 SNS 触发 Lambda 函数(但完成后您不会收到“返回信号”)。

    【讨论】:

    • 感谢@John Rotenstein。这说得通。因此,当我的 Redshift 集群位于该受限子网中(没有公共互联网访问权限)时,我想知道 Redshift 维护如何在维护时段内完成?维护不需要公共互联网吗?
    • Amazon Redshift 集群的管理和维护是从不使用 VPC 且不需要 Internet 连接的后端“控制平面”执行的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2019-08-16
    • 2020-10-21
    • 2021-07-06
    • 1970-01-01
    • 2020-03-30
    • 2021-10-28
    相关资源
    最近更新 更多