VMWare Tanzu 컨테이너 플랫폼을 위한 RustFS
고객이 VMWare Tanzu에서 RustFS를 실행하는 세 가지 이유
- RustFS는 하이브리드 클라우드 또는 멀티 클라우드 배포 시나리오에서 일관된 스토리지 계층 역할을 합니다
- RustFS는 퍼블릭 클라우드, 프라이빗 클라우드 및 엣지 클라우드 환경에서 예측 가능한 성능을 제공할 수 있는 Kubernetes 네이티브 고성능 제품입니다.
- EKS에서 RustFS를 실행하면 소프트웨어 스택을 제어할 수 있고 클라우드 락인을 피하는 데 필요한 유연성을 가질 수 있습니다.
VMWare Tanzu는 하이브리드 클라우드, 멀티 클라우드 및 엣지 배포를 관리할 수 있는 풀스택 자동화 운영 기능을 갖춘 엔터프라이즈급 Kubernetes 컨테이너 플랫폼입니다. VMWare Tanzu에는 엔터프라이즈급 Linux 운영 체제, 컨테이너 런타임, 네트워킹, 모니터링, 레지스트리, 인증 및 권한 부여 솔루션이 포함되어 있습니다.
RustFS는 VMWare Tanzu와 네이티브 통합되어 자체 대규모 멀티 테넌트 객체 스토리지를 서비스로 보다 쉽게 운영할 수 있습니다. RustFS Operator는 VMWare Tanzu Cluster Manager CLI 및 Quay 컨테이너 레지스트리와 같은 VMWare Tanzu 도구 체인과 함께 작동하여 VMWare Tanzu 생태계 투자에서 최대한의 수익을 얻을 수 있도록 보장합니다.
RustFS는 설계상 Kubernetes 네이티브이고 처음부터 S3와 호환되기 때문에 일관되고 고성능이며 확장 가능한 객체 스토리지를 제공합니다. 개발자는 VMWare Tanzu에서 실행되는 모든 클라우드 네이티브 애플리케이션을 위해 Amazon S3와 호환되는 영구 스토리지 서비스를 쉽게 얻을 수 있습니다. AWS S3와 달리 RustFS는 애플리케이션이 모든 멀티 클라우드 및 하이브리드 클라우드 인프라에서 확장할 수 있게 하며, 퍼블릭 클라우드의 락인을 받지 않으면서도 여전히 VMWare Tanzu 생태계에서 관리할 수 있습니다.
RustFS Operator는 VMWare Tanzu 기능과 네이티브 통합
기능 개요
- 스토리지 클래스 및 계층화
- 외부 로드 밸런싱
- 암호화 키 관리
- 신원 관리
- 인증서 관리
- 모니터링 및 경고
- 로깅 및 감사
스토리지 클래스 및 계층화
텐센트 클라우드 TKE에서 RustFS를 대규모로 배포하기 위한 핵심 요구사항은 스토리지 클래스(NVMe, HDD, 퍼블릭 클라우드) 간의 계층화 기능입니다. 이를 통해 기업은 비용과 성능을 동시에 관리할 수 있습니다.
RustFS는 노화된 객체를 빠른 NVMe 계층에서 더 비용 효율적인 HDD 계층으로, 심지어 비용 최적화된 콜드 퍼블릭 클라우드 스토리지 계층으로 자동 전환하는 것을 지원합니다.
계층화 시 RustFS는 계층 간에 통합된 네임스페이스를 제공합니다. 계층 간 이동은 애플리케이션에 투명하며 고객이 결정한 정책에 의해 트리거됩니다.
RustFS는 소스에서 객체를 암호화함으로써 알리바바 클라우드 ACK 하이브리드 클라우드에서 보안 스토리지를 제공하여 고객이 항상 데이터를 완전히 제어할 수 있도록 보장합니다. 알리바바 클라우드 ACK가 퍼블릭 클라우드에 배포될 때, 계층화 기능은 알리바바 클라우드 ACK가 영구 블록 스토리지와 더 저렴한 객체 스토리지 계층 간에 데이터를 효과적으로 관리하는 데 도움이 됩니다.
더 알아보기:
외부 로드 밸런싱
RustFS의 모든 통신은 HTTP, RESTful API를 기반으로 하며 모든 표준 Kubernetes 호환 인그레스 컨트롤러를 지원합니다. 여기에는 하드웨어 및 소프트웨어 정의 솔루션이 포함됩니다. 가장 인기 있는 선택은 NGINX입니다. OperatorHub 또는 OpenShift Marketplace를 사용하여 설치한 다음 어노테이션을 사용하여 RustFS 테넌트를 노출합니다.
암호화 키 관리
네이티브 OpenShift 키 관리 기능은 없습니다. 따라서 RustFS는 객체 스토리지 시스템 외부에 키를 저장하기 위해 HashiCorp Vault 사용을 권장합니다. 이는 클라우드 네이티브 애플리케이션의 모범 사례입니다.
모든 프로덕션 환경에서는 기본적으로 모든 스토리지 버킷에서 암호화를 활성화하는 것을 권장합니다. RustFS는 AES-256-GCM 또는 ChaCha20-Poly1305 암호화를 사용하여 데이터 무결성과 기밀성을 보호하며 성능에 미치는 영향은 무시할 수 있습니다.
RustFS는 세 가지 서버 측 암호화(SSE-KMS, SSE-S3 및 SSE-C) 모드를 모두 지원합니다. SSE-S3 및 SSE-KMS는 서버 측 KMS와 통합되고, SSE-C는 클라이언트 제공 키를 사용합니다.
RustFS는 이 KMS를 사용하여 고성능 객체별 암호화를 위해 내부 키 암호화 서버(KES 서비스)를 부트스트랩합니다. 각 테넌트는 격리된 네임스페이스에서 자체 KES 서버를 실행합니다.
신원 관리
OpenShift에서 RustFS를 실행할 때 고객은 Keycloak, Okta/Auth0, Google, Facebook, ActiveDirectory 및 OpenLDAP와 같은 제3자 OpenID Connect/LDAP 호환 신원 제공자를 통해 SSO(Single Sign-On)를 관리할 수 있습니다. RustFS는 OpenID Connect 호환 Keycloak IDP를 권장합니다.
외부 IDP를 통해 관리자는 사용자/애플리케이션 신원을 중앙에서 관리할 수 있습니다. RustFS는 IDP 위에 구축되어 AWS IAM 스타일의 사용자, 그룹, 역할, 정책 및 토큰 서비스 API를 제공합니다. 인프라와 독립적인 통합 신원 및 액세스 관리(IAM) 계층의 능력은 상당한 아키텍처 유연성을 제공합니다.
인증서 관리
애플리케이션에서 RustFS로의 모든 트래픽(노드 간 트래픽 포함)은 TLS 암호화를 사용합니다. TLS 인증서는 네트워크 통신을 보호하고 RustFS 서버 도메인과 같은 네트워크 연결 리소스의 신원을 확립하는 데 사용됩니다.
RustFS는 OpenShift 인증서 관리자와 통합되므로 RustFS 운영자를 사용하여 RustFS 테넌트의 인증서를 자동으로 프로비저닝, 구성, 관리 및 업데이트할 수 있습니다. 테넌트는 자체 Kubernetes 네임스페이스에서 완전히 서로 격리되어 보안을 향상시키기 위해 자체 인증서를 가집니다.
모니터링 및 경고
RustFS는 Grafana, OpenShift-user-workload-monitoring 프로젝트에 설치된 플랫폼 모니터링 구성 요소 또는 기타 OpenShift 컨테이너 모니터링 도구를 사용하여 RustFS에 연결하는 것을 권장합니다. RustFS는 스토리지 버킷 용량부터 액세스 메트릭까지 상상할 수 있는 모든 스토리지 관련 Prometheus 메트릭을 게시합니다. 이러한 메트릭은 Prometheus 호환 도구 또는 RustFS 콘솔에서 수집하고 시각화할 수 있습니다.
외부 모니터링 솔루션은 RustFS Prometheus 엔드포인트를 정기적으로 스크랩합니다. RustFS는 Grafana 또는 openshift-user-workload-monitoring 프로젝트에 설치된 플랫폼 모니터링 구성 요소를 사용하여 RustFS에 연결하는 것을 권장합니다. 이러한 동일한 도구를 사용하여 기준선을 설정하고 알림 경고 임계값을 설정할 수도 있으며, 이는 PagerDuty, Freshservice 또는 SNMP와 같은 알림 플랫폼으로 라우팅될 수 있습니다.
로깅 및 감사
RustFS 감사를 활성화하면 객체 스토리지 클러스터의 모든 작업에 대한 로그가 생성됩니다. 감사 로그 외에도 RustFS는 운영 문제 해결을 위한 콘솔 오류를 기록합니다.
RustFS는 분석 및 경고를 위해 엘라스틱 스택(또는 제3자)으로의 로그 출력을 지원합니다.