での OpenSearch 取り込みパイプラインの使用 OpenSearch - Amazon OpenSearch サービス

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

での OpenSearch 取り込みパイプラインの使用 OpenSearch

自己管理型 OpenSearch または Elasticsearch OpenSearch で Ingestion パイプラインを使用して、データを Amazon OpenSearch Service ドメインと OpenSearch Serverless コレクションに移行できます。Ingestion OpenSearch は、自己管理型と Elasticsearch からのデータの移行のためのパブリックネットワーク設定 OpenSearch とプライベートネットワーク設定の両方をサポートします。

パブリック OpenSearchクラスターへの接続

Ingestion OpenSearch パイプラインを使用して、パブリック設定のセルフマネージドクラスター OpenSearch または Elasticsearch クラスターからデータを移行できます。つまり、DNSドメイン名をパブリックに解決できます。そのためには、セルフマネージド OpenSearch 型または Elasticsearch OpenSearch をソースとして、 OpenSearch Service または OpenSearch Serverless を送信先として Ingestion パイプラインを設定します。これにより、セルフマネージド型のソースクラスターから AWSマネージド型の送信先ドメインまたはコレクションにデータが効果的に移行されます。

前提条件

OpenSearch 取り込みパイプラインを作成する前に、次のステップを実行します。

  1. 移行するデータを含むセルフマネージドクラスター OpenSearch または Elastisearch クラスターを作成し、パブリックDNS名を設定します。

  2. データを移行する OpenSearch サービスドメインまたは OpenSearch サーバーレスコレクションを作成します。詳細については、 OpenSearch 「サービスドメインの作成」および「コレクションの作成」を参照してください。

  3. を使用して、セルフマネージドクラスターで認証を設定します AWS Secrets Manager。「シークレットのローテーション」の手順に従って、AWS Secrets Manager シークレットのローテーションを有効にします。

  4. リソースベースのポリシーをドメインにアタッチするか、データアクセスポリシーをコレクションにアタッチします。これらのアクセスポリシーにより、Ingestion OpenSearch は自己管理型クラスターからドメインまたはコレクションにデータを書き込むことができます。

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{pipeline-account-id}:role/pipeline-role" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:{region}:{account-id}:domain/domain-name" ] } ] }

    コレクションまたはドメインへの書き込みデータにアクセスするための正しいアクセス許可を持つ IAMロールを作成するには、「ドメインに必要なアクセス許可」および「コレクションに必要なアクセス許可」を参照してください。

ステップ 1: パイプラインロールを設定する

OpenSearch パイプラインの前提条件を設定したら、パイプライン設定で使用するパイプラインロールを設定し、 OpenSearch サービスドメインまたは OpenSearch サーバーレスコレクションに書き込むアクセス許可と、Secrets Manager からシークレットを読み取るアクセス許可を追加します。

ステップ 2: パイプラインを作成する

その後、ソース OpenSearch として を指定する Ingestion OpenSearch パイプラインを次のように設定できます。

複数の OpenSearch サービスドメインをデータの送信先として指定できます。この機能により、受信データを複数の OpenSearch サービスドメインに条件付きでルーティングまたはレプリケーションできます。

ソース OpenSearch または Elasticsearch クラスターから OpenSearch Serverless VPCコレクションにデータを移行することもできます。パイプライン設定内でネットワークアクセスポリシーを指定していることを確認します。

version: "2" opensearch-migration-pipeline: source: opensearch: acknowledgments: true host: [ "https://my-self-managed-cluster-name:9200" ] indices: include: - index_name_regex: "include-.*" exclude: - index_name_regex: '\..*' authentication: username: ${aws_secrets:secret:username} password: ${aws_secrets:secret:password} scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com"] aws: sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-east-1" #Uncomment the following lines if your destination is an OpenSearch Serverless collection #serverless: true # serverless_options: # network_policy_name: "network-policy-name" index: "${getMetadata(\"opensearch-index\")}" document_id: "${getMetadata(\"opensearch-document_id\")}" enable_request_compression: true dlq: s3: bucket: "bucket-name" key_path_prefix: "apache-log-pipeline/logs/dlq" region: "us-east-1" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" extension: aws: secrets: secret: secret_id: "my-opensearch-secret" region: "us-east-1" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" refresh_interval: PT1H

事前設定された設計図を使用して、このパイプラインを作成できます。詳細については、「ブループリントを使用したパイプラインの作成」を参照してください。

内の OpenSearch クラスターへの接続 VPC

取り込みパイプラインを使用して、 OpenSearch で実行されているセルフマネージドクラスター OpenSearch または Elasticsearch クラスターからデータを移行することもできますVPC。これを行うには、セルフマネージド型 OpenSearch または OpenSearch Elasticsearch をソースとして、 OpenSearch Service または OpenSearch Serverless を送信先として Ingestion パイプラインを設定します。これにより、セルフマネージド型のソースクラスターから AWSマネージド型の送信先ドメインまたはコレクションにデータが効果的に移行されます。

前提条件

OpenSearch 取り込みパイプラインを作成する前に、次のステップを実行します。

  1. 移行するデータを含むVPCネットワーク設定で、セルフマネージド型クラスター OpenSearch または Elastisearch クラスターを作成します。

  2. データを移行する OpenSearch サービスドメインまたは OpenSearch サーバーレスコレクションを作成します。詳細については、 OpenSearch 「サービスドメインの作成」および「コレクションの作成」を参照してください。

  3. を使用して、セルフマネージドクラスターで認証を設定します AWS Secrets Manager。「シークレットのローテーション」の手順に従って、AWS Secrets Manager シークレットのローテーションを有効にします。

  4. セルフマネージド型 OpenSearch または Elasticsearch VPCにアクセスできる の ID を取得します。取り込みVPCCIDRで使用する OpenSearch を選択します。

    注記

    を使用してパイプライン AWS Management Console を作成する場合は、セルフマネージド型 OpenSearch または Elasticsearch OpenSearch を使用するには、取り込みパイプラインも VPCにアタッチする必要があります。これを行うには、ネットワーク設定セクションを検索し、「アタッチ先VPC」チェックボックスを選択し、提供されているデフォルトオプションのいずれかCIDRから を選択するか、独自のものを選択します。RFC 1918 年ベストプラクティス で定義されているように、プライベートアドレス空間CIDRから任意の を使用できます。

    カスタム を指定するにはCIDR、ドロップダウンメニューからその他を選択します。取り込み とセルフマネージド OpenSearch の間の IP アドレスの衝突を回避するには OpenSearch、セルフマネージド OpenSearch VPC CIDRが取り込み CIDR の OpenSearch と異なることを確認してください。

  5. リソースベースのポリシーをドメインにアタッチするか、コレクションにデータアクセスポリシーをアタッチします。これらのアクセスポリシーにより、Ingestion OpenSearch は自己管理型クラスターからドメインまたはコレクションにデータを書き込むことができます。

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{pipeline-account-id}:role/pipeline-role" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:{region}:{account-id}:domain/domain-name" ] } ] }

    コレクションまたはドメインへの書き込みデータにアクセスするための正しいアクセス許可を持つ IAMロールを作成するには、「ドメインに必要なアクセス許可」および「コレクションに必要なアクセス許可」を参照してください。

ステップ 1: パイプラインロールを設定する

パイプラインの前提条件を設定したら、パイプライン設定で使用するパイプラインロールを設定し、ロールに次のアクセス許可を追加します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerReadAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": ["arn:aws:secretsmanager:{region}:{account-id}:secret:secret-name"] }, { "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": [ "arn:aws:ec2:*:{account-id}:network-interface/*", "arn:aws:ec2:*:{account-id}:subnet/*", "arn:aws:ec2:*:{account-id}: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" } } } ] }

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

ステップ 2: パイプラインを作成する

その後、ソース OpenSearch として を指定する Ingestion OpenSearch パイプラインを次のように設定できます。

複数の OpenSearch サービスドメインをデータの送信先として指定できます。この機能により、受信データを複数の OpenSearch サービスドメインに条件付きでルーティングまたはレプリケーションできます。

ソース OpenSearch または Elasticsearch クラスターから OpenSearch Serverless VPCコレクションにデータを移行することもできます。パイプライン設定内でネットワークアクセスポリシーを指定していることを確認します。

version: "2" opensearch-migration-pipeline: source: opensearch: acknowledgments: true host: [ "https://my-self-managed-cluster-name:9200" ] indices: include: - index_name_regex: "include-.*" exclude: - index_name_regex: '\..*' authentication: username: ${aws_secrets:secret:username} password: ${aws_secrets:secret:password} scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com"] aws: sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-east-1" #Uncomment the following lines if your destination is an OpenSearch Serverless collection #serverless: true # serverless_options: # network_policy_name: "network-policy-name" index: "${getMetadata(\"opensearch-index\")}" document_id: "${getMetadata(\"opensearch-document_id\")}" enable_request_compression: true dlq: s3: bucket: "bucket-name" key_path_prefix: "apache-log-pipeline/logs/dlq" region: "us-east-1" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" extension: aws: secrets: secret: secret_id: "my-opensearch-secret" region: "us-east-1" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" refresh_interval: PT1H

事前設定された設計図を使用して、このパイプラインを作成できます。詳細については、「ブループリントを使用したパイプラインの作成」を参照してください。