

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# OpenSearch Dashboards での S3 データソースの設定とクエリ
<a name="direct-query-s3-configure"></a>

データソースを作成したので、セキュリティ設定の構成、Amazon S3 テーブルの定義、高速データインデックスの設定を行うことができます。このセクションでは、データをクエリする前に、OpenSearch Dashboards でのデータソースを使用するさまざまなユースケースについて説明します。

次のセクションを設定するには、まず OpenSearch Dashboards でデータソースに移動する必要があります。左側のナビゲーションの **[管理]** で、**[データソース]** を選択します。**[データソースを管理]** で、コンソールで作成したデータソースの名前を選択します。

## Query Workbench を使用して Spark テーブルを作成する
<a name="direct-query-s3-configure-tables"></a>

OpenSearch Service から Amazon S3 へのダイレクトクエリは、 AWS Glue Data Catalog内の Spark テーブルを使用します。OpenSearch Dashboards を離れることなく、Query Workbench 内からテーブルを作成できます。

データソース内の既存のデータベースとテーブルを管理したり、直接クエリを使用する新しいテーブルを作成するには、左側のナビゲーションから **[Query Workbench]** を選択して、データソースのドロップダウンから Amazon S3 データソースを選択します。

Parquet 形式で S3 に保存されている 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 Dashboards を使用して、 AWS Glue Data Catalog テーブル、保存されたクエリ、ダッシュボードを作成する統合をインストールします。これらの統合では、インデックス付きビューを使用してダッシュボードを最新の状態に維持します。

統合をインストールする手順については、OpenSearch ドキュメントの「[Installing an integration asset](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 を使用してデータをクエリできます。マテリアライズドビューまたはカバーインデックスを設定している場合は、インデックスが既に存在するため、Dashboard 全体で Dashboards Query Language (DQL) を使用できます。オブザーバビリティプラグインで PPL を使用したり、Query Workbench プラグインで SQL を使用したりすることもできます。現在、PPL と SQL をサポートしているのは、オブザーバビリティプラグインと Query Workbench プラグインのみです。OpenSearch Service API を使用したデータのクエリについては、「[非同期 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) に従っているかを確認してください。