Amazon S3
Amazon S3는 데이터를 버킷 내의 객체로 저장하는 객체 스토리지 서비스입니다. Amazon Kendra를 사용하여 문서의 Amazon S3 버킷 리포지토리를 인덱싱할 수 있습니다.
Amazon Kendra는 Amazon Kendra보안 주체에게 S3 버킷과 상호 작용할 수 있는 권한을 부여하는 버킷 정책을 사용하지 않습니다. 대신 IAM 역할을 사용합니다. 실수로 임의의 보안 주체에게 권한을 부여하여 데이터 보안 문제가 발생하지 않도록, 버킷 정책에 Amazon Kendra가 신뢰할 수 있는 구성원으로 포함되지 않도록 하세요. 하지만 여러 계정에서 Amazon S3 버킷을 사용하도록 버킷 정책을 추가할 수 있습니다. 자세한 내용은 여러 계정에서 Amazon S3를 사용할 수 있는 정책(S3 IAM 역할 탭의 데이터 소스의 IAM 역할 아래)을 참조하세요. S3 데이터 소스의 IAM 역할에 대한 자세한 내용은 IAM 역할을 참조하세요.
Amazon Kendra에서 이제 업그레이드된 Amazon S3 커넥터를 지원합니다.
콘솔이 자동으로 업그레이드되었습니다. 콘솔에서 생성하는 모든 새 커넥터는 업그레이드된 아키텍처를 사용합니다. API를 사용하는 경우 이제 S3DataSourceConfiguration 객체 대신 TemplateConfiguration 객체를 사용하여 커넥터를 구성해야 합니다.
이전 콘솔 및 API 아키텍처를 사용하여 구성된 커넥터는 구성된 대로 계속 작동합니다. 하지만 편집하거나 업데이트할 수는 없습니다. 커넥터 구성을 편집하거나 업데이트하려면 새 커넥터를 생성해야 합니다.
커넥터 워크플로를 업그레이드된 버전으로 마이그레이션하는 것이 좋습니다. 이전 아키텍처를 사용하여 구성된 커넥터에 대한 지원은 2024년 6월에 종료될 예정입니다.
Amazon Kendra 콘솔 또는 TemplateConfiguration API를 사용하여 Amazon S3 데이터 소스에 연결할 수 있습니다.
Amazon Kendra S3 데이터 소스 커넥터의 문제를 해결하려면 데이터 소스 문제 해결을 참조하세요.
지원 기능
사전 조건
Amazon Kendra를 사용하여 S3 데이터 소스를 인덱싱하려면 먼저 S3 및 AWS 계정에서 다음과 같이 변경하세요.
S3에서 다음 사항을 갖추었는지 확인하세요.
AWS 계정에서 다음을 확인하세요.
기존 IAM 역할이 없는 경우 S3 데이터 소스를 Amazon Kendra에 연결할 때 콘솔을 사용하여 새 IAM 역할을 만들 수 있습니다. API를 사용하는 경우 기존 IAM 역할의 ARN과 인덱스 ID를 제공해야 합니다.
연결 지침
S3 데이터 소스에 Amazon Kendra를 연결하려면 Amazon Kendra가 데이터에 액세스할 수 있도록 S3 데이터 소스의 필수 세부 정보를 제공해야 합니다. 아직 S3를 Amazon Kendra에 대해 구성하지 않은 경우 사전 조건을 참조하세요.
- Console
-
Amazon Kendra를 Amazon S3에 연결하려면
-
AWS Management 콘솔 에 로그인한 다음 Amazon Kendra 콘솔을 엽니다.
-
왼쪽 탐색 창에서 인덱스를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
인덱스 설정에서 사용자 액세스 제어 설정을 구성하거나 편집할 수 있습니다.
-
시작하기 페이지에서 데이터 소스 추가를 선택합니다.
-
데이터 소스 추가 페이지에서 S3 커넥터를 선택한 다음 커넥터 추가를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 S3 커넥터를 선택합니다.
-
데이터 소스 세부 정보 지정 페이지에서 다음 정보를 입력합니다.
-
이름 및 설명에서 데이터 소스 이름에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.
-
(선택 사항) 설명 - 데이터 소스에 대한 선택적 설명을 입력합니다.
-
기본 언어 - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.
-
태그의 새 태그 추가 - 필요에 따라 태그를 포함하여 리소스를 검색하고 필터링하거나 AWS 비용을 추적합니다.
-
다음을 선택합니다.
-
액세스 및 보안 정의 페이지에서 다음 선택적 정보를 입력합니다.
-
IAM 역할 - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 보안 인증 정보에 액세스하고 콘텐츠를 인덱싱합니다.
인덱스에 사용되는 IAM 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 새 역할 생성을 선택하여 오류를 방지하세요.
-
Virtual Private Cloud(VPC) - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 서브넷과 VPC 보안 그룹을 추가해야 합니다.
-
다음을 선택합니다.
-
동기화 설정 구성 페이지에 다음 정보를 입력합니다.
-
데이터 소스 위치의 경우 - 데이터가 저장되는 Amazon S3 버킷의 경로를 지정합니다. S3 찾아보기를 선택하고 S3 버킷을 선택합니다.
-
최대 파일 크기의 경우 - 이 제한 미만의 파일만 크롤링하도록 제한을 MB 단위로 지정합니다. 허용되는 Amazon Kendra 최대 파일 크기는 50MB입니다.
-
(선택 사항) 메타데이터 파일 접두사 폴더 위치의 경우 - 필드/속성 및 기타 문서 메타데이터가 저장된 폴더의 경로를 지정합니다. S3 찾아보기를 선택하여 메타데이터 폴더를 찾습니다.
-
(선택 사항) 액세스 제어 목록 구성 파일 위치의 경우 - 사용자의 JSON 구조와 문서에 대한 액세스 권한이 포함된 파일의 경로를 지정합니다. S3 찾아보기를 선택하여 ACL 파일을 찾습니다.
-
(선택 사항) 해독 키 선택 - 암호 해독 키를 사용하려면 선택합니다. 기존 AWS KMS 키를 사용하도록 선택할 수 있습니다.
-
(선택 사항) 추가 구성의 경우 - 패턴을 추가하여 특정 파일을 포함하거나 제외합니다. 모든 경로는 데이터 소스 위치 S3 버킷과 관련이 있습니다.
-
동기화 모드 - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
-
전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
-
신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
-
동기화 실행 일정의 빈도 - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.
-
다음을 선택합니다.
-
필드 매핑 설정 페이지에 다음 선택적 정보를 입력합니다.
-
기본 필드 매핑 - Amazon Kendra에서 생성한 기본 데이터 소스 필드 중에서 인덱스에 매핑할 필드를 선택합니다.
-
필드 추가 - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만들려면 선택합니다.
-
다음을 선택합니다.
-
검토 및 생성 페이지에서 입력한 정보가 정확한지 확인한 다음 데이터 소스 추가를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 데이터 소스 페이지에 데이터 소스가 표시됩니다.
- API
-
Amazon Kendra를 Amazon S3에 연결하려면
TemplateConfiguration API를 사용하여 데이터 소스 스키마의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
-
데이터 소스 - TemplateConfiguration JSON 스키마를 사용할 때 데이터 소스 유형을 S3로 지정합니다. 또한, CreateDataSource API를 직접 호출할 때 데이터 소스를 TEMPLATE으로 지정합니다.
-
BucketName - 문서가 포함된 버킷의 이름입니다.
-
동기화 모드 - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
-
FORCED_FULL_CRAWL은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
-
FULL_CRAWL은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
-
IAM 역할 - Secrets Manager 보안 암호에 액세스하고 S3 커넥터 및 Amazon Kendra에 필요한 공개 API를 호출할 수 있는 권한이 있는 IAM 역할을 제공하기 위해 CreateDataSource를 호출할 때 RoleArn을 지정합니다. 자세한 내용은 S3 데이터 소스에 대한 IAM 역할을 참조하세요.
다음 선택적 기능도 추가할 수 있습니다.
-
Virtual Private Cloud(VPC) - CreateDataSource를 호출할 때 VpcConfiguration을 지정합니다. 자세한 내용은 Amazon VPC를 사용하도록 Amazon Kendra 구성 섹션을 참조하세요.
-
포함 및 제외 필터 - 특정 파일 이름, 파일 유형, 파일 경로를 포함할지 또는 제외할지를 지정합니다. glob 패턴(와일드카드 패턴을 확장하여 주어진 패턴과 일치하는 경로 이름 목록으로 변환할 수 있는 패턴)을 사용합니다. 예제는 AWS CLI 명령 참조의 제외 및 포함 필터 사용을 참조하세요.
-
문서 메타데이터 및 액세스 제어 구성 - 소스 URI, 문서 작성자, 사용자 지정 문서 속성/필드 등의 정보를 포함한 문서 메타데이터와 액세스 제어 파일, 사용자와 사용자가 액세스할 수 있는 문서를 추가합니다. 각 메타데이터 파일에는 단일 문서에 대한 메타데이터가 들어 있습니다.
-
필드 매핑 - S3 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 데이터 소스 필드 매핑을 참조하세요.
Amazon Kendra가 문서를 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 _document_body에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
구성해야 할 기타 중요한 JSON 키 목록은 S3 템플릿 스키마를 참조하세요.
자세히 알아보기
S3 데이터 소스와 Amazon Kendra의 통합에 대한 자세한 내용은 다음을 참조하세요.