適用於 Amazon Elastic 的 MinIOKubernetes Service

客戶在 Amazon Elastic Kubernetes Service (Amazon EKS) 上執行 MinIO原因如下三個。

01.

MinIO 在混合雲或多雲部署情境中充當一致的儲存層。

02.

MinIO 是 Kubernetes 原生且高效能的,可以在公有、私有和邊緣雲環境中提供可預測的效能。

03.

在 EKS 上執行 MinIO 可以控制軟體堆疊,並具有避免雲端鎖定的必要彈性。

架構

Amazon Elastic Kubernetes Service (Amazon EKS) 是一項受管服務,您可以使用它在 AWS 上執行 Kubernetes,而無需安裝、操作和維護您自己的 Kubernetes 控制平面或節點。

MinIO 在所有主要 Kubernetes 平台上提供可攜式高效能物件儲存系統 (TanzuAzureGCPOpenShift)。在 AWS 上,MinIO 與 Amazon EKS 服務原生整合,使您可以更輕鬆地操作您自己的大規模多租戶物件儲存即服務。MinIO 是 AWS S3 儲存即服務的完整替代品。

MinIO for Amazon Elastic Kubernetes Service

與 AWS S3 不同,MinIO 使應用程式能夠跨多雲和混合雲基礎架構進行擴展,而無需昂貴的軟體重寫或專有整合。由於 MinIO 是容器化和 Kubernetes 原生的,因此可以在這些平台上部署,而無需操作大規模儲存基礎架構的專業技能。

MinIO Operator 整合原生支援 EKS 和 AWS 功能以提供

Storage Classes and Tiering
儲存類別和分層
跨 AWS EBS、S3、S3 IA 和 Glacier 分層。
External Load Balancing
外部負載平衡
使用 AWS Elastic Load Balancing 對傳入請求進行負載平衡。
Encryption Key Management
加密金鑰管理
使用 AWS Key Management Service 管理加密金鑰。
Identity Management
身分管理
使用 AWS Directory Service 和 AWS Identity Service 管理身分和政策。
Certificate Management
憑證管理
使用 AWS Certificate Manager 配置和管理憑證。
Monitoring and Alerting
監控和警示
使用 AWS Managed Prometheus 追蹤指標並發出警示。
Logging and Auditing
記錄和稽核
將日誌輸出到 AWS ElasticSearch 進行分析。
注意:如果 AWS 是唯一預期的執行個體,MinIO 不建議在 AWS 中執行 MinIO。相反,在 AWS 中使用 MinIO應保留用於組織尋求跨多個環境一致性的情境。

儲存類別和分層

在 EKS 和 AWS 上大規模部署 MinIO 的一個關鍵要求是能夠在 AWS 儲存類型之間轉換物件。具體來說,您需要支援針對成本最佳化的「熱-溫」和「熱-冷」部署拓撲。

MinIO 可以使用 S3 儲存貯體作為遠端層,根據使用者配置的規則自動轉換過期物件。例如,您可以建立一個規則,將物件轉換到具有 S3 Standard 儲存類別的層,而另一個規則則將物件轉換到具有 S3 Standard-IA 儲存類別的層。

MinIO 支援 一次 轉換物件 - 因此雖然您無法配置從 MinIO -> Standard -> Standard-IA 的「瀑布式」或「鏈式」轉換,但您可以為每個儲存貯體配置多個規則,使用前綴和物件標籤將細微的轉換行為應用到首選的遠端層。MinIO 的唯一要求是遠端儲存必須支援立即擷取物件 - 沒有重新水合、延遲或等待時間。

MinIO 分層不需要任何用戶端邏輯變更。您的用戶端可以繼續透過 MinIO 請求物件,而 MinIO 會處理從 S3 擷取物件並透明地返回物件。MinIO 也支援使用 S3 還原 API 將物件返回到「熱」MinIO 部署。

MinIO 的分層功能延伸到混合雲環境,其中 MinIO JBOD/JBOF 部署充當私有雲上經過效能最佳化的「熱」層,而 S3 提供經過成本最佳化的「溫」和「冷」層。利用 MinIO TLS 和伺服器端加密,進一步保護兩個雲端中所有靜態和傳輸中的資料。

外部負載平衡

MinIO Operator 與 AWS Elastic Load Balancer (ELB) 緊密整合,為從 AWS 外部存取儲存服務的應用程式,跨多個 MinIO 租戶提供自動負載平衡和路由服務。只需將註釋新增至 MinIO 租戶,即可將 MinIO 租戶暴露給外部流量。此服務讓應用程式能夠擴展,並可供全球數億個裝置存取。

加密金鑰管理

對於雲原生應用程式,最佳實務建議將金鑰儲存在物件系統外部的外部保管庫中。Amazon Key Management Service (KMS) 是一項安全且具彈性的服務,可透過 API 管理 AWS 服務的金鑰。

對於具有更嚴格安全要求或為了保持一致性的使用者,MinIO 與許多在 AWS 外部運作的外部金鑰管理服務整合。

當在公有 EKS 環境中使用 MinIO 作為物件儲存時,強烈建議啟用磁碟上的加密。MinIO 使用 AES-256-GCM 或 ChaCha20-Poly1305 加密來保護資料完整性和機密性,效能影響可忽略不計。MinIO Operator 允許為租戶配置 Amazon KMS 或受支援的協力廠商 KMS,以自動進行物件的伺服器端加密。

MinIO 支援在 KMS 中設定儲存貯體層級的預設加密金鑰,並支援 AWS-S3 語義 (SSE-S3)。用戶端也可以使用 SSE-KMS 請求標頭,在 KMS 上指定單獨的金鑰。

MinIO 將使用此 KMS 來引導其內部金鑰加密伺服器 (KES 服務),以啟用高效能的每個物件加密。每個租戶都在隔離的命名空間中執行自己的 KES 伺服器。

身分管理

在 AWS EKS 上執行 MinIO 時,客戶可以透過 Amazon 的託管身分管理服務或協力廠商 OpenID Connect/LDAP 相容的身分提供者(如 Keycloak、Okta/Auth0、Google、Facebook、ActiveDirectory 和 OpenLDAP)來管理單一登入 (SSO)。

單一、集中的 IDP 允許管理員新增、變更權限或刪除使用者、服務帳戶或群組一次,並在所有公有雲、私有雲和邊緣 MinIO 伺服器上強制執行。擁有獨立於基礎架構的統一身分和存取管理 (IAM) 層,可提供顯著的架構彈性。

憑證管理

從應用程式到 MinIO 的所有流量,包括節點間流量,都使用 TLS 加密。TLS 憑證用於保護網路通訊,並建立網路連線資源的身分,例如 MinIO 伺服器網域。

MinIO 與 AWS Certificate Manager 整合,可自動設定、佈建、管理和更新 MinIO 租戶的憑證。租戶完全隔離在其自己的 Kubernetes 命名空間中,並具有自己的憑證,以提高安全性。

監控和警示

MinIO 建議使用 Amazon Managed Service for Prometheus (AMP) 來監控和警示 MinIO EKS 執行個體。MinIO 發布每個與物件儲存相關的 Prometheus 指標,從儲存貯體容量到存取指標。這些指標可以在任何與 Prometheus 相容的工具或 MinIO Console 中收集和視覺化。

外部監控解決方案會定期抓取 MinIO Prometheus 端點。MinIO 建議使用 Grafana 或 Amazon Managed Service for Prometheus (AMP),具體取決於架構目標。這些相同的工具也可用於建立基準,並為通知設定警示閾值,然後將通知路由到通知平台,例如 PagerDuty、Freshservice 甚至 SNMP。

記錄和稽核

啟用 MinIO 稽核會在物件儲存叢集上產生每個操作的記錄。除了稽核記錄之外,MinIO 還會記錄主控台錯誤,以用於操作疑難排解。

MinIO 支援將記錄輸出到 AWS Elasticsearch(或協力廠商)以進行分析和警示。

深入了解適用於 Amazon Elastic Kubernetes Service 的 MinIO

您正在使用 Internet Explorer 11 或更低版本。由於安全問題以及對網路標準缺乏支援,強烈建議您升級到現代瀏覽器。