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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

AWS Glue 连接属性

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

连接名称

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

连接类型

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

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

为 Amazon DocumentDB(具有 MongoDB 兼容性)选择 MongoDB。

选择 网络 连接到亚马逊虚拟私有云环境(AmazonVPC)内的数据源。

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

需要 SSL 连接

选择此选项可要求 AWS Glue 验证 JDBC 数据库连接是否是通过受信任的安全套接字层 (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。TheThethe db_name 用于建立与提供的网络连接 usernamepassword。连接时, AWS Glue 可以访问DataStore中的其他数据库来运行爬行器或运行ETL作业。

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

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

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

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

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

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

    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 数据存储具有访问权限的用户名的密码。

Port

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

VPC 。

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

子网

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

安全组

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

AWS Glue 连接 SSL 属性

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

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

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

  • Oracle Database

  • Microsoft SQL Server

  • PostgreSQL/

  • Amazon Redshift

  • MySQL(仅限 Amazon RDS 实例)

  • Aurora MySQL(仅限 Amazon RDS 实例)

  • Aurora Postgres(仅限 Amazon RDS 实例)

注意

要使 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 的选项组。稍后当您为 Amazon RDS Oracle 实例创建 AWS Glue JDBC 连接 URL 时,将使用您为 SSL 指定的 Port (端口)。有关如何在 Amazon RDS 控制台上添加选项的更多信息,请参阅向选项组添加选项。有关 Oracle SSL 选项的更多信息,请参阅 Oracle SSL

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

当为 JDBC 连接类型选择了 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 格式提供。

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

Skip certificate validation (跳过证书验证)

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

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

自定义 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