3

私はAWSのものを使用するのにかなり慣れていません。AWS Cloud Formation を使用して、現在の SQL Server インスタンスのスナップショットを取得し、同じスナップショットで (既存のすべてのデータベースとデータが移行されるように) 別のインスタンスを作成し、ストレージ容量を増やしたいと考えていました。

Amazon でhttps://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/RDS_MySQL_With_Read_Replica.templateのようなものを見ました

しかし、私のニーズに合わせることができませんでした。EC2 インスタンスや余分なものはすべて必要ありません。既存のスナップショット ID と、スナップショット ID で複製される新しい SQL Server RDS インスタンスの詳細のみ

4

1 に答える 1

3

CLI または PowerShell を使用して手動で既存のデータベースのスナップショットを作成し、DBSnapshotIdentifier をメモします。

PowerShell を使用すると、次のようになります。

New-RDSDBSnapshot -DBSnapshotIdentifier "NameOfYourNewSnapshot" -DBInstanceIdentifier "YourExistingDbIdentifier"

これでスナップショットが作成されました。CloudFormation テンプレートを変更して、DBSnapshotIdentifier を使用する必要があります。

既存のテンプレートを変更して SqlServer データベースを作成し、新しいプロパティを指定しますDBSnapshotIdentifier

"MyDB" : {
 "Type" : "AWS::RDS::DBInstance",
 "Properties" : {
     "DBSecurityGroups" : [
        {"Ref" : "MyDbSecurityByEC2SecurityGroup"}, {"Ref" : "MyDbSecurityByCIDRIPGroup"} ],
     "AllocatedStorage" : "20",
     "DBInstanceClass" : "db.t2.micro",
     "Engine" : "sqlserver-ex",
     "MasterUsername" : "MyName",
     "MasterUserPassword" : "MyPassword",
     "DBSnapshotIdentifier" : "NameOfYourNewSnapshot"
 }
}

スタックを実行すると、スナップショットからデータベースがドロップされて再作成されるため、ダウンタイムに対応するようにしてください。

ドキュメント:

http://docs.aws.amazon.com/powershell/latest/reference/Index.html
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier

于 2017-03-09T03:45:18.433 に答える