

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

# OpenSearch Dashboards에서 S3 데이터 소스 구성 및 쿼리
<a name="direct-query-s3-configure"></a>

이제 데이터 소스를 생성했으므로 보안 설정을 구성하거나, Amazon S3 테이블을 정의하거나, 가속화된 데이터 인덱싱을 설정할 수 있습니다. 실제로 데이터를 쿼리하기 전에, 이 섹션에서 OpenSearch 대시보드의 다양한 데이터 소스 사용 사례를 살펴보겠습니다.

다음 섹션을 구성하려면 먼저 OpenSearch 대시보드에서 데이터 소스로 이동해야 합니다. 왼쪽 탐색에서 **데이터 관리** 아래에 있는 **데이터 소스**를 선택합니다. **데이터 소스 관리**에서 콘솔에서 생성한 데이터 소스의 이름을 선택합니다.

## 쿼리 워크벤치를 사용하여 Spark 테이블 생성
<a name="direct-query-s3-configure-tables"></a>

OpenSearch Service에서 Amazon S3로의 직접 쿼리는 AWS Glue Data Catalog내의 Spark 테이블을 사용합니다. OpenSearch 대시보드를 종료하지 않고도 쿼리 워크벤치 내에서 테이블을 생성할 수 있습니다.

데이터 소스의 기존 데이터베이스 및 테이블을 관리하거나 직접 쿼리를 사용할 새 테이블을 생성하려면 왼쪽 탐색에서 **쿼리 워크벤치**를 선택하고 데이터 소스 드롭다운에서 Amazon S3 데이터 소스를 선택합니다.

S3에 Parquet 형식으로 저장된 VPC 흐름 로그에 대한 테이블을 설정하려면 다음 쿼리를 실행합니다.

```
CREATE TABLE 
datasourcename.gluedatabasename.vpclogstable (version INT, account_id STRING, interface_id STRING, 
srcaddr STRING, dstaddr STRING, srcport INT, dstport INT, protocol INT, packets BIGINT, 
bytes BIGINT, start BIGINT, end BIGINT, action STRING, log_status STRING, 
`aws-account-id` STRING, `aws-service` STRING, `aws-region` STRING, year STRING, 
month STRING, day STRING, hour STRING) 

USING parquet PARTITIONED BY (aws-account-id, aws-service, aws-region, year, month, 
day, hour) 

LOCATION "s3://accountnum-vpcflow/AWSLogs"
```

테이블을 생성한 후 다음 쿼리를 실행하여 직접 쿼리와 호환되는지 확인합니다.

```
MSCK REPAIR TABLE  datasourcename.databasename.vpclogstable
```

## 널리 사용되는 AWS 로그 유형에 대한 통합 설정
<a name="direct-query-s3-setup-integration"></a>

Amazon S3에 저장된 AWS 로그 유형을 OpenSearch Service와 통합할 수 있습니다. OpenSearch 대시보드를 사용하여 AWS Glue Data Catalog 테이블, 저장된 쿼리 및 대시보드를 생성하는 통합을 설치합니다. 이러한 통합은 인덱싱된 뷰를 사용하여 대시보드를 최신 상태로 유지합니다.

통합 설치 지침은 OpenSearch 설명서의 [통합 자산 설치](https://opensearch.org/docs/latest/integrations/#installing-an-integration-asset)를 참조하세요.

통합을 선택할 때 `S3 Glue` 태그가 있는지 확인합니다.

통합을 설정할 때 연결 유형에서 **S3 연결**을 지정합니다. 그런 다음 통합을 위한 데이터 소스, 데이터의 Amazon S3 위치, 가속 인덱싱을 관리할 체크포인트, 사용 사례에 필요한 자산을 선택합니다.

**참고**  
체크포인트의 S3 버킷에 체크포인트 위치에 대한 쓰기 권한이 있는지 확인합니다. 이 권한이 없으면 통합의 가속화가 실패합니다.

## 액세스 제어 설정
<a name="direct-query-s3-configure-ac"></a>

데이터 소스의 세부 정보 페이지에서 **액세스 제어** 섹션을 찾아 **편집**을 선택합니다. 도메인에 세분화된 액세스 제어가 활성화된 경우 **제한됨**을 선택하고 새 데이터 소스에 대한 액세스 권한을 제공할 역할을 선택합니다. 관리자만 데이터 소스에 액세스하도록 하려는 경우 **관리자 전용**을 선택할 수도 있습니다.

**중요**  
인덱스는 데이터 소스에 대한 모든 쿼리에 사용됩니다. 지정된 데이터 소스의 요청 인덱스에 대한 읽기 액세스 권한이 있는 사용자는 해당 데이터 소스에 대한 *모든* 쿼리를 읽을 수 있습니다. 결과 인덱스에 대한 읽기 액세스 권한이 있는 사용자는 해당 데이터 소스에 대한 **모든 쿼리의 결과를 읽을 수 있습니다.

## OpenSearch Discover에서 S3 데이터 쿼리
<a name="direct-querying-s3-query"></a>

테이블을 설정하고 원하는 선택적 쿼리 가속화를 구성한 후에는 데이터 분석을 시작할 수 있습니다. 데이터를 쿼리하려면 드롭다운 메뉴에서 데이터 소스를 선택합니다. Amazon S3 및 OpenSearch Dashboards를 사용하는 경우 Discover로 이동하여 데이터 소스 이름을 선택합니다.

건너뛰기 인덱스를 사용하고 있거나 아직 인덱스를 생성하지 않은 경우 SQL 또는 PPL을 사용하여 데이터를 쿼리할 수 있습니다. 구체화된 뷰 또는 커버링 인덱스를 구성한 경우에는 이미 인덱스가 있으므로 대시보드 전체에서 대시보드 쿼리 언어(DQL)를 사용할 수 있습니다. 관찰성 플러그인과 함께 PPL을 사용하고 쿼리 워크벤치 플러그인과 함께 SQL을 사용할 수도 있습니다. 현재는 관찰성 플러그인과 쿼리 워크벤치 플러그인만 PPL 및 SQL을 지원합니다. OpenSearch Service API를 사용하여 데이터를 쿼리하려면 [async API 설명서](https://github.com/opensearch-project/sql/blob/main/docs/user/interfaces/asyncqueryinterface.rst)를 참조하세요.

**참고**  
일부 SQL 및 PPL 문과 함수는 지원되지 않습니다. 지원되는 명령 목록은 [지원되는 SQL 및 PPL 명령](direct-query-supported-commands.md) 섹션을 참조하세요.  
구체화된 뷰 또는 커버링 인덱스를 생성한 경우에는 DQL을 사용하여 데이터를 인덱싱한 경우에 한해 데이터를 쿼리할 수 있습니다.

## 문제 해결
<a name="s3-troubleshooting"></a>

결과가 예상대로 반환되지 않는 경우가 있을 수 있습니다. 문제가 발생하는 경우를 [권장 사항](direct-query-s3-overview.md#direct-query-s3-recommendations)의 지침을 따르고 있는지 확인합니다.