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

AWS::RDS::DBInstance

AWS::RDS::DBInstance 类型创建 Amazon Relational Database Service (Amazon RDS) 数据库实例。有关配置 RDS 数据库实例的详细信息,请参阅 CreateDBInstance

重要

如果数据库实例在更新过程中被删除或替换,则 AWS CloudFormation 会删除所有自动快照。但是,它会保留手动数据库快照。在需要替换的更新过程中,您可以应用堆栈策略以防止替换数据库实例。有关更多信息,请参阅 防止更新堆栈资源

语法

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

JSON

Copy
{ "Type" : "AWS::RDS::DBInstance", "Properties" : { "AllocatedStorage" : String, "AllowMajorVersionUpgrade" : Boolean, "AutoMinorVersionUpgrade" : Boolean, "AvailabilityZone" : String, "BackupRetentionPeriod" : String, "CharacterSetName" : String, "CopyTagsToSnapshot" : Boolean, "DBClusterIdentifier" : String, "DBInstanceClass" : String, "DBInstanceIdentifier" : String, "DBName" : String, "DBParameterGroupName" : String, "DBSecurityGroups" : [ String, ... ], "DBSnapshotIdentifier" : String, "DBSubnetGroupName" : String, "Domain" : String, "DomainIAMRoleName" : String, "Engine" : String, "EngineVersion" : String, "Iops" : Number, "KmsKeyId" : String, "LicenseModel" : String, "MasterUsername" : String, "MasterUserPassword" : String, "MonitoringInterval" : Integer, "MonitoringRoleArn" : String, "MultiAZ" : Boolean, "OptionGroupName" : String, "Port" : String, "PreferredBackupWindow" : String, "PreferredMaintenanceWindow" : String, "PubliclyAccessible" : Boolean, "SourceDBInstanceIdentifier" : String, "StorageEncrypted" : Boolean, "StorageType" : String, "Tags" : [ Resource Tag, ... ], "Timezone" : String, "VPCSecurityGroups" : [ String, ... ] } }

YAML

Copy
Type: "AWS::RDS::DBInstance" Properties: AllocatedStorage: String AllowMajorVersionUpgrade: Boolean AutoMinorVersionUpgrade: Boolean AvailabilityZone: String BackupRetentionPeriod: String CharacterSetName: String CopyTagsToSnapshot: Boolean DBClusterIdentifier: String DBInstanceClass: String DBInstanceIdentifier: String DBName: String DBParameterGroupName: String DBSecurityGroups: - 字符串 DBSnapshotIdentifier: String DBSubnetGroupName: String Domain: String DomainIAMRoleName: String Engine: String EngineVersion: String Iops: Number KmsKeyId: String LicenseModel: String MasterUsername: String MasterUserPassword: String MonitoringInterval: Integer MonitoringRoleArn: String MultiAZ: Boolean OptionGroupName: String Port: String PreferredBackupWindow: String PreferredMaintenanceWindow: String PubliclyAccessible: Boolean SourceDBInstanceIdentifier: String StorageEncrypted: Boolean StorageType: String Tags: Resource Tag Timezone: String VPCSecurityGroups: - 字符串

属性

AllocatedStorage

已分配存储的大小(以 GB 计算)。

如果在 Iops 参数中设置了任何值,则 AllocatedStorage 至少必须为 100 GB,而相应的 Iops 值最小为 1000。如果您增加 Iops 值 (以 1000 IOPS 为增量计算),那么您还必须增加 AllocatedStorage 值 (以 100 GB 为增量计算)。

Required: Conditional。此属性是必需属性,除非您指定 DBClusterIdentifier 属性或者使用 AWS::RDS::DBInstance 资源从 AWS CloudFormation 创建只读副本。在这些情况下,请不要指定此属性。

Type: String

更新要求无需中断

AllowMajorVersionUpgrade

如果将 EngineVersion 属性更新为不同于数据库实例的当前主版本的一个版本,请将此属性设置为 true。有关更多信息,请参阅 Amazon Relational Database Service API Reference 中的 ModifyDBInstance

Required: No

Type: Boolean

更新要求无需中断

AutoMinorVersionUpgrade

指示在维护窗口期间,将对该数据库实例自动应用次要引擎升级。默认值为 true

Required: No

Type: Boolean

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

AvailabilityZone

数据库实例所在的可用区的名称。如果 MultiAZ 参数设为 true,则无法设置 AvailabilityZone 参数。

Required: No

Type: String

更新要求替换

BackupRetentionPeriod

自动拍摄的数据库快照的保留天数。

重要

如果此数据库实例在更新过程中被删除或替换,则 AWS CloudFormation 会删除所有自动快照。但是,它会保留手动数据库快照。

Required: No

Type: String

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

CharacterSetName

对于支持的引擎,指定与数据库实例关联的字符集。有关更多信息,请参阅 Amazon Relational Database Service 用户指南 中的附录:Amazon RDS 中支持的 Oracle 字符集

如果您指定了 DBSnapshotIdentifierSourceDBInstanceIdentifier 属性,请勿指定此属性。值继承自快照或源数据库实例。

必需:否

类型:字符串

更新要求替换

CopyTagsToSnapshot

指示是否将数据库实例中的所有用户定义的标签复制到数据库实例的快照。默认情况下,Amazon RDS 不会将标签复制到快照。Amazon RDS 不会复制带 aws:: 前缀的标签,除非它是数据库实例的最终快照 (您删除数据库实例时的快照)。

必需:否

Type: Boolean

更新要求无需中断

DBClusterIdentifier

与此实例关联的现有数据库群集的名称。如果您指定此属性,请为 Engine 属性指定 aurora 并且请勿指定下列任一属性:AllocatedStorageBackupRetentionPeriodCharacterSetNameDBSecurityGroupsMasterUsernameMasterUserPasswordOptionGroupNamePreferredBackupWindowPreferredMaintenanceWindowPortSourceDBInstanceIdentifierStorageTypeVPCSecurityGroups

Amazon RDS 将此群集中的第一个数据库实例分配为主实例,将其他数据库实例分配为副本。

如果指定此属性,则默认删除策略是 Delete。否则,默认删除策略是 Snapshot

必需:否

类型:字符串

更新要求替换

DBInstanceClass

数据库实例的计算和内存容量级别名称。

Required: Yes

Type: String

更新要求时而中断

DBInstanceIdentifier

数据库实例的名称。如果指定名称,则 AWS CloudFormation 将其转换为小写。如果不指定名称,则 AWS CloudFormation 生成一个唯一物理 ID 并将该 ID 用于数据库实例。有关更多信息,请参阅 名称类型

重要

如果指定一个名称,您将无法执行需要替换此资源的更新。您可以执行不需要或者只需要部分中断的更新。如果必须替换资源,请指定新名称。

必需:否

类型:字符串

更新要求替换

DBName

创建时提供的数据库实例名称(如果指定了名称)。在数据库实例的使用期间会始终返回同一名称。

重要

如果指定 DBSnapshotIdentifier 属性,AWS CloudFormation 会忽略该属性。

如果您打算从快照还原数据库实例,请注意,该属性不适用于 MySQL、PostgreSQL 或 MariaDB 引擎。

Required: No

Type: String

更新要求替换

DBParameterGroupName

现有数据库参数组或在模板中创建的 AWS::RDS::DBParameterGroup 资源的引用的名称。

Required: No

Type: String

更新要求无需中断时而中断。如果引用的参数组的任何数据成员在更新期间发生更改,就可能要重新启动该数据库实例,从而造成运行中断。如果参数组包含静态参数,则无论这些参数是否发生了更改,更新都将触发重启操作。

DBSecurityGroups

要分配到数据库实例的数据库安全组的列表。该列表可包含现有数据库安全组的名称,或是对模板中所创建的 AWS::RDS::DBSecurityGroup 资源的引用。

如果设置 DBSecurityGroups,则不能设置 VPCSecurityGroups,反之亦然。此外,请注意,EC2VpcId 属性仅在与较旧区域向后兼容时存在,并且建议不再将其用于为 RDS 数据库实例提供安全信息。请改用 VPCSecurityGroups

重要

如果指定此属性,则 AWS CloudFormation 只将以下属性(如果指定)发送到 Amazon RDS:

  • AllocatedStorage

  • AutoMinorVersionUpgrade

  • AvailabilityZone

  • BackupRetentionPeriod

  • CharacterSetName

  • DBInstanceClass

  • DBName

  • DBParameterGroupName

  • DBSecurityGroups

  • DBSubnetGroupName

  • Engine

  • EngineVersion

  • Iops

  • LicenseModel

  • MasterUsername

  • MasterUserPassword

  • MultiAZ

  • OptionGroupName

  • PreferredBackupWindow

  • PreferredMaintenanceWindow

所有其他属性都将忽略。如果您要提交其他属性,例如 StorageTypeStorageEncryptedKmsKeyId,则指定 VPC 安全组。如果您已使用 DBSecurityGroups 属性,则无法通过将您的数据库实例更新为使用 VPC 安全组来使用这些其他属性。您必须重新创建该数据库实例。

Required: No

Type: List of String values

更新要求无需中断

DBSnapshotIdentifier

用来恢复数据库实例的数据库快照的名称或 ARN。如果您正在从共享的手动数据库快照恢复,则必须指定快照的 Amazon 资源名称 (ARN)。

通过指定此属性,您可以从指定的数据库快照创建数据库实例。如果 DBSnapshotIdentifier 属性为空字符串或者 AWS::RDS::DBInstance 声明没有 DBSnapshotIdentifier 属性,则 AWS CloudFormation 会创建一个新数据库。如果此属性包含一个值(而不是空字符串),则 AWS CloudFormation 会从指定的快照创建数据库。如果不存在具有指定名称的快照,则 AWS CloudFormation 无法创建数据库,并且会回滚堆栈。

从快照还原时,某些数据库实例属性(如 MasterUsernameMasterUserPassword 属性)无效。有关可以指定的属性的信息,请参阅 Amazon Relational Database Service API Reference 中的 RestoreDBInstanceFromDBSnapshot 操作。

重要

如果指定该属性,AWS CloudFormation 会忽略 DBName 属性。

Required: No

Type: String

更新要求替换

DBSubnetGroupName

要与此数据库实例关联的数据库子网组。如果您更新了此值,则新子网组必须是新 VPC 中的子网组。

如果不存在数据库子网组,则该实例不是 VPC 数据库实例。

有关在 VPC 中使用 Amazon RDS 的更多信息,请参阅 Amazon Relational Database Service 开发人员指南 中的将 Amazon RDS 与 Amazon Virtual Private Cloud (VPC) 结合使用

Required: No

Type: String

更新要求替换

Domain

对于运行 Microsoft SQL Server 的 Amazon RDS 数据库实例,要在其中创建实例的 Active Directory 目录 ID。Amazon RDS 使用 Windows 身份验证对连接到数据库实例的用户进行身份验证。有关更多信息,请参阅 Amazon Relational Database Service 用户指南 中的将 Windows 身份验证与运行 Microsoft SQL Server 的 Amazon RDS 数据库实例结合使用

如果指定了此属性,则必须为 Engine 属性指定 SQL Server 引擎。

Required: No

Type: String

更新要求无需中断

DomainIAMRoleName

Amazon RDS 在调用 Directory Service API 时使用的 IAM 角色的名称。

Required: No

Type: String

更新要求无需中断

Engine

数据库实例所使用的数据库引擎。指定 DBSnapshotIdentifier 属性创建数据库实例时,此属性是可选的。

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

注意

如果已指定 oracle-seoracle-se1 作为数据库引擎,您可以在不将数据库实例替换为 oracle-se2 的情况下更新数据库引擎。有关 Oracle 版本 12.1.0.1 支持弃用的信息,请参阅 Amazon Relational Database Service 用户指南中的弃用 Oracle 12.1.0.1

Required: Conditional

Type: String

更新要求替换

EngineVersion

数据库实例所使用的数据库引擎的版本号。

Required: No

Type: String

更新要求时而中断

Iops

数据库配置的每秒 I/O 操作数 (IOPS)。此值必须等于或大于 1000

如果指定此属性,则必须遵循请求的 IOPS 率与分配的存储容量之间允许的比率(IOPS 与分配的存储的比率)范围。例如,您可以配置 IOPS 为 1000、存储为 200 GB(比率为 5:1)的 Oracle 数据库实例,或指定 2000 IOPS 和 200GB 存储(比率为 10:1)。有关更多信息,请参阅 Amazon Relational Database Service 用户指南 中的用于提高性能的 Amazon RDS 预配置 IOPS 存储

Required: Conditional。如果您为 StorageType 属性指定 io1,则必须指定此属性。

Type: Number

更新要求无需中断

KmsKeyId

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

如果您指定了 DBSnapshotIdentifierSourceDBInstanceIdentifier 属性,请勿指定此属性。值继承自快照或源数据库实例。

注意

如果您指定 DBSecurityGroups,则 AWS CloudFormation 将忽略此属性。要同时指定安全组和此属性,则必须使用 VPC 安全组。有关 Amazon RDS 和 VPC 的更多信息,请参阅 Amazon Relational Database Service 用户指南 中的将 Amazon RDS 与 Amazon VPC 结合使用

Required: No

Type: String

更新要求替换

LicenseModel

数据库实例的许可模式。

注意

如果指定 DBSecurityGroups,更新许可模式需要替换。

Required: No

Type: String

更新要求无需中断

MasterUsername

数据库实例的主用户名。

注意

如果您指定了 SourceDBInstanceIdentifierDBSnapshotIdentifier 属性,请勿指定此属性。值继承自源数据库实例或快照。

Required: Conditional

Type: String

更新要求替换

MasterUserPassword

数据库实例的主密码。

注意

如果您指定了 SourceDBInstanceIdentifierDBSnapshotIdentifier 属性,请勿指定此属性。值继承自源数据库实例或快照。

Required: Conditional

Type: String

更新要求无需中断

MonitoringInterval

Amazon RDS 收集数据库实例的增强监控指标的时间点之间的间隔(以秒为单位)。要禁用指标收集,请指定 0

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

Required: Conditional。如果您指定 MonitoringRoleArn 属性,请为 MonitoringInterval 属性指定 0 之外的值。

Type: Integer

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

MonitoringRoleArn

AWS Identity and Access Management (IAM) 角色的 ARN,利用该角色,Amazon RDS 可以将增强监控指标发送到 Amazon CloudWatch,例如,arn:aws:iam:123456789012:role/emaccess。有关创建监控角色的信息,请参阅 Amazon Relational Database Service 用户指南 中的为 Amazon RDS 增强监控创建 IAM 角色

Required: Conditional。如果您为 MonitoringInterval 属性指定 0 之外的值,请为 MonitoringRoleArn 指定值。

Type: String

更新要求无需中断

MultiAZ

指定数据库实例是否是多可用区部署。如果 MultiAZ 参数设为 true,则无法设置 AvailabilityZone参数。Amazon Aurora 存储可在所有可用区之间复制,因此不需要设置 MultiAZ 选项。

Required: No

Type: Boolean

更新要求无需中断

OptionGroupName

此数据库实例关联到的选项组。

Required: No

Type: String

更新要求无需中断

Port

实例的端口。

Required: No

Type: String

更新要求替换

PreferredBackupWindow

在启用自动备份的情况下每日执行自动备份的时间范围,如 BackupRetentionPeriod 属性所规定。有关有效值的信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBInstance 操作的 PreferredBackupWindow 参数。

Required: No

Type: String

更新要求无需中断

PreferredMaintenanceWindow

可能进行系统维护的每周时间范围(按世界协调时间计算)。有关有效值的信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBInstance 操作的 PreferredMaintenanceWindow 参数。

注意

AWS CloudFormation 最初创建数据库实例时应用此属性。如果您使用 AWS CloudFormation 更新数据库实例,则会立即应用这些更新。

Required: No

Type: String

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

PubliclyAccessible

指示数据库实例是否为面向 Internet 的实例。如果指定 true,则 AWS CloudFormation 会创建带有可解析为公有 IP 地址的可公开解析 DNS 名称的实例。如果指定 false,则 AWS CloudFormation 会创建带有可解析为私有 IP 地址的 DNS 名称的内部实例。

默认行为值取决于您的 VPC 设置和数据库子网组。有关更多信息,请参阅 Amazon Relational Database Service API Reference 中的 CreateDBInstance 中的 PubliclyAccessible 参数。

如果此资源具有公有 IP 地址并且还处于同一模板中定义的 VPC 内,则您必须使用 DependsOn 属性声明对 VPC 网关连接的依赖关系。有关更多信息,请参阅 DependsOn 属性

注意

如果您指定 DBSecurityGroups,则 AWS CloudFormation 将忽略此属性。要指定安全组和此属性,您必须使用 VPC 安全组。有关 Amazon RDS 和 VPC 的更多信息,请参阅 Amazon Relational Database Service 用户指南 中的将 Amazon RDS 与 Amazon VPC 结合使用

Required: No

Type: Boolean

更新要求替换

SourceDBInstanceIdentifier

如果您需要创建只读副本数据库实例,请指定源数据库实例的 ID。每个数据库实例都可具有限定数目的只读副本。有关更多信息,请参阅 Amazon Relational Database Service 开发人员指南 中的使用只读副本

SourceDBInstanceIdentifier 属性决定了数据库实例是否是只读副本。如果您从模板中删除 SourceDBInstanceIdentifier 属性,然后更新堆栈,则 AWS CloudFormation 将删除只读副本,并创建新的数据库实例(不是只读副本)。

重要

  • 若要指定使用 VPC 安全组的源数据库实例,建议您指定 VPCSecurityGroups 属性。如果不指定该属性,则在您创建副本时,只读副本将从源数据库继承 VPCSecurityGroups 属性的值。但是,如果您更新堆栈,AWS CloudFormation 会将副本的 VPCSecurityGroups 属性恢复为默认值,因为它在堆栈的模板中未定义。该更改可能会导致意外的问题。

  • 只读副本不支持删除策略。AWS CloudFormation 将会忽略任何与只读副本关联的删除策略。

  • 如果您指定 SourceDBInstanceIdentifier,请勿将 MultiAZ 属性设置为 true,并且请勿指定 DBSnapshotIdentifier 属性。不能在多可用区中部署只读副本,也不能从快照创建只读副本。

  • 请勿设置 BackupRetentionPeriod, DBNameMasterUsernameMasterUserPasswordPreferredBackupWindow 属性。数据库属性继承自源数据库实例,并且将为只读副本禁用备份。

  • 如果源数据库实例与只读副本处于不同的区域,则指定有效的数据库实例的 ARN。有关更多信息,请参阅 Amazon Relational Database Service 用户指南 中的构建 Amazon RDS Amazon 资源名称 (ARN)

  • 不要为 Amazon Aurora 群集中的数据库实例指定此属性。Amazon RDS 会自动分配写入器和读取器数据库实例。

Required: No

Type: String

更新要求替换

StorageEncrypted

指示是否已对数据库实例加密。

如果指定 DBClusterIdentifierDBSnapshotIdentifierSourceDBInstanceIdentifier 属性,请勿指定此属性。该值继承自群集、快照或源数据库实例。

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

Type: Boolean

更新要求替换

StorageType

与此数据库实例关联的存储类型。

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

Required: No

Type: String

更新要求时而中断

Tags

此数据库实例的任意标签组(键–值对)。

Required: No

Type: AWS CloudFormation 资源标签

更新要求无需中断

Timezone

数据库实例的时区,您可以将其指定为应用程序的时区。要查看哪些引擎支持时区,请参阅 Amazon Relational Database Service API ReferenceCreateDBInstance 操作的 Timezone 参数。

Required: No

Type: String

更新要求替换

VPCSecurityGroups

要分配到数据库实例的 VPC 安全组 ID 的列表。该列表可包含现有 VPC 安全组的物理 ID 以及对模板中所创建的 AWS::EC2::SecurityGroup 资源的引用。

如果您要设置 VPCSecurityGroups,则不能设置 DBSecurityGroups,反之亦然。

重要

您可以将堆栈中的数据库实例从 RDS 数据库安全组迁移到 VPC 安全组,但应该注意以下几点:

  • 在建立 VPC 安全组成员关系后,就不能还原为使用 RDS 安全组。

  • 当您将数据库实例迁移至 VPC 安全组时,如果您的堆栈更新由于数据库实例更新失败或者其他 AWS CloudFormation 资源更新失败而回滚,则该回滚操作将由于无法还原至 RDS 安全组而失败。

  • 要使用在您使用 VPC 安全组时可用的属性,您必须重新创建该数据库实例。如果未执行此操作,AWS CloudFormation 将仅提交在 DBSecurityGroups 属性中列出的属性值。

要避免此情况发生,应仅在将数据库实例迁移为使用 VPC 安全组这一操作是堆栈模板中的唯一更改时执行此操作。

Required: No

Type: List of String values

更新要求无需中断

更新和删除 AWS::RDS::DBInstance 资源

更新数据库实例

当对标记为“更新要求替换”的属性执行更新时,AWS CloudFormation 首先创建替代数据库实例资源,再将其他依赖资源的引用更改为指向该替代数据库实例,最后才删除旧的数据库实例。

重要

我们强烈建议您在更新堆栈之前制作数据库的快照。如果不这样做,则 AWS CloudFormation 替换数据库实例时会丢失数据。要保留您的数据,请执行以下过程:

  1. 停用任何使用数据库实例的应用程序,使数据库实例上没有任何活动。

  2. 创建数据库实例的快照。更多有关创建数据库快照的信息,请参阅 Creating a DB snapshot 部分。

  3. 如果您要使用数据库快照还原实例,请使用您的数据库实例更改来修改更新的模板,并添加 DBSnapshotIdentifier 属性(其中包含您要使用的数据库快照的 ID)。

  4. 更新堆栈。

有关更新此资源的其他属性的更多信息,请参阅 ModifyDBInstance。有关更新堆栈的详细信息,请参阅 AWS CloudFormation 堆栈更新

删除数据库实例

您可以为您的数据库实例设置删除策略,以控制 AWS CloudFormation 在堆栈删除后如何处理实例。对于 Amazon RDS 数据库实例,您可以选择 保留实例、删除实例,或创建实例快照。默认 AWS CloudFormation 行为取决于 DBClusterIdentifier 属性:

  • 对于没有指定 DBClusterIdentifier 属性的 AWS::RDS::DBInstance 资源,AWS CloudFormation 会保存数据库实例的快照。

  • 对于指定 DBClusterIdentifier 属性的 AWS::RDS::DBInstance 资源,AWS CloudFormation 会删除数据库实例。

有关更多信息,请参阅 DeletionPolicy 属性

返回值

Ref

在将 RDS 数据库实例的逻辑名称提供给 Ref 内部函数时,Ref 会返回 DBInstanceIdentifier。例如:mystack-mydb-ea5ugmfvuaxg

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

Fn::GetAtt

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

  • Endpoint.Address

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

  • Endpoint.Port

    数据库实例接受连接的端口编号。例如:3306

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

示例

具有设定 MySQL 版本、标签和 DeletionPolicy 的 DBInstance

此示例说明如何设置具有 DeletionPolicy 属性 集的 MySQL 版本。如果 DeletionPolicy 设置为 Snapshot,则在堆栈删除期间,AWS CloudFormation 会拍摄此数据库实例的快照,然后再将其删除。此外,该示例还设置了包含简明数据库名称的标签。

JSON
Copy
"MyDB" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "DBName" : { "Ref" : "DBName" }, "AllocatedStorage" : { "Ref" : "DBAllocatedStorage" }, "DBInstanceClass" : { "Ref" : "DBInstanceClass" }, "Engine" : "MySQL", "EngineVersion" : "5.5", "MasterUsername" : { "Ref" : "DBUser" }, "MasterUserPassword" : { "Ref" : "DBPassword" }, "Tags" : [ { "Key" : "Name", "Value" : "My SQL Database" } ] }, "DeletionPolicy" : "Snapshot" }
YAML
Copy
MyDB: Type: "AWS::RDS::DBInstance" Properties: DBName: Ref: "DBName" AllocatedStorage: Ref: "DBAllocatedStorage" DBInstanceClass: Ref: "DBInstanceClass" Engine: "MySQL" EngineVersion: "5.5" MasterUsername: Ref: "DBUser" MasterUserPassword: Ref: "DBPassword" Tags: - Key: "Name" Value: "My SQL Database" DeletionPolicy: "Snapshot"

具有预置 IOPS 的 DBInstance

本示例设置 Iops 属性中的预置 IOPS 值。请注意,AllocatedStorage 属性按照 IOPS 和存储量 (GiB) 之间 10:1 的比率设置。

JSON
Copy
"MyDB" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "AllocatedStorage" : "100", "DBInstanceClass" : "db.m1.small", "Engine" : "MySQL", "EngineVersion" : "5.5", "Iops" : "1000", "MasterUsername" : { "Ref" : "DBUser" }, "MasterUserPassword" : { "Ref" : "DBPassword" } } }
YAML
Copy
MyDB: Type: "AWS::RDS::DBInstance" Properties: AllocatedStorage: "100" DBInstanceClass: "db.m1.small" Engine: "MySQL" EngineVersion: "5.5" Iops: "1000" MasterUsername: Ref: "DBUser" MasterUserPassword: Ref: "DBPassword"