그리드 페더레이션을 위한 글로벌 네임스페이스에 대해 알아보기
글로벌 네임스페이스를 사용하면 테넌트가 여러 StorageGRID 시스템의 버킷에 액세스할 수 있습니다. 그리드 페더레이션 연결에서 글로벌 네임스페이스가 활성화되면 글로벌 네임스페이스 엔드포인트를 대상으로 하는 S3 CreateBucket 및 ListBuckets 요청은 모든 그리드의 로드 밸런서 엔드포인트로 전송될 수 있으며, 요청의 서명 지역을 기준으로 올바른 그리드로 자동 라우팅됩니다.
글로벌 네임스페이스란 무엇인가요?
글로벌 네임스페이스를 사용하면 테넌트가 여러 StorageGRID 시스템의 버킷에 액세스할 수 있습니다. 그리드 페더레이션 연결에서 글로벌 네임스페이스가 활성화되면 글로벌 네임스페이스 엔드포인트를 대상으로 하는 S3 CreateBucket 및 ListBuckets 요청은 모든 그리드의 로드 밸런서 엔드포인트로 전송될 수 있으며, 요청의 서명 지역을 기준으로 올바른 그리드로 자동 라우팅됩니다.
|
|
버킷 URL을 특정 그리드에 DNS 매핑하려면 DNS 리졸버를 설정해야 합니다. 필요한 경우 네트워크 관리자에게 문의하여 DNS 리졸버가 올바르게 설정되었는지 확인하십시오. "DNS 확인 구성"을 참조하십시오. |
StorageGRID 글로벌 네임스페이스 내 그리드 간에 버킷 이름의 고유성을 강제하지 않으므로, 동일한 이름을 가진 버킷이 서로 다른 그리드에 존재할 수 있습니다. 요청의 서명 리전은 해당 버킷을 소유하고 요청을 수신해야 하는 그리드를 결정하는 데 사용됩니다.
예를 들어, 그리드 A가 지역 `us-east-1`을 사용하고 그리드 B가 지역 `us-west-1`을 사용하는 경우, 지역 `us-west-1`을 사용하여 임의의 그리드로 전송된 CreateBucket 요청은 자동으로 그리드 B로 라우팅됩니다.
그리드 연합에 대한 자세한 내용은 "그리드 페더레이션은 무엇입니까?"을 참조하십시오.
전역 네임스페이스 예제
-
기본 지역:
region-1 -
기본 CNAME:
s3.region-1.company.com -
글로벌 엔드포인트:
s3.company.com
-
기본 지역:
region-2 -
기본 CNAME:
s3.region-2.company.com -
글로벌 엔드포인트:
s3.company.com
-
기본 지역:
region-3 -
기본 CNAME:
s3.region-3.company.com -
글로벌 엔드포인트:
s3.company.com
CreateBucket 및 ListBuckets 작업
버킷을 생성할 때 (bucket123 서명 지역을 지정하고 region-2 글로벌 엔드포인트를 대상으로 하면 s3.company.com, 해당 요청을 수신하는 모든 그리드는 Grid 2에 버킷을 생성합니다.
버킷별 및 일반 객체 작업
특정 그리드에 버킷이 생성되면 DNS 확인자는 버킷 URL을 버킷 및 그리드 CNAME으로 해석합니다.
해당 환경에서 위의 예시 DNS 리졸버는 bucket123.s3.company.com`을(를) `bucket123.s3.grid3.company.com(버킷 및 그리드의 CNAME)으로 해석해야 합니다. 즉, 모든 요청은 추가 라우팅 없이 해당 그리드로 직접 전송됩니다.
PutObject to bucket123.s3.company.com`이(가) 다음으로 확인됩니다. `bucket123.s3.grid3.company.com
글로벌 네임스페이스를 사용한 S3 동작
글로벌 네임스페이스 구성이 완료되면 다음과 같은 S3 동작이 적용됩니다.
지역 적용
"CreateBucket" 및 "ListBucket"를 제외한 글로벌 네임스페이스 엔드포인트에 대한 모든 S3 요청은 V4 인증 헤더의 서명 지역이 그리드의 기본 지역과 일치해야 합니다.
-
서명 지역이 일치하지 않으면 다음과 같은 오류와 함께 요청이 거부됩니다.
An error occurred (AuthorizationHeaderMalformed) when calling the <operation> operation: The authorization header is malformed; the region '<signing-region>' is wrong; expecting '<grid-default-region>'
-
지역 제한은 글로벌 네임스페이스가 활성화되기 전에 생성된 버킷을 포함하여 그리드의 모든 버킷에 적용됩니다.
-
지역 제한은 V4 인증 요청에만 적용됩니다. 익명 및 V2 요청에는 지역 제한이 적용되지 않습니다.
CreateBucket 라우팅
CreateBucket 전역 네임스페이스 엔드포인트로 전송되는 요청((s3.company.com)은 모든 그리드의 로드 밸런싱 엔드포인트로 전달될 수 있습니다. 요청은 요청에 포함된 서명 지역과 기본 지역이 일치하는 그리드로 자동으로 라우팅됩니다.
예를 들면 다음과 같습니다.
-
그리드 A의 기본 영역은 `us-east-1`이고, 그리드 B의 기본 영역은 `us-west-1`입니다.
-
클라이언트가 서명 리전 `us-west-1`을 사용하여 `s3.company.com`에 CreateBucket 요청을 보냅니다.
-
라운드 로빈 DNS는 요청을 Grid A로 전달합니다.
-
그리드 A는 요청을 그리드 B로 전달합니다.
-
버킷은 그리드 B에 생성됩니다.
CreateBucket에 대한 추가 고려 사항:
-
해당
LocationConstraint요소는 그리드의 기본 또는 비기본 리전 중 하나로 설정할 수 있습니다. 이는 ILM 정책에만 영향을 미치며, 버킷을 생성하는 그리드에는 영향을 미치지 않습니다( `us-east-1`를 사용하는 AWS 동작과는 다릅니다). -
요청에 포함된 서명 지역은 버킷을 생성하는 그리드를 결정합니다(서명 지역은 대상 그리드의 기본 지역과 일치해야 합니다).
-
사전 서명된 V4 요청이 지원됩니다.
-
글로벌 네임스페이스 라우팅에서는 익명 요청 및 V2 요청이 지원되지 않습니다.
ListBuckets 라우팅
ListBuckets 글로벌 네임스페이스 엔드포인트로 전송되는 요청은 CreateBucket 요청과 유사하게 라우팅되며, 서명 지역을 사용하여 올바른 그리드를 결정합니다.
HEAD Bucket 및 ListBuckets 응답에는 그리드의 기본 지역이 포함되지 않습니다. 기본 지역은 서명 지역을 통해 암시적으로 지정되며, 서명 지역은 그리드의 기본 지역과 일치하도록 강제됩니다.
계정 및 액세스 키 관리
테넌트 계정과 S3 액세스 키는 "계정 동기화"을 사용하여 모든 그리드에서 동기화할 수 있지만, 각 그리드가 별도의 액세스 키 세트를 사용하는 경우에도 글로벌 네임스페이스를 사용할 수 있습니다. 별도의 액세스 키를 사용하는 경우 S3 클라이언트가 각 그리드에 요청을 보낼 때 올바른 액세스 키를 사용하는지 확인하십시오.
다음 단계
이제 "전역 네임스페이스 구성"할 준비가 되었습니다.