默认情况下,AlloyDB for PostgreSQL 主实例具有高可用性 (HA),能够在发生服务中断时自动故障切换到备用节点。如果您的 AlloyDB for PostgreSQL 集群不需要高可用性,您可以选择将集群的主实例设为基本实例(而非高可用性实例),从而降低运营成本。
本页简要介绍了基本实例。此外,本文还介绍了如何执行以下操作:
在 AlloyDB 集群中创建基本实例。
将基本实例更改为高可用性实例,反之亦然。
确定给定实例是基本实例还是高可用性实例。
如需更笼统地了解 AlloyDB 集群和实例,请参阅 AlloyDB 概览。
基本实例概览
基本实例的运作方式与 HA 主实例完全相同,但有一个关键区别:它缺少备用节点。这种更简单的架构使得基本实例(也称为可用区实例)的运维费用低于 HA 实例。
由于只有一个节点,基本实例不支持自动故障转移。如果托管基本实例的活动节点的可用区发生服务中断,则在服务中断结束之前,该实例将无法处理任何查询。这种行为与 HA 主实例形成鲜明对比,后者会通过自动将实例的待机节点转换为新的主节点来响应其主节点的任何故障。
在维护操作期间,高可用性主实例和基本实例的维护停机时间通常最短,不到 1 秒。
基本实例适合在开发或预演环境中使用,这些环境不一定需要提供高可用性。Google 强烈建议在 AlloyDB 集群的生产部署中仅使用高可用性 (HA) 实例,而不是基本实例。AlloyDB SLA 提供的正常运行时间保证仅适用于多可用区实例。由于基本实例在单个可用区中只有一个节点,因此我们无法保证基本实例的高可用性。
使用基本实例创建集群
控制台
按照创建集群及其主实例中所述的流程操作,并进行以下修改:
点击创建集群后,选择基本或基本(带有读取池)作为集群类型。然后,照常继续执行集群创建流程。
gcloud
按照创建集群及其主实例中所述的流程操作,并进行以下修改:
运行 gcloud alloydb instances create
命令以创建新集群的主实例时,请添加参数 --availability-type=ZONAL
。
为现有集群创建基本实例
控制台
按照创建主实例中所述的步骤操作,并进行以下修改:
在配置主实例窗格中,选择可用区级可用性下的单个可用区。
gcloud
按照创建主实例中所述的步骤操作,并进行以下修改:
运行 gcloud alloydb instances create
命令以创建主实例时,请添加参数 --availability-type=ZONAL
。
将基本实例升级为高可用性实例
此操作会有效地将新节点上线,并将其设置为实例的备用节点。
控制台
前往集群页面。
点击您要从基本版升级为 HA 的主实例的
操作列。选择修改。
在修改主实例窗格中,选择“可用区可用性”下方的多个可用区(高可用性)。
点击更新实例。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances
update
命令可将基本实例转换为高可用性实例。
gcloud alloydb instances update INSTANCE_ID \
--availability-type=REGIONAL
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
替换以下内容:
INSTANCE_ID
:您要更新的实例的 ID。REGION_ID
:实例所在的区域。CLUSTER_ID
:实例所在集群的 ID。PROJECT_ID
:集群所在的项目的 ID。
将高可用性 (HA) 实例降级为基本实例
此操作会有效地将实例的备用节点下线,只留下其活跃节点。
控制台
前往集群页面。
点击您要从高可用性降级为基本版的主实例的
Actions(操作)列。选择修改。
在修改主实例窗格中,选择“可用区级可用性”下方的单个可用区。
点击更新实例。
gcloud
如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances
update
命令将基本实例转换为高可用性实例。
gcloud alloydb instances update INSTANCE_ID \
--availability-type=ZONAL
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
替换以下内容:
INSTANCE_ID
:您要更新的实例的 ID。REGION_ID
:实例所在的区域。CLUSTER_ID
:实例所在集群的 ID。PROJECT_ID
:集群所在的项目的 ID。
确定实例是高可用性实例还是基本实例
控制台
请按照查看实例详情中所述的步骤操作。
在实例的详细信息表格中,找到高可用性行。该值具有以下某个值:
高可用:此实例在多个可用区中有多个节点,因此具有高可用性。
否:此实例只有一个节点,不支持高可用性。
gcloud
请按照查看实例详情中所述的步骤操作。
在命令输出中找到
availabilityType
行。其值为
REGIONAL
(对于高可用性实例)或ZONAL
(对于基本实例)。