本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用外部创建的快照为新集群设定种子
创建新 MemoryDB 集群时,可以使用 Redis .rdb 快照文件中的数据为其做种。
要从 MemoryDB 快照为新的 MemoryDB 集群播种,或者 ElastiCache 有关 Redis 快照,请参阅从快照还原.
使用 Redis .rdb 文件为新 MemoryDB 集群做种时,您可以执行以下操作:
-
指定新集群中的分片数。此数量可以与用于创建快照文件的集群中的分片数量不同。
-
为新集群指定不同的节点类型 — 大于或小于创建快照的集群中使用的节点类型。如果您决定缩减到较小的节点类型,则必须确保新节点类型拥有足量内存以适应您的数据和 Redis 开销。
-
您必须确保快照数据不超过节点的资源容量。
如果快照太大,则所生成集群的状态将为
restore-failed. 如果发生这种情况,您必须删除集群,从头再来。有关节点类型和规范的完整列表,请参阅特定于 MemeryDB 节点类型的参数.
-
您只能使用 Amazon S3 服务器端加密 (SSE-S3) 对 Redis .rdb 文件进行加密。有关更多信息,请参阅使用服务器端加密保护数据。
第 1 步:在外部集群上创建 redis 快照
创建快照以播种 MemoryDB 集群
有关创建快照的其他信息,请参阅Redis 持久性
第 2 步:创建 Amazon S3 存储桶和文件夹
创建快照文件后,您需要将其上传到 Amazon S3 存储桶中的文件夹。要执行该操作,您必须先拥有 Amazon S3 存储桶以及该存储桶中的文件夹。如果您已有 Amazon S3 存储桶和文件夹并具备相应权限,则可以跳到 第 3 步:将您的快照上载到 Amazon S3。
创建 Amazon S3 存储桶
-
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/
。 -
按照 Amazon Simple Storage Service 用户指南中的创建存储桶的说明,创建 Amazon S3 存储桶。
Amazon S3 存储桶的名称必须符合 DNS 标准。否则,MemoryDB 无法访问您的备份文件。DNS 合规性规则包括:
-
名称的长度必须为至少 3 个字符,且不能超过 63 个字符。
-
名称必须是由句点 (.) 分隔的一个或多个标签组成的系列,其中每个标签:
-
以小写字母或数字开头。
-
以小写字母或数字结尾。
-
仅包含小写字母、数字和短划线。
-
-
名称不能采用 IP 地址格式(例如 192.0.2.0)。
我们强烈建议您在相同的 Amazon S3 存储桶中创建Amazon区域作为您的新 MemoryDB 集群。此方式将确保当 MemoryDB 从 Amazon S3 读取 .rdb 文件时,数据传输速度最快。
注意 为了使您的数据尽可能安全,请尽可能限制您的 Amazon S3 存储桶的权限。同时,权限仍然需要允许存储桶及其内容用于为新的 MemoryDB 集群设定种子。
-
向 Amazon S3 存储桶添加文件夹
-
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/
。 -
选择将 .rdb 文件上传到的存储桶的名称。
-
请选择 Create folder(创建文件夹)。
-
输入新文件夹的名称。
-
选择Save(保存)。
记录存储桶名称和文件夹名称。
第 3 步:将您的快照上载到 Amazon S3
现在,上传您在第 1 步:在外部集群上创建 redis 快照中创建的 .rdb 文件。将其上传到您在 第 2 步:创建 Amazon S3 存储桶和文件夹 中创建的 Amazon S3 存储桶和文件夹。有关此任务的更多信息,请参阅上传对象. 在步骤 2 和 3 之间,选择您创建的文件夹的名称。
将 .rdb 文件上传到 Amazon S3 文件夹
-
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/
。 -
选择您在步骤 2 中创建的 Amazon S3 存储桶的名称。
-
选择您在步骤 2 中创建的文件夹的名称。
-
请选择 Upload(上传)。
-
选择 Add files。
-
浏览查找要上传的一个或多个文件,然后选择文件。要选择多个文件,请在选择每个文件名时按住 Ctrl 键。
-
选择 Open (打开)。
-
确认 Amazon 中列出了正确的文件上传页面,然后选择上传.
记下 .rdb 文件的路径。例如,如果存储桶名称为 myBucket 并且路径为 myFolder/redis.rdb,请输入 myBucket/myFolder/redis.rdb。使用此快照中的数据为新集群做种时需要此路径。
有关更多信息,请参阅存储桶命名规则中的Amazon Storage Service.
第 4 步:授予 MemoryDB 对 .rdb 文件的读取访问权限
默认情况下,在 2019 年 3 月 20 日之前推出的 Amazon 区域为已启用状态。您可以立即开始在这些 Amazon 区域中工作。2019 年 3 月 20 日之后推出的区域默认情况下处于禁用状态。您必须按照所述,先启用或选择加入这些区域,然后才能使用它们。管理Amazon地区.
授予 MemoryDB 对 .rdb 文件的读取访问权限
授予 MemoryDB 对快照文件的读取访问权限
-
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/
。 -
选择包含您 .rdb 文件的 S3 存储桶的名称。
-
选择包含 .rdb 文件的文件夹的名称。
-
选择 .rdb 快照文件的名称。所选文件的名称将显示在页面顶部的选项卡上方。
-
请选择 Permissions 选项卡。
-
UNDERPermissions (权限),选择存储桶策略然后选择编辑.
-
更新策略以授予 MemoryDB 执行操作所需的权限:
将
[ "Service" : "添加到region-full-name.memorydb-snapshot.amazonaws.com" ]Principal。添加将快照导出到 Amazon S3 存储桶所需的以下权限:
"s3:GetObject""s3:ListBucket""s3:GetBucketAcl"
以下是更新策略具体形式的示例。
{ "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "us-east-1.memorydb-snapshot.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/snapshot1.rdb", "arn:aws:s3:::example-bucket/snapshot2.rdb" ] } ] } 选择Save(保存)。
第 5 步:通过 .rdb 文件数据为 MemoryDB 集群设定种子
现在,您已准备好创建 MemoryDB 集群并使用 .rdb 文件中的数据为其做种。要创建集群,请按照中的说明操作创建内存数据库集群.
您用来告知 MemoryDB 在何处查找已上传到 Amazon S3 的 Redis 快照的方法取决于您创建集群时采用的方法:
通过 .rdb 文件数据为 MemoryDB 集群设定种子
-
使用 MemoryDB 控制台
选择 Redis 引擎之后,展开 Advanced Redis settings 部分,然后找到 Import data to cluster。在 Seed RDB file S3 location(使用 RDB 文件 S3 位置设定种子)框中,键入文件的 Amazon S3 路径。如果您有多个 .rdb 文件,则以逗号分隔的列表形式键入各文件的路径。Amazon S3 路径类似于
。myBucket/myFolder/myBackupFilename.rdb -
使用 Amazon CLI
如果您使用
create-cluster或create-cluster操作,请使用参数--snapshot-arns为各 .rdb 文件指定完全限定的 ARN。例如,arn:aws:s3:::。ARN 必须解析为您存储在 Amazon S3 中的快照文件。myBucket/myFolder/myBackupFilename.rdb -
使用 MemoryDB API
如果您将
CreateCluster或者CreateClusterMemoryDB API 操作,请使用参数SnapshotArns为各 .rdb 文件指定完全限定的 ARN。例如,arn:aws:s3:::。ARN 必须解析为您存储在 Amazon S3 中的快照文件。myBucket/myFolder/myBackupFilename.rdb
在创建集群的过程中,快照中的数据将写入集群。您可通过查看 MemoryDB 事件消息来监控进度。为此,请参阅 MemoryDB 控制台,然后选择事件. 您也可以使用AmazonMemoryDB 命令行界面或 MemoryDB API,用于获取事件消息。