AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::RDS::DBCluster

AWS::RDS::DBCluster 资源用于创建群集,例如用于 Amazon RDS (Amazon Aurora) 数据库群集的 Aurora。Amazon Aurora 是一种完全托管的、兼容 MySQL 的关系数据库引擎。有关更多信息,请参阅 Amazon Relational Database Service 用户指南 中的 Amazon RDS 上的 Aurora

注意

目前,您只能在支持 Amazon Aurora 的区域创建此资源。

AWS::RDS::DBCluster 资源的默认 DeletionPolicy 是 Snapshot。有关 AWS CloudFormation 如何删除资源的更多信息,请参阅 DeletionPolicy 属性

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::RDS::DBCluster", "Properties" : { "AvailabilityZones" : [ String, ... ], "BackupRetentionPeriod" : Integer, "DatabaseName" : String, "DBClusterParameterGroupName" : String, "DBSubnetGroupName" : String, "Engine" : String, "EngineVersion" : String, "KmsKeyId" : String, "MasterUsername" : String, "MasterUserPassword" : String, "Port" : Integer, "PreferredBackupWindow" : String, "PreferredMaintenanceWindow" : String, "ReplicationSourceIdentifier" : String, "SnapshotIdentifier" : String, "StorageEncrypted" : Boolean, "Tags" : [ Resource Tag, ... ], "VpcSecurityGroupIds" : [ String, ... ] } }

YAML

Type: "AWS::RDS::DBCluster" Properties: AvailabilityZones: - 字符串 BackupRetentionPeriod: Integer DatabaseName: String DBClusterParameterGroupName: String DBSubnetGroupName: String Engine: String EngineVersion: String KmsKeyId: String MasterUsername: String MasterUserPassword: String Port: Integer PreferredBackupWindow: String PreferredMaintenanceWindow: String ReplicationSourceIdentifier: String SnapshotIdentifier: String StorageEncrypted: Boolean Tags: - Resource Tag VpcSecurityGroupIds: - 字符串

属性

AvailabilityZones

可在群集中创建数据库实例的可用区 (AZ) 的列表。

Required: No

Type: String

更新要求替换

BackupRetentionPeriod

自动备份的保留天数。更多相关信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBCluster 部分。

Required: No

Type: Integer

更新要求无需中断时而中断。有关更多信息,请参阅 Amazon Relational Database Service API Reference 中的 ModifyDBInstance

DatabaseName

数据库的名称。您可以指定包含多达八位字母数字字符的名称。如果您不提供名称,Amazon Relational Database Service (Amazon RDS) 不会在此数据库群集中创建数据库。

Required: No

Type: String

更新要求替换

DBClusterParameterGroupName

要与此数据库群集关联的数据库群集参数组的名称。有关默认值的信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBCluster 操作的 DBClusterParameterGroupName 参数。

Required: No

Type: String

更新要求时而中断

DBSubnetGroupName

要与此数据库群集关联的数据库子网组。

Required: No

Type: String

更新要求替换

Engine

要用于此数据库群集的数据库引擎的名称。

有关有效值的信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBCluster 操作的 Engine 参数。

Required: Yes

Type: String

更新要求替换

EngineVersion

要使用的数据库引擎的版本号。

Required: No

Type: String

更新要求替换

KmsKeyId

用于对数据库群集中的数据库实例加密的 AWS Key Management Service 主密钥的 Amazon 资源名称 (ARN),如 arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef。如果启用 StorageEncrypted 属性但不指定此属性,则使用默认主密钥。如果指定此属性,则必须将 StorageEncrypted 属性设为 true

如果指定 SnapshotIdentifier,请勿指定此属性。此值继承自快照数据库群集。

Required: No

Type: String

更新要求替换.

MasterUsername

数据库实例的主用户名。

Required: Conditional。若不指定 SnapshotIdentifier 属性,则必须指定此属性。如果指定了后者,则不要指定此属性。

Type: String

更新要求替换.

MasterUserPassword

主数据库用户的密码。

Required: Conditional。若不指定 SnapshotIdentifier 属性,则必须指定此属性。如果指定了后者,则不要指定此属性。

Type: String

更新要求无需中断

Port

群集中的数据库实例可接受连接的端口号。

Required: No

Type: Integer

更新要求无需中断

PreferredBackupWindow

如果启用了自动备份(请参阅 BackupRetentionPeriod 属性),则为要创建自动备份的每日时间范围 (UTC)。

有关有效值的信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBInstance 操作的 PreferredBackupWindow 参数。

Required: No

Type: String

更新要求无需中断

PreferredMaintenanceWindow

可能进行系统维护的每周时间范围(按世界协调时间计算)。

有关有效值的信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBInstance 操作的 PreferredMaintenanceWindow 参数。

Required: No

Type: String

更新要求无需中断时而中断。有关更多信息,请参阅 Amazon Relational Database Service API Reference 中的 ModifyDBInstance

ReplicationSourceIdentifier

源 Amazon RDS MySQL 数据库实例或数据库群集 (如果该数据库群集创建为只读副本的话) 的 Amazon 资源名称 (ARN)。

Required: No

Type: String

更新要求无需中断

SnapshotIdentifier

用于还原操作的数据库群集快照的标识符。

Required: No

Type: String

更新要求替换

StorageEncrypted

指示群集中的数据库实例是否加密。

如果您指定了 SnapshotIdentifier 属性,请勿指定此属性。此值继承自快照数据库群集。

Required: Conditional。如果指定 KmsKeyId 属性,则必须启用加密。

Type: Boolean

更新要求替换.

Tags

您要附加到此数据库群集的标签。

Required: No

类型资源标签列表

更新要求无需中断

VpcSecurityGroupIds

要与此数据库群集关联的 VPC 安全组的列表。

Required: No

Type: List of String values

更新要求无需中断

返回值

Ref

当该资源的逻辑 ID 提供给 Ref内部函数时,Ref 将返回资源名称。

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。

Endpoint.Address

数据库群集的连接终端节点。例如:mystack-mydbcluster-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com

Endpoint.Port

Amazon Redshift 群集接受连接的端口号。例如:5439

ReadEndpoint.Address

数据库群集的读取器终端节点。例如:mystack-mydbcluster-ro-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com

有关使用 Fn::GetAtt 的更多信息,请参见 Fn::GetAtt

示例

下面的代码段创建一个 Amazon Aurora 数据库群集,然后向其添加两个数据库实例。Amazon RDS 会在群集中自动分配写入器和读取器数据库实例,因此,使用群集终端节点读取和写入数据,而不是单个数据库实例终端节点。

JSON

"RDSCluster" : { "Type" : "AWS::RDS::DBCluster", "Properties" : { "MasterUsername" : { "Ref" : "username" }, "MasterUserPassword" : { "Ref" : "password" }, "Engine" : "aurora", "DBSubnetGroupName" : { "Ref" : "DBSubnetGroup" }, "DBClusterParameterGroupName" : { "Ref" : "RDSDBClusterParameterGroup" } } }, "RDSDBInstance1" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "DBSubnetGroupName" : { "Ref" : "DBSubnetGroup" }, "DBParameterGroupName" :{"Ref": "RDSDBParameterGroup"}, "Engine" : "aurora", "DBClusterIdentifier" : { "Ref" : "RDSCluster" }, "PubliclyAccessible" : "true", "AvailabilityZone" : { "Fn::GetAtt" : [ "Subnet1", "AvailabilityZone" ] }, "DBInstanceClass" : "db.r3.xlarge" } }, "RDSDBInstance2" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "DBSubnetGroupName" : { "Ref" : "DBSubnetGroup" }, "DBParameterGroupName" :{"Ref": "RDSDBParameterGroup"}, "Engine" : "aurora", "DBClusterIdentifier" : { "Ref" : "RDSCluster" }, "PubliclyAccessible" : "true", "AvailabilityZone" : { "Fn::GetAtt" : [ "Subnet2", "AvailabilityZone" ] }, "DBInstanceClass" : "db.r3.xlarge" } }, "RDSDBClusterParameterGroup" : { "Type": "AWS::RDS::DBClusterParameterGroup", "Properties" : { "Description" : "CloudFormation Sample Aurora Cluster Parameter Group", "Family" : "aurora5.6", "Parameters" : { "time_zone" : "US/Eastern" } } }, "RDSDBParameterGroup": { "Type": "AWS::RDS::DBParameterGroup", "Properties" : { "Description" : "CloudFormation Sample Aurora Parameter Group", "Family" : "aurora5.6", "Parameters" : { "sql_mode": "IGNORE_SPACE" } } }

YAML

RDSCluster: Type: AWS::RDS::DBCluster Properties: MasterUsername: Ref: username MasterUserPassword: Ref: password Engine: aurora DBSubnetGroupName: Ref: DBSubnetGroup DBClusterParameterGroupName: Ref: RDSDBClusterParameterGroup RDSDBInstance1: Type: AWS::RDS::DBInstance Properties: DBSubnetGroupName: Ref: DBSubnetGroup DBParameterGroupName: Ref: RDSDBParameterGroup Engine: aurora DBClusterIdentifier: Ref: RDSCluster PubliclyAccessible: 'true' AvailabilityZone: Fn::GetAtt: - Subnet1 - AvailabilityZone DBInstanceClass: db.r3.xlarge RDSDBInstance2: Type: AWS::RDS::DBInstance Properties: DBSubnetGroupName: Ref: DBSubnetGroup DBParameterGroupName: Ref: RDSDBParameterGroup Engine: aurora DBClusterIdentifier: Ref: RDSCluster PubliclyAccessible: 'true' AvailabilityZone: Fn::GetAtt: - Subnet2 - AvailabilityZone DBInstanceClass: db.r3.xlarge RDSDBClusterParameterGroup: Type: AWS::RDS::DBClusterParameterGroup Properties: Description: CloudFormation Sample Aurora Cluster Parameter Group Family: aurora5.6 Parameters: time_zone: US/Eastern RDSDBParameterGroup: Type: AWS::RDS::DBParameterGroup Properties: Description: CloudFormation Sample Aurora Parameter Group Family: aurora5.6 Parameters: sql_mode: IGNORE_SPACE

本页内容: