

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 为 Amazon Redshift 集群或 Amazon Redshift Serverless 工作组配置安全组通信设置
<a name="rs-security-group-public-private"></a>

本主题可帮助您配置安全组，以适当地路由和接收网络流量。以下是一些常见应用场景：
+ 您为 Amazon Redshift 集群或 Amazon Redshift Serverless 工作组开启了公开访问功能，但该集群并未接收流量。为此，您必须配置入站规则，以允许流量从互联网到达集群。
+ 您的集群或工作组不可公开访问，您使用 Redshift 的预配置原定设置 VPC 安全组以允许入站流量。但是，您需要使用默认安全组以外的其他安全组，而这个自定义安全组不允许入站流量。必须将其配置为允许通信。

 以下部分可帮助您为每个使用案例选择正确的响应，并说明您如何根据您的要求配置网络流量。您可以选择使用这些步骤来设置来自其他私有安全组的通信。



**注意**  
在大多数情况下，不会在 Amazon Redshift 中自动配置网络流量设置。这是因为它们可能在精细级别上有所不同，这取决于流量来源是互联网还是私有安全组，也因为安全要求各不相同。

## 使用默认或自定义安全组配置实现公开访问功能
<a name="rs-security-group-public-default"></a>

如果您正在创建集群或工作组或已经拥有集群或工作组，请执行以下配置步骤，以使它可公开访问。当您选择默认安全组或自定义安全组时，以下这一点都适用：

1. 查找网络设置：
   + 对于预调配的 Amazon Redshift 集群，选择**属性**选项卡，然后在**网络和安全设置**下，为您的集群选择 VPC。
   + 对于 Amazon Redshift Serverless 工作组，请选择**工作组配置**。从列表中选择工作组。然后，在**数据访问**下的**网络和安全**面板中，选择**编辑**。

1. 为您的 VPC 配置互联网网关和路由表。您可以通过按名称选择 VPC 开始配置。此时会打开 VPC 控制面板。要从互联网连接到可公开访问的集群或工作组，必须将互联网网关附加到路由表。您可以通过在 VPC 控制面板中选择**路由表**来进行配置。确认使用源 0.0.0.0/0 或公共 IP CIDR 设置该互联网网关的目标。路由表必须与您的集群所在的 VPC 相关联。有关为 VPC 设置互联网访问的更多信息（如此处所述），请参阅 Amazon VPC 文档中的[启用互联网访问](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Internet_Gateway.html#vpc-igw-internet-access)。有关配置路由表的更多信息，请参阅[配置路由表](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Route_Tables.html)。

1. 配置互联网网关和路由表后，返回到 Redshift 的网络设置。通过选择安全组，然后选择**入站规则**，打开入站访问。选择**编辑入站规则**。

1. 根据您的要求，为一条或多条入站规则选择**协议**和**端口**，以允许来自客户端的流量。对于 RA3 集群，请在 5431-5455 或 8191-8215 范围内选择一个端口。完成后，保存每条规则。

1. 编辑**可公开访问**设置以启用它。您可以从集群或工作组的**操作**菜单中执行此操作。

当您开启可公开访问的设置时，Redshift 会创建弹性 IP 地址。它是与您的 Amazon 账户关联的静态 IP 地址。VPC 外部的客户端可以使用它进行连接。

有关配置安全组的更多信息，请参阅[Amazon Redshift 安全组](security-network-isolation.md#working-with-security-groups)。

您可以通过使用客户端进行连接来测试您的规则，如果您要连接到 Amazon Redshift Serverless，请执行以下操作。完成网络配置后，使用客户端工具进行连接，例如 [Amazon Redshift RSQL](https://docs.amazonaws.cn/redshift/latest/mgmt/rsql-query-tool.html)。使用您的 Amazon Redshift Serverless 域作为主机，输入以下内容：



```
rsql -h workgroup-name.account-id.region.amazonaws.com -U admin -d dev -p 5439
```

## 使用默认或自定义安全组配置实现私有访问功能
<a name="rs-security-group-private"></a>

 当您不通过互联网与集群或工作组通信时，它称为可*私密*访问。如果您在创建原定设置安全组时选择了该安全组，则该安全组将包含以下原定设置通信规则：
+ 入站规则，允许来自分配给此安全组的所有资源的流量。
+ 允许所有出站流量的出站规则。此规则的目标是 0.0.0.0/0。在无类别域间路由 (CIDR) 表示法中，它表示所有可能的 IP 地址。

您可以通过为集群或工作组选择安全组，在控制台中查看规则。

如果您的集群或工作组和客户端都使用原定设置安全组，则无需进行任何其它配置，即可允许网络流量。但是，如果您删除或更改了 Redshift 或客户端的原定设置安全组中的任何规则，则这不再适用。在这种情况下，您必须配置规则以允许入站和出站通信。常见的安全组配置如下：
+ 对于客户端 Amazon EC2 实例：
  + 允许客户端的 IP 地址的入站规则。
  + 一条出站规则，允许提供给 Redshift 使用的所有子网的 IP 地址范围（CIDR 块）。或者您可以指定 0.0.0.0/0，即所有 IP 地址范围。
+ 对于您的 Redshift 集群或工作组：
  + 允许客户端安全组的入站规则。
  + 允许流量达到 0.0.0.0/0 的出站规则。通常，出站规则允许所有出站流量。或者，您可以添加出站规则以允许流量到达客户端安全组。在这种可选情况下，并不总是需要出站规则，因为允许每个请求的响应流量到达实例。有关请求和响应行为的更多详细信息，请参阅《Amazon VPC 用户指南》**中的[安全组](https://docs.amazonaws.cn/vpc/latest/userguide/security-groups.html)。

如果您更改了为供 Redshift 使用而指定的任何子网或安全组的配置，则可能需要相应地更改流量规则以保持通信畅通。有关创建入站和出站规则的更多信息，请参阅《Amazon VPC 用户指南》**中的 [VPC CIDR 块](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-cidr-blocks.html)。有关从客户端连接到 Amazon Redshift 的更多信息，请参阅[在 Amazon Redshift 中配置连接](https://docs.amazonaws.cn/redshift/latest/mgmt/configuring-connections.html)。