StorageGRID에서 검색 통합 서비스 구성
버킷에 대한 검색 통합을 활성화하려면 검색 통합 XML을 생성하고 Tenant Manager를 사용하여 해당 XML을 버킷에 적용하면 됩니다.
-
플랫폼 서비스는 StorageGRID 관리자가 테넌트 계정에 대해 활성화했습니다.
-
이미 S3 버킷을 생성했으며, 해당 버킷의 콘텐츠를 인덱싱하려고 합니다.
-
검색 통합 서비스의 대상으로 사용하려는 엔드포인트가 이미 존재하며, 해당 URN을 가지고 있습니다.
-
귀하는 "모든 버킷 또는 루트 액세스 권한 관리"을(를) 가진 사용자 그룹에 속해 있습니다. 이러한 권한은 테넌트 관리자를 사용하여 버킷을 구성할 때 그룹 또는 버킷 정책의 권한 설정을 재정의합니다.
소스 버킷에 대한 검색 통합 서비스를 구성한 후 객체를 생성하거나 객체의 메타데이터 또는 태그를 업데이트하면 객체 메타데이터가 대상 엔드포인트로 전송됩니다.
이미 객체가 포함된 버킷에 대해 검색 통합 서비스를 활성화하면 기존 객체에 대한 메타데이터 알림이 자동으로 전송되지 않습니다. 대상 검색 인덱스에 메타데이터가 추가되도록 하려면 기존 객체를 업데이트해야 합니다.
-
버킷에 대한 검색 통합을 활성화합니다.
-
메타데이터 검색 통합을 활성화하는 데 필요한 메타데이터 알림 XML을 생성하려면 텍스트 편집기를 사용하십시오.
-
XML을 구성할 때 대상으로는 검색 통합 엔드포인트의 URN을 사용하십시오.
객체는 객체 이름의 접두사를 기준으로 필터링할 수 있습니다. 예를 들어, 접두사가 `images`인 객체의 메타데이터는 한 대상으로 보내고, 접두사가 `videos`인 객체의 메타데이터는 다른 대상으로 보낼 수 있습니다. 접두사가 중복되는 구성은 유효하지 않으며 제출 시 거부됩니다. 예를 들어, 접두사가 `test`인 객체에 대한 규칙 하나와 접두사가 `test2`인 객체에 대한 두 번째 규칙이 포함된 구성은 허용되지 않습니다.
필요에 따라 메타데이터 구성 XML의 예시를 참조하십시오.
<MetadataNotificationConfiguration> <Rule> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>/Urn> </Destination> </Rule> </MetadataNotificationConfiguration>메타데이터 알림 구성 XML의 요소:
이름 설명 필수 MetadataNotificationConfiguration
메타데이터 알림의 객체와 대상을 지정하는 데 사용되는 규칙의 컨테이너 태그입니다.
하나 이상의 Rule 요소를 포함합니다.
예
규칙
지정된 인덱스에 메타데이터를 추가해야 하는 객체를 식별하는 규칙에 대한 컨테이너 태그입니다.
접두사가 겹치는 규칙은 허용되지 않습니다.
MetadataNotificationConfiguration 요소에 포함되어 있습니다.
예
ID
규칙에 대한 고유 식별자입니다.
규칙 요소에 포함됩니다.
아니요
상태
상태는 '활성화됨' 또는 '비활성화됨'일 수 있습니다. 비활성화된 규칙에 대해서는 아무런 조치도 취해지지 않습니다.
규칙 요소에 포함됩니다.
예
접두사
접두사와 일치하는 객체는 해당 규칙의 영향을 받으며, 해당 객체의 메타데이터가 지정된 대상으로 전송됩니다.
모든 객체와 일치시키려면 빈 접두사를 지정하십시오.
규칙 요소에 포함됩니다.
예
목적지
규칙의 대상에 대한 컨테이너 태그입니다.
규칙 요소에 포함됩니다.
예
Urn
객체 메타데이터가 전송되는 대상의 URN입니다. 다음 속성을 가진 StorageGRID 엔드포인트의 URN이어야 합니다.
-
`es`세 번째 요소여야 합니다.
-
URN은 메타데이터가 저장된 인덱스와 유형으로 끝나야 하며, 형식은 `domain-name/myindex/mytype`입니다.
엔드포인트는 테넌트 관리자 또는 테넌트 관리 API를 사용하여 구성됩니다. 다음과 같은 형식을 사용합니다.
-
arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype -
urn:mysite:es:::mydomain/myindex/mytype
엔드포인트는 구성 XML을 제출하기 전에 구성되어야 합니다. 그렇지 않으면 구성이 실패하고 404 오류가 발생합니다.
URN은 Destination 요소에 포함되어 있습니다.
예
-
-
테넌트 관리자에서 STORAGE (S3) > *Buckets*를 선택합니다.
-
소스 버킷의 이름을 선택합니다.
버킷 상세 정보 페이지가 나타납니다.
-
플랫폼 서비스 * > * 검색 통합 * 을 선택합니다.
-
검색 통합 활성화 확인란을 선택합니다.
-
메타데이터 알림 구성을 텍스트 상자에 붙여넣고 *변경 사항 저장*을 선택합니다.
각 테넌트 계정에 대한 플랫폼 서비스는 StorageGRID 관리자가 Grid Manager 또는 관리 API를 사용하여 활성화해야 합니다. 구성 XML을 저장할 때 오류가 발생하면 StorageGRID 관리자에게 문의하십시오. -
검색 통합 서비스가 올바르게 구성되었는지 확인하십시오.
-
구성 XML에 지정된 대로 메타데이터 알림을 트리거하기 위한 요구 사항을 충족하는 객체를 소스 버킷에 추가합니다.
앞서 보여드린 예시에서처럼 버킷에 추가되는 모든 객체는 메타데이터 알림을 트리거합니다.
-
해당 객체의 메타데이터와 태그가 포함된 JSON 문서가 엔드포인트에 지정된 검색 인덱스에 추가되었는지 확인하십시오.
-
필요에 따라 다음 방법 중 하나를 사용하여 버킷에 대한 검색 통합을 비활성화할 수 있습니다.
-
STORAGE (S3) > Buckets*를 선택하고 *Enable search integration 확인란을 선택 해제합니다.
-
S3 API를 직접 사용하는 경우, DELETE Bucket 메타데이터 알림 요청을 사용하십시오. S3 클라이언트 애플리케이션 구현 지침을 참조하십시오.
예시: 모든 객체에 적용되는 메타데이터 알림 구성
이 예시에서는 모든 객체의 객체 메타데이터가 동일한 대상으로 전송됩니다.
<MetadataNotificationConfiguration>
<Rule>
<ID>Rule-1</ID>
<Status>Enabled</Status>
<Prefix></Prefix>
<Destination>
<Urn>urn:myes:es:::sgws-notifications/test1/all</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
예시: 두 개의 규칙이 포함된 메타데이터 알림 구성
이 예시에서는 접두사 `/images`와 일치하는 객체의 객체 메타데이터는 한 대상으로 전송되고, 접두사 `/videos`와 일치하는 객체의 객체 메타데이터는 두 번째 대상으로 전송됩니다.
<MetadataNotificationConfiguration>
<Rule>
<ID>Images-rule</ID>
<Status>Enabled</Status>
<Prefix>/images</Prefix>
<Destination>
<Urn>arn:aws:es:us-east-1:3333333:domain/es-domain/graphics/imagetype</Urn>
</Destination>
</Rule>
<Rule>
<ID>Videos-rule</ID>
<Status>Enabled</Status>
<Prefix>/videos</Prefix>
<Destination>
<Urn>arn:aws:es:us-west-1:22222222:domain/es-domain/graphics/videotype</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
메타데이터 알림 형식
버킷에 대한 검색 통합 서비스를 활성화하면 객체 메타데이터 또는 태그가 추가, 업데이트 또는 삭제될 때마다 JSON 문서가 생성되어 대상 엔드포인트로 전송됩니다.
이 예시는 키가 SGWS/Tagging.txt`인 객체가 `test`라는 이름의 버킷에 생성될 때 생성될 수 있는 JSON의 예시를 보여줍니다. 해당 `test 버킷은 버전 관리가 되지 않으므로 versionId 태그는 비어 있습니다.
{
"bucket": "test",
"key": "SGWS/Tagging.txt",
"versionId": "",
"accountId": "86928401983529626822",
"size": 38,
"md5": "3d6c7634a85436eee06d43415012855",
"region":"us-east-1",
"metadata": {
"age": "25"
},
"tags": {
"color": "yellow"
}
}
JSON 문서에 포함된 필드
문서 이름에는 버킷 이름, 객체 이름, 그리고 있는 경우 버전 ID가 포함됩니다.
- 버킷 및 객체 정보
-
bucket: 버킷 이름key: 객체 키 이름versionID: 버전 관리 버킷에 있는 객체의 객체 버전입니다.region: 버킷 영역, 예를 들어us-east-1 - 시스템 메타데이터
-
size: HTTP 클라이언트에 표시되는 객체 크기(바이트)md5: 객체 해시 - 사용자 메타데이터
-
metadata: 객체에 대한 모든 사용자 메타데이터(키-값 쌍 형식)key:value - 태그
-
tags: 키-값 쌍으로 나타낸 객체에 대해 정의된 모든 객체 태그key:value
Elasticsearch에서 결과를 보는 방법
태그 및 사용자 메타데이터의 경우, StorageGRID는 날짜와 숫자를 문자열 또는 S3 이벤트 알림으로 Elasticsearch에 전달합니다. Elasticsearch가 이러한 문자열을 날짜 또는 숫자로 해석하도록 구성하려면 동적 필드 매핑 및 날짜 형식 매핑에 대한 Elasticsearch 지침을 따르십시오. 검색 통합 서비스를 구성하기 전에 인덱스에서 동적 필드 매핑을 활성화하십시오. 문서가 인덱싱된 후에는 인덱스에서 문서의 필드 유형을 편집할 수 없습니다.