Skip to main content
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

로드 균형 조정에 대한 고려 사항

기여자

로드 밸런싱을 사용하여 S3 및 Swift 클라이언트에서 수집 및 검색 워크로드를 처리할 수 있습니다.

로드 밸런싱이란 무엇입니까?

클라이언트 애플리케이션이 StorageGRID 시스템에서 데이터를 저장하거나 검색할 때 StorageGRID는 로드 밸런서를 사용하여 수집 및 검색 워크로드를 관리합니다. 로드 밸런싱은 여러 스토리지 노드에 워크로드를 분산하여 속도와 연결 용량을 극대화합니다.

StorageGRID 로드 밸런서 서비스는 모든 관리 노드 및 모든 게이트웨이 노드에 설치되며 계층 7 로드 밸런싱을 제공합니다. 클라이언트 요청에 대한 TLS(Transport Layer Security) 종료를 수행하고 요청을 검사하며 스토리지 노드에 대한 새로운 보안 연결을 설정합니다.

각 노드의 로드 밸런서 서비스는 클라이언트 트래픽을 스토리지 노드로 전달할 때 독립적으로 작동합니다. 로드 밸런서 서비스는 가중 프로세스를 통해 더 많은 요청을 CPU 가용성이 높은 스토리지 노드로 라우팅합니다.

참고 StorageGRID 로드 밸런서 서비스가 권장되는 로드 밸런싱 메커니즘이지만 타사 로드 밸런서를 대신 통합할 수도 있습니다. 자세한 내용은 NetApp 어카운트 담당자에게 문의하거나 를 참조하십시오 "TR-4626: StorageGRID 타사 및 글로벌 로드 밸런서".

몇 개의 로드 밸런싱 노드가 필요합니까?

일반적으로 StorageGRID 시스템의 각 사이트에는 부하 분산 서비스가 있는 두 개 이상의 노드가 포함되어야 합니다. 예를 들어 사이트에는 두 개의 게이트웨이 노드 또는 관리 노드와 게이트웨이 노드가 모두 포함될 수 있습니다. SG100 또는 SG1000 서비스 어플라이언스, 베어 메탈 노드 또는 가상 머신(VM) 기반 노드를 사용 중이든, 각 로드 밸런싱 노드에 적절한 네트워킹, 하드웨어 또는 가상화 인프라가 있는지 확인하십시오.

로드 밸런서 엔드포인트란 무엇입니까?

로드 밸런서 끝점은 들어오는 클라이언트 응용 프로그램 요청과 나가는 클라이언트 응용 프로그램이 로드 밸런서 서비스를 포함하는 노드에 액세스하는 데 사용할 포트 및 네트워크 프로토콜(HTTPS 또는 HTTP)을 정의합니다. 또한 끝점은 클라이언트 유형(S3 또는 Swift), 바인딩 모드 및 허용 또는 차단된 테넌트 목록을 정의합니다.

로드 밸런서 끝점을 만들려면 * 구성 * > * 네트워크 * > * 로드 밸런서 끝점 * 을 선택하거나 FabricPool 및 S3 설정 마법사를 완료합니다. 지침:

포트에 대한 고려 사항

로드 밸런서 끝점의 포트는 사용자가 만든 첫 번째 끝점의 경우 기본적으로 10433으로 설정되지만 사용하지 않는 외부 포트는 1에서 65535 사이로 지정할 수 있습니다. 포트 80 또는 443을 사용하는 경우 엔드포인트는 게이트웨이 노드에서만 로드 밸런서 서비스를 사용합니다. 이러한 포트는 관리 노드에 예약되어 있습니다. 두 개 이상의 끝점에 동일한 포트를 사용하는 경우 각 끝점에 대해 다른 바인딩 모드를 지정해야 합니다.

다른 그리드 서비스에서 사용하는 포트는 허용되지 않습니다. 를 참조하십시오 "네트워크 포트 참조".

네트워크 프로토콜에 대한 고려 사항

대부분의 경우 클라이언트 응용 프로그램과 StorageGRID 간의 연결은 TLS(전송 계층 보안) 암호화를 사용해야 합니다. TLS 암호화 없이 StorageGRID에 연결하는 것은 지원되지만 특히 프로덕션 환경에서는 권장되지 않습니다. StorageGRID 로드 밸런서 끝점에 대한 네트워크 프로토콜을 선택할 때 * HTTPS * 를 선택해야 합니다.

로드 밸런서 끝점 인증서에 대한 고려 사항

로드 밸런서 끝점의 네트워크 프로토콜로 * HTTPS * 를 선택한 경우 보안 인증서를 제공해야 합니다. 로드 밸런서 끝점을 만들 때 다음 세 가지 옵션 중 하나를 사용할 수 있습니다.

  • * 서명된 인증서 업로드(권장) *. 이 인증서는 공개적으로 신뢰할 수 있거나 개인 인증 기관(CA)에서 서명할 수 있습니다. 공개적으로 신뢰할 수 있는 CA 서버 인증서를 사용하여 연결을 보호하는 것이 가장 좋습니다. 생성된 인증서와 달리 CA에서 서명한 인증서는 중단 없이 회전할 수 있으므로 만료 문제를 방지하는 데 도움이 됩니다.

    로드 밸런서 끝점을 만들기 전에 다음 파일을 얻어야 합니다.

    • 사용자 지정 서버 인증서 파일입니다.

    • 사용자 지정 서버 인증서 개인 키 파일입니다.

    • 선택적으로 각 중간 발급 인증 기관의 인증서 CA 번들.

  • * 자체 서명된 인증서 생성 *.

  • * 글로벌 StorageGRID S3 및 Swift 인증서 사용 *. 로드 밸런서 끝점에 대해 인증서를 선택하려면 먼저 이 인증서의 사용자 지정 버전을 업로드하거나 생성해야 합니다. 을 참조하십시오 "S3 및 Swift API 인증서를 구성합니다".

어떤 가치가 필요합니까?

인증서를 생성하려면 S3 또는 Swift 클라이언트 응용 프로그램이 끝점에 액세스하는 데 사용할 모든 도메인 이름과 IP 주소를 알아야 합니다.

인증서의 * 주체 DN * (고유 이름) 항목에는 클라이언트 응용 프로그램이 StorageGRID에 사용할 정규화된 도메인 이름이 포함되어야 합니다. 예를 들면 다음과 같습니다.

Subject DN: /C=Country/ST=State/O=Company,Inc./CN=s3.storagegrid.example.com

필요에 따라 인증서는 와일드카드를 사용하여 로드 밸런서 서비스를 실행하는 모든 관리 노드 및 게이트웨이 노드의 정규화된 도메인 이름을 나타낼 수 있습니다. 예를 들면, 다음과 같습니다. *.storagegrid.example.com 와일드카드를 사용하여 나타냅니다 adm1.storagegrid.example.comgn1.storagegrid.example.com.

S3 가상 호스팅 스타일 요청을 사용하려는 경우 인증서에는 각 요청에 대해 * 대체 이름 * 항목도 포함되어야 합니다 "S3 끝점 도메인 이름입니다" 와일드카드 이름을 포함하여 을 구성했습니다. 예를 들면 다음과 같습니다.

Alternative Name: DNS:*.s3.storagegrid.example.com
참고 도메인 이름에 와일드카드를 사용하는 경우 을 검토하십시오 "서버 인증서에 대한 강화 지침".

보안 인증서의 각 이름에 대한 DNS 항목도 정의해야 합니다.

만료 예정인 인증서를 관리하려면 어떻게 해야 합니까?

주의 S3 응용 프로그램과 StorageGRID 간의 연결을 보호하는 데 사용되는 인증서가 만료되면 응용 프로그램이 StorageGRID에 대한 액세스를 일시적으로 상실할 수 있습니다.

인증서 만료 문제를 방지하려면 다음 모범 사례를 따르십시오.

  • 로드 밸런서 끝점 인증서 만료 * 및 * S3 및 Swift API * 알림에 대한 글로벌 서버 인증서 만료 등과 같이 인증서 만료 날짜에 근접했다는 경고를 신중하게 모니터링하십시오.

  • 항상 StorageGRID 및 S3 애플리케이션 버전의 인증서를 동기화된 상태로 유지합니다. 로드 밸런서 끝점에 사용되는 인증서를 교체하거나 갱신하는 경우 S3 애플리케이션에서 사용하는 동등한 인증서를 교체하거나 갱신해야 합니다.

  • 공개적으로 서명된 CA 인증서를 사용합니다. CA에서 서명한 인증서를 사용하는 경우 만료 예정 인증서를 중단 없이 교체할 수 있습니다.

  • 자체 서명된 StorageGRID 인증서를 생성했으며 인증서가 곧 만료될 경우 기존 인증서가 만료되기 전에 StorageGRID 및 S3 응용 프로그램 모두에서 수동으로 인증서를 교체해야 합니다.

바인딩 모드에 대한 고려 사항

바인딩 모드를 사용하면 로드 밸런서 끝점에 액세스하는 데 사용할 수 있는 IP 주소를 제어할 수 있습니다. 끝점에서 바인딩 모드를 사용하는 경우 클라이언트 응용 프로그램은 허용된 IP 주소 또는 해당 FQDN(정규화된 도메인 이름)을 사용하는 경우에만 끝점에 액세스할 수 있습니다. 다른 IP 주소 또는 FQDN을 사용하는 클라이언트 응용 프로그램은 끝점에 액세스할 수 없습니다.

다음 바인딩 모드 중 하나를 지정할 수 있습니다.

  • * 글로벌 * (기본값): 클라이언트 응용 프로그램은 게이트웨이 노드 또는 관리 노드의 IP 주소, 네트워크의 모든 HA 그룹의 가상 IP(VIP) 주소 또는 해당 FQDN을 사용하여 끝점에 액세스할 수 있습니다. 끝점의 접근성을 제한할 필요가 없는 경우 이 설정을 사용합니다.

  • * HA 그룹의 가상 IP *. 클라이언트 애플리케이션은 HA 그룹의 가상 IP 주소(또는 해당 FQDN)를 사용해야 합니다.

  • * 노드 인터페이스 *. 클라이언트는 선택한 노드 인터페이스의 IP 주소(또는 해당 FQDN)를 사용해야 합니다.

  • * 노드 유형 *. 선택한 노드 유형에 따라 클라이언트는 관리 노드의 IP 주소(또는 해당 FQDN)나 게이트웨이 노드의 IP 주소(또는 해당 FQDN)를 사용해야 합니다.

테넌트 액세스에 대한 고려 사항

테넌트 액세스는 어떤 StorageGRID 테넌트 계정에서 로드 밸런서 끝점을 사용하여 해당 버킷을 액세스할 수 있는지 제어할 수 있는 선택적 보안 기능입니다. 모든 테넌트가 끝점(기본값)에 액세스하도록 허용하거나 각 끝점에 대해 허용 또는 차단된 테넌트 목록을 지정할 수 있습니다.

이 기능을 사용하여 테넌트와 해당 끝점 간의 보안 격리를 향상시킬 수 있습니다. 예를 들어, 이 기능을 사용하여 한 테넌트가 소유한 기밀 자료 또는 기밀 자료를 다른 테넌트에서 완전히 액세스할 수 없도록 할 수 있습니다.

참고 액세스 제어를 위해 테넌트는 클라이언트 요청에 사용된 액세스 키로 결정되며, 요청의 일부로 액세스 키가 제공되지 않은 경우(예: 익명 액세스) 버킷 소유자가 테넌트를 결정하는 데 사용됩니다.

테넌트 액세스 예

이 보안 기능의 작동 방식을 이해하려면 다음 예제를 고려해 보십시오.

  1. 다음과 같이 두 개의 로드 밸런서 엔드포인트를 생성했습니다.

    • * 공개 * 엔드포인트: 포트 10443을 사용하고 모든 테넌트에 대한 액세스를 허용합니다.

    • * 상위 비밀 * 엔드포인트: 포트 10444를 사용하며 * 상위 비밀 * 테넌트에만 액세스할 수 있습니다. 다른 모든 테넌트는 이 끝점에 액세스할 수 없습니다.

  2. 를 클릭합니다 top-secret.pdf 은(는) * Top Secret * 테넌트가 소유한 버킷에 있습니다.

를 눌러 에 액세스합니다 top-secret.pdf, * Top secret * 테넌트에 있는 사용자는 에 GET 요청을 보낼 수 있습니다 https://w.x.y.z:10444/top-secret.pdf. 이 테넌트는 10444 엔드포인트를 사용할 수 있으므로 사용자가 개체에 액세스할 수 있습니다. 그러나 다른 테넌트에 속한 사용자가 동일한 URL에 동일한 요청을 보내면 즉시 액세스 거부 메시지가 표시됩니다. 자격 증명과 서명이 유효하더라도 액세스가 거부됩니다.

CPU 가용성

각 관리 노드와 게이트웨이 노드의 로드 밸런서 서비스는 S3 또는 Swift 트래픽을 스토리지 노드로 전달할 때 독립적으로 작동합니다. 로드 밸런서 서비스는 가중 프로세스를 통해 더 많은 요청을 CPU 가용성이 높은 스토리지 노드로 라우팅합니다. 노드 CPU 로드 정보는 몇 분마다 업데이트되지만 가중치는 더 자주 업데이트될 수 있습니다. 모든 스토리지 노드에는 최소 기본 가중치 값이 할당됩니다. 이는 노드에서 100% 사용률을 보고하거나 사용률을 보고하지 않는 경우에도 마찬가지입니다.

경우에 따라 CPU 가용성에 대한 정보는 로드 밸런서 서비스가 있는 사이트로 제한됩니다.