

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

# Amazon DocumentDB での OpenSearch Ingestion パイプラインの使用
<a name="configure-client-docdb"></a>

[DocumentDB](https://opensearch.org/docs/latest/data-prepper/pipelines/configuration/sources/documentdb/) プラグインを使用して、作成、更新、削除などのドキュメントの変更を Amazon OpenSearch Service にストリーミングできます。パイプラインは、可能な場合は変更データキャプチャ (CDC)、または大規模で低レイテンシーのストリーミングのための API ポーリングをサポートします。

完全な初期スナップショットの有無にかかわらず、データを処理できます。完全なスナップショットは、Amazon DocumentDB コレクション全体をキャプチャし、Amazon S3 にアップロードします。次に、パイプラインは 1 つ以上の OpenSearch インデックスにデータを送信します。スナップショットを取り込むと、パイプラインは継続的な変更を同期して一貫性を維持し、最終的にほぼリアルタイムの更新に追いつきます。

別のソースから完全なスナップショットをすでに取得している場合、または新しいイベントのみを処理する必要がある場合は、スナップショットなしでストリーミングできます。この場合、パイプラインは最初の一括ロードなしで Amazon DocumentDB 変更ストリームから直接読み取ります。

ストリームを有効にする場合は、Amazon DocumentDB コレクションで[変更ストリームを有効にする](https://docs.aws.amazon.com/documentdb/latest/developerguide/change_streams.html#change_streams-enabling)必要があります。ただし、全ロードまたはエクスポートのみを実行する場合は、変更ストリームは必要ありません。

## 前提条件
<a name="s3-prereqs"></a>

OpenSearch Ingestion パイプラインを作成する前に、次の手順を実行します。

1. *Amazon DocumentDB 開発者ガイド*の「[Amazon DocumentDB クラスターを作成する](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-cluster)」の手順に従って、データを読み取るアクセス許可を持つ Amazon DocumentDB クラスターを作成します。CDC インフラストラクチャを使用する場合は、変更ストリームを発行するように Amazon DocumentDB クラスターを設定します。

1. Amazon DocumentDB クラスターで TLS を有効にします。

1. OpenSearch Ingestion で使用するプライベートアドレススペースの VPC CIDR を設定します。

1. を使用して Amazon DocumentDB クラスターで認証を設定します AWS Secrets Manager。「[Automatically rotating passwords for Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/security.managing-users.html#security.managing-users-rotating-passwords)」の手順に従って、シークレットローテーションを有効にします。詳細については、「[Database Access Using Role-Based Access Control](https://docs.aws.amazon.com/documentdb/latest/developerguide/role_based_access_control.html)」と「[Security in Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/security.html)」を参照してください。

1. 変更ストリームを使用して Amazon DocumentDB コレクションのデータ変更をサブスクライブする場合は、`change_stream_log_retention_duration` パラメータを使用して保持期間を最大 7 日間延長することで、データ損失を回避します。変更ストリームイベントは、イベントが記録されてからデフォルトで 3 時間保存されます。これは、大規模なコレクションには十分な時間ではありません。変更ストリーム保持期間を変更するには、「[Modifying the Change Stream Log Retention Duration](https://docs.aws.amazon.com/documentdb/latest/developerguide/change_streams.html#change_streams-modifying_log_retention)」を参照してください。

1. OpenSearch Service ドメインまたは OpenSearch Serverless コレクションを作成します。詳細については、「[OpenSearch Service ドメインの作成](createupdatedomains.md#createdomains)」および「[コレクションの作成](serverless-create.md)」を参照してください。

1. [リソースベースのポリシー](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html#ac-types-resource)をドメインにアタッチするか、[データアクセスポリシー](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html)をコレクションにアタッチします。これらのアクセスポリシーにより、OpenSearch Ingestion は Amazon DocumentDB クラスターからドメインまたはコレクションにデータを書き込むことができます。

   次のドメインアクセスポリシーの例では、次の手順で作成するパイプラインロールに、ドメインへのデータの書き込みが許可されています。必ず独自の ARN で `resource` を更新してください。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::{{444455556666}}:role/{{pipeline-role}}"
         },
         "Action": [
           "es:DescribeDomain",
           "es:ESHttp*"
         ],
         "Resource": [
           "arn:aws:es:{{us-east-1}}:{{111122223333}}:domain/{{domain-name}}"
         ]
       }
     ]
   }
   ```

------

   コレクションまたはドメインへの書き込みデータにアクセスするための正しいアクセス許可を持つ IAM ロールを作成するには、「[Amazon OpenSearch Ingestion のロールとユーザーの設定](pipeline-security-overview.md)」を参照してください。

## ステップ 1: パイプラインロールを設定する
<a name="docdb-pipeline-role"></a>

Amazon DocumentDB パイプラインの前提条件を設定したら、[パイプライン設定で使用するパイプラインロールを設定し](pipeline-security-overview.md#pipeline-security-sink)、そのロールに次の Amazon DocumentDB 許可を追加します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "allowS3ListObjectAccess",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{{s3-bucket}}"
            ],
            "Condition": {
                "StringLike": {
                    "s3:prefix": "{{s3-prefix}}/*"
                }
            }
        },
        {
            "Sid": "allowReadAndWriteToS3ForExportStream",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::{{s3-bucket}}/{{s3-prefix}}/*"
            ]
        },
        {
            "Sid": "SecretsManagerReadAccess",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333}}:secret:{{secret-name}}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachNetworkInterface",
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DetachNetworkInterface",
                "ec2:DescribeNetworkInterfaces"
            ],
            "Resource": [
                "arn:aws:ec2:*:{{111122223333}}:network-interface/*",
                "arn:aws:ec2:*:{{111122223333}}:subnet/*",
                "arn:aws:ec2:*:{{111122223333}}:security-group/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:Describe*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:*:*:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/OSISManaged": "true"
                }
            }
        }
    ]
}
```

------

OpenSearch Ingestion パイプラインの作成に使用する IAM ロールには、上記の Amazon EC2 アクセス許可を指定する必要があります。これは、パイプラインがこれらのアクセス許可を使用して VPC 内のネットワークインターフェイスを作成および削除するためです。パイプラインは、このネットワークインターフェイスを介してのみ Amazon DocumentDB クラスターにアクセスできます。

## ステップ 2: パイプラインを作成する
<a name="docdb-pipeline"></a>

そして、ソースとして Amazon DocumentDB を指定する OpenSearch Ingestion パイプラインを次のように設定できます。インデックス名を入力するには、`getMetadata` 関数がメタデータキーとして `{{documentdb_collection}}` を使用することに注意してください。`getMetadata` メソッドなしで別のインデックス名を使用する場合は、設定 `index: "{{my_index_name}}"` を使用できます。

```
version: "2"
documentdb-pipeline:
  source:
    documentdb:
      acknowledgments: true
      host: "https://{{docdb-cluster-id}}.{{us-east-1}}.docdb.amazonaws.com"
      port: 27017
      authentication:
        username: ${aws_secrets:secret:{{username}}}
        password: ${aws_secrets:secret:{{password}}}
      aws:
      s3_bucket: "{{bucket-name}}"
      s3_region: "{{bucket-region}}" 
      s3_prefix: "{{path}}" #optional path for storing the temporary data
      collections:
        - collection: "{{dbname.collection}}"
          export: true
          stream: true
  sink:
  - opensearch:
      hosts: ["{{https://search-mydomain.us-east-1.es.amazonaws.com}}"]
      index: "${getMetadata(\"{{documentdb_collection}}\")}"
      index_type: custom
      document_id: "${getMetadata(\"primary_key\")}"
      action: "${getMetadata(\"opensearch_action\")}"
      document_version: "${getMetadata(\"document_version\")}"
      document_version_type: "external"
extension:
  aws:
    secrets:
      secret:
        secret_id: "{{my-docdb-secret}}"
        region: "{{us-east-1}}"
        refresh_interval: PT1H
```

事前設定された Amazon DocumentDB ブループリントを使用して、このパイプラインを作成できます。詳細については、「[ブループリントの使用](pipeline-blueprint.md)」を参照してください。

を使用してパイプライン AWS マネジメントコンソール を作成する場合は、ソースとして Amazon DocumentDB を使用するには、パイプラインを VPC にアタッチする必要があります。これを行うには、**[ソースネットワークオプション]** セクションを見つけ、**[VPC にアタッチ]** チェックボックスをオンにして、提供されたデフォルトオプションのいずれかから CIDR を選択します。[RFC 1918 のベストカレントプラクティス](https://datatracker.ietf.org/doc/html/rfc1918)で定義されているように、プライベートアドレス空間から任意の CIDR を使用できます。

カスタム CIDR を指定するには、ドロップダウンメニューから **[その他]** を選択します。OpenSearch Ingestion と Amazon DocumentDB 間の IP アドレスの衝突を回避するには、Amazon DocumentDB VPC の CIDR が OpenSearch Ingestion の CIDR と異なることを確認してください。

詳細については、「[Configuring VPC access for a pipeline](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline-security.html#pipeline-vpc-configure)」を参照してください。

## データ整合性
<a name="docdb-pipeline-consistency"></a>

パイプラインは、Amazon DocumentDB クラスターから変更を継続的にポーリングまたは受信し、OpenSearch インデックス内の対応するドキュメントを更新することで、データ整合性を確保します。

OpenSearch Ingestion は、データの耐久性を確保するためにエンドツーエンドの確認応答をサポートしています。パイプラインがスナップショットまたはストリームを読み取る際に、並列処理用のパーティションが動的に作成されます。パイプラインは、OpenSearch ドメインまたはコレクション内のすべてのレコードを取り込んだ後に確認応答を受信すると、パーティションを完了としてマークします。

OpenSearch Serverless *検索*コレクションに取り込みたい場合は、パイプラインでドキュメント ID を生成できます。OpenSearch Serverless *時系列*コレクションに取り込みたい場合は、パイプラインがドキュメント ID を生成しないため、パイプラインシンク設定の `document_id: "${getMetadata(\"primary_key\")}"` を省略する必要があることに留意してください。

また、OpenSearch Ingestion パイプラインは、着信イベントアクションを、対応する一括インデックス作成アクションにマッピングして、ドキュメントの取り込みをサポートします。これにより、データ整合性が維持され、Amazon DocumentDB 内のすべてのデータ変更が OpenSearch 内の対応するドキュメントの変更とリコンサイルされます。

## データ型のマッピング
<a name="docdb-pipeline-mapping"></a>

OpenSearch Service は、各着信ドキュメントのデータ型を、Amazon DocumentDB の対応するデータ型に動的にマッピングします。次の表は、OpenSearch Service がさまざまなデータ型を自動的にマッピングする方法を示しています。


| データ型 | OpenSearch | Amazon DocumentDB | 
| --- | --- | --- | 
| 整数 | OpenSearch は Amazon DocumentDB 整数値を OpenSearch 整数に自動的にマッピングします。<br />OpenSearch は、最初に送信されたドキュメントに基づいてフィールドを動的にマッピングします。Amazon DocumentDB に同じ属性のデータ型が混在している場合、自動マッピングが失敗する可能性があります。<br />例えば、最初のドキュメントが long という属性を持っており、後のドキュメントがその同じ属性を integer として持っている場合、OpenSearch は 2 つ目のドキュメントの取り込みに失敗します。このような場合は、次のような、最も柔軟性が高い数値型を選択する明示的なマッピングテンプレートを提供する必要があります。<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "MixedNumberField": {<br />     "type": "float"<br />    }<br />   }<br />  }<br /> }<br />}</pre> | Amazon DocumentDB は[整数](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| Long | OpenSearch は、Amazon DocumentDB の long 値を OpenSearch の long に自動的にマッピングします。<br />OpenSearch は、最初に送信されたドキュメントに基づいてフィールドを動的にマッピングします。Amazon DocumentDB に同じ属性のデータ型が混在している場合、自動マッピングが失敗する可能性があります。<br />例えば、最初のドキュメントが long という属性を持っており、後のドキュメントがその同じ属性を integer として持っている場合、OpenSearch は 2 つ目のドキュメントの取り込みに失敗します。このような場合は、次のような、最も柔軟性が高い数値型を選択する明示的なマッピングテンプレートを提供する必要があります。<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "MixedNumberField": {<br />     "type": "float"<br />    }<br />   }<br />  }<br /> }<br />}</pre> | Amazon DocumentDB は [long](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types) をサポートしています。 | 
| String | OpenSearch は、文字列の値をテキストとして自動的にマッピングします。状況によっては (列挙型の値など)、キーワード型にマッピングできます。<br />次の例は、`PartType` という名前の Amazon DocumentDB 属性を、OpenSearch キーワードにマッピングする方法を示しています。<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "PartType": {<br />     "type": "keyword"<br />    }<br />   }<br />  }<br /> }<br />}</pre> | Amazon DocumentDB は[文字列](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| Double | OpenSearch は、Amazon DocumentDB の double 値を OpenSearch の double に自動的にマッピングします。<br />OpenSearch は、最初に送信されたドキュメントに基づいてフィールドを動的にマッピングします。Amazon DocumentDB に同じ属性のデータ型が混在している場合、自動マッピングが失敗する可能性があります。<br />例えば、最初のドキュメントが long という属性を持っており、後のドキュメントがその同じ属性を integer として持っている場合、OpenSearch は 2 つ目のドキュメントの取り込みに失敗します。このような場合は、次のような、最も柔軟性が高い数値型を選択する明示的なマッピングテンプレートを提供する必要があります。<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "MixedNumberField": {<br />     "type": "float"<br />    }<br />   }<br />  }<br /> }<br />}</pre> | Amazon DocumentDB は [double](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types) をサポートしています。 | 
| 日付 | デフォルトでは、日付は OpenSearch の整数にマッピングされます。カスタムマッピングテンプレートを定義して、日付を OpenSearch 日付にマッピングできます。<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "myDateField": {<br />     "type": "date",<br />     "format": "epoch_second"<br />    }<br />   }<br />  }<br /> }<br />}</pre> | Amazon DocumentDB は[日付](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| タイムスタンプ | デフォルトでは、タイムスタンプは OpenSearch の整数にマッピングされます。カスタムマッピングテンプレートを定義して、日付を OpenSearch 日付にマッピングできます。<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "myTimestampField": {<br />     "type": "date",<br />     "format": "epoch_second"<br />    }<br />   }<br />  }<br /> }<br />}</pre> | Amazon DocumentDB は[タイムスタンプ](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| ブール値 | OpenSearch は、Amazon DocumentDB のブール型を、OpenSearch のブール型にマッピングします。 | Amazon DocumentDB は[ブール型属性](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| 10 進数 | OpenSearch は、Amazon DocumentDB のマップ属性を、ネストされたフィールドにマッピングします。同じマッピングがネストされたフィールド内でも適用されます。<br />次の例では、ネストされたフィールドの文字列を、OpenSearch のキーワード型にマッピングします:<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "myDecimalField": {<br />     "type": "double"<br />    }<br />   }<br />  }<br /> }<br />}</pre><br />このカスタムマッピングを使用すると、フィールドをクエリして、倍レベルの精度で集計できます。元の値は、OpenSearch ドキュメントの `_source` プロパティの完全な精度を保持します。このマッピングがない場合、OpenSearch はデフォルトでテキストを使用します。 | Amazon DocumentDB は[小数](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| 正規表現 | 正規表現タイプはネストされたフィールドを作成します。例えば、{{<myFieldName>}}.patternや{{<myFieldName>}}.options などです。 | Amazon DocumentDB は[正規表現](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| バイナリデータ | OpenSearch は、Amazon DocumentDB バイナリデータを OpenSearch テキストに自動的にマッピングします。これらを OpenSearch のバイナリフィールドとして書き込むためのマッピングを提供できます。<br />次の例は、`imageData` という名前の Amazon DocumentDB フィールドを、OpenSearch バイナリフィールドにマッピングする方法を示しています。<pre>{<br /> "template": {<br />  "mappings": {<br />   "properties": {<br />    "imageData": {<br />     "type": "binary"<br />    }<br />   }<br />  }<br /> }<br />}</pre> | Amazon DocumentDB は[バイナリデータフィールド](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| ObjectId | objectId 型のフィールドは OpenSearch テキストフィールドにマッピングされます。値は objectId の文字列表現になります。 | Amazon DocumentDB は [objectIds](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types) をサポートしています。 | 
| Null | OpenSearch は、Amazon DocumentDB の null 型のドキュメントを取り込むことができます。値は null 値としてドキュメントに保存されます。この型にはマッピングがなく、このフィールドにはインデックスが付けられず、検索もできません。<br />同じ属性名が null 型に使用され、後で文字列などの別の型に変更される場合、OpenSearch は、最初の null 以外の値について動的マッピングを作成します。後続の値は引き続き Amazon DocumentDB の null 値にすることができます。 | Amazon DocumentDB は [null 型のフィールド](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| 未定義 | OpenSearch は、Amazon DocumentDB 未定義型のドキュメントを取り込むことができます。値は null 値としてドキュメントに保存されます。この型にはマッピングがなく、このフィールドにはインデックスが付けられず、検索もできません。<br />同じフィールド名が未定義型に使用され、後で文字列などの別の型に変更される場合、OpenSearch は、最初の未定義以外の値について動的マッピングを作成します。後続の値は引き続き Amazon DocumentDB の未定義の値にすることができます。 | Amazon DocumentDB は[未定義型のフィールド](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| MinKey | OpenSearch は、Amazon DocumentDB の minKey 型のドキュメントを取り込むことができます。値は null 値としてドキュメントに保存されます。この型にはマッピングがなく、このフィールドにはインデックスが付けられず、検索もできません。<br />同じフィールド名が minKey 型に使用され、後で文字列などの別の型に変更される場合、OpenSearch は、最初の minKey 以外の値について動的マッピングを作成します。後続の値は引き続き Amazon DocumentDB の minKey 値にすることができます。 | Amazon DocumentDB は [minKey 型のフィールド](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 
| MaxKey | OpenSearch は、Amazon DocumentDB の maxKey 型のドキュメントを取り込むことができます。値は null 値としてドキュメントに保存されます。この型にはマッピングがなく、このフィールドにはインデックスが付けられず、検索もできません。<br />同じフィールド名が maxKey 型に使用され、後で文字列などの別の型に変更される場合、OpenSearch は、最初の maxKey 以外の値について動的マッピングを作成します。後続の値は引き続き Amazon DocumentDB の maxKey 値にすることができます。 | Amazon DocumentDB は [maxKey 型のフィールド](https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-data-types)をサポートしています。 | 

OpenSearch Ingestion パイプラインでデッドレターキュー (DLQ) を設定することをお勧めします。キューが設定済みである場合、OpenSearch Service は、動的マッピングの失敗により取り込めなかったすべての失敗したドキュメントをキューに送信します。

自動マッピングが失敗した場合は、パイプライン設定で `template_type` と `template_content` を使用して明示的なマッピングルールを定義できます。あるいは、パイプラインを開始する前に、検索ドメインまたはコレクションにマッピングテンプレートを直接作成することもできます。

## 制限事項
<a name="docdb-pipeline-limitations"></a>

Amazon DocumentDB 用に OpenSearch Ingestion パイプラインを設定する際には、次の制限を考慮してください。
+ OpenSearch Ingestion と Amazon DocumentDB の統合は現在、クロスリージョンの取り込みをサポートしていません。Amazon DocumentDB クラスターと OpenSearch Ingestion パイプラインは、同じ AWS リージョンに存在する必要があります。
+ OpenSearch Ingestion と Amazon DocumentDB の統合は現在、クロスアカウントの取り込みをサポートしていません。Amazon DocumentDB クラスターと OpenSearch Ingestion パイプラインは、同じ AWS アカウントに存在する必要があります。
+ OpenSearch Ingestion パイプラインは、ソースとして 1 つの Amazon DocumentDB クラスターのみをサポートします。
+ OpenSearch Ingestion と Amazon DocumentDB の統合は、Amazon DocumentDB インスタンスベースのクラスターを特にサポートしています。Amazon DocumentDB エラスティッククラスターはサポートされていません。
+ OpenSearch Ingestion 統合は、Amazon DocumentDB クラスターの認証メカニズム AWS Secrets Manager としてのみ をサポートします。
+ 既存のパイプライン設定を更新して、別のデータベースまたはコレクションからデータを取り込むことはできません。代わりに、新しいパイプラインを作成する必要があります。

## 推奨される CloudWatch アラーム
<a name="cloudwatch-metrics-docdb"></a>

最高のパフォーマンスを得るには、OpenSearch Ingestion パイプラインを作成して Amazon DocumentDB クラスターにソースとしてアクセスするときに、次の CloudWatch アラームを使用することをお勧めします。


| CloudWatch アラーム | 説明 | 
| --- | --- | 
| {{<pipeline-name>}}.doucmentdb.credentialsChanged | このメトリクスは、 AWS シークレットがローテーションされる頻度を示します。 | 
| {{<pipeline-name>}}.doucmentdb.executorRefreshErrors | このメトリクスは、 AWS シークレットの更新に失敗したことを示します。 | 
| {{<pipeline-name>}}.doucmentdb.exportRecordsTotal | このメトリクスは、Amazon DocumentDB からエクスポートされたレコードの数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.exportRecordsProcessed | このメトリクスは、OpenSearch Ingestion パイプラインによって処理されたレコードの数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.exportRecordProcessingErrors | このメトリクスは、Amazon DocumentDB クラスターからデータを読み取る際の OpenSearch Ingestion パイプラインの処理エラーの数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.exportRecordsSuccessTotal | このメトリクスは、正常に処理されたエクスポートレコードの合計数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.exportRecordsFailedTotal | このメトリクスは、処理に失敗したエクスポートレコードの合計数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.bytesReceived | このメトリクスは、OpenSearch Ingestion パイプラインによって受信された合計バイト数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.bytesProcessed | このメトリクスは、OpenSearch Ingestion パイプラインによって処理されたバイトの合計数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.exportPartitionQueryTotal | このメトリクスは、エクスポートパーティションの合計を示します。 | 
| {{<pipeline-name>}}.doucmentdb.streamRecordsSuccessTotal | このメトリクスは、ストリームから正常に処理されたレコードの数を示します。 | 
| {{<pipeline-name>}}.doucmentdb.streamRecordsFailedTotal | このメトリクスは、ストリームから処理に失敗したレコードの合計数を示します。 | 