本页面总结了如何使用公共 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 提供的安全连接器库,请勾选需要连接器。
- 可选:如果您想仅限与特定 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 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 \
--authorized-external-networks=CIDR_RANGE1,CIDR_RANGE2,...
替换以下内容:
CIDR_RANGE
:以英文逗号分隔的 CIDR 地址块列表,例如64.233.160.0/16
。为了尽可能减少潜在攻击面,请尽量缩减该地址列表。
可选:添加出站连接
添加 --outbound-public-ip
标志以启用出站公共 IP 地址。您只能为主实例和次要实例启用出站公共 IP。
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
--outbound-public-ip
在实例上启用公共 IP
如要允许使用公共 IP 进行的入站连接,请执行以下操作:
控制台
转到集群页面。
在资源名称列中点击相应集群。
在随即打开的概览页面中,前往集群中的实例部分,然后找到您的主实例。
依次点击 > 修改。
实例操作在连接下,勾选启用公共 IP 复选框以支持入站连接。
可选:在授权外部网络下,输入以英文逗号分隔的 CIDR 范围列表(如果您想仅限与特定 IP 地址建立直接连接)。
对于每个 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
:您要将集群放置在其中的区域。