离线部署的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。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hubery-个人项目经历记录

研究生期间很有幸的进入到了崔老师的组,从此也就进入到了分析人体生理信号的领域,充满挑战的同时也充满了乐趣。借着CSDN整理一下近几年来参与的项目,这里蕴含着我各种美好的回忆,也作为一个展示自己的平台吧。 开始之前&#xff…

CSS效果(工作中常用)

1、css文字溢出省略号 overflow: hidden; // 溢出隐藏 text-overflow: ellipsis; // 溢出用省略号显示 white-space: nowrap; // 规定段落中的文本不进行换行 overflow: hidden; // 溢出隐藏 text-overflow: ellipsis; // 溢出用省略…

磁盘管理------逻辑卷、磁盘配额

目录 引导语: 一、逻辑卷 (一)逻辑卷的概念 (二)建立逻辑卷 1.新建磁盘 2.创建物理卷 3.创建卷组 4.创建逻辑卷 5.挂载 6.使用分区创建逻辑卷 (三)磁盘扩容 1.创建新的物理卷 2.扩容…

everything 本地文件搜索工具 完胜WIndows搜索 速度99% 超级给力

"Everything" 是一个 Windows 平台上的免费软件,它是一款功能强大的本地文件搜索工具。它允许用户在计算机上快速而准确地搜索文件和文件夹。以下是一些 "Everything" 的主要特点: 实时搜索: "Everything" 提供…

U盘数据恢复软件,高效恢复数据记好这2款!

“我的u盘用了很久了,有时候会遇到u盘数据丢失的情况。想问问大家有什么比较好用的u盘数据恢复软件可以推荐吗?” 在Windows电脑上,U盘已成为我们存储和传输数据的常用设备。然而,由于各种原因,U盘中的数据可能会丢失或…

arm64操作系统LLVM源码编译

编译electron需要对应版本的LLVM编译器,因此需要构建arm64版本的LLVM。构建过程如下。 一、编译环境 需要cmake版本大于3.20,因此需要更新cmake cmake源码下载地址:Download CMake Download CMake 下载后解压编译 tar -zxvf cmake-3.28.1.tar.gz cd cmake-3.28.1 mkdir…

计算机毕业设计------基于SpringCloud的实验室管理系统

项目介绍 实验室管理系统的用户可以分为两种:系统管理员和普通用户。系统管理员主要功能: 登录登出、分析数据、管理用户、管理日志、管理实验室、管理预约、维护个人资料、实验室保修管理 用户主要功能: 注册登录、查询实验室、实验室预约…

大数据开发的专业术语

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 系列专栏目录 [Java项…

C语言中指针变量如何使用

一、指针变量的定义与声明 1.1 定义 指针变量是用来存储另一个变量的内存地址的变量。在C语言中,指针变量的类型是指向某个类型的指针。例如,int *p; 表示一个整型指针变量p。 1.2 声明 指针变量的声明分为两种形式,一种是直接声明&#…

高管换防,年度销量缺口较大,朱华荣掌舵的阿维塔前路在何方?

高管换防下,阿维塔的压力依然不小。 阿维塔前任CEO谭本宏曾将汽车行业的角逐比喻为一场全程马拉松,“有的人开始跑的很快,结果跑到15公里就被迫下场,就是因为节奏和动作变形”。在他看来,设立合理的目标与发展节奏&am…

.cer格式证书文件和 .pfx格式证书文件有什么区别?

这里我们将讨论.cer和.pfx文件类型之间的差异。 什么是数字证书? 数字证书在电子通信中用作验证身份的密码机制。我们需要这些证书来建立安全的在线通信渠道,并确保数字数据的隐私、真实性和正确性。 数字证书包括主题(实体详细信息&#xf…

阿里云PolarDB数据库不同配置租用价格表

阿里云数据库PolarDB租用价格表,云数据库PolarDB MySQL版2核4GB(通用)、2个节点、60 GB存储空间55元5天,云数据库 PolarDB 分布式版标准版2核16G(通用)57.6元3天,阿里云百科aliyunbaike.com分享…

【IP-Adapter】进阶 - 同款人物【2】 ☑

测试模型:###最爱的模型\flat2DAnimerge_v30_2.safetensors [b2c93e7a89] 原图: 加入 control1 [IP-Adapter] 加入 control 2 [OpenPose] 通过openpose骨骼图修改人物动作。 加入 control 3 lineart 加入cotrol3 …

PostgreSQL 分区

由于大量数据存储在数据库同一张表中,后期性能和扩展会受到影响。所以需要进行表分区,因为它可以将大表分成较小的表,从而减少内存交换问题和表扫描,最终提高性能。庞大的数据集被分成更小的分区,更易于访问和管理。 …

静态网页设计——电影角(HTML+CSS+JavaScript)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 使用技术:HTMLCSSJS 主要内容:本网页主要利用HTML语言编写,简要介绍世界上一些主要国家,例如,中,…

RT-DETR Gradio 前端展示页面

效果展示 使用方法 Gradio 是一个开源库,旨在为机器学习模型提供快速且易于使用的网页界面。它允许开发者和研究人员轻松地为他们的模型创建交互式的演示,使得无论技术背景如何的人都可以方便地试用和理解这些模型。使用Gradio,你只需几行代码就可以生成一个网页应用程序,…

从不同应用,划片机主要包括如下几个方面

在半导体行业中,划片机被广泛应用于各种材料和应用的切割和加工。根据不同的应用,划片机主要可以分为以下几个方面: 一、半导体材料划片 半导体材料划片是划片机最早的应用领域之一。在这个领域中,划片机主要被用于将半导体材料&…

elasticsearch的查询方式和数据库事务隔离级别的思考

项目中用到了 elasticsearch,发现有几种查询方式不太一样,思考了一下,总结如下 普通分页 等同于关系数据库的分页查询,例如 mysql 的 limit,如下 sql select * from test limit 100000,10 这种查询方式有一个问题&a…

Redis 持久化—RDB

文章目录 1. 为什么需要Redis持久化?2. Redis持久化的几种方式3. RDB简介4. 持久化触发4.1 手动触发4.1.1 save命令4.1.2 bgsave 命令 4.2 自动触发4.2.1 save m n4.2.2 flushall4.2.3 主从同步触发 5. 配置说明6. 配置配置7. 配置配置8. RDB 文件恢复9. RDB 优缺点…