

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 4단계: Amazon Kendra 인덱스를 생성하고 메타데이터를 수집
<a name="tutorial-search-metadata-create-index-ingest"></a>

지능형 검색 솔루션을 구현하려면 Amazon Kendra 인덱스를 생성하고 이 인덱스에 S3 데이터 및 메타데이터를 수집해야 합니다.

Amazon Kendra 인덱스에 메타데이터를 추가하기 전에 사용자 지정 문서 속성에 해당하는 사용자 지정 인덱스 필드를 생성합니다. 그러면 Amazon Comprehend 개체 유형과 맞게 됩니다. Amazon Kendra는 사용자가 생성한 인덱스 필드와 사용자 지정 문서 속성을 사용하여 문서를 검색하고 필터링합니다.

자세한 내용은 [인덱싱](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html) 및 [사용자 지정 문서 속성 생성](https://docs.aws.amazon.com/kendra/latest/dg/custom-attributes.html)을 참조하세요.

**Topics**
+ [Amazon Kendra 인덱스를 생성합니다.](#tutorial-search-metadata-create-index)
+ [Amazon S3 액세스를 위한 IAM 역할 업데이트](#tutorial-search-metadata-create-index-update-IAM)
+ [Amazon Kendra 사용자 지정 검색 인덱스 필드 생성](#tutorial-search-metadata-create-index-custom-fields)
+ [Amazon S3 버킷을 인덱스의 데이터 소스로 추가](#tutorial-search-metadata-create-index-connect-data)
+ [Amazon Kendra 인덱스 동기화](#tutorial-search-metadata-create-index-sync)

## Amazon Kendra 인덱스를 생성합니다.
<a name="tutorial-search-metadata-create-index"></a>

소스 문서를 쿼리하려면 Amazon Kendra 인덱스를 생성해야 합니다.

이 단계에서 AWS CLI 를 사용하는 경우 인덱스를 생성하기 전에 Amazon Kendra가 CloudWatch 로그에 액세스할 수 있도록 허용하는 AWS IAM 역할 및 정책을 생성하고 연결합니다. 자세한 내용은 [사전 조건](https://docs.aws.amazon.com/kendra/latest/dg/gs-prerequisites.html)을 참조하세요.

### Amazon Kendra 인덱스를 생성하려면 (콘솔)
<a name="tutorial-search-metadata-create-index-console"></a>

1. [https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)에서 Amazon Kendra 콘솔을 엽니다.
**중요**  
Amazon Comprehend 개체 분석 작업, Amazon S3 버킷을 생성한 리전과 동일한 리전에 있는지 확인하세요. 다른 리전에 있는 경우 상단 탐색 모음의 AWS 리전 선택기에서 Amazon S3 버킷을 생성한 리전을 선택합니다. **** 

1. **인덱스 생성**을 선택합니다.

1. **인덱스 세부 정보 지정** 페이지의 **인덱스 세부 정보**에 대해 다음을 수행하세요.

   1. **인덱스 이름**에 **kendra-index**를 입력합니다.

   1. **설명** 필드는 비워 두세요.

   1. **IAM 역할**에서 **새 역할 생성**을 선택합니다. 이 역할은 Amazon S3 버킷에 대한 액세스를 제공합니다.

   1. **역할 이름**에 **kendra-role**를 입력합니다. IAM 역할에는 `AmazonKendra-` 접두사가 붙습니다.

   1. **암호화** 및 **태그**의 기본 설정을 유지하고 **다음**을 선택합니다.

1. **사용자 액세스 제어 구성** 페이지의 **액세스 제어 설정**에서 **아니오**를 선택한 후 **다음**을 선택합니다.

1. **프로비저닝 세부 정보** 페이지에 있는 **프로비저닝 에디션**의 경우 **Developer Edition**을 선택하고 **생성**을 선택합니다.

### Amazon Kendra 인덱스를 생성하려면 (AWS CLI)
<a name="tutorial-search-metadata-create-index-cli"></a>

1. 신뢰할 수 있는 개체로 인식되는 Amazon Kendra용 IAM 역할을 생성하고 연결하려면 다음을 수행하세요.

   1. 다음 신뢰 정책을 로컬 디바이스의 텍스트 편집기에서 `kendra-trust-policy.json`이라는 JSON 파일로 저장합니다.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": {
              "Effect": "Allow",
              "Principal": {
                  "Service": "kendra.amazonaws.com"
              },
              "Action": "sts:AssumeRole"
          }
      }
      ```

------

   1. `kendra-role`라는 IAM 역할을 생성하고 저장된 `kendra-trust-policy.json` 파일을 첨부하려면 [create-role](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-role.html) 명령을 사용합니다.

------
#### [ Linux ]

      ```
      aws iam create-role \
                --role-name kendra-role \
                --assume-role-policy-document file://path/kendra-trust-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `kendra-trust-policy.json`의 파일 경로입니다.

------
#### [ macOS ]

      ```
      aws iam create-role \
                --role-name kendra-role \
                --assume-role-policy-document file://path/kendra-trust-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `kendra-trust-policy.json`의 파일 경로입니다.

------
#### [ Windows ]

      ```
      aws iam create-role ^
                --role-name kendra-role ^
                --assume-role-policy-document file://path/kendra-trust-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `kendra-trust-policy.json`의 파일 경로입니다.

------

   1. Amazon 리소스 이름(ARN)을 텍스트 편집기에 복사하고 로컬에 `kendra-role-arn`로 저장합니다.
**참고**  
ARN 형식은 *arn:aws:iam::123456789012:role/kendra-role*과 비슷합니다. Amazon Kendra 작업을 실행하려면 `kendra-role-arn`로 저장한 ARN이 필요합니다.

1. 인덱스를 생성하기 전에 CloudWatch Logs에 기록할 수 있는 권한을 `kendra-role`에 제공해야 합니다. 이렇게 하려면 다음 단계를 완료하세요.

   1. 다음 신뢰 정책을 로컬 디바이스의 텍스트 편집기에서 `kendra-cloudwatch-policy.json`이라는 JSON 파일로 저장합니다.

      *aws-region*을 해당 AWS 리전으로 바꾸고 *aws-account-id*를 12자리 AWS 계정 ID로 바꿉니다.

   1. CloudWatch Logs에 액세스할 수 있는 IAM 정책을 생성하려면 [create-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html) 명령을 사용하세요.

------
#### [ Linux ]

      ```
      aws iam create-policy \
                --policy-name kendra-cloudwatch-policy \
                --policy-document file://path/kendra-cloudwatch-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `kendra-cloudwatch-policy.json`의 파일 경로입니다.

------
#### [ macOS ]

      ```
      aws iam create-policy \
                --policy-name kendra-cloudwatch-policy \
                --policy-document file://path/kendra-cloudwatch-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `kendra-cloudwatch-policy.json`의 파일 경로입니다.

------
#### [ Windows ]

      ```
      aws iam create-policy ^
                --policy-name kendra-cloudwatch-policy ^
                --policy-document file://path/kendra-cloudwatch-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `kendra-cloudwatch-policy.json`의 파일 경로입니다.

------

   1. Amazon 리소스 이름(ARN)을 텍스트 편집기에 복사하고 로컬에 `kendra-cloudwatch-arn`로 저장합니다.
**참고**  
ARN의 형식은 *arn:aws:iam::123456789012:role/kendra-cloudwatch-policy*와 비슷합니다. IAM 역할에 `kendra-cloudwatch-policy`를 연결하려면 `kendra-cloudwatch-arn`로 저장한 ARN이 필요합니다.

   1. `kendra-cloudwatch-policy`을 IAM 역할에 연결하려면 [attach-role-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html) 명령을 사용합니다.

------
#### [ Linux ]

      ```
      aws iam attach-role-policy \
                --policy-arn policy-arn \
                --role-name kendra-role
      ```

      위치:
      + *policy-arn*은 저장한 `kendra-cloudwatch-arn`입니다.

------
#### [ macOS ]

      ```
      aws iam attach-role-policy \
                --policy-arn policy-arn \
                --role-name kendra-role
      ```

      위치:
      + *policy-arn*은 저장한 `kendra-cloudwatch-arn`입니다.

------
#### [ Windows ]

      ```
      aws iam attach-role-policy ^
                --policy-arn policy-arn ^
                --role-name kendra-role
      ```

      위치:
      + *policy-arn*은 저장한 `kendra-cloudwatch-arn`입니다.

------

1. 인덱스를 만들려면 [create-index](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/create-index.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws kendra create-index \
           --name kendra-index \
           --edition DEVELOPER_EDITION \
           --role-arn role-arn \
           --region aws-region
   ```

   위치:
   + *role-arn*은 저장한 `kendra-role-arn`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra create-index \
           --name kendra-index \
           --edition DEVELOPER_EDITION \
           --role-arn role-arn \
           --region aws-region
   ```

   위치:
   + *role-arn*은 저장한 `kendra-role-arn`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra create-index ^
           --name kendra-index ^
           --edition DEVELOPER_EDITION ^
           --role-arn role-arn ^
           --region aws-region
   ```

   위치:
   + *role-arn*은 저장한 `kendra-role-arn`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

1. 인덱스 `Id`를 복사하여 텍스트 편집기에 `kendra-index-id`로 저장합니다. `Id`는 인덱스 생성 상태를 추적하는 데 도움이 됩니다.

1. 인덱스 생성 작업의 진행률을 추적하려면 [describe-index](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/describe-index.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws kendra describe-index \
           --id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra describe-index \
           --id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra describe-index ^
           --id kendra-index-id ^
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

인덱스 생성 프로세스는 평균 15분이 소요되지만 더 오래 걸릴 수 있습니다. 인덱스 상태가 활성 상태이면 인덱스를 사용할 준비가 된 것입니다. 인덱스가 생성되는 동안 다음 단계를 시작할 수 있습니다.

이 단계에서를 사용하는 경우 인덱스에 S3 버킷 AWS CLI 에 액세스할 수 있는 권한을 부여하는 IAM 정책을 생성하고 Amazon Kendra IAM 역할에 연결합니다.

## Amazon S3 액세스를 위한 IAM 역할 업데이트
<a name="tutorial-search-metadata-create-index-update-IAM"></a>

인덱스를 생성하는 동안 Amazon Kendra IAM 역할을 업데이트하여 생성한 인덱스가 Amazon S3 버킷에서 데이터를 읽을 수 있도록 합니다. 자세한 내용을 알아보려면 [Amazon Kendra의 IAM 액세스 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html)을 참조하세요.

### IAM 역할을 업데이트하려면 (콘솔)
<a name="tutorial-search-metadata-update-role-console"></a>

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 왼쪽 탐색 창에서 **역할**을 선택하고 **역할 이름** 위의 **검색** 상자에 **kendra-role**를 입력합니다.

1. 제안된 옵션 중에서 `kendra-role`를 클릭합니다.

1. **요약**에서 **정책 연결**을 선택합니다.

1. **권한 연결**의 **검색** 상자에 권장 옵션 중 **AmazonS3ReadOnlyAccess** 정책 옆의 확인란을 선택하고 **S3**를 입력합니다.

1. **정책 연결**을 선택합니다. 이제 **요약** 페이지에서 IAM 역할에 연결된 두 개의 정책을 볼 수 있습니다.

1. [https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)에서 Amazon Kendra 콘솔로 돌아가 인덱스 상태가 **생성 중**에서 **활성**으로 변경될 때까지 기다린 후 다음 단계로 진행하세요.

### IAM 역할을 업데이트하려면 (AWS CLI)
<a name="tutorial-search-metadata-update-role-cli"></a>

1. 다음 텍스트를 로컬 디바이스의 텍스트 편집기에서 `kendra-S3-access-policy.json`이라는 JSON 파일로 저장합니다.

   amzn-s3-demo-bucket은 S3 버킷 이름으로, *aws-region*은 사용 중인 AWS 리전으로, *aws-account-id*는 12자리 AWS 계정 ID로, *kendra-index-id*는 저장된 `kendra-index-id`로 바꿉니다.

1. S3 버킷에 액세스하기 위한 IAM 정책을 생성하려면 [create-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws iam create-policy \
             --policy-name kendra-S3-access-policy \
             --policy-document file://path/kendra-S3-access-policy.json
   ```

   위치:
   + *path/*는 로컬 디바이스에 있는 `kendra-S3-access-policy.json`의 파일 경로입니다.

------
#### [ macOS ]

   ```
   aws iam create-policy \
             --policy-name kendra-S3-access-policy \
             --policy-document file://path/kendra-S3-access-policy.json
   ```

   위치:
   + *path/*는 로컬 디바이스에 있는 `kendra-S3-access-policy.json`의 파일 경로입니다.

------
#### [ Windows ]

   ```
   aws iam create-policy ^
             --policy-name kendra-S3-access-policy ^
             --policy-document file://path/kendra-S3-access-policy.json
   ```

   위치:
   + *path/*는 로컬 디바이스에 있는 `kendra-S3-access-policy.json`의 파일 경로입니다.

------

1. Amazon 리소스 이름(ARN)을 텍스트 편집기에 복사하고 로컬에 `kendra-S3-access-arn`로 저장합니다.
**참고**  
ARN의 형식은 *arn:aws:iam::123456789012:role/kendra-S3-access-policy*와 비슷한 형식입니다. IAM 역할에 `kendra-S3-access-policy`를 연결하려면 `kendra-S3-access-arn`로 저장한 ARN이 필요합니다.

1. `kendra-S3-access-policy`을 Amazon Kendra IAM 역할에 연결하려면 [attach-role-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html) 명령을 사용합니다.

------
#### [ Linux ]

   ```
   aws iam attach-role-policy \
             --policy-arn policy-arn \
             --role-name kendra-role
   ```

   위치:
   + *policy-arn*은 저장한 `kendra-S3-access-arn`입니다.

------
#### [ macOS ]

   ```
   aws iam attach-role-policy \
             --policy-arn policy-arn \
             --role-name kendra-role
   ```

   위치:
   + *policy-arn*은 저장한 `kendra-S3-access-arn`입니다.

------
#### [ Windows ]

   ```
   aws iam attach-role-policy ^
             --policy-arn policy-arn ^
             --role-name kendra-role
   ```

   위치:
   + *policy-arn*은 저장한 `kendra-S3-access-arn`입니다.

------

## Amazon Kendra 사용자 지정 검색 인덱스 필드 생성
<a name="tutorial-search-metadata-create-index-custom-fields"></a>

Amazon Kendra가 메타데이터를 사용자 지정 문서 속성으로 인식하도록 준비하려면 Amazon Comprehend 개체 유형에 해당하는 사용자 지정 필드를 생성합니다. 다음 9개의 Amazon Comprehend 개체 유형을 사용자 지정 필드로 입력합니다.
+ 상업\$1품목
+ DATE
+ 이벤트
+ 위치
+ 조직
+ 기타
+ 개인
+ 수량
+ 제목

**중요**  
철자가 틀린 개체 유형은 인덱스에서 인식되지 않습니다.

### Amazon Kendra 인덱스를 위한 사용자 지정 필드를 만들려면 (콘솔)
<a name="tutorial-search-metadata-create-attributes-console"></a>

1. [https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)에서 Amazon Kendra 콘솔을 엽니다.

1. **인덱스** 목록에서 `kendra-index`를 클릭합니다.

1. 왼쪽 탐색 패널의 **데이터 관리**에서 **패싯 정의**를 선택합니다.

1. **인덱스 필드** 메뉴에서 **필드 추가**를 선택합니다.

1. **인덱스 필드 추가** 대화 상자에서 다음을 수행합니다.

   1. **필드 이름**에 **COMMERCIAL\$1ITEM**을 입력합니다.

   1. **데이터 유형**에서 **문자열 목록**을 선택합니다.

   1. **사용 유형**에서 **패싯 가능**, **검색 가능**, **표시 가능**을 선택한 다음 **추가**를 선택합니다.

   1. 각 Amazon Comprehend 개체 유형(상업\$1품목, 날짜, 이벤트, 위치, 조직, 기타, 개인, 수량, 제목)에 대해 a단계부터 c단계까지 반복합니다.

콘솔에는 필드 추가 성공 메시지가 표시됩니다. 다음 단계를 진행하기 전에 닫도록 선택할 수 있습니다.

### Amazon Kendra 인덱스를 위한 사용자 지정 필드를 만들려면 (AWS CLI)
<a name="tutorial-search-metadata-create-attributes-cli"></a>

1. 다음 텍스트를 로컬 디바이스의 텍스트 편집기에서 `custom-attributes.json`이라는 JSON 파일로 저장합니다.

   ```
   [
      {
          "Name": "COMMERCIAL_ITEM",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "DATE",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "EVENT",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "LOCATION",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "ORGANIZATION",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "OTHER",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "PERSON",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "QUANTITY",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      },
      {
          "Name": "TITLE",
          "Type": "STRING_LIST_VALUE",
          "Search": {
              "Facetable": true,
              "Searchable": true,
              "Displayable": true
          }
      }
   ]
   ```

1. 인덱스에 사용자 지정 필드를 만들려면 [update-index](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/update-index.html) 명령어를 사용하세요.

------
#### [ Linux ]

   ```
   aws kendra update-index \
           --id kendra-index-id \
           --document-metadata-configuration-updates file://path/custom-attributes.json \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *path/*는 로컬 디바이스에 있는 `custom-attributes.json`의 파일 경로입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra update-index \
           --id kendra-index-id \
           --document-metadata-configuration-updates file://path/custom-attributes.json \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *path/*는 로컬 디바이스에 있는 `custom-attributes.json`의 파일 경로입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra update-index ^
           --id kendra-index-id ^
           --document-metadata-configuration-updates file://path/custom-attributes.json ^
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *path/*는 로컬 디바이스에 있는 `custom-attributes.json`의 파일 경로입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

1. 사용자 지정 속성이 인덱스에 추가되었는지 확인하려면 [describe-index](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/describe-index.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws kendra describe-index \
           --id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra describe-index \
           --id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra describe-index ^
           --id kendra-index-id ^
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

## Amazon S3 버킷을 인덱스의 데이터 소스로 추가
<a name="tutorial-search-metadata-create-index-connect-data"></a>

인덱스를 동기화하려면 먼저 S3 데이터 소스를 인덱스에 연결해야 합니다.

### S3 버킷을 Amazon Kendra 인덱스에 연결하는 방법 (콘솔)
<a name="tutorial-search-metadata-connect-s3-console"></a>

1. [https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)에서 Amazon Kendra 콘솔을 엽니다.

1. **인덱스** 목록에서 `kendra-index`를 클릭합니다.

1. 왼쪽 탐색 메뉴의 **데이터 관리**에서 **데이터 소스**를 선택합니다.

1. **데이터 소스 커넥터 유형 선택** 섹션에서 **Amazon S3**로 이동한 다음 **커넥터 추가**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 작업을 수행합니다.

   1. **이름 및 설명** 아래 **데이터 소스 이름**에 **S3-data-source**를 입력합니다.

   1. **설명** 섹션은 비워 두세요.

   1. **태그**의 기본 설정을 유지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지의 **동기화 범위** 섹션에서 다음을 수행합니다.

   1. **데이터 소스 위치 입력**에서 **S3 찾아보기**를 선택합니다.

   1. **리소스 선택**에서 S3 버킷을 선택한 다음 **선택**을 선택합니다.

   1. **메타데이터 파일 접두사 폴더 위치**에서 **S3 찾아보기**를 선택합니다.

   1. **리소스 선택**의 경우, 버킷 목록에서 해당하는 버킷의 이름을 클릭합니다.

   1. **객체**의 경우 `metadata` 옵션 상자를 선택하고 **선택**을 선택합니다. 이제 위치 필드에 `metadata/`라고 표시됩니다.

   1. **액세스 제어 목록 구성 파일 위치**, **해독 키 선택** 및 **추가 구성**에 대한 기본 설정을 유지합니다.

1. **IAM 역할**의 경우 **동기화 설정 구성** 페이지에서 `kendra-role`를 선택합니다.

1. **동기화 설정 구성** 페이지의 **동기화 실행 일정**에서 **빈도**에 대해 **요청 시 실행**을 선택한 후 **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 데이터 소스 세부 정보 선택 결과를 검토한 다음 **데이터 소스 추가**를 선택합니다.

### S3 버킷을 Amazon Kendra 인덱스에 연결하는 방법 (AWS CLI)
<a name="tutorial-search-metadata-connect-s3-cli"></a>

1. 다음 텍스트를 로컬 디바이스의 텍스트 편집기에서 `S3-data-connector.json`이라는 JSON 파일로 저장합니다.

   ```
   {
      "S3Configuration":{
         "BucketName":"amzn-s3-demo-bucket",
         "DocumentsMetadataConfiguration":{
            "S3Prefix":"metadata"
         }
      }
   }
   ```

   amzn-s3-demo-bucket을 S3 버킷 이름으로 바꿉니다.

1. S3 버킷을 인덱스에 연결하려면 [create-data-source](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/create-data-source.html) 명령을 사용합니다.

------
#### [ Linux ]

   ```
   aws kendra create-data-source \
           --index-id kendra-index-id \
           --name S3-data-source \
           --type S3 \
           --configuration file://path/S3-data-connector.json \
           --role-arn role-arn \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *path/*는 로컬 디바이스에 있는 `S3-data-connector.json`의 파일 경로입니다.
   + *role-arn*은 저장한 `kendra-role-arn`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra create-data-source \
           --index-id kendra-index-id \
           --name S3-data-source \
           --type S3 \
           --configuration file://path/S3-data-connector.json \
           --role-arn role-arn \
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *path/*는 로컬 디바이스에 있는 `S3-data-connector.json`의 파일 경로입니다.
   + *role-arn*은 저장한 `kendra-role-arn`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra create-data-source ^
           --index-id kendra-index-id ^
           --name S3-data-source ^
           --type S3 ^
           --configuration file://path/S3-data-connector.json ^
           --role-arn role-arn ^
           --region aws-region
   ```

   위치:
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *path/*는 로컬 디바이스에 있는 `S3-data-connector.json`의 파일 경로입니다.
   + *role-arn*은 저장한 `kendra-role-arn`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

1. 커넥터 `Id`를 복사하여 텍스트 편집기에 `S3-connector-id`로 저장합니다. `Id`는 데이터 연결 프로세스의 상태를 추적하는 데 도움이 됩니다.

1. S3 데이터 소스가 성공적으로 연결되었는지 확인하려면 [describe-data-source](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/describe-data-source.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws kendra describe-data-source \
           --id S3-connector-id \
           --index-id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra describe-data-source \
           --id S3-connector-id \
           --index-id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra describe-data-source ^
           --id S3-connector-id ^
           --index-id kendra-index-id ^
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

이 단계가 끝나면 Amazon S3 데이터 소스가 인덱스에 연결됩니다.

## Amazon Kendra 인덱스 동기화
<a name="tutorial-search-metadata-create-index-sync"></a>

Amazon S3 데이터 소스가 추가되었으므로 이제 Amazon Kendra 인덱스를 여기에 동기화합니다.

### Amazon Kendra 인덱스를 동기화하려면 (콘솔)
<a name="tutorial-search-metadata-sync-index-console"></a>

1. [https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)에서 Amazon Kendra 콘솔을 엽니다.

1. **인덱스** 목록에서 `kendra-index`를 클릭합니다.

1. 왼쪽 탐색 메뉴에서 **데이터 소스**를 선택합니다.

1. **데이터 소스**에서`S3-data-source`를 선택합니다.

1. 상단 탐색 모음에서 **지금 동기화**를 선택합니다.

### Amazon Kendra 인덱스를 동기화하려면 (AWS CLI)
<a name="tutorial-search-metadata-sync-index-cli"></a>

1. 인덱스를 동기화하려면 [start-data-source-sync-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/start-data-source-sync-job.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws kendra start-data-source-sync-job \
           --id S3-connector-id \
           --index-id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra start-data-source-sync-job \
           --id S3-connector-id \
           --index-id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra start-data-source-sync-job ^
           --id S3-connector-id ^
           --index-id kendra-index-id ^
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

1. 인덱스 동기화 상태를 확인하려면 [list-data-source-sync-jobs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/list-data-source-sync-jobs.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws kendra list-data-source-sync-jobs \
           --id S3-connector-id \
           --index-id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws kendra list-data-source-sync-jobs \
           --id S3-connector-id \
           --index-id kendra-index-id \
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws kendra list-data-source-sync-jobs ^
           --id S3-connector-id ^
           --index-id kendra-index-id ^
           --region aws-region
   ```

   위치:
   + *S3-connector-id*는 저장한 `S3-connector-id`입니다.
   + *kendra-index-id*는 저장한 `kendra-index-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

이 단계가 끝나면 데이터 세트에 대해 검색 및 필터링 가능한 Amazon Kendra 인덱스 생성이 완료됩니다.