ALIYUN::GPDB::DBInstance

ALIYUN::GPDB::DBInstance类型用于创建存储预留模式的AnalyticDB for PostgreSQL实例。

说明

关于AnalyticDB for PostgreSQL实例存储资源模式的更多信息,请参见规格及选型

语法

{
  "Type": "ALIYUN::GPDB::DBInstance",
  "Properties": {
    "EngineVersion": String,
    "ZoneId": String,
    "VSwitchId": String,   
    "DBInstanceClass": String,
    "DBInstanceGroupCount": Integer,
    "VPCId": String,
    "SecurityIPList": String,   
    "DBInstanceDescription": String,
    "PayType": String,
    "Period": Integer,
    "PeriodUnit": String,
    "Tags": List,
    "VectorConfigurationStatus": String,
    "StorageSize": Integer,
    "EncryptionType": String,
    "MasterNodeNum": Integer,
    "DBInstanceMode": String,
    "SegDiskPerformanceLevel": String,
    "DBInstanceCategory": String,
    "SegStorageType": String,
    "EncryptionKey": String,
    "CreateSampleData": Boolean,
    "ServerlessMode": String,
    "ServerlessResource": Integer,
    "PrivateIpAddress": String,
    "SegNodeNum": Integer,
    "InstanceSpec": String,
    "IdleTime": Integer,
    "ProdType": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

EngineVersion

String

引擎版本。

取值示例:

  • 6.0:6.0标准版。

  • 6.0x:6.0向量增强版。

ZoneId

String

可用区ID。

取值示例:cn-hangzhou-h。

关于可用区ID的更多信息,请参见DescribeRegions - 查看可选的地域和可用区

VSwitchId

String

交换机ID。

取值示例:vsw-bp183p93qs667muql****。

DBInstanceClass

String

实例规格。

取值示例:gpdb.group.segsdx2。

DBInstanceGroupCount

Integer

AnalyticDB for PostgreSQL计算组的数量。

取值示例:2。

VPCId

String

专有网络ID。

取值示例:vpc-bp1m6fww66xbntjyc****。

SecurityIPList

String

IP地址白名单。

默认值:127.0.0.1。

DBInstanceDescription

String

实例描述。

取值示例:AnalyticDB PostgreSQL DB Instance。

长度不超过256个字符。

PayType

String

付费类型。

取值:

  • Postpaid(默认值):按量付费。

  • Prepaid:包年包月。

Period

Integer

购买资源的时长。

取值范围:

  • 当PeriodUnit取值为Month时:1~11。

  • 当PeriodUnit取值为Year时:1~3。

PeriodUnit

String

购买资源的时长单位。

取值:

  • Month(默认值):月。

  • Year:年。

Tags

List

用户自定义标签。

更多信息,请参见Tags属性

VectorConfigurationStatus

String

是否开启向量引擎优化。

取值:

  • enabled:开启向量引擎优化。

  • disabled(默认值):不开启向量引擎优化。

说明
  • 对于主流分析场景、数仓场景、实时数仓等场景,建议不开启向量引擎优化。

  • 对于使用向量分析引擎用于AIGC、向量检索等场景用户,建议开启向量引擎优化。

StorageSize

Integer

存储空间大小。

单位GB,取值范围为50~8000 。

EncryptionType

String

加密类型。

取值:

  • NULL:不启用加密(默认值)。

  • CloudDisk:开通云盘加密,并通过EncryptionKey参数指定密钥。

说明

当前云盘加密开启后无法关闭。

MasterNodeNum

Integer

Master节点数量。

取值为1~2。

说明

如果不填,则默认为1个Master节点。

DBInstanceMode

String

实例资源类型。

取值:

  • StorageElastic:存储弹性模式。

  • Serverless:Serverless模式。

  • Classic:存储预留模式。

SegDiskPerformanceLevel

String

ESSD云盘的性能级别。

取值:

  • pl0:PL0级别。

  • pl1:PL1级别。

  • pl2:PL2级别。

说明

仅磁盘存储类型为ESSD云盘时,该参数生效。

如果不填,则默认为PL1级别。

DBInstanceCategory

String

实例系列。

取值:

  • HighAvailability:高可用版。

  • Basic:基础版。

说明

创建存储弹性模式实例必须传入该参数。

SegStorageType

String

磁盘存储类型。

目前仅支持ESSD云盘,取值为:cloud_essd

说明

创建存储弹性模式实例必须传入该参数。

EncryptionKey

String

密钥ID。

如果参数EncryptionType的值为CloudDisk则需要通过该参数指定同地域内的加密密钥ID,否则为空。

CreateSampleData

Boolean

是否在实例创建完成后加载样本数据集。

取值:

  • true:加载样本数据集。

  • false(默认值):不加载样本数据集

ServerlessMode

String

Serverless实例的模式。

取值:

  • Manual:手动调度,为默认值。

  • Auto:自动调度。

说明

仅Serverless模式实例需传入该参数。

ServerlessResource

Integer

计算资源阈值。

取值范围8~32,步长为8,单位为ACU。默认值为32。

说明

仅Serverless自动调度模式实例需传入该参数。

PrivateIpAddress

String

私有IP地址。

SegNodeNum

Integer

计算节点个数。

取值:

  • 存储弹性模式高可用版取值范围为4~512,取值需为4的倍数。

  • 存储弹性模式基础版取值范围为2~512,取值需为2的倍数。

  • Serverless模式取值范围为2~512,取值需为2的倍数。

说明

创建存储弹性模式实例和Serverless模式实例必须传入该参数。

InstanceSpec

String

计算节点规格。

  • 存储弹性模式高可用版取值:

    • 2C16G

    • 4C32G

    • 16C128G

  • 存储弹性模式基础版取值:

    • 2C8G

    • 4C16G

    • 8C32G

    • 16C64G

  • Serverless模式取值:

    • 4C16G

    • 8C32G

说明

创建存储弹性模式实例和Serverless模式实例必须传入该参数。

IdleTime

Integer

空闲释放等待时长。

即当无业务流量的时长达到指定时长后,实例转为空闲状态。单位为秒,最小值为60,默认值为600。

说明

仅Serverless自动调度模式实例需传入该参数。

ProdType

String

产品类型。

取值:

  • standard:标准版(默认值)。

  • cost-effective:经济版。

Tags语法

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags属性

属性名称

类型

必须

允许更新

描述

约束

Key

String

标签键。

长度为1~128个字符,不能以aliyunacs:开头,不能包含http://https://

Value

String

标签值。

长度为0~128个字符,不能以aliyunacs:开头,不能包含http://https://

返回值

Fn::GetAtt

  • DBInstanceId:实例ID。

  • Port:端口。

  • OrderId:订单编号。

  • ConnectionString:连接地址。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ZoneId:
    Type: String
  VpcId:
    Type: String
    AssociationProperty: 'ALIYUN::ECS::VPC::VPCId'
  VSwitchId:
    Type: String
    AssociationProperty: 'ALIYUN::ECS::VSwitch::VSwitchId'
    AssociationPropertyMetadata:
      ZoneId: ZoneId
      VpcId: VpcId
Resources:
  DBInstance:
    Type: 'ALIYUN::GPDB::DBInstance'
    Properties:
      ZoneId:
        Ref: ZoneId
      VPCId:
        Ref: VpcId
      VSwitchId:
        Ref: VSwitchId
      DBInstanceGroupCount: 2
      EngineVersion: '6.0'
      DBInstanceClass: gpdb.group.segsdx2
      DBInstanceDescription: AnalyticDB PostgreSQL DB Instance
Outputs:
  OrderId:
    Value:
      'Fn::GetAtt':
        - DBInstance
        - OrderId
  ConnectionString:
    Value:
      'Fn::GetAtt':
        - DBInstance
        - ConnectionString
  DBInstanceId:
    Value:
      'Fn::GetAtt':
        - DBInstance
        - DBInstanceId
  Port:
    Value:
      'Fn::GetAtt':
        - DBInstance
        - Port

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ZoneId": {
      "Type": "String"
    },
    "VpcId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
    },
    "VSwitchId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "AssociationPropertyMetadata": {
        "ZoneId": "ZoneId",
        "VpcId": "VpcId"
      }
    }
  },
  "Resources": {
    "DBInstance": {
      "Type": "ALIYUN::GPDB::DBInstance",
      "Properties": {
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "VPCId": {
          "Ref": "VpcId"
        },
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "DBInstanceGroupCount": 2,
        "EngineVersion": "6.0",
        "DBInstanceClass": "gpdb.group.segsdx2",
        "DBInstanceDescription": "AnalyticDB PostgreSQL DB Instance"
      }
    }
  },
  "Outputs": {
    "OrderId": {
      "Value": { "Fn::GetAtt": ["DBInstance", "OrderId"] }
    },
    "ConnectionString": {
      "Value": { "Fn::GetAtt": ["DBInstance", "ConnectionString"] }
    },
    "DBInstanceId": {
      "Value": { "Fn::GetAtt": ["DBInstance", "DBInstanceId"] }
    },
    "Port": {
      "Value": { "Fn::GetAtt": ["DBInstance", "Port"] }
    }
  }
}