原生备份与恢复,结合 Amazon S3 集成,适用于 Amazon RDS Custom for
使用 Amazon S3 集成的 RDS Custom SQL Server 2022 本地备份与恢复
重点摘要
在本文中,我们将指导您如何在 Amazon RDS Custom for SQL Server 2022 上设置 Amazon S3 集成,以便直接执行本地备份和恢复操作。此过程包含创建 S3 存储桶、IAM 用户和策略的步骤,同时展示了如何在 SQL Server 中创建 S3 凭据并执行备份和恢复操作。
Amazon Relational Database Service (Amazon RDS) Custom for SQL Server 是一项托管数据库服务,适用于需要访问底层操作系统 (OS) 和数据库 (DB) 环境的自定义和打包应用程序。Amazon RDS Custom for SQL Server 自动化配置、运营和扩展云中的数据库,同时允许访问数据库和底层操作系统。使用该服务,您可以根据依赖应用程序的需求,自定义设置、安装驱动程序和启用本地功能。
在 SQL Server 2022 之前,Amazon RDS Custom for SQL Server 的用户并没有直接支持使用 Amazon Simple Storage Service (Amazon S3) 进行备份和恢复。通常,用户会将本地磁盘上的备份文件上传到 S3 存储桶。现在,利用 RDS Custom for SQL Server 支持 SQL Server 2022,您可以设置 Amazon S3 集成,直接在 S3 存储桶之间进行本地备份和恢复操作。
在接下来的部分中,我们将详细说明如何在 Amazon RDS Custom for SQL Server 2022 上设置 Amazon S3 集成。
解决方案概述
从 SQL Server 2022 (16x) 开始,Microsoft 已经引入对 Amazon S3 兼容对象存储 的支持。在本文中,我们将演示如何在 Amazon RDS Custom for SQL Server (2022) 上设置 Amazon S3 集成,并执行到 S3 存储桶的本地备份与恢复操作。有关更多信息,请参考 SQL Server 备份到 S3 兼容对象存储的 URL。
以下是高层步骤概述:
步骤描述1创建一个 S3 存储桶。2创建一个包含必要权限的 AWS 身份与访问管理 (IAM) 策略。3创建一个 IAM 用户 并附加该 IAM 策略。4创建一个 RDS Custom for SQL Server (2022) 实例。5创建访问 S3 存储桶的 SQL Server 凭据。6使用 S3 存储桶 URL 执行本地备份。7使用 S3 存储桶 URL 执行本地恢复。此解决方案涉及新的 AWS 资源创建和使用,因此会产生相关费用。有关更多信息,请参考 AWS 定价。
前提条件
为实现此解决方案,您需要以下前提条件:
一个具有启动 RDS Custom SQL Server 实例和使用 Amazon S3 所需权限的 AWS 账户。基本的 SQL Server 备份与恢复 知识。基本的 Amazon S3 知识。完成 环境设置 并能够 启动 RDS Custom for SQL Server 实例。创建 S3 存储桶
创建一个 S3 存储桶以存储备份文件用于备份与恢复操作。有关更多信息,请参考 创建存储桶。
在本示例中,我们创建了一个名为 cfss3bucketforbackups 的 S3 存储桶,并在 uswest2 区域中创建了一个名为 ss2022 的文件夹。
创建 IAM 策略
在我们的 IAM 策略中,我们定义了 S3 存储桶名称并授予以下访问 S3 存储桶所需的权限:
s3ListBucket 以允许列出存储桶中的内容。s3PutObject 以允许将备份文件写入存储桶。s3GetObject 以允许读取存储桶中的备份文件。您可以使用以下代码通过 AWS 命令行界面AWS CLI创建名为 cfsiampolicyforbackups 的 IAM 策略 它为名为 cfss3bucketforbackups 的 S3 存储桶授予所需权限。您可以根据实际情况替换 S3 存储桶名称:
bashaws iam createpolicy policyname cfsiampolicyforbackups policydocument {Version 20121017Statement [{Sid VisualEditor0Effect AllowAction [s3PutObjects3GetObjects3ListBucket]Resource arnawss3cfss3bucketforbackups}]}
创建 IAM 用户并附加 IAM 策略
创建一个 IAM 用户并附加您之前创建的 IAM 策略。有关说明,请参考 在您的 AWS 账户中创建 IAM 用户。务必创建一个访问密钥并记录下访问密钥 ID 和秘密访问密钥,以便在稍后的步骤中用于创建 SQL Server 凭据以便访问 S3 存储桶。
创建 RDS Custom for SQL Server (2022) 实例
在创建您的第一个 RDS Custom for SQL Server 实例之前,请确保所有前提条件已成功配置。有关更多信息,请参考 为 Amazon RDS Custom for SQL Server 设置您的环境。
您可以使用以下命令通过 AWS CLI 创建一个 RDS Custom for SQL Server 实例使用 SQL Server 2022。请用适当的值替换 ltdbinstancenamegt、ltkeyidgt、ltcustomiamprofilegt、ltsecuritygroupidgt 和 ltdbsubnetgroupgt。
bashaws rds createdbinstance dbinstanceidentifier ltdbinstancenamegt engine customsqlserveree kmskeyid ltkeyidgt engineversion 160040852v1 masterusername admin masteruserpassword dbinstanceclass dbm52xlarge allocatedstorage 200 storagetype gp3 region uswest2 customiaminstanceprofile ltcustomiamprofilegt vpcsecuritygroupids ltsecuritygroupidgt dbsubnetgroup ltdbsubnetgroupgt
创建 SQL Server 凭据以访问 S3 存储桶
在实例成功创建后,使用 SSMS 和主用户登录到数据库。

以下示例创建用于通过对象存储端点进行身份验证的 SQL Server 凭据。使用之前步骤中的访问密钥 ID 和秘密访问密钥。以下示例使用名为 ss2022 的文件夹,该文件夹位于 S3 存储桶 cfss3bucketforbackups 下。
sqlCREATE CREDENTIAL [s3///]WITH IDENTITY = S3 Access Key SECRET =
示例:CREATE CREDENTIAL [s3//cfss3bucketforbackupss3uswest2amazonawscom/ss2022]WITH IDENTITY = S3 Access KeySECRET = ABCDEFGHXXXXXCKLKq6/123456789XXXX
使用 S3 存储桶 URL 执行本地备份
以下命令创建一个名为 test1 的示例数据库,并将其完整备份 testfull1bak 保存到 S3 存储桶 cfss3bucketforbackups 下的 ss2022 文件夹中。您可以用相应的数据库名称和 URL 替换相关值。
sql 创建数据库 test1create database test1
use test1
创建表 t1create table t1 (id int)insert into t1 values (10)go 100
创建表 t2create table t2 (id int)insert into t2 values (10)go 100
备份数据库 test1BACKUP DATABASE test1TO URL = s3//cfss3bucketforbackupss3uswest2amazonawscom/ss2022/testfull1bak WITH FORMAT MAXTRANSFERSIZE = 20971520 COMPRESSION
使用 S3 存储桶 URL 执行本地恢复
以下命令使用 S3 存储桶中的备份文件 testfull1bak,并在 RDS Custom for SQL Server 实例上将其恢复为数据库名称为 test2。
sqlRESTORE DATABASE test2FROM URL =s3//cfss3bucketforbackupss3uswest2amazonawscom/ss2022/testfull1bakWITH move test1 to DRDSDBDatatest2mdfmove test1log to DRDSDBDatatest2logldf
结论
在本文中,我们提供了实施 Amazon S3 集成到 Amazon RDS Custom for SQL Server 的分步指南,包括创建 S3 存储桶、IAM 用户和 IAM 策略的过程。我们还演示了如何在 SQL Server 上创建 Amazon S3 凭据,并成功执行本地备份和恢复操作。如有任何问题,请在下方发表评论。
要了解更多关于在何时何地使用 RDS Custom 的信息,请查看 与 RDS Custom for SQL Server 一起工作。
作者介绍
Srikanth Katakam 是 Amazon Web Services 的高级数据库工程师。他致力于 Amazon RDS 团队,专注于商业数据库引擎、Amazon RDS Custom 和 SQL Server。他喜欢解决 Amazon RDS 中的技术挑战,并热衷于与团队成员和 AWS 客户分享知识。
Minesh Chande 是 Amazon Web Services 的高级数据库专家解决方案架构师。他帮助不同行业的客户设计、迁移和优化其 SQL Server 工作负载,以便迁移到像 Amazon RDS 和 Amazon RDS Custom 这样的托管数据库平台。
请随时发表评论!
免费加速器网站