将 MinIO 用于 AWS 本地区域
应 AWS 要求删除“AWS 推荐”语言,这篇博文已更新。
今年早些时候,Amazon Web Services 宣布它正在扩展一种名为 Local Zones 的相对较新的产品。
AWS 本地扩展区重新创建了靠近大量人口、工业和 IT 中心的大部分 AWS(计算、存储、数据库和其他精选服务)。这可以提高性能、减少延迟并降低带宽成本。此次扩张在已经投入运营的 16 个美国城市基础上又增加了 30 个左右的城市。然而,对于高吞吐量、低延迟的应用程序,如流媒体、模拟、视频游戏、人工智能/机器学习,用例各不相同;这些本地区域更深入地进入“本地”钱包份额。也有数据本地化法规,但这不是主要驱动因素。
为什么我们要写关于 AWS 产品的文章?好吧,这是一个有趣的问题……
事实证明,在 AWS 本地区域当前提供的服务目录中,S3 不是其中之一。虽然他们可能(好吧,可能会)随着时间的推移解决这个问题——他们已经编写了一个教程,概述了如何在 EC2 和 EBS 上运行 MinIO 而不是 S3。
让我们重复一遍:如果您的 Local Zone 实例需要对象存储,MinIO 将是一个不错的选择。
说我们受宠若惊是轻描淡写的说法。我们非常钦佩 AWS 的团队,他们所构建的东西,他们如何改变行业,他们如何使对象存储成为主存储,以及他们如何永不停止为客户着想。由于这种客户痴迷,他们对使用 MinIO 的客户感到满意。它只会增加我们的自尊。其他公司就不会说什么了。
MinIO 的案例在Leonardo Solano 的精彩博客文章中进行了阐述。Leonardo 是拉丁美洲(波哥大)云加速团队的一名高级混合云解决方案架构师。该帖子是西班牙语的,因此我们将摘取重点。
莱昂纳多在开头列出了案例(由谷歌翻译提供):
“S3 对象存储原生位于 AWS 区域,但不在本地区域(在发布此博文时)。要在本地区域中使用,可以使用 AWS Marketplace 上提供的第三方软件解决方案,例如本博文中介绍的解决方案。混合云对象存储是一种高性能的分布式对象存储解决方案,可以部署在带有 EBS 卷的 EC2 实例上,并由 MinIO 直接维护和支持。” 鉴于 MinIO 是AWS Marketplace(以及Google Cloud和Azure
)中唯一的对象存储,团队在本教程中使用我们是有道理的。
这是架构图:

Solano 继续描述环境:
“在此架构中,MinIO 的分布式模式将部署在 AWS 本地区域内的 EC2 实例上。该架构将在 MinIO 集群中有 2 个节点,每个节点将有 4 个 GP2 类型的 8GB EBS 卷......为了准备环境,必须有一个带有子网扩展到本地区域的 VPC。对于此示例,本地区域所依赖的区域中有一个 VPC,其 CIDR 为 10.0.0.0/16。”
由于简单地翻译整个帖子是没有意义的(尽管对于那些非常感兴趣的人来说,考虑到所有屏幕截图都是英文的,这实际上很容易),他详细介绍的内容摘要如下:
在 AWS 控制台中创建两个类型为 t3.medium 的 EC2 实例,除了启动卷外,还至少有 4 个 EBS 卷。
通过 SSH 访问每个实例并修改 /etc/hosts 文件以添加集群中每个主机的 IP 地址(MinIO 要求)。
为 MinIO 用于存储对象的每个驱动器创建挂载目录,格式化它们,挂载驱动器,并授予对挂载文件夹的读写权限。
使用帖子中描述的参数在两个节点上启动 MinIO 服务。
配置 Application Load Balancer 或 ALB 并创建目标组以允许前端平衡。Leonardo 还详细介绍了如何为 MinIO API 访问创建另一个目标组。
如何通过 Web 控制台和适用于 S3 的 AWS CLI 使用对象存储来验证解决方案是否有效。

开发人员实现这一目标所需的一切都在帖子中。
从更大的角度来看,我们认为这非常令人兴奋,并希望鼓励我们的共同客户加入进来。这扩展了我们广泛撰写的主题——MinIO 无处不在——任何云,任何地方。AWS 本地区域有效地扩展了云的范围——更靠近边缘。发布 PR中引用的一些客户包括 Netflix、SuperCell、FOX、Edgegap、Ubitus、JamKazam、Masomo 和 Couchbase——所有这些都可以利用 MinIO 来满足他们的对象存储需求。
AWS 如此评价我们,我们再次深感荣幸。如果您有任何疑问,请随时在general Slack上提问。如果您成为市场客户,我们的工程师将根据严格的 SLA 通过SUBNET 门户直接回答这些问题.