本页面总结了如何使用公共 IP 连接到 AlloyDB for PostgreSQL 提供的数据库。AlloyDB 通过两个不同的选项支持入站和出站连接。
您可以将 AlloyDB 实例配置为具有用于入站连接的公共 IPv4 地址,并视需要接受来自特定外部 IP 地址或地址范围(称为已获授权的外部网络)的连接。使用 AlloyDB 语言连接器或 AlloyDB Auth Proxy 连接到实例时,无需使用已获授权的网络。
这些已获授权的网络仅在使用公共 IP 时可用。您不能将专用网络指定为已获授权的外部网络。
当您在实例上启用出站公共 IP 时,AlloyDB 会支持出站连接。出站连接对于以下场景非常有用,例如将数据库从外部来源迁移到 AlloyDB。
创建 AlloyDB 实例
如需创建具有公共 IP 地址的实例,请执行以下操作:
控制台
前往集群页面。
点击资源名称列中的某个集群。
在概览页面中,前往集群中的实例,然后点击创建主实例。
配置主实例:
- 在实例 ID 字段中,输入主实例的 ID。
- 在可用区级可用性下,选择以下选项之一:
- 如需创建具有自动故障切换的高可用性生产实例,请选择多个可用区(高可用性)。
- 如需创建不需要高可用性的基本实例,请选择单个可用区。
- 选择机器类型。
- 在连接下,选择启用公共 IP以支持入站连接。
- 可选:如需添加出站连接,请在出站公共 IP 地址下,选择启用出站公共 IP。
- 可选:如需在实例上配置 SSL 或连接器要求,请展开高级配置选项,然后执行以下操作:
- 默认情况下,AlloyDB 实例要求所有连接都使用 SSL 加密。如需允许非 SSL 连接,请清除仅允许 SSL 连接复选框。
- 如需要求与实例的所有数据库连接都使用 AlloyDB Auth Proxy 或 Google 提供的安全连接器库,请选择 Require connectors。
- 可选:如需限制与特定 IP 地址的直接连接,请添加 CIDR 范围的逗号分隔列表:
- 在已获授权的外部网络下,输入以英文逗号分隔的 CIDR 范围列表。对于每个 CIDR 范围,请输入 CIDR 块,例如
64.233.160.0/16
。为了最大限度地减少潜在的攻击面,请尽可能缩减地址列表的大小。
- 在已获授权的外部网络下,输入以英文逗号分隔的 CIDR 范围列表。对于每个 CIDR 范围,请输入 CIDR 块,例如
- 点击创建实例。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
如需详细了解如何创建其他实例类型,请参阅创建读取池实例和创建辅助实例。
使用 gcloud alloydb instances create
命令创建实例。
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--assign-inbound-public-ip=ASSIGN_IPV4
替换以下内容:
INSTANCE_ID
:您要创建的实例的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。CPU_COUNT
:您希望实例具有的 vCPU 数量。有效值包括:2
:2 个 vCPU,16 GB RAM4
:4 个 vCPU,32 GB RAM8
:8 个 vCPU,64 GB RAM16
:16 个 vCPU,128 GB RAM32
:32 个 vCPU,256 GB RAM64
:64 个 vCPU,512 GB RAM96
:96 个 vCPU,768 GB RAM128
:128 个 vCPU,864 GB RAM
REGION_ID
:您希望实例放置的区域。CLUSTER_ID
:您之前创建的集群的 ID。
可选:添加授权的外部网络
如果您想限制与特定 IP 地址的直接连接,请添加以英文逗号分隔的 CIDR 范围列表。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=ASSIGN_IPV4 \
--authorized-external-networks=CIDR_RANGE1,CIDR_RANGE2,...
替换以下内容:
CIDR_RANGE
:以英文逗号分隔的 CIDR 地址块列表,例如64.233.160.0/16
。为了最大限度地减少潜在的攻击面,请尽可能缩减地址列表。
可选:添加出站连接
添加 --outbound-public-ip
标志以启用出站公共 IP 地址。您只能为主实例和辅助实例启用出站公共 IP。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--outbound-public-ip
在实例上启用公共 IP
如需使用公共 IP 地址启用入站连接,请执行以下操作:
控制台
前往集群页面。
点击资源名称列中的某个集群。
在随即打开的概览页面中,前往集群中的实例部分,然后找到您的主实例。
依次点击 > 修改。
实例操作在连接下,选中启用公共 IP 复选框以支持入站连接。
可选:如果您想限制与特定 IP 地址的直接连接,请在已获授权的外部网络下,输入以英文逗号分隔的 CIDR 范围列表。
对于每个 CIDR 范围,请输入一个 CIDR 地址块,例如
64.233.160.0/16
。为了最大限度地减少潜在的攻击面,请尽可能缩减地址列表。点击更新实例以保存更改。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances update
命令在实例上启用公共 IP。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=ASSIGN_IPV4
替换以下内容:
INSTANCE_ID
:您要创建的实例的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。CLUSTER_ID
:您要创建的集群的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。REGION_ID
:您希望将集群放置到的区域。
可选:添加授权的外部网络
如果您想限制与特定 IP 地址的直接连接,请添加以英文逗号分隔的 CIDR 范围列表。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=ASSIGN_IPV4 \
--authorized-external-networks=CIDR_RANGE1,CIDR_RANGE2,...
替换以下内容:
CIDR_RANGE
:以英文逗号分隔的 CIDR 地址块列表,例如64.233.160.0/16
。为了最大限度地减少潜在的攻击面,请尽可能缩减地址列表。
在实例上停用公共 IP
当您在实例上停用公共 IP 地址后,AlloyDB 会从实例中移除公共 IP 地址,并清除已获授权的网络列表。指向您的实例的所有入站连接都会失败。已获授权的外部网络只能与公共 IP 搭配使用。
如需停用公共 IP,请执行以下操作:
控制台
前往集群页面。
点击资源名称列中的某个集群。
在随即打开的概览页面中,前往集群中的实例部分,然后找到您的主实例。
依次点击 > 修改。
实例操作在连接下,取消选中启用公共 IP 复选框以停止入站连接。
可选:在已获授权的外部网络下,删除以英文逗号分隔的 CIDR 范围。
点击更新实例以保存更改。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances update
命令在实例上启用公共 IP。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=NO_PUBLIC_IP
替换以下内容:
INSTANCE_ID
:您要创建的实例的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。CLUSTER_ID
:您要创建的集群的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。REGION_ID
:您希望将集群放置到的区域。
更新实例的授权外部网络
您可以随时更新实例上已获授权的外部网络列表。 更新授权外部网络列表时,必须在实例上启用公共 IP。
您无法单独添加或移除已获授权的外部网络,并且每次运行更新列表命令时,网络列表都会被覆盖。如需更新实例上的已获授权的外部网络,您每次添加或移除网络时都需要提供包含所有已获授权的外部网络的分号分隔列表。每个已获授权的外部网络都必须采用 CIDR 格式。
如需更新实例上的已获授权外部网络列表,请执行以下操作:
控制台
前往集群页面
点击资源名称列中的某个集群。
在随即打开的概览页面中,前往集群中的实例部分,然后找到您的主实例。
依次点击 > 修改。
实例操作在已获授权的外部网络下,输入 CIDR 范围的逗号分隔列表。对于每个 CIDR 范围,请输入一个 CIDR 地址块,例如
64.233.160.0/16
。为了最大限度地减少潜在的攻击面,请尽可能缩减地址列表。点击更新实例以保存更改。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances update
命令在实例上启用公共 IP。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--authorized-external-networks=CIDR_RANGE1,CIDR_RANGE2,...
替换以下内容:
INSTANCE_ID
:您要创建的实例的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。CLUSTER_ID
:您要创建的集群的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。REGION_ID
:您希望将集群放置到的区域。CIDR_RANGE
:以英文逗号分隔的 CIDR 地址块列表,例如64.233.160.0/16
。为了最大限度地减少潜在的攻击面,请尽可能缩减地址列表。
向实例添加出站连接
您可以启用出站公共 IP,以便在 AlloyDB 实例与外部来源之间建立连接。AlloyDB 会生成两个出站公共 IP 地址,这些地址会保持一致,直到您在实例上停用出站连接。您只能为主实例和辅助实例启用出站公共 IP。
如需启用出站公共 IP,请执行以下操作:
控制台
前往集群页面。
点击资源名称列中的某个集群。
在随即打开的概览页面中,前往集群中的实例部分,然后找到您的主实例。
依次点击 > 修改。
实例操作在出站公共 IP 连接下,选中启用出站公共 IP复选框以支持出站连接。
点击更新实例以保存更改。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances update
命令在实例上启用出站公共 IP。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--outbound-public-ip
替换以下内容:
INSTANCE_ID
:您要为其添加出站连接的实例的 ID。CLUSTER_ID
:您要为其添加出站连接的集群的 ID。REGION_ID
:集群所在的区域。
查看实例的连接详情
您可以随时使用 gcloud alloydb instances
describe
命令查看实例上的已获授权的外部网络列表以及分配的公共 IP 地址。如果您已在实例上启用出站连接,还可以查看出站公共 IP 地址。
如需查看连接详情,请执行以下操作:
控制台
前往集群页面。
点击资源名称列中的某个集群。
前往集群中的实例部分。
您可以找到显示公共 IP 地址的公共 IP 资源,以及显示已获授权的外部网络范围的已获授权的外部网络资源(如果已配置)。出站公共 IP 地址会填充在出站公共 IP 地址资源中。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
gcloud alloydb instances describe INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID
替换以下内容:
INSTANCE_ID
:您要查看的实例的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。CLUSTER_ID
:您要查看的集群的 ID。必须以小写字母开头,可以包含小写字母、数字和连字符。REGION_ID
:您希望将集群放置到的区域。