メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::RDS::DBInstance

AWS::RDS::DBInstanceタイプは Amazon Relational Database Service (Amazon RDS) DB インスタンスを作成します。RDS DB インスタンスの設定の詳細については、「CreateDBInstance」を参照してください。

重要

DB インスタンスが更新時に削除されるか、置き換えられると、AWS CloudFormation によってすべての自動スナップショットは削除されます。ただし、手動で作成された DB スナップショットは保持されます。置き換えを必要とする更新時に、スタックポリシーを適用して DB インスタンスが置き換えられるのを防ぐことができます。詳細については、「スタックのリソースが更新されないようにする」を参照してください。

構文

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 以上にする必要があります。100 GB は最小 Iops 値である 1,000 に相当します。Iops 値 (1,000 IOPS 単位) を増やす場合は、AllocatedStorage 値 (100 GB 単位) も増やす必要があります。

Required: Conditional。このプロパティは、DBClusterIdentifier プロパティを指定した場合、または AWS::RDS::DBInstance リソースを使用して AWS CloudFormation からリードレプリカを作成する場合を除き、必要です。このような場合は、このプロパティを指定しないでください。

Type: String

更新に伴う要件: 中断はありません。

AllowMajorVersionUpgrade

EngineVersion プロパティを DB インスタンスの現在のメジャーバージョンと異なるバージョンに更新する場合は、このプロパティを true に設定します。詳細については、Amazon Relational Database Service API Referenceの「ModifyDBInstance」を参照してください。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

AutoMinorVersionUpgrade

メンテナンスの時間帯に、DB インスタンスに自動的にマイナーエンジンアップグレードが適用されることを示します。デフォルト値は true です。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。 または一時的な中断があります。詳細については、Amazon Relational Database Service API Referenceの「ModifyDBInstance」を参照してください。

AvailabilityZone

DB インスタンスがあるアベイラビリティーゾーンの名前。AvailabilityZone パラメーターが true に設定されている場合は、MultiAZ パラメーターを設定することはできません。

Required: No

Type: String

更新に伴う要件: 置換

BackupRetentionPeriod

自動 DB スナップショットが保持される日数。

重要

この DB インスタンスが更新時に削除されるか、置き換えられると、AWS CloudFormation によってすべての自動スナップショットは削除されます。ただし、手動で作成された DB スナップショットは保持されます。

Required: No

Type: String

更新に伴う要件: 中断はありません。 または一時的な中断があります。詳細については、Amazon Relational Database Service API Referenceの「ModifyDBInstance」を参照してください。

CharacterSetName

サポートされたエンジンについて、DB インスタンスに関連付ける文字セットを指定します。詳細については、Amazon Relational Database Service ユーザーガイドの「付録: Amazon RDS でサポートされている Oracle 文字セット」を参照してください。

DBSnapshotIdentifier または SourceDBInstanceIdentifier プロパティを指定した場合、このプロパティは指定しないでください。値は、スナップショットまたはソース DB インスタンスから継承されます。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 置換

CopyTagsToSnapshot

ユーザー定義タグをすべて DB インスタンスから DB インスタンスのスナップショットにコピーするかどうかを示します。デフォルトでは、Amazon RDS はタグをスナップショットにコピーしません。Amazon RDS では、DB インスタンスの最終スナップショット (DB インスタンスを削除するときのスナップショット) ではない限り、aws:: プレフィックスがついたタグはコピーされません。

必須: いいえ

Type: Boolean

更新に伴う要件: 中断はありません。

DBClusterIdentifier

このインスタンスが関連付けられている既存の DB クラスターの名前。このプロパティを指定した場合は、auroraEngine プロパティに指定し、次のプロパティはいずれも指定しないでください。AllocatedStorageBackupRetentionPeriodCharacterSetNameDBSecurityGroupsMasterUsernameMasterUserPasswordOptionGroupNamePreferredBackupWindowPreferredMaintenanceWindowPortSourceDBInstanceIdentifierStorageType、または VPCSecurityGroups

Amazon RDS は、クラスターの最初の DB インスタンスをプライマリとして割り当て、追加の DB インスタンスをレプリカとして割り当てます。

このプロパティを指定した場合、デフォルトの削除ポリシーは Delete です。それ以外の場合、デフォルトの削除ポリシーは Snapshot です。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 置換

DBInstanceClass

DB インスタンスのコンピューティングとメモリ容量クラスの名前。

Required: Yes

Type: String

更新に伴う要件: 一時的な中断。

DBInstanceIdentifier

DB インスタンスの名前。名前を指定すると、AWS CloudFormation は名前を小文字に変換します。名前を指定しないと、AWS CloudFormation は一意の物理 ID を生成し、その ID を DB インスタンス名として使用します。詳細については、「Name タイプ」を参照してください。

重要

名前を指定すると、このリソースの置換が必要な更新はできません。中断が不要であるか、一定の中断が必要な更新であれば、行うことができます。リソースを置き換える必要がある場合は、新しい名前を指定します。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 置換

DBName

作成時に提供されたこの DB インスタンス名 (名前が指定された場合)。DB インスタンスの存続中はこれと同じ名前が返されます。

重要

DBSnapshotIdentifier プロパティを指定する場合、AWS CloudFormation はこのプロパティを無視します。

スナップショットから DB インスタンスを復元する場合、このプロパティは、MySQL、PostgreSQL、または MariaDB エンジンには適用されません。

Required: No

Type: String

更新に伴う要件: 置換

DBParameterGroupName

既存の DB パラメーターグループの名前、またはテンプレートで作成した AWS::RDS::DBParameterGroup リソースへのリファレンスの名前。

Required: No

Type: String

更新に伴う要件: 中断はありません。 または一時的な中断があります。参照されるパラメーターグループのデータメンバーのいずれかが更新中に変更されると、DB インスタンスを再開する必要があり、中断が発生する可能性があります。パラメーターグループに静的なパラメーターが含まれている場合、変更されたかどうかに関わらず、更新は再起動をトリガーします。

DBSecurityGroups

DB インスタンスに割り当てる DB セキュリティグループのリスト。リストには、既存の DB セキュリティグループの名前と、テンプレートで作成された AWS::RDS::DBSecurityGroup リソースへのリファレンスの名前の両方を含めることができます。

DBSecurityGroups を設定すると、VPCSecurityGroups を設定することはできません。逆も同様です。また、EC2VpcId プロパティは、古いリージョンとの下位互換性にのみ使用します。セキュリティ情報を RDS DB インスタンスへ提供することは推奨されていません。代わりに 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

他のプロパティはすべて無視されます。StorageTypeStorageEncrypted、または KmsKeyId などの他のプロパティを送信する場合は、VPC セキュリティグループを指定します。DBSecurityGroups プロパティをすでに使用している場合は、VPC のセキュリティグループを使用するために DB インスタンスを更新しても、これらの他のプロパティは利用できません。DB インスタンスの再作成が必要です。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

DBSnapshotIdentifier

DB インスタンスを復元するのに使用された DB スナップショットの名前または ARN。共有された手動 DB スナップショットから復元する場合、スナップショットの Amazon リソースネーム (ARN) を指定する必要があります。

このプロパティを指定して、指定した DB スナップショットから DB インスタンスを作成できます。DBSnapshotIdentifier プロパティが空の文字列であるか、AWS::RDS::DBInstance 宣言に DBSnapshotIdentifier プロパティがない場合は、AWS CloudFormation は新しいデータベースを作成します。プロパティに値 (空の文字列以外) がある場合は、AWS CloudFormation は指定したスナップショットからデータベースを作成します。指定した名前のスナップショットがない場合、AWS CloudFormation のデータベースは作成されず、スタックはロールバックされます。

一部の DB インスタンスプロパティは、スナップショットから復元すると無効になります (MasterUsername プロパティや MasterUserPassword プロパティなど)。指定できるプロパティについては、Amazon Relational Database Service API ReferenceRestoreDBInstanceFromDBSnapshot アクションを参照してください。

重要

このプロパティを指定する場合、AWS CloudFormation は DBName プロパティを無視します。

Required: No

Type: String

更新に伴う要件: 置換

DBSubnetGroupName

DB インスタンスに関連付ける DB サブネットグループ。この値を更新する場合、新しいサブネットグループは新しい VPC のサブネットグループである必要があります。

DB サブネットグループがない場合、インスタンスは VPC DB インスタンスではありません。

VPC での Amazon RDS の使用に関する詳細は、Amazon Relational Database Service 開発者ガイド の「Amazon Virtual Private Cloud (VPC) での Amazon RDS の使用」を参照してください。

Required: No

Type: String

更新に伴う要件: 置換

Domain

Microsoft SQL Server を実行している Amazon RDS DB インスタンスの場合、インスタンスを作成する Active Directory ディレクトリ ID。Amazon RDS は Windows 認証を使用して DB インスタンスに接続するユーザーを認証します。詳細については、Amazon Relational Database Service ユーザーガイド の「Microsoft SQL Server を実行する Amazon RDS DB インスタンスでの Windows 認証の使用」を参照してください。

このプロパティを指定する場合は、Engine プロパティの SQL Server エンジンを指定する必要があります。

Required: No

Type: String

更新に伴う要件: 中断はありません。

DomainIAMRoleName

Directory Service API を呼び出すとき、Amazon RDS が使用する IAM ロールの名前。

Required: No

Type: String

更新に伴う要件: 中断はありません。

Engine

DB インスタンスで使用するデータベースエンジン。このプロパティは、DBSnapshotIdentifier プロパティを指定して DB インスタンスを作成する場合はオプションです。

有効な値については、Amazon Relational Database Service API Referenceの「CreateDBInstance」の Engine パラメーターを参照してください。

注記

データベースエンジンとして、oracle-se または oracle-se1 を指定した場合は、データベースエンジンを oracle-se2 に更新することができます。データベースインスタンスを置き換える必要はありません。Oracle バージョン 12.1.0.1 のサポート廃止については、『Amazon Relational Database Service ユーザーガイド』の「Oracle 12.1.0.1 のサポート廃止」を参照してください。

Required: Conditional

Type: String

更新に伴う要件: 置換

EngineVersion

DB インスタンスで使用するデータベースエンジンのバージョン番号。

Required: No

Type: String

更新に伴う要件: 一時的な中断。

Iops

データベースに対してプロビジョニングを行う 1 秒あたりの I/O オペレーション数 (IOPS)。この値は、1000 以上にする必要があります。

このプロパティを指定する場合、リクエストした IOPS レートと割り当てストレージ量との比率 (割り当てられたストレージに対する IOPS) としては、許可されている範囲に従う必要があります。たとえば、Oracle データベース インスタンスのプロビジョニング時には、1000 IOPS と 200 GB のストレージ (5:1 の比率) を指定することも、2000 IOPS と 200 GB のストレージ (10:1 の比率) を指定することもできます。詳細については、Amazon Relational Database Service ユーザーガイドの「Amazon RDS Provisioned IOPS ストレージによるパフォーマンスの向上」を参照してください。

Required: Conditional。StorageType プロパティに io1 を指定する場合は、このプロパティを指定する必要があります。

Type: Number

更新に伴う要件: 中断はありません。

KmsKeyId

DB インスタンス (arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef など) の暗号化に使用する AWS Key Management Service (AWS KMS) マスターキーの ARN。StorageEncrypted プロパティを有効にして、このプロパティを指定しない場合、AWS CloudFormation はデフォルトのマスターキーを使用します。このプロパティを指定する場合は、StorageEncrypted プロパティを true に設定する必要があります。

DBSnapshotIdentifier または SourceDBInstanceIdentifier プロパティを指定した場合、このプロパティは指定しないでください。値は、スナップショットまたはソースデータベースインスタンスから継承されます。

注記

DBSecurityGroups を指定した場合には、AWS CloudFormation はこのプロパティを無視します。セキュリティグループとこのプロパティの両方を指定する場合は、VPC セキュリティグループを使用する必要があります。Amazon RDS および VPC の詳細については、「Amazon Relational Database Service ユーザーガイドの「Amazon VPC での Amazon RDS の使用」を参照してください。

Required: No

Type: String

更新に伴う要件: 置換

LicenseModel

DB インスタンスのライセンスモデル。

注記

DBSecurityGroups が指定されている場合、ライセンスモデルを更新するには、別のライセンスモデルが必要です。

Required: No

Type: String

更新に伴う要件: 中断はありません。

MasterUsername

DB インスタンスのマスターユーザー名。

注記

SourceDBInstanceIdentifier または DBSnapshotIdentifier プロパティを指定した場合、このプロパティは指定しないでください。値は、ソース DB インスタンスまたはスナップショットから継承されます。

Required: Conditional

Type: String

更新に伴う要件: 置換

MasterUserPassword

DB インスタンスのマスターパスワード。

注記

SourceDBInstanceIdentifier または DBSnapshotIdentifier プロパティを指定した場合、このプロパティは指定しないでください。値は、ソース DB インスタンスまたはスナップショットから継承されます。

Required: Conditional

Type: String

更新に伴う要件: 中断はありません。

MonitoringInterval

DB インスタンスに Amazon RDS が拡張モニタリングメトリクスを収集するときの秒単位の間隔。メトリクス収集を無効にするには、0 を指定します。

デフォルト値と有効な値については、Amazon Relational Database Service API Reference の「CreateDBInstance」アクションの MonitoringInterval パラメーターを参照してください。

Required: Conditional。MonitoringRoleArn プロパティを特定する場合には、MonitoringInterval0 以外の値を設定する必要があります。

Type: Integer

更新に伴う要件: 中断はありません。 または一時的な中断があります。詳細については、Amazon Relational Database Service API Referenceの「ModifyDBInstance」を参照してください。

MonitoringRoleArn

Amazon RDS が Amazon CloudWatch に拡張モニタリングメトリクスを送信することを許可する AWS Identity and Access Management (IAM) ロールの ARN。例: 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

この DB インスタンスが関連付けられたオプショングループです。

Required: No

Type: String

更新に伴う要件: 中断はありません。

Port

インスタンスのポート。

Required: No

Type: String

更新に伴う要件: 置換

PreferredBackupWindow

BackupRetentionPeriod プロパティに応じた、自動バックアップが有効な場合に自動バックアップが実行される毎日の時間範囲。有効な値については、Amazon Relational Database Service API ReferenceCreateDBInstance アクションの PreferredBackupWindow パラメーターを参照してください。

Required: No

Type: String

更新に伴う要件: 中断はありません。

PreferredMaintenanceWindow

週 1 回のシステムメンテナンスを実行できる時間帯 (UTC) 有効な値については、Amazon Relational Database Service API ReferenceCreateDBInstance アクションの PreferredMaintenanceWindow パラメーターを参照してください。

注記

このプロパティは、AWS CloudFormation が最初に DB インスタンスを作成するときに適用されます。AWS CloudFormation を使用して DB インスタンスを更新する場合は、これらの更新はただちに適用されます。

Required: No

Type: String

更新に伴う要件: 中断はありません。 または一時的な中断があります。詳細については、Amazon Relational Database Service API Referenceの「ModifyDBInstance」を参照してください。

PubliclyAccessible

DB インスタンスがインターネットに接するインスタンスかどうかを示します。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 VPC での Amazon RDS の使用」を参照してください。

Required: No

Type: Boolean

更新に伴う要件: 置換

SourceDBInstanceIdentifier

リードレプリカ DB インスタンスを作成する場合は、ソース DB インスタンスの ID を指定します。各 DB インスタンスは、限られた数のリードレプリカを作成できます。詳細については、Amazon Relational Database Service 開発者ガイドの「リードレプリカの使用」を参照してください。

SourceDBInstanceIdentifier プロパティは、DB インスタンスがリードレプリカであるかどうかを決定します。テンプレートから SourceDBInstanceIdentifier プロパティを削除しスタックを更新すると、AWS CloudFormation はリードレプリカを削除して、新しい DB インスタンス (リードレプリカではない) を作成します。

重要

  • VPC セキュリティグループを使用するソース DB インスタンスを指定する場合、VPCSecurityGroups プロパティを指定することをお勧めします。プロパティを指定しないと、リードレプリカを作成するときに、レプリカはソース DB から VPCSecurityGroups プロパティの値を継承します。ただし、スタックを更新すると、スタックのテンプレートで定義されていないため、AWS CloudFormation はレプリカの VPCSecurityGroups プロパティをデフォルト値に戻します。この変更により予期しない問題が発生する可能性があります。

  • リードレプリカは、削除ポリシーをサポートしていません。AWS CloudFormation はリードレプリカに関連付けられた削除ポリシーを無視します。

  • SourceDBInstanceIdentifier を指定した場合、MultiAZ プロパティを true に設定しないでください。DBSnapshotIdentifier プロパティも指定しないでください。複数のアベイラビリティーゾーンにリードレプリカをデプロイすることはできません。また、スナップショットからリードレプリカを作成することもできません。

  • BackupRetentionPeriodDBNameMasterUsernameMasterUserPassword、および PreferredBackupWindow プロパティは設定しないでください。データベース属性はソース DB インスタンスから継承され、リードレプリカのバックアップは無効になります。

  • ソース DB インスタンスがリードレプリカとは異なるリージョンにある場合は、有効な DB インスタンスの ARN を指定します。詳細については、「Constructing a Amazon RDS Amazon Resource Name (ARN) 」(Amazon Relational Database Service ユーザーガイド) を参照してください。

  • Amazon Aurora クラスターの DB インスタンスの場合は、このプロパティを指定しないでください。Amazon RDS が、ライターおよびリーダー DB インスタンスを自動的に割り当てます。

Required: No

Type: String

更新に伴う要件: 置換

StorageEncrypted

DB インスタンスを暗号化するかどうかを示します。

DBClusterIdentifierDBSnapshotIdentifierSourceDBInstanceIdentifier のいずれかのプロパティを指定した場合、このプロパティは指定しないでください。値は、クラスター、スナップショット、ソース DB インスタンスのいずれかから継承されます。

Required: Conditional。KmsKeyId プロパティを指定した場合、暗号化を有効にする必要があります。

Type: Boolean

更新に伴う要件: 置換

StorageType

DB インスタンスに関連付けられたストレージタイプ。

デフォルト値と有効な値については、Amazon Relational Database Service API Referenceの「CreateDBInstance」アクションの StorageType パラメーターを参照してください。

Required: No

Type: String

更新に伴う要件: 一時的な中断。

Tags

この DB インスタンスに対する任意のタグのセット (キ–と値のペア)。

Required: No

Type: AWS CloudFormation Resource Tags

更新に伴う要件: 中断はありません。

Timezone

アプリケーションのタイムゾーンに一致するよう指定できる、DB インスタンスのタイムゾーン。タイムゾーンをサポートするエンジンを確認するには、Amazon Relational Database Service API ReferenceCreateDBInstance アクションの Timezone パラメータを参照してください。

Required: No

Type: String

更新に伴う要件: 置換

VPCSecurityGroups

DB インスタンスに割り当てる VPC セキュリティグループ ID のリスト。リストには、既存の VPC セキュリティグループの物理 ID と、テンプレートで作成された AWS::EC2::SecurityGroup リソースへのリファレンスの物理 ID の両方を含めることができます。

VPCSecurityGroups を設定すると、DBSecurityGroups を設定することはできません。逆も同様です。

重要

スタック内の DB インスタンスを RDS DB セキュリティグループから VPC セキュリティグループに移行することができますが、次の点に注意してください。

  • VPC セキュリティグループメンバーシップを確立した後で、RDS セキュリティグループに戻すことはできません。

  • DB インスタンスを VPC セキュリティグループに移行する際に、DB インスタンスや他の AWS CloudFormation リソースにおける更新障害の発生によりスタック更新がロールバックされると、RDS セキュリティグループに戻すことができないため、ロールバックは失敗します。

  • VPC セキュリティグループの使用時に利用可能なプロパティを適用するには、DB インスタンスを再作成する必要があります。再作成しない場合、AWS CloudFormation からは DBSecurityGroups プロパティにリストされているプロパティ値のみが送信されます。

このような状況を回避するために、それがスタックテンプレートでの唯一の変更である場合は、VPC セキュリティグループのみを使用して DB インスタンスを移行する必要があります。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

AWS::RDS::DBInstance リソースの更新と削除

DB インスタンスの更新

更新に伴う要件: 置換」というラベルのプロパティが更新されると、AWS CloudFormation はまず置換 DB インスタンスを作成し、他の依存するリソースからのリファレンスが置換 DB インスタンスをポイントするように変更した後、古い DB インスタンスを削除します。

重要

スタックを更新する前にデータベースのスナップショットを作成することを強くお勧めします。作成しない場合、AWS CloudFormation によって DB インスタンスが置き換えられるとデータは失われます。データを保持するために、以下の手順を実行します。

  1. DB インスタンスを使用しているアプリケーションを無効にして、DB インスタンスにアクティビティがないようにします。

  2. DB インスタンスのスナップショットを作成します。DB スナップショットの作成に関する詳細については、「DB スナップショットの作成」を参照してください。

  3. DB スナップショットを使用してインスタンスを復元する場合は、DB インスタンスの変更点を更新したテンプレートに反映し、使用する DB スナップショットの ID を含む DBSnapshotIdentifier プロパティを追加します。

  4. スタックを更新します。

このリソースの他のプロパティの更新に関する詳細については、「ModifyDBInstance」を参照してください。スタックの更新の詳細については、「AWS CloudFormation スタックの更新」を参照してください。

DB インスタンスの削除

スタックが削除されるときに、AWS CloudFormation がインスタンスを処理する方法を DB インスタンスの削除ポリシーに設定できます。Amazon RDS DB インスタンスの場合、インスタンスの保持、インスタンスの削除、インスタンスのスナップショット作成のいずれかを実行できます。デフォルトの AWS CloudFormation 動作は DBClusterIdentifier プロパティによって決まります。

  • DBClusterIdentifier プロパティを指定していない AWS::RDS::DBInstance リソースの場合は、AWS CloudFormation によって DB インスタンスのスナップショットが保存されます。

  • DBClusterIdentifier プロパティを指定している AWS::RDS::DBInstance リソースの場合は、AWS CloudFormation によって DB インスタンスが削除されます。

詳細については、「DeletionPolicy 属性」を参照してください。

戻り値

参照番号

RDS DB インスタンスの論理名を Ref 組み込み関数に渡すと、RefDBInstanceIdentifier を返します。例: mystack-mydb-ea5ugmfvuaxg

Ref 関数の使用方法の詳細については、「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 バージョンの設定方法を示しています。SnapshotDeletionPolicy が設定されている場合、スタックが削除されると、AWS CloudFormation は DB インスタンスのスナップショットを作成します。データベースのわかりやすい名前を含むタグも設定されています。

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"