在 Amazon OpenSearch Service 中进行手动快照并在跨越不同区域和账户的不同域

在不同域中手动拍摄快照并跨多个区域和账号恢复 Amazon OpenSearch 服务

作者:Madhan Kumar Baskaran 和 Priyanshi Omer 发布于2024年10月11日 高级 (300), Amazon OpenSearch 服务, Amazon 简单存储服务 (S3), AWS 身份与访问管理 (IAM), 技术教程

永久链接 评论 分享

小熊加速器免费

关键要点

快照的重要性:手动快照用于数据备份和灾难恢复,可将域索引和集群状态在特定时间点备份到可靠存储位置如 S3。数据完整性:通过合理的快照策略,减轻数据丢失风险,简化灾难恢复流程。手动快照的实用场景:数据恢复、迁移、测试和开发、备份控制、长期归档。

快照对于在 Amazon OpenSearch 服务 中备份数据和灾难恢复至关重要。这些快照使您能够在特定时刻生成域索引和集群状态的备份,并将其保存在可靠的存储位置,如 Amazon 简单存储服务 (Amazon S3)。

快照在提供 OpenSearch 服务域的数据可用性、完整性和恢复能力方面起着关键作用。通过实施健全的快照策略,您可以降低与数据丢失相关的风险,优化灾难恢复过程,并保持数据管理最佳实践的合规性。

这篇文章提供了有关如何有效捕获和管理 OpenSearch 服务中手动快照的详细说明。它涵盖了拍摄数据快照、在不同 AWS 区域和账户中安全传输以及在新域中恢复的基本步骤。该指南旨在帮助您在 OpenSearch 服务的复杂多区域和多账户环境中维护数据完整性和连续性。

有关索引快照的详细信息,请参阅 开发者指南。

理解手动快照

手动快照是用户启动的 OpenSearch 服务域的即时备份。与根据 OpenSearch 服务指定的保留策略定期自动进行的快照不同,手动快照允许您在需要时随时进行备份,无论是针对整个集群还是单个索引。当您希望保留特定的数据状态以供将来参考,或在对域实施重大更改之前,手动快照尤为有用。

快照并不是瞬时完成的。它们需要时间完成,并且并不代表完美的即时视图。在快照进行时,您仍然可以索引文档和进行其他请求,但新文档及对现有文档的更新通常不会包含在快照中。快照包含的是在启动快照过程时主分片的状态。

以下是手动快照发挥重要作用的一些场景:

场景描述数据恢复快照的主要目的是在发生故障或数据丢失时提供恢复数据的手段。迁移手动快照可用于想要将数据从一个域迁移到另一个域。测试和开发使用快照为测试或开发目的创建数据副本。备份控制手动快照对备份过程提供更多控制。长期归档手动快照可以保存更长时间,适合长期数据归档需求。

解决方案概述

以下部分概述了在不同域中手动拍摄快照并跨多个区域和账户恢复的过程。高层步骤如下:

创建 AWS 身份与访问管理 (IAM) 角色和用户。注册手动快照存储库。进行手动快照。设置 S3 桶复制。在目标账户中创建 IAM 角色和用户。添加桶政策。在目标域注册存储库并恢复快照。

前提条件

本篇文章假设您已经设置以下资源:

一个正在运行的 OpenSearch 服务域。一个用于存储 OpenSearch 服务域手动快照的 S3 桶。该桶必须位于与 OpenSearch 服务域托管区域相同的区域内。

创建 IAM 角色和用户

完成以下步骤以创建您的 IAM 角色和用户:

创建一个 IAM 角色,以授予 OpenSearch 服务所需的权限。本文中,我们将角色命名为 TheSnapshotRole。使用以下代码创建新的策略并将其附加到该角色,以允许访问 S3 桶。

json { Version 20121017 Statement [ { Action [s3ListBucket] Effect Allow Resource [arnawss3s3bucketname] } { Action [ s3GetObject s3PutObject s3DeleteObject iamPassRole ] Effect Allow Resource [arnawss3s3bucketname/] } ] }

编辑 TheSnapshotRole 的信任关系以指定 OpenSearch 服务在 Principal 语句中,如以下示例所示。在 Condition 块中,我们建议您使用 awsSourceAccount 和 awsSourceArn 条件密钥来防止 混淆代表问题。源账户是拥有者,源 ARN 是 OpenSearch 服务域的 ARN。

json { Version 20121017 Statement [ { Sid Effect Allow Principal { Service esamazonawscom } Action stsAssumeRole Condition { StringEquals { awsSourceAccount accountid } ArnLike { awsSourceArn arnawsesregionaccountiddomain/domainname } } } ] }

在 Amazon OpenSearch Service 中进行手动快照并在跨越不同区域和账户的不同域生成一个 IAM 用户以注册快照存储库。本文中,我们将用户命名为 TheSnapUser。为注册快照存储库,您需要将 TheSnapshotRole 传递给 OpenSearch 服务。此外,您还需要访问 esESHttpPut。要授予这两项权限,请将以下策略附加到用于签署请求的 IAM 角色。

json { Version 20121017 Statement [ { Effect Allow Action iamPassRole Resource arnawsiam123456789012role/TheSnapshotRole } { Effect Allow Action esESHttpPut Resource arnawsesregion123456789012domain/domainname/ } ] }

注册手动快照存储库

完成以下步骤在 OpenSearch 仪表板中映射快照角色和用户如果使用细粒度访问控制:

导航到连接您 OpenSearch 服务域的 OpenSearch 仪表板终端。使用管理员用户或具有 securitymanager 角色的用户登录。从主菜单选择 安全,选择 角色,并选择 managesnapshots 角色。选择 映射用户,然后选择 管理映射。为 后端角色 添加 TheSnapshotRole 的 ARN,为 用户 添加 TheSnapUser 的 ARN:arnawsiam123456789123role/TheSnapshotRolearnawsiam123456789123user/TheSnapUser选择 映射 并确认用户和角色出现在 映射用户 下。要注册快照存储库,通过像 Postman 或 Insomnia 这样的 API 平台向 OpenSearch 服务域终端发送 PUT 请求。有关更多详细信息,请参见注册手动快照存储库。

注意:在使用 Postman 或 Insomnia 执行本文中提到的 API 调用时,选择 AWS IAM v4 作为身份验证方法,并在授权部分输入您的 IAM 凭证。确保使用具有 “allaccess” OpenSearch 角色的 OpenSearch 用户凭证。

bashcurl XPUT domainendpoint/snapshot/mysnapshotreponame{ type s3 settings { bucket s3bucketname region region rolearn arnawsiam123456789012role/TheSnapshotRole }}

如果您的域位于虚拟私有云 (VPC) 中,您必须连接到该 VPC,才能成功注册快照存储库。访问 VPC 的方式因网络配置而异,但通常涉及连接到 VPN 或企业网络。要检查您是否能够访问 OpenSearch 服务域,请在网页浏览器中访问 https//ltyourvpcdomainregiongtesamazonawscom,确认您收到默认的 JSON 响应。

拍摄手动快照

如果另一个快照正在进行,则无法执行拍照。此外,Ultrawarm 存储层迁移过程也利用快照在热存储和冷存储之间转移数据,该过程在后台运行。另外,自动快照根据服务为集群配置的调度进行拍摄。有关保护 Amazon S3 数据的详细信息,请参见 保护数据与加密。

为了确认,请运行以下命令:

bashcurl XGET domainendpoint/snapshot/status

确认没有快照正在运行后,运行以下命令以拍摄手动快照:

bashcurl XPUT domainendpoint/snapshot/repositoryname/snapshotname

运行以下命令以验证您域的所有快照状态:

bashcurl XGET domainendpoint/snapshot/repositoryname/allpretty

设置 S3 桶复制

在开始之前,请确保以下内容已就绪:

找到将数据复制到的目标桶。如果没有,则在与源桶的区域不同的区域中创建新的 S3 桶。由于目标 OpenSearch 服务域在不同的账户中,您需要为桶启用 访问控制列表 (ACL),以允许其他 AWS 账户访问此桶中的对象。ACLs 将用于指定和管理该桶及其对象的访问权限。

完成以下步骤以设置 S3 桶复制。有关更多信息,请参见 示例:配置复制的示例。

在 Amazon S3 控制台中,选择导航窗格中的 桶。选择要复制的桶包含快照的源桶。在 管理 选项卡中,选择 创建复制规则。复制需要对源桶启用版本控制,因此选择 启用桶版本控制 并启用版本控制。提供以下详细信息:在 规则 ID 中,输入规则名称。在 状态 中,选择 启用。在 规则范围 中,指定要复制的数据。在 目标 S3 桶 中,输入数据将要复制的目标桶名称。在 IAM 角色 中,选择 创建新角色。选择 保存。在 复制现有对象 弹出窗口中,选择 是,复制现有对象 以开始复制。选择 提交。

您将看到源 S3 桶的 管理 选项卡中的复制表中出现新的活动复制规则。

在目标账户中创建 IAM 角色和用户

完成以下步骤以在目标账户中创建您的 IAM 角色和用户。

创建一个 IAM 角色,以授予目标 OpenSearch 服务的权限。本文中,将角色命名为 DestinationSnapshotRole。使用以下代码创建新的策略并附加到角色 DestinationSnapshotRole,以允许访问目标 S3 桶。

json { Version 20121017 Statement [ { Action [s3ListBucket] Effect Allow Resource [arnawss3s3bucketname] // 复制的 S3 桶 } { Action [ s3GetObject s3PutObject s3DeleteObject iamPassRole ] Effect Allow Resource [arnawss3s3bucketname/] // 复制的 S3 桶 } ] }

编辑 DestinationSnapshotRole 的信任关系,指定 OpenSearch 服务在 Principal 语句中,如以下示例所示。

json { Version 20121017 Statement [ { Sid Effect Allow Principal { Service esamazonawscom } Action stsAssumeRole Condition { StringEquals { awsSourceAccount accountid // 目标账户 } ArnLike { awsSourceArn arnawsesregionaccountiddomain/domainname/ // 目标 OpenSearch 域 } } } ] }

生成一个 IAM 用户以注册快照存储库。本文中,我们将用户命名为 DestinationSnapUser。为注册快照存储库,您需要将 DestinationSnapshotRole 传递给 OpenSearch 服务。此外,您还需要访问 esESHttpPut。要授予这两项权限,请将以下策略附加到用于签署请求的 IAM 角色。

json { Version 20121017 Statement [ { Effect Allow Action iamPassRole Resource arnawsiam123456789012role/DestinationSnapshotRole } { Effect Allow Action esESHttpPut Resource arnawsesregion123456789012domain/domainname/ // 目标 OpenSearch 域 } ] }

完成以下步骤在目标 OpenSearch 仪表板中映射快照角色和用户如果使用细粒度访问控制:

导航至连接您的 OpenSearch 服务域的 OpenSearch 仪表板终端。使用管理员用户或具有 securitymanager 角色的用户登录。从主菜单选择 安全,选择 角色,并选择 managesnapshots 角色。选择 映射用户,然后选择 管理映射。为 后端角色 添加 DestinationSnapshotRole 的 ARN,为 用户 添加 DestinationSnapUser 的 ARN:arnawsiam123456789123role/DestinationSnapshotRolearnawsiam123456789123user/DestinationSnapUser选择 映射 并确认用户和角色出现在 映射用户 下。

添加桶政策

在目标 S3 桶详情页面,在 权限 选项卡中,选择 编辑,然后添加以下桶政策。此政策允许来自另一个 AWS 账户的目标 OpenSearch 服务域访问由不同 AWS 账户

使用 Amazon Lex 和 Amazon CloudWatch Logs 检测和保护敏感数据 机

使用 Amazon Lex 和 Amazon CloudWatch Logs 检测和保护敏感数据 机

使用 Amazon Lex 和 Amazon CloudWatch Logs 检测和保护敏感数据在数字化时代,保护个人可识别信息PII不仅是合规要求,更是消费者信任和商业诚信的基石。组织采用像 Amazon Lex 这样的先进自然语言检测服务来构建对话接口,并通过 Amazon CloudWatch...

如何通过预签名 URL 安全地传输文件 安全博客

如何通过预签名 URL 安全地传输文件 安全博客

如何安全地使用预签名 URL 传输文件关键要点现代企业需要安全共享大文件以及对私有数据的受控访问,以推动创新和提高客户体验。预签名 URL 提供了对 Amazon S3 对象的有限时间访问,避免了长期凭证的暴露。实现安全的预签名 URL 生成和使用是防止数据泄露的重要举措。在大规模分布式工作和数字化...

搜索

免费加速器iOS下载

小熊twitter加速器,成立于2007年,是一家位于中国黑龙江省五大连池市的创新型企业。自成立以来,公司致力于为全球用户提供安全、便捷、创新的数字货币交换和管理服务。作为行业的先锋,小熊twitter加速器利用先进的区块链技术打造一个去中心化的金融生态系统,旨在推动传统金融与现代技术的融合。

小熊twitter加速器拥有一支由各领域顶尖专家组成的团队,包括资深的金融分析师、经验丰富的软件工程师、以及区块链技术的先驱者。这支团队共同协作,不断研发和优化我们的技术和服务,确保能够在迅速变化的市场中保持领先地位。公司的技术平台支持多种加密货币的交易和存储,包括比特币、以太坊、莱特币等主流数字货币,同时也不断探索和添加新兴的加密货币,以满足市场需求。

在安全性方面,小熊twitter加速器采用多层次安全策略来保护用户的资产和数据。我们的系统设计了多个安全层,包括实时监控、自动化的风险管理系统,以及强大的加密技术,确保所有交易数据的安全性和隐私性。此外,公司还与全球多家顶级安全机构合作,定期对我们的系统进行安全审计和升级。

公司不仅在提供加密货币交易和管理服务上不断创新,在推动区块链技术的普及和应用上也是行业的领跑者。小熊twitter加速器积极参与国内外的区块链研究和开发项目,与多家大学和科研机构合作,推动区块链技术在金融、物流、医疗等多个领域的应用研究。

作为地处五大连池市的高科技企业,小熊twitter加速器生根于这片富有极地地貌的独特土地,将东北老工业基地的坚韧精神与新时代科技革命的创新活力成功结合。公司未来的发展方向是构建一个全球化的数字货币交易和金融服务平台,为用户提供更多元化、一体化的金融解决方案,推动全球金融市场的发展和进步。

在未来,小熊twitter加速器将继续拓展国际市场,与更多国际合作伙伴建立合作关系,扩大我们的业务范围,并致力于成为全球领先的数字货币和区块链技术服务提供商。在数字货币日益被广泛接受的今天,小熊twitter加速器将持续在创新与安全的道路上前行,为全球用户提供更加优质的服务和更为可靠的技术支持。