在 VPC 中连接到 JDBC 数据存储
通常,您在 Amazon Virtual Private Cloud(Amazon VPC)内部创建资源,以便这些资源不能通过公共 Internet 访问。默认情况下,AWS Glue 无法访问 VPC 中的资源。要让 AWS Glue 能够访问 VPC 中的资源,您必须提供包括 VPC 子网 ID 和安全组 ID 在内的其他 VPC 特定的配置信息。AWS Glue 使用此信息设置弹性网络接口,此接口可让您的函数安全连接到私有 VPC 中的其他资源。
使用 VPC 端点时,请将其添加到您的路由表中。有关更多信息,请参阅为 AWS Glue 创建接口 VPC 端点和 先决条件。
在 Data Catalog 中使用加密时,请创建 KMS 接口端点并将其添加到您的路由表中。有关更多信息,请参阅为 AWS KMS 创建 VPC 端点。
使用弹性网络接口访问 VPC 数据
当 AWS Glue 连接到 VPC 中的 JDBC 数据存储时,AWS Glue 会在您的账户中创建弹性网络接口(使用前缀 Glue_
)以访问您的 VPC 数据。只要此网络接口连接到 AWS Glue,您就不能删除它。作为创建弹性网络接口的一部分,AWS Glue 将一个或多个安全组关联到它。要使 AWS Glue 创建网络接口,与该资源关联的安全组必须允许具有源规则的入站访问。此规则包含与资源相关联的安全组。这将为具有相同安全组的数据存储提供弹性网络接口访问。
要允许 AWS Glue 与其组件通信,请为所有 TCP 端口指定一个具有自引用入站规则的安全组。通过创建自引用规则,您可以将源限制为 VPC 中的同一安全组,而不将其对所有网络打开。VPC 的默认安全组可能已经为 ALL Traffic
设置了自引用入站规则。
您可以在 Amazon VPC 控制台中创建规则。要通过 AWS Management Console 更新规则设置,请导航到 VPC 控制台(https://console.aws.amazon.com/vpc/ALL TCP
指定入站规则,使其源具有相同的安全组名称。有关组规则的更多信息,请参阅您的 VPC 的安全组。
每个弹性网络接口都会从您指定的子网中的 IP 地址范围分到一个私有 IP 地址。网络接口不会分到任何公有 IP 地址。AWS Glue 需要 Internet 访问(例如,访问没有 VPC 终端节点的 AWS 服务)。您可以在 VPC 中配置网络地址转换(NAT)实例,也可以使用 Amazon VPC NAT 网关。有关更多信息,请参阅《Amazon VPC 用户指南》中的 NAT 网关。您不能直接使用连接到 VPC 的 Internet 网关作为子网路由表中的路由,因为这需要网络接口具有公有 IP 地址。
VPC 网络属性 enableDnsHostnames
和 enableDnsSupport
必须设置为 true。有关更多信息,请参阅将 DNS 与您的 VPC 一起使用。
重要
不要将数据存储置在未接入 Internet 的公有子网或私有子网中。相反,仅通过 NAT 实例或 Amazon VPC NAT 网关将它附加到接入了 Internet 的私有子网。
弹性网络接口属性
要创建弹性网络接口时,您必须提供以下属性:
- VPC
-
包含您的数据存储的 VPC 的名称。
- 子网
-
包含您的数据存储的 VPC 中的子网。
- 安全组
-
与您的数据存储关联的安全组。AWS Glue 将这些安全组与连接到您的 VPC 的子网的弹性网络接口关联。要允许 AWS Glue 组件进行通信并阻止来自其他网络的访问,则至少必须有一个选定的安全组指定针对所有 TCP 端口的自引用入站规则。
有关使用 Amazon Redshift 管理 VPC 的信息,请参阅在 Amazon Virtual Private Cloud(VPC)中管理集群。
有关使用 Amazon Relational Database Service(Amazon RDS)管理 VPC 的信息,请参阅在 VPC 中使用 Amazon RDS 数据库实例。