AWS Glue 连接属性 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Glue 连接属性

在 AWS Glue 控制台上定义连接时,您必须提供以下属性值:

连接名称

为连接键入一个唯一名称。

连接类型

选择 JDBC 或特定的连接类型之一。

有关 JDBC 连接类型的详细信息,请参阅AWS Glue JDBC 连接属性

选择 Network (网络) 以连接到 Amazon Virtual Private Cloud 环境 (Amazon VPC) 中的数据源。

根据您选择的类型,AWS Glue 控制台会显示其他必需字段。例如,如果选择 Amazon RDS,则必须选择数据库引擎。

需要 SSL 连接

当您选择此选项时,AWS Glue 必须验证与数据存储的连接是否是通过受信任的安全套接字层 (SSL) 进行连接的。

有关更多信息(包括选择此选项时可用的其他选项),请参阅AWS Glue 连接 SSL 属性

AWS Glue JDBC 连接属性

AWS Glue 可通过 JDBC 连接来连接到以下数据存储:

  • Amazon Redshift

  • Amazon Aurora

  • Microsoft SQL Server

  • MySQL

  • Oracle

  • PostgreSQL

重要

目前,ETL 作业只能在一个子网中使用 JDBC 连接。如果您在一个作业中有多个数据存储,则它们必须在同一子网上。

以下是适用于 JDBC 连接类型的其他属性。

JDBC URL

键入 JDBC 数据存储的 URL。对于大多数数据库引擎,此字段将采用以下格式。在此格式中,替换 protocol, host, port, 和 db_name 替换为您自己的信息。

jdbc:protocol://host:port/db_name

根据数据库引擎,可能需要不同的 JDBC URL 格式。此格式可能稍微不同地使用冒号 (:) 和斜杠 (/) 或不同的关键字来指定数据库。

要让 JDBC 连接到数据存储,数据存储中需要 db_name。用于与提供的 db_nameusername 建立网络连接。password 连接后,AWS Glue 可以访问数据存储中的其他数据库以运行爬网程序或运行 ETL 作业。

以下 JDBC URL 示例显示了多个数据库引擎的语法。

  • 要连接到具有 dev 数据库的 Amazon Redshift 群集数据存储:

    jdbc:redshift://xxx.us-east-1.redshift.amazonaws.com:8192/dev

  • 要连接到具有 Amazon RDS 数据库的 MySQL for employee 数据存储:

    jdbc:mysql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:3306/employee

  • 要连接到具有 Amazon RDS 数据库的 PostgreSQL for employee 数据存储:

    jdbc:postgresql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:5432/employee

  • 要连接到具有 employee 服务名称的 Amazon RDS for Oracle 数据存储:

    jdbc:oracle:thin://@xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1521/employee

    Amazon RDS for Oracle 的语法可以遵循以下模式。在这些模式中,将 host, port, service_name, 和 SID 替换为您自己的信息。

    • jdbc:oracle:thin://@host:port/service_name

    • jdbc:oracle:thin://@host:port:SID

  • 要连接到具有 employee 数据库的 Amazon RDS for Microsoft SQL Server 数据存储:

    jdbc:sqlserver://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1433;databaseName=employee

    Amazon RDS for SQL Server 的语法可以遵循以下模式。在这些模式中,将 server_name, port, 和 db_name 替换为您自己的信息。

    • jdbc:sqlserver://server_name:port;database=db_name

    • jdbc:sqlserver://server_name:port;databaseName=db_name

Username

提供有权访问 JDBC 数据存储的用户名。

Password

键入对 JDBC 数据存储具有访问权限的用户名的密码。

端口

键入 JDBC URL 中使用的端口以连接到 Amazon RDS Oracle 实例。仅当为 Oracle 实例选择 Require SSL connection (需要 SSL 连接)Amazon RDS 时,此字段才会显示。

VPC

选择包含您的数据存储的 Amazon Virtual Private Cloud (VPC) 的名称。控制台列出当前区域的所有AWS Glue。VPCs

子网

选择包含您的数据存储的 VPC 内的子网。AWS Glue 控制台列出了您的 VPC 中的数据存储的所有子网。

安全组

选择与您的数据存储关联的安全组。AWS Glue 需要一个或多个安全组且其入站源规则允许 AWS Glue 进行连接。AWS Glue 控制台列出了所有被授权对您的 VPC 进行入站访问的安全组。AWS Glue 将这些安全组与连接到您的 VPC 的子网的弹性网络接口关联。

AWS Glue 连接 SSL 属性

以下是有关 连接的 Require SSL connection (需要 SSL 连接)AWS Glue 属性的详细信息。

如果未选择此选项,则 AWS Glue 在使用 SSL 加密与数据存储的连接时会忽略故障。有关配置说明,请参阅数据存储的文档。当您选择此选项时,如果 AWS Glue 不能使用 SSL 进行连接,则开发终端节点中的作业运行、爬网程序或 ETL 语句将失败。

此选项在 AWS Glue 客户端上进行验证。对于 JDBC 连接,AWS Glue 仅使用证书和主机名验证通过 SSL 进行连接。SSL 连接支持可用于:

  • Oracle Database

  • Microsoft SQL Server

  • PostgreSQL

  • Amazon Redshift

  • MySQL(仅限 Amazon RDS 实例)

  • Aurora MySQL(仅限 Amazon RDS 实例)

  • Aurora Postgres(仅限 Amazon RDS 实例)

  • Kafka,包括Amazon Managed Streaming for Apache Kafka

注意

要使 Amazon RDS Oracle 数据存储能够使用 Require SSL connection (需要 SSL 连接),您必须创建一个选项组并将其附加到 Oracle 实例。

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. Option group (选项组) 添加到 Amazon RDS Oracle 实例。有关如何在 Amazon RDS 控制台上添加选项组的更多信息,请参阅创建选项组

  3. Option (选项) 添加到 SSL 的选项组。您为 SSL 指定的 Port (端口) 稍后在为 AWS Glue Oracle 实例创建 Amazon RDS JDBC 连接 URL 时使用。有关如何在 Amazon RDS 控制台上添加选项的更多信息,请参阅 中的向选项组添加选项。Amazon RDS 用户指南有关 Oracle SSL 选项的更多信息,请参阅 https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html 中的 Oracle SSLAmazon RDS 用户指南。

  4. 在 AWS Glue 控制台中,创建到 Amazon RDS Oracle 实例的连接。在连接定义中,选择 Require SSL connection (需要 SSL 连接)。请求时,输入您在 Oracle SSL 选项中使用的 Port (端口)Amazon RDS。

为连接选择 Require SSL connection (需要 SSL 连接) 时,以下附加可选属性可用:

S3 中的自定义 JDBC 证书

如果您的证书当前用于与本地或云数据库进行 SSL 通信,则可以将该证书用于与 AWS Glue 数据源或目标的 SSL 连接。输入包含自定义根证书的 Amazon Simple Storage Service (Amazon S3) 位置。AWS Glue 使用此证书建立与数据库的 SSL 连接。AWS Glue 仅处理 X.509 证书。该证书必须经过 DER 编码,并以 base64 编码 PEM 格式提供。

如果将此字段留空,则使用默认证书。

自定义 JDBC 证书字符串

输入特定于 JDBC 数据库的证书信息。此字符串用于域匹配或可分辨名称 (DN) 匹配。对于 Oracle 数据库,此字符串会映射到 tnsnames.ora 文件中安全性部分中的 SSL_SERVER_CERT_DN 参数。对于 Microsoft SQL Server,此字符串将用作 hostNameInCertificate

下面是适用于 Oracle 数据库 SSL_SERVER_CERT_DN 参数的示例。

cn=sales,cn=OracleContext,dc=us,dc=example,dc=com
S3 中的自定义 Kafka 证书

如果您的证书当前用于与 Kafka 数据存储进行 SSL 通信,则可以将该证书与 AWS Glue 连接结合使用。该选项对于 Kafka 数据存储是必需的,对于 Amazon Managed Streaming for Apache Kafka 数据存储是可选的。输入包含自定义根证书的 Amazon Simple Storage Service (Amazon S3) 位置。AWS Glue 使用此证书建立与 Kafka 数据存储的 SSL 连接。AWS Glue 仅处理 X.509 证书。该证书必须经过 DER 编码,并以 base64 编码 PEM 格式提供。

Skip certificate validation (跳过证书验证)

选中 Skip certificate validation (跳过证书验证) 复选框,可跳过 AWS Glue 对自定义证书的验证。如果您选择验证,则 AWS Glue 会验证证书的签名算法和主题公有密钥算法。如果证书验证失败,则使用该连接的任何 ETL 作业或爬网程序都将失败。

唯一允许的签名算法是 SHA256withRSA、SHA384withRSA 或 SHA512withRSA。 对于主题公有密钥算法,密钥长度必须至少为 2048 个。