通过 VPC 连接到私有 REST API
要连接到只能在 Amazon Virtual Private Cloud(Amazon VPC)内访问的私有 REST API,请使用带有 VPC 配置的 REST API 连接。这包括 VPN、AWS PrivateLink 或防火墙后面的 API。
工作原理
AWS Glue 在您的 VPC 中创建弹性网络接口(ENI),以建立与您的私有 REST API 的连接。
先决条件
在通过 VPC 连接到私有 REST API 之前,请确保满足以下条件:
至少有一个子网和一个安全组的 VPC
自引用安全组规则(全部为 TCP),以便 AWS Glue 可以在安全组内进行通信
从 VPC 到目标 REST API 的网络连接
以下 IAM 权限:
ec2:CreateNetworkInterface、ec2:DescribeNetworkInterfaces和ec2:DeleteNetworkInterface
创建 VPC REST 连接
在 CreateConnection 请求中包含 PhysicalConnectionRequirements:
{ "ConnectionInput": { "Name": "connection-name", "ConnectionType": "REST-connection-type", "PhysicalConnectionRequirements": { "SubnetId": "subnet-id", "SecurityGroupIdList": ["security-group-id"], "AvailabilityZone": "availability-zone" }, "AuthenticationConfiguration": { ... } } }
ETL 作业中的 VPC 行为
当您使用 VPC REST 连接运行 ETL 作业时,将应用以下行为:
AWS Glue 使用连接子网中的 ENI 将 Spark 执行器放置在您的 VPC 中。
REST Spark 连接器在 Spark 执行器内以进程内方式运行。
AWS Glue 通过基础设施代理路由 AWS API 访问。
作业执行角色必须具有
glue:DescribeConnectionType权限。
注意事项
将 VPC 与 REST API 连接配合使用时,请注意以下几点:
ENI 预置可能会增加第一个连接创建的延迟。
AWS Glue 不支持用于 VPC REST 连接的自定义代理或自定义证书。
AWS Glue 一次对每个作业只支持一个 VPC。