这是与 Alcion 的 Zack Rossman 共同撰写的客座博客文章。
Alcion 是一个安全第一、人工智能驱动的备份即服务 (BaaS) 平台,可帮助 Microsoft 365 管理员快速直观地保护数据免受网络威胁和意外数据丢失。 如果发生数据丢失,Alcion 客户需要搜索备份项目(文件、电子邮件、联系人、事件等)的元数据,以选择特定的项目版本进行恢复。 阿尔西恩用途 亚马逊开放搜索服务 为客户提供跨此备份目录的准确、高效和可靠的搜索功能。 该平台是多租户的,这意味着Alcion需要数据隔离和强大的安全性,以确保租户只能搜索自己的数据。
OpenSearch Service 是一项完全托管的服务,可以轻松在 AWS 云中部署、扩展和操作 OpenSearch。 OpenSearch 是一个 Apache-2.0 许可的开源搜索和分析套件,包括 OpenSearch(搜索、分析引擎和矢量数据库)、OpenSearch 仪表板(可视化和实用用户界面)以及提供企业等高级功能的插件级安全性、异常检测、可观察性、警报等等。 亚马逊 OpenSearch 无服务器 是一种无服务器部署选项,使 OpenSearch 的使用变得简单,无需配置、管理和扩展 OpenSearch 服务域。
在这篇文章中,我们分享了采用 OpenSearch Serverless 如何使 Alcion 满足其规模要求、减少运营开销并通过强制执行来保护租户数据 租户隔离 在他们的多租户环境中。
OpenSearch 服务托管域
对于其搜索架构的第一次迭代,Alcion 选择了 OpenSearch 服务中的托管域部署选项,并能够在不到一个月的时间内在生产环境中启动其搜索功能。 为了满足其安全性、规模和租赁要求,他们将每个租户的数据存储在专用索引中并使用 细粒度的访问控制 在 OpenSearch Service 中防止跨租户数据泄露。 随着工作负载的变化,Alcion 工程师通过提供的跟踪 OpenSearch 域利用率 亚马逊CloudWatch 指标,进行更改以增加存储并优化其计算资源。
Alcion 团队使用 OpenSearch Service 托管域的多项功能来改善他们的运营状况。 他们引入了索引别名,它提供单个别名来访问(读取和写入)多个底层索引。 他们还配置了 索引状态管理 (ISM) 策略,通过根据索引大小滚动索引来帮助他们控制数据生命周期。 ISM 策略和索引别名对于扩展大型租户的索引是必要的。 阿尔西翁也用过 索引模板 定义数据的每个索引(分区)的分片,以便自动化数据生命周期并提高域的性能和稳定性。
以下架构图显示了 Alcion 如何配置其 OpenSearch 托管域。
下图显示了如何对 Microsoft 365 数据建立索引并从特定于租户的索引进行查询。 Alcion 通过为每个 API 请求提供 OpenSearch 主用户凭据来实现请求身份验证。
OpenSearch Serverless 概述和租赁模型选项
OpenSearch 服务托管域为 Alcion 的搜索功能提供了稳定的基础,但团队需要手动向域配置资源以应对峰值工作负载。 这为成本优化留下了空间,因为 Alcion 的工作负载是突发性的 - 每秒的搜索和索引事务数量存在很大变化,无论是对于单个客户还是作为整体而言。 为了降低成本和运营负担,该团队转向了 OpenSearch Serverless,它提供了自动扩展功能。
要使用 OpenSearch Serverless,第一步是创建集合。 A 采集 是一组 OpenSearch 索引,它们协同工作以支持特定的工作负载或用例。 集合的计算资源称为 OpenSearch 计算单元 (OCU),在共享加密密钥的帐户中的所有集合之间共享。 OCU 池会自动扩展和缩小以满足索引和搜索流量的需求。
从 OpenSearch Service 托管域迁移到 OpenSearch Serverless 所需的工作量是可以管理的,因为 OpenSearch Serverless 集合支持与 OpenSearch Service 托管域相同的 OpenSearch API 和库。 这使得 Alcion 能够专注于优化新搜索架构的租赁模型。 具体来说,团队需要决定如何在集合和索引中对租户数据进行分区,同时平衡安全性和总拥有成本。 Alcion 工程师与 OpenSearch Serverless 团队合作, 考虑了三种租赁模式:
- 筒仓模型:为每个租户创建一个集合
- 池模型:创建单个集合并为多个租户使用单个索引
- 桥接模型:创建单个集合并为每个租户使用单个索引
所有三种设计选择都各有利弊,在设计最终解决方案时必须考虑这些优点和利弊。
筒仓模型:为每个租户创建一个集合
在此模型中,只要有新客户加入其平台,Alcion 就会创建一个新系列。 尽管租户数据将在集合之间清晰分离,但此选项不合格,因为集合创建时间意味着客户无法在注册后立即备份和搜索数据。
池模型:创建单个集合并为多个租户使用单个索引
在此模型中,Alcion 将为每个 AWS 账户创建一个集合,并在属于该集合的许多共享索引之一中索引特定于租户的数据。 最初,从规模角度来看,将租户数据集中到共享索引中很有吸引力,因为这可以最有效地利用索引资源。 但经过进一步分析,Alcion 发现,即使为每个租户分配一个索引,也完全符合每个集合的索引配额。 解决了可扩展性问题后,Alcion 采用了第三种选择,因为将租户数据存储到专用索引中会比共享索引模型实现更强的租户隔离。
桥接模型:创建单个集合并为每个租户使用单个索引
在此模型中,Alcion 将为每个 AWS 账户创建一个集合,并为该账户管理的数百个租户中的每个租户创建一个索引。 通过为每个租户分配一个专用索引并将这些索引汇集到一个集合中,Alcion 减少了新租户的加入时间,并将租户数据隔离到完全分离的存储桶中。
实施基于角色的访问控制以支持多租户
OpenSearch Serverless 提供了一组多点、可继承的安全控制,涵盖数据访问、网络访问和加密。 Alcion 充分利用 OpenSearch Serverless 数据访问策略 为每个特定于租户的索引实施基于角色的访问控制 (RBAC),详细信息如下:
- 分配具有公共前缀和租户 ID 的索引(例如,
index-v1-<tenantID>
) - 创建一个专门的 AWS身份和访问管理 (IAM) 角色,用于签署对 OpenSearch Serverless 集合的请求
- 创建 OpenSearch Serverless 数据访问策略,向该租户的 IAM 角色授予专用租户索引内的文档读/写权限
- 对租户索引的 OpenSearch API 请求使用属于特定于租户的 IAM 角色的临时凭证进行签名
以下是具有 ID 的模拟租户的 OpenSearch Serverless 数据访问策略示例 t-eca0acc1-12345678910
。 此策略将 IAM 角色文档读/写访问权限授予专用租户访问权限。
以下架构图描述了 Alcion 如何使用 OpenSearch Serverless 共享集合方法实现 Microsoft 365 资源的索引和搜索。
以下是用于向 OpenSearch Serverless 集合发送 API 请求的示例代码片段。 请注意 API 客户端如何使用签名者对象进行初始化,该签名者对象使用链接到前面代码片段中的 OpenSearch Serverless 数据访问策略的同一 IAM 主体对请求进行签名。
结论
2023 年 30 月,Alcion 在所有生产和预生产环境中推出了基于共享集合和专用每租户索引模型的搜索架构。 该团队能够剔除专门用于扩展 OpenSearch Service 托管域的复杂代码和操作流程。 此外,得益于 OpenSearch Serverless 的自动扩展功能,Alcion 已将 OpenSearch 成本降低了 XNUMX%,并预计成本状况将有利地扩展。
在从托管 OpenSearch 服务转向无服务器 OpenSearch 服务的过程中,Alcion 受益于他们最初选择的 OpenSearch 服务托管域。 在向前迁移的过程中,他们能够将用于 OpenSearch 服务托管域的相同 OpenSearch API 和库重新用于 OpenSearch Serverless 集合。 此外,他们还更新了租赁模型以利用 OpenSearch Serverless 数据访问策略。 借助 OpenSearch Serverless,他们能够轻松适应客户的规模需求,同时确保租户隔离。
有关 Alcion 的更多信息,请访问他们的 官网.
作者简介
Zack Rossman 是 Alcion 的技术人员。 他是搜索和人工智能平台的技术主管。 在加入 Alcion 之前,Zack 是 Okta 的高级软件工程师,为目录团队开发核心员工身份和访问管理产品。
Niraj Jetly 是 Amazon OpenSearch Serverless 的软件开发经理。 Niraj 领导多个数据平面团队,负责推出 Amazon OpenSearch Serverless。 在加入 AWS 之前,Niraj 曾担任多个产品和工程团队的首席技术官、工程副总裁和产品管理主管超过 15 年。 Niraj 获得了超过 15 项创新奖项,包括被评为 2014 年年度 CIO 以及 100 年和 2013 年 2016 强 CIO。他经常在多个会议上发表演讲,并被 NPR、《华尔街日报》和《波士顿环球报》引用。
乔恩汉德勒 是位于加利福尼亚州帕洛阿尔托的 Amazon Web Services 的高级首席解决方案架构师。 Jon 与 OpenSearch 和 Amazon OpenSearch Service 密切合作,为拥有想要迁移到 AWS 云的搜索和日志分析工作负载的广大客户提供帮助和指导。 在加入 AWS 之前,Jon 的软件开发人员职业生涯包括 4 年编写大型电子商务搜索引擎的代码。 Jon 拥有宾夕法尼亚大学文学学士学位以及西北大学计算机科学和人工智能理学硕士和博士学位。
- :具有
- :是
- $UP
- 10
- 100
- 15 年
- 15%
- 16
- 2013
- 2014
- 2016
- 2023
- a
- Able
- 关于
- ACCESS
- 访问管理
- 账号管理
- 精准的
- 横过
- 适应
- 另外
- 地址
- 管理员
- 采用
- 高级
- 优点
- 后
- AI
- 所有类型
- 分配
- 让
- 允许
- 还
- 尽管
- Amazon
- 亚马逊网络服务
- an
- 分析
- 分析
- 和
- 异常检测
- API
- APIs
- 的途径
- 架构
- 保健
- 人造的
- 人工智能
- 艺术
- AS
- At
- 吸引力
- 认证
- 汽车
- 自动化
- 自动
- 奖项
- AWS
- 巴斯
- 背部
- 备份工具
- 平衡
- 基于
- BE
- 因为
- 很
- 作为
- 好处
- 之间
- 博客
- 身体
- 波士顿
- 都
- 广阔
- 负担
- 但是
- by
- CA
- 被称为
- CAN
- 能力
- 能力
- 寻找工作
- 案件
- 检索目录
- 更改
- 选择
- 选择
- 选择
- CIO
- 客户
- 密切
- 云端技术
- 码
- 编码
- 合作
- 采集
- 收藏
- 相当常见
- 复杂
- 包括
- 计算
- 一台
- 计算机科学
- 关心
- 会议
- 配置
- 考虑
- 联系
- 上下文
- 控制
- 控制
- 核心
- 价格
- 成本
- 覆盖
- 创建信息图
- 创造
- 创建
- 资历
- 首席技术官
- 顾客
- 合作伙伴
- 网络
- 仪表板
- data
- 数据访问
- 数据丢失
- 数据库
- 决定
- 专用
- 默认
- 需求
- 部署
- 部署
- 描述
- 设计
- 设计
- 详情
- 检测
- 开发商
- 发展
- 研发支持
- 目录
- 文件
- 文件
- 域
- 域名
- 向下
- 每
- 易
- 电子商务
- 高效
- 努力
- 电子邮件
- 启用
- 加密
- 强制执行
- 发动机
- 工程师
- 工程师
- 工程师
- 确保
- 保证
- 企业级
- 环境
- 环境中
- 错误
- 故障
- 醚(ETH)
- 甚至
- 活动
- 事件
- 进化
- 例子
- 预计
- 事实
- 特征
- 档
- 最后
- (名字)
- 专注焦点
- 以下
- 针对
- 向前
- 发现
- 基金会
- 频繁
- 止
- ,
- 充分
- 功能
- 进一步
- 此外
- 越来越
- GitHub上
- 地球
- 补助金
- 团队
- 客人
- 来宾博客
- 指导
- 民政事务总署
- 有
- he
- 头
- 帮助
- 帮助
- 持有
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- 数百
- IAM
- ID
- 身分
- 身份和访问管理
- if
- 立即
- 实施
- 实施
- 进口
- 改善
- in
- 包括
- 包含
- 增加
- 指数
- 索引
- 指标
- 信息
- 初始
- 原来
- 創新
- 创新奖
- 房源搜索
- 接口
- 成
- 介绍
- 隔离
- IT
- 项目
- 迭代
- 它的
- 加盟
- 乔恩
- 旅程
- JPG
- JSON
- 键
- 大
- 大规模
- 发射
- 发射
- 铅
- 信息
- 泄漏
- 导致
- 左
- 减
- Level
- 库
- 生命周期
- 喜欢
- 链接
- 装载
- 日志
- 离
- 制作
- 制作
- 管理
- 颠覆性技术
- 经理
- 管理的
- 手动
- 许多
- 主
- 匹配
- 可能..
- 手段
- 意思
- 满足
- 会员
- 元数据
- 指标
- 微软
- 微软365
- 迁移
- 迁移
- 模型
- 月
- 更多
- 最先进的
- 移动
- 许多
- 多
- 姓名
- 命名
- 必要
- 需求
- 打印车票
- 需要
- 网络
- 网络访问
- 全新
- 西北大学(Northwestern University)
- 注意..
- 数
- 对象
- of
- 优惠精选
- 奥克塔
- on
- 前期洽谈
- 一
- 仅由
- 开放源码
- 操作
- 操作
- 优化
- 追求项目的积极优化
- 附加选项
- or
- 我们
- 输出
- 超过
- 简介
- 己
- 所有权
- 页
- 帕洛阿尔托
- 高峰
- 宾夕法尼亚
- 为
- 性能
- 允许
- 权限
- 透视
- 平台
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 插件
- 政策
- 政策
- 池
- 帖子
- 防止
- 以前
- 小学
- 校长
- 先
- 过程
- 产品
- 产品管理
- 生产
- 核心产品
- 本人简介
- 保护
- 提供
- 提供
- 提供者
- 优
- 规定
- 很快
- 范围
- 阅读
- 读者
- 减少
- 减少
- 注册
- 可靠
- 请求
- 要求
- 必须
- 岗位要求
- 需要
- 解决
- 资源
- 资源
- 响应
- 提供品牌战略规划
- 恢复
- 成果
- 回报
- 重用
- 角色
- 轧制
- 卷
- Room
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 同
- 可扩展性
- 鳞片
- 缩放
- 科学
- 范围
- 搜索
- 搜索引擎
- 搜索
- 其次
- 安全
- 保安
- 发送
- 前辈
- 无服务器
- 服务
- 特色服务
- 集
- 几个
- Share
- 共用的,
- 作品
- 签署
- 签
- 迹象
- 简易
- 单
- 尺寸
- 片段
- So
- 软件
- 软件开发
- 软件工程师
- 方案,
- 解决方案
- 喇叭
- 具体的
- 特别是
- 稳定性
- 稳定
- 团队
- 州/领地
- 步
- 存储
- 存储
- 串
- 强烈
- 强
- 套房
- SUPPORT
- 支持
- 支持
- 采取
- 拍摄
- 团队
- 队
- 科技
- 文案
- 临时
- 承租人
- 比
- 谢谢
- 这
- 其
- 他们
- 博曼
- 他们
- 第三
- Free Introduction
- 威胁
- 三
- 次
- 至
- 一起
- 了
- 最佳
- 合计
- 交通
- 交易
- 每秒交易量
- 转身
- 相关
- 单位
- 大学
- 宾夕法尼亚大学
- 更新
- 使用
- 用例
- 用过的
- 用户
- 用户界面
- 使用
- 运用
- 效用
- 价值观
- 通过
- 参观
- 可视化
- vp
- 想
- 是
- we
- 卷筒纸
- Web服务
- 井
- 为
- 每当
- 这
- 而
- WHO
- 全
- 中
- 也完全不需要
- 工作
- 一起工作
- 劳动力
- 合作
- 将
- 写
- WSJ
- 年
- 年
- 和风网