离线部署的MinIO


网络有不同的部分,例如 DMZ、公共、私有、堡垒等。这实际上取决于您的组织和网络要求。在部署应用程序时,任何应用程序,我们都需要考虑类型以及它是否需要位于网络的特定部分。

例如,如果要部署数据库,则不希望它位于公用网络上,而可能希望它位于无法从外部 Internet 访问的专用网络中。为什么?仅仅因为数据库中有更多敏感信息,而某些数据库中的访问控制列表不够严格,无法应对直接访问时可能受到损害的可能性。此外,最终用户很少直接访问数据库,他们通常通过前端应用程序访问数据库,然后对数据库执行结构化查询。

在这篇文章中,我们将讨论什么是内外网隔离的私有专网,在这样的环境中部署 MinIO 时要考虑什么,以及如何在之后与其他隔离网络站点一起复制和扩展它。

通常,在专用网络中,以下 CIDR 中的 IP(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)中,您无法从 Internet 入站与节点通信,除非您使用具有首先必须连接到的公共 IP 的代理,例如 VPN 或反向代理。通常,节点可以与外界通信,因为数据中心通常使用 NAT 或某种 Internet 网关 (IGW) 将公共请求路由到此 NAT/IGW 设备之外,以便能够下载包以进行上传等操作。

顾名思义,内外网隔离的私有专网更进一步,您不仅无法从 Internet 访问它,而且也无法从节点连接到 Internet。节点在此网络中完全锁定。您仍然可以通过 VPN 访问它们,但通常建议连接到堡垒主机,然后仅从堡垒节点的专用 IP 访问内外网隔离的私有专网。

在内外网隔离的私有专网中部署 MinIO

那么,为什么需要这种安全级别呢?嗯,有很多目的。我们提到了数据库,但这尤其适用于关键的基础设施组件,例如 MinIO,在这些组件中,您无法承受向外界公开其中的数据,但您需要存储它们并可供生态系统中的其他应用程序访问。

在设计内外网隔离的私有专网时,必须确保该节点运行所需的所有公共资源都需要可供内外网隔离的私有专网访问。这意味着操作系统包、RPM/APT 包、MinIO 二进制文件以及节点需要从互联网拉取的任何其他依赖项都需要已经可用于内外网隔离的私有专网。这可以通过在数据中心本地的称为 Ops Network 的特殊网络中同步所有这些依赖项的存储库来实现。Ops Network 的特点是,在此网络中运行的任何服务都可以与 Internet 通信(反之亦然),数据中心内专用网络中的任何应用程序(甚至是隔离网络)都可以与 Ops Network 中的服务通信。使用这种方法,您不仅可以同时杀死两只鸟,还可以杀死几只鸟

您可以清理从 Internet 下载的软件包,以确保它们没有被篡改。您可以放心,您的所有应用程序都将使用经过审查的包,并且可以安全地从隔离网络环境中的受信任存储库镜像安装。

要构建的节点所需的所有包都可以在本地获得,如果上游 repo 中断,不会影响离线环境的运行。

如果出现完全的节点故障,时间至关重要。替换节点的速度越快,如果更多节点发生故障,群集超出仲裁的可能性就越小。通过更快地重建节点,您可以降低 MTR(平均解决时间)。

一旦所有需要的资源都可以通过内外网隔离的私有专网在内部访问,在内外网隔离的私有专网中部署 MinIO 就像其他任何资源一样。我们建议您至少在单个站点上执行多节点多驱动器部署,以便在发生驱动器故障甚至整个节点故障时,纠删码将确保将数据复制到其他磁盘和节点。您只需要确保运行 MinIO 的端口在所有节点上都处于打开状态,并且可以从内外网隔离的私有专网内双向访问。

目前为止,一切都好。我们设计了一个内外网隔离的私有专网。找到了一种在其中部署 MinIO 的方法,并在本地镜像上游资源。但是我们实际上如何使用集群呢?如果它无法访问外部,我们如何向其添加数据?嗯,这实际上很简单,我们可以使用与传统数据库类似的技术。网络的设计应使 MinIO 只能通过其前面的应用程序访问。它可能是一个成熟的前端应用程序,可能充当 CDN,也可能是一个简单的 ETL 工作流,它使用 MinIO 来检索原始数据并存储最终处理结果。

最终用户永远无法直接访问 MinIO,因此,如果公有子网或 DMZ 中出现网络入侵,他们将永远无法访问离线网络(如 MinIO)中的服务,因此您的数据和模型是安全的。此外,您会注意到您的整个集群运行比以前稳定得多,但这是为什么呢?其他一切都一样吗?

原因是稳定性很重要。内外网隔离的私有专网中的任何内容都不会更新,除非您明确希望它更新。让我绕道而行。十年前,当我在 SRE 团队工作时,有一天,我们的任务是升级 260 台 Redis 服务器。当我们进行例行维护准备为新版本准备二进制文件时,我们注意到我们所有的页面加载量都在增加,而一些功能根本没有加载。不幸的是,所有这些都是由 Redis 支持的服务。我们很困惑,我们只上演了二进制文件,为什么一切都离线了?5 分钟后,我们立即注意到所有 Redis 服务器都在自动升级到更新的二进制文件,我们只是暂存,而不是部署。事实证明,在我们的基础设施自动化系统(Puppet)中,我们将其设置为在注意到正在暂存的新包时立即升级Redis。因此,它做了它应该做的事情,升级了所有服务器,随后一次关闭了多个 Redis 集群。所以错是我们的,我们很快就纠正了。即使我们的 Redis 服务器处于隔离网络状态,我们仍然设法将其关闭,所以试想一下,如果您直接从上游拉取它,您的服务将根据软件包维护者的心血来潮进行更新。

虽然 MinIO 更新是向后兼容的,我们强烈建议您通过我们的无停机原子升级尽可能定期地跟上新版本,但我们仍然不希望您在发布二进制文件时升级您的集群,这只是糟糕的 devops 做法,您至少应该知道您的系统上正在升级什么。一些团队加倍努力,使整个节点不可变,这意味着,每当需要升级甚至修改任何内容时,他们都必须重建整个节点,以确保没有配置漂移。但在大多数情况下,这可能是一项比所需更大的任务,因此在这些情况下,拥有一个隔离网络环境是一个不错的选择。

我们谈到了单个区域中的单个集群,但多站点呢?我们的内外网隔离的私有专网现在是否必须通过互联网进行通信才能到达其他站点?这难道没有破坏隔离网络环境的目的吗?

与互联网通过物理光纤连接的方式类似,数据中心在很大程度上通过互联网交换设施相互连接。这些设施提供暗光纤WAN链路(广域网),您基本上可以做任何事情。您可以创建自己的 ISP,也可以使用它来连接位于世界各地的两个不同数据中心。在这些WAN链路上运行的协议可以是任何东西,您不需要在此基础上运行VPN。虽然我们仍然建议对 MinIO 流量进行加密,但 WAN 链路也应该有自己的加密,这样数据就不会被相邻流量嗅探,因为基本上所有这些链都是共享的。

一旦 WAN 链路启动并运行,您将能够与专用内外网隔离的私有专网上的其他 MinIO 集群进行通信,就像站点到站点复制在常规 Internet 上运行一样。这里唯一的区别是:

  • 流量是完全私有的,这提供了额外的安全层

  • 由于您不与其他任何人共享管道,因此您将有权访问管道的全部吞吐量,通常对于关键和时间敏感的应用程序,首选专用的分配 WAN 链路。

由于您不与其他任何人共享管道,因此您将有权访问管道的全部吞吐量,通常对于关键和时间敏感的应用程序,首选专用的分配 WAN 链路。

请花点时间阅读这篇博文,其中我们将讨论站点到站点复制的最佳实践。

监控隔离网络中的 MinIO

这是一个很好的问题。这就是我们为 mc diag 命令提供隔离网络标志的确切原因。不仅如此,您还可以对数据进行匿名化处理,以便在与诊断捆绑包一起发送之前对主机名和 IP 等敏感信息进行混淆处理。

要在 airgap 中创建诊断捆绑包,请运行以下命令,该命令也会对数据进行匿名化处理

mc support diag myminio --airgap --anonymize=strict● CPU Info ... ✔
● Disk Info ... ✔
● Net Info ... ✔
● Os Info ... ✔
● Mem Info ... ✔
● Process Info ... ✔
● Server Config ... ✔
● System Errors ... ✔
● System Services ... ✔
● System Config ... ✔
● Admin Info ... ✔mc: MinIO diagnostics report saved to myminio-health_20231111053323.json.gz

总结

MinIO 可以很好的在私有网络中进行部署,完全隔离对应的数据,保障您的数据安全。

如果需要专业技术支持请联系MinIO中国支持团队4008-566-339。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/327407.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业出海数据合规:GDPR中的个人数据与非个人数据之区分

GDPR仅适用于个人数据,这意味着非个人数据不在其适用范围内。因此,个人数据的定义是一个至关重要的因素,因为它决定了处理数据的实体是否要遵守该法规对数据控制者规定的各种义务。尽管如此,什么是个人数据仍然是当前数据保护制度…

CMU15-445-Spring-2023-Project #1 - 前置知识(lec01-06)

Lecture #01_ Relational Model & Relational Algebra Databases 数据库是相互关联的数据的有组织集合,对现实世界的某些方面进行建模。区别于DBMS(MySQL、Oracle)。 Flat File Strawman 数据库以CSV文件的形式存储,并由D…

呕心沥血总结的Python自动化测试面试题

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢软件测试面试题分享: 1000道软件测试面试题及答案📢软件测试实战项目分享: 纯接口项目-完…

Oracle database 12cRAC异地恢复至单机

环境 rac 环境 byoradbrac Oracle12.1.0.2 系统版本:Red Hat Enterprise Linux Server release 6.5 软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1:172.17.38.44 byoradb2:172.17.38.4…

IP地址定位技术的应用及其重要性

随着网络技术的快速发展,网络安全问题日益凸显,IP地址定位技术在网络安全领域的应用也越来越广泛。本文将介绍IP地址定位技术在网络安全领域的应用及其重要性。 一、IP地址定位技术概述 IP地址定位技术是指通过一定的技术手段,将虚拟网络中的…

8、VS中Git使用

VS中Git使用 1.基础操作1.1 VS配置Git1.2 操作界面 2.本地库版本管理2.1 创建管理本地库2.2 暂存、存储2.3 提交2.4 版本切换 3.分支操作3.1 分支应用3.2 新建分支3.3 合并分支、解决冲突3.4 删除分支 4.远程库版本管理4.1 新建、克隆4.2 提取、拉取、推送与同步4.3 团队开发 最…

sublime text 3 分屏和关闭分屏

有时候需要编辑多个地方的代码,开多个编辑器又太麻烦,那么Sublime自带的分屏快捷键可以解决烦恼。 Altshift2 分为2列 Altshift3 分为3列 Altshift4 分为4列 Altshift5 分为2行2列 Altshift8 分为2行 Altshift9 分为3行 取消分屏:Alts…

【JAVA】OPENGL+TIFF格式图片,不同阈值旋转效果

有些科学研究领域会用到一些TIFF格式图片,由于是多张图片相互渐变,看起来比较有意思: import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.*;/*** 可以自已定义日志打印格式…

Python课程设计基于python的人脸识别佩戴口罩系统设计

wx供重浩:创享日记 对话框发送:python口罩 获取完整论文报告源码源文件 1 研究背景与意义 新型冠状病毒展现出全球化流行和蔓延的趋势,这提醒我们:传染病防治在今后相当长时间内仍是疾病预测控制工作的重点。戴口罩是预防呼吸道…

网络实训模拟考察题目和答案(华为eNSP综合实验考试)

拓扑中四个交换机五个路由器,共九个设备 答案是对应的九个脚本(从设备命名到保存) 全部复制粘贴后,从PC1、PC2都是能Ping通服务器的(保及格),其他要求没检查 题目 VLAN信息 设备名称端口链路…

ssm基于JSP的明水县苹果网吧计费管理系统的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本明水县苹果网吧计费管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大…

回顾2023编程之旅

一、前言 看在给了我一个博客专家的份上就继续写写博客,实事求是的讲如果是工作之余去总结csdn写写技术博客,还想混个专家什么的,真的是精力不够。因为里面的灌水的实在太多,比不过的,写这个玩意必须得淡泊名利才能悠然…