

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

# Data Streams を用いた Amazon OpenSearch Service での時系列データの管理
<a name="data-streams"></a>

時系列データを管理する一般的なワークフローには、ロールオーバーインデックスエイリアスの作成、書き込みインデックスの定義、バッキングインデックスの共通のマッピングと設定の定義など、複数の手順が含まれます。

Amazon OpenSearch Service の Data Streams は、この初期設定プロセスを簡素化するのに役立ちます。Data Streams は、通常は追加のみであるアプリケーションログなどの時間ベースのデータに対してすぐに機能します。

Data Streams には OpenSearch バージョン 1.0 以降が必要です。

**注記**  
このドキュメントでは、Amazon OpenSearch Service ドメインでデータストリームを開始するのに役立つ基本的な手順について説明します。包括的なドキュメントについては、OpenSearch ドキュメンテーションの「[Data streams](https://docs.opensearch.org/latest/opensearch/data-streams/)」を参照してください。

## Data Streams の使用開始
<a name="data-streams-example"></a>

データストリームは、内部的に複数のバッキングインデックスで構成されます。検索リクエストはすべてのバッキングインデックスにルーティングされますが、インデックス作成リクエストは最新の書き込みインデックスにルーティングされます。

### ステップ 1: インデックステンプレートを作成する
<a name="data-streams-example-1"></a>

データストリームを作成するには、まずインデックスのセットをデータストリームとして設定するインデックステンプレートを作成する必要があります。`data_stream` オブジェクトは、通常のインデックステンプレートではなくデータストリームであることを示します。インデックスパターンは、次のデータストリームの名前と一致します。

```
PUT _index_template/logs-template
{
  "index_patterns": [
    "my-data-stream",
    "logs-*"
  ],
  "data_stream": {},
  "priority": 100
}
```

この場合、取り込まれた各ドキュメントには `@timestamp` フィールドがある必要があります。また、独自のカスタムタイムスタンプフィールドを `data_stream` オブジェクトのプロパティとして定義できます。

```
PUT _index_template/logs-template
{
  "index_patterns": "my-data-stream",
  "data_stream": {
    "timestamp_field": {
      "name": "request_time"
    }
  }
}
```

### ステップ 2: データストリームの作成
<a name="data-streams-example-2"></a>

インデックステンプレートを作成したら、データストリームを作成せずにデータの取り込みを直接開始できます。

`data_stream` オブジェクトと一致するインデックステンプレートがあるので、OpenSearch は自動的にデータストリームを作成します。

```
POST logs-staging/_doc
{
  "message": "login attempt failed",
  "@timestamp": "2013-03-01T00:00:00"
}
```

### 手順 3: データストリームにデータを取り込む
<a name="data-streams-example-3"></a>

データストリームにデータを取り込むには、通常のインデックス API を使用できます。インデックスを作成するすべてのドキュメントにタイムスタンプフィールドがあることを確認します。タイムスタンプフィールドのないドキュメントを取り込もうとすると、エラーが発生します。

```
POST logs-redis/_doc
{
  "message": "login attempt",
  "@timestamp": "2013-03-01T00:00:00"
}
```

### ステップ 4: データストリームの検索
<a name="data-streams-example-4"></a>

通常のインデックスやインデックスエイリアスを検索するのと同じように、データストリームを検索できます。検索オペレーションは、すべてのバッキングインデックス (ストリーム内に存在するすべてのデータ) に適用されます。

```
GET logs-redis/_search
{
  "query": {
    "match": {
      "message": "login"
    }
  }
}
```

### 手順 5: データストリームのロールオーバー
<a name="data-streams-example-5"></a>

[インデックスステート管理 (ISM)](ism.md) ポリシーをセットアップして、データストリームのロールオーバープロセスを自動化できます。ISM ポリシーは、作成時にバッキングインデックスに適用されます。ポリシーをデータストリームに関連付けると、そのデータストリームの将来のバッキングインデックスにのみ影響します。また、`rollover_alias` 設定を提供する必要はありません。ISM ポリシーがバッキングインデックスからこの情報を推測するからです。

**注記**  
バッキングインデックスを[コールドストレージ](cold-storage.md)に移行する場合、OpenSearch はこのインデックスをデータストリームから削除します。インデックスを [UltraWarm](ultrawarm.md) に戻しても、インデックスは元のデータストリームの一部ではなく、独立したままです。インデックスがデータストリームから削除された後、ストリームに対して検索しても、インデックスのデータは返されません。

**警告**  
データストリームの書き込みインデックスは、コールドストレージに移行できません。データストリーム内のデータをコールドストレージに移行する場合は、移行前にデータストリームをロールオーバーする必要があります。

### ステップ 6: OpenSearch Dashboards で Data Streams を管理する
<a name="data-streams-example-6"></a>

OpenSearch Dashboards から Data Streams を管理するには、[**OpenSearch Dashboards**] を開き、[**インデックス管理**] を選択し、[**インデックス**] または [**ポリシーマネージドインデックス**] を選択します。

### ステップ 7: データストリームを削除する
<a name="data-streams-example-7"></a>

削除オペレーションは、まずデータストリームのバッキングインデックスを削除してから、データストリーム自体を削除します。

データストリームとその非表示のバッキングインデックスすべてを削除するには、次の手順に従います。

```
DELETE _data_stream/name_of_data_stream
```