连接到 Amazon Redshift Serverless
设置好 Amazon Redshift Serverless 实例后,您可以使用下面概述的各种方法连接到该实例。如果您有多个团队或项目并且想单独管理成本,则可以单独使用 Amazon Web Services 账户。
有关提供了 Amazon Redshift Serverless 的 Amazon Web Services 区域的列表,请参阅《Amazon Web Services 一般参考》中针对 Redshift Serverless API 列出的端点。
Amazon Redshift Serverless 连接到当前 Amazon Web Services 区域中您的 Amazon Web Services 账户中的无服务器环境。Amazon Redshift Serverless 在端口 5439 上的 VPC 中运行。
连接到 Amazon Redshift Serverless
您可以使用以下语法连接到 Amazon Redshift Serverless 实例中的数据库(名为 dev
)。
workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:port/dev
例如,以下连接字符串指定区域 us-east-1。
default.123456789012.us-east-1.redshift-serverless.amazonaws.com:5439/dev
通过 JDBC 驱动程序连接到 Amazon Redshift Serverless
通过 Amazon Redshift 提供的 JDBC 驱动程序版本 2 驱动程序,使用首选 SQL 客户端,您可以使用以下方法之一连接到 Amazon Redshift Serverless。
要使用 JDBC 驱动程序版本 2.1.x 或更高版本,通过用户名和密码进行连接以执行数据库身份验证,请使用以下语法。端口号是可选的;如果未包括在内,Amazon Redshift Serverless 原定设置使用端口号 5439。您可以更改为 5431-5455 或 8191-8215 端口范围内的另一个端口。要更改无服务器端点的默认端口,请使用 Amazon CLI 和 Amazon Redshift API。
jdbc:redshift://workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:5439/dev
例如,以下连接字符串指定原定设置工作组、账户 ID 123456789012 和区域 us-east-2。
jdbc:redshift://default.123456789012.us-east-2.redshift-serverless.amazonaws.com:5439/dev
要使用 JDBC 驱动程序版本 2.1.x 或更高版本连接 IAM,请使用以下语法。端口号是可选的;如果未包括在内,Amazon Redshift Serverless 原定设置使用端口号 5439。您可以更改为 5431-5455 或 8191-8215 端口范围内的另一个端口。要更改无服务器端点的默认端口,请使用 Amazon CLI 和 Amazon Redshift API。
jdbc:redshift:iam://workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:5439/dev
例如,以下连接字符串指定原定设置工作组、账户 ID 123456789012 和区域 us-east-2。
jdbc:redshift:iam://default.123456789012.us-east-2.redshift-serverless.amazonaws.com:5439/dev
对于 ODBC,使用以下语法。
Driver={Amazon Redshift (x64)}; Server=workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com; Database=dev
如果您使用 2.1.0.9 之前的 JDBC 驱动程序版本并与 IAM 连接,则需要使用以下语法。
jdbc:redshift:iam://redshift-serverless-<name>:aws-region/database-name
例如,以下连接字符串指定原定设置工作组和 Amazon Web Services 区域 us-east-1。
jdbc:redshift:iam://redshift-serverless-default:us-east-1/dev
有关驱动程序的更多信息,请参阅《Amazon Redshift 管理指南》中的配置连接。
使用数据 API 连接到 Amazon Redshift Serverless
还可使用 Amazon Redshift 数据 API 连接到 Amazon Redshift Serverless。在 Amazon CLI 调用中使用 workgroup-name
参数而不是 cluster-identifier
参数。
有关数据 API 的更多信息,请参阅使用 Amazon Redshift 数据 API。
使用 SSL 连接到 Amazon Redshift Serverless
配置与 Amazon Redshift Serverless 的安全连接
Amazon Redshift 支持安全套接字层(SSL)连接,以加密查询和数据。要设置安全连接,您可以使用相同配置设置到预置 Redshift 集群的连接。按照 Configuring security options for connections(配置连接的安全选项)中的步骤进行操作,其中介绍了如何下载和安装可用的 SSL 证书捆绑包。该捆绑包适用于连接到无服务器 Redshift 实例和预置集群。连接到 Amazon Redshift Serverless 实例时,您无需设置任何参数即可接受 SSL 连接。
从 Amazon Redshift 托管式 VPC 端点连接到 Amazon Redshift Serverless
从其他 VPC 端点连接到 Amazon Redshift Serverless
您可以从其它 VPC 端点(包括本地和公有 VPC 端点)连接到 Amazon Redshift Serverless。
从 Redshift 托管式 VPC 端点连接到 Amazon Redshift Serverless
Amazon Redshift Serverless 在 VPC 中预置。通过创建 Redshift 托管式 VPC 端点,您可从其他 VPC 中的客户端应用程序以私有方式访问您的 Amazon Redshift Serverless。这样,流量不会通过互联网,也不使用公有 IP 地址。从而提高了通信的私密性和安全性。
使用控制台创建 Redshift 托管式 VPC 端点
在控制台上,选择 Workgroup configuration(工作组配置),然后从列表中选择工作组。
在 Redshift managed VPC endpoints(Redshift 托管式 VPC 端点)中,选择 Create endpoint(创建端点)。
输入端点名称。创建一个对组织有意义的名称。
选择 Amazon 账户 ID。这是您的 12 位账户 ID 或账户别名。
选择该端点所在的 Amazon VPC。然后选择一个子网 ID。在最常见的使用案例中,这是一个子网,您在其中有一个要连接到 Amazon Redshift Serverless 实例的客户端。
您可以选择要添加的 VPC 安全组。例如,每个安全组都充当一个虚拟防火墙,用来控制特定虚拟桌面实例的入站和出站流量。
选择 Create endpoint(创建端点)。
使用控制台编辑 Redshift 托管式 VPC 端点
在控制台上,选择 Workgroup configuration(工作组配置),然后从列表中选择工作组。
在 Redshift managed VPC endpoints(Redshift 托管式 VPC 端点)中,选择 Edit(编辑)。
添加或删除 VPC 安全组。这是在创建 Redshift 托管式 VPC 端点后,您唯一可更改的设置。
选择 Save changes(保存更改)。
在控制台上删除 Redshift 托管式 VPC 端点
在控制台上,选择 Workgroup configuration(工作组配置),然后从列表中选择工作组。
在 Redshift managed VPC endpoints(Redshift 托管式 VPC 端点)中,选择要删除的 VPC 端点。
选择 Delete (删除)。
创建可公开访问的 Amazon Redshift Serverless 实例并连接到该实例
连接到可公开访问的 Amazon Redshift Serverless 实例
您可以配置 Amazon Redshift Serverless 实例,以便可以从公有互联网中的 SQL 客户端查询它。您不必始终从本地 VPC 或防火墙背后的子网进行连接。
这些步骤将引导您完成配置 Amazon Redshift Serverless 以接受来自互联网的连接。
在 Redshift 控制台上,转到 Amazon Redshift Serverless 主菜单。选择 Create workgroup(创建工作组),然后按照以下步骤为其命名并选择关联的 VPC 和子网。选择 Next(下一步)。
完成创建命名空间的步骤。该过程包括指定数据库和分配具有执行数据库任务权限的 IAM 角色。
如果您已经创建了一个命名空间,这也有效。
完成前面的步骤之后,或者如果您已经拥有现有的命名空间和工作组,请选择 Workgroup configuration(工作组配置),然后从列表中选择工作组。然后,在 Network and security(网络和安全性)面板中,选择 edit(编辑)。
选择 Turn on Public Accessible(开启可公有访问)。执行此操作时,Amazon Redshift Serverless 实例将通过为其分配静态 IPv4 弹性 IP 地址来实现可公有访问。此 IP 地址分配给您的 Amazon 账户。
将 Amazon Redshift Serverless 配置为接受来自公有客户端的连接后,请按照以下步骤进行连接。
在 Amazon Redshift 控制台上,选择 Serverless dashboard(无服务器控制面板),选择 Workgroup configuration(工作组配置),然后选择工作组。在 Data access(数据访问)下,选择 Edit(编辑)以查看 Network and security(网络和安全性)设置。记下适用于该工作组的 VPC 安全组。转到 Amazon VPC,然后从菜单中选择 Security groups(安全组)。在列表中选择您的安全组 ID。安全组包含多项配置设置,包括 Inbound rules(入站规则)。选择 Edit inbound rules(编辑入站规则),并创建一个规则,指定要允许的源 IP 地址和端口。
在 Amazon VPC 服务控制台上,验证并确保互联网网关已附加到您的 VPC。要从公共互联网连接到可公开访问的集群,必须将互联网网关附加到路由表。确认使用源 0.0.0.0/0 或公共 IP CIDR 设置该互联网网关的目标。路由表必须与您的集群所在的 VPC 子网相关联。
有关附加互联网网关的更多信息,请参阅使用互联网网关连接到互联网中的创建并附加互联网网关一节。
在客户端上,设置入站防火墙规则以接受您在创建无服务器端点时选择的端口上的流量。
与您的客户端工具(如 PSQL)连接。使用您的 Amazon Redshift Serverless 域作为主机,输入以下内容:
psql "
workgroup-name
.account-id
.region
.amazonaws.com dbname=dev port=5439 user=admin
"
当您开启可公开访问的设置时,Amazon Redshift Serverless 会创建弹性 IP 地址。它是与您的 Amazon 账户关联的静态 IP 地址。VPC 外部的客户端可以使用它进行连接。有了这个地址,您可以更改自己的基本网络配置,而不会影响客户端连接。