SQL 服务器的 AWS RDS Cloudformation 模板
AWS RDS Cloud formation template for SQL Server
我对使用 AWS 的东西还很陌生。我想拍摄当前 SQL 服务器实例的快照,并使用 AWS Cloud Formation 创建另一个具有相同快照的实例(以便迁移所有现有数据库和数据)和更多存储容量。
我在亚马逊上看到了类似 https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/RDS_MySQL_With_Read_Replica.template
的东西
但无法根据我的需要进行调整。我不想要所有 EC2 实例和额外的东西。只是我现有的快照 ID 和新的 SQL 服务器 RDS 实例详细信息,它们将与快照 ID
一起克隆
使用 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
我对使用 AWS 的东西还很陌生。我想拍摄当前 SQL 服务器实例的快照,并使用 AWS Cloud Formation 创建另一个具有相同快照的实例(以便迁移所有现有数据库和数据)和更多存储容量。
我在亚马逊上看到了类似 https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/RDS_MySQL_With_Read_Replica.template
的东西但无法根据我的需要进行调整。我不想要所有 EC2 实例和额外的东西。只是我现有的快照 ID 和新的 SQL 服务器 RDS 实例详细信息,它们将与快照 ID
一起克隆使用 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