クロスアカウント取り込み用の OpenSearch Ingestion パイプラインの設定 - Amazon OpenSearch Service

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

クロスアカウント取り込み用の OpenSearch Ingestion パイプラインの設定

HTTP や OTel などのプッシュベースのソースの場合、Amazon OpenSearch Ingestion を使用すると、仮想プライベートクラウド (VPC) AWS アカウント から別の VPC のパイプラインエンドポイントにパイプラインを共有できます。組織内の他のチームと分析を共有するチームは、ログ分析の共有など、より合理化された方法でこの機能を使用します。

このセクションでは、次の用語を使用します。

  • パイプライン所有者 — OpenSearch Ingestion パイプラインを所有および管理しているアカウント。パイプラインを所有できるのは 1 つのアカウントのみです。

  • 接続アカウント - 共有パイプラインに接続して使用するアカウント。複数のアカウントが同じパイプラインに接続できます。

OpenSearch Ingestion パイプラインを共有するように VPCs を設定するには AWS アカウント、以下で説明するように、次のタスクを実行します。

[開始する前に]

OpenSearch Ingestion パイプラインを共有するように VPCs を設定する前に AWS アカウント、次のタスクを完了します。

タスク 詳細

1 つ以上の OpenSearch Ingestion パイプラインを作成する

OpenSearch コンピューティングユニット (OSUs) の最小値を 2 以上に設定します。詳細については、「Amazon OpenSearch Ingestion パイプラインの作成」を参照してください。パイプラインの更新については、「」を参照してくださいAmazon OpenSearch Ingestion パイプラインの更新

OpenSearch Ingestion 用の 1 つ以上の VPCs

クロスアカウントパイプライン共有を有効にするには、パイプラインとパイプラインエンドポイントに関連する VPC に次の DNS 値を設定する必要があります。

  • enableDnsSupport=true

  • enableDnsHostnames=true

詳細についてはAmazon VPC ユーザーガイドの「DNS attributes for your VPC」(VPC の DNS 属性) を参照してください。

パイプラインへのアクセスを接続アカウントに許可する

このセクションの手順では、OpenSearch Service コンソールと を使用して AWS CLI 、リソースポリシーを作成してクロスアカウントパイプラインアクセスを設定する方法について説明します。リソースポリシーを使用すると、パイプライン所有者はパイプラインにアクセスできる他のアカウントを指定できます。作成後、パイプラインポリシーは、パイプラインが存在する限り、またはポリシーが削除されるまで存在します。

注記

リソースポリシーは、IAM アクセス許可を使用した標準の OpenSearch Ingestion 認可に代わるものではありません。リソースポリシーは、クロスアカウントパイプラインアクセスを有効にするための追加の認可メカニズムです。

接続アカウントにパイプラインへのアクセスを許可する (コンソール)

Amazon OpenSearch Service コンソールを使用して接続アカウントにパイプラインへのアクセスを許可するには、次の手順に従います。

パイプラインエンドポイント接続を作成するには
  1. Amazon OpenSearch Service コンソールのナビゲーションペインで、取り込みを展開し、パイプラインを選択します。

  2. Pipelines セクションで、接続アカウントにアクセス権を付与するパイプラインの名前を選択します。

  3. VPC エンドポイントタブを選択します。

  4. 「許可されたプリンシパル」セクションで、「アカウントの承認」を選択します。

  5. AWS アカウント ID フィールドに 12 桁の数字のアカウント ID を入力し、承認を選択します。

接続しているアカウントにパイプラインへのアクセスを許可する (CLI)

を使用して接続アカウントにパイプラインへのアクセスを許可するには、次の手順に従います AWS CLI。

接続アカウントにパイプラインへのアクセスを許可するには
  1. を最新バージョン ( AWS CLI バージョン 2.0) に更新します。詳細については、「Installing or updating to the latest version of the AWS CLI」を参照してください。

  2. アカウントと共有するパイプライン AWS リージョン で CLI を開きます。

  3. 次のコマンドを実行して、パイプラインのリソースポリシーを作成します。このポリシーは、パイプラインに対する アクセスosis:CreatePipelineEndpoint許可を付与します。ポリシーには、許可する AWS アカウント IDsを一覧表示できるパラメータが含まれています。

    注記

    次のコマンドでは、12 桁のアカウント ID のみを指定して、短い形式のアカウント ID を使用する必要があります。ARN を使用しても機能しません。また、パイプラインの Amazon リソースネーム (ARN) は、次に示すように、 の CLI パラメータで指定resource-arnResource、 のポリシー JSON で指定する必要があります。

    aws --region region osis-cross-account put-resource-policy \ --resource-arn arn:aws:osis:region:pipeline-owner-account-ID:pipeline/pipeline-name --policy 'IAM-policy'

    IAM ポリシーに次のようなポリシーを使用する

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAccess", "Effect": "Allow", "Principal": { "AWS": [ "111122223333", "444455556666" ] }, "Action": "osis:CreatePipelineEndpoint", "Resource": "arn:aws:osis:us-east-1:123456789012:pipeline/pipeline-name" } ] }

接続する VPC ごとにパイプラインエンドポイント接続を作成する

パイプライン所有者が前の手順を使用して VPC 内のパイプラインへのアクセスを許可すると、接続アカウントのユーザーは VPC にパイプラインエンドポイントを作成します。このセクションでは、OpenSearch Service コンソールと を使用してエンドポイントを作成する手順について説明します AWS CLI。エンドポイントを作成すると、OpenSearch Ingestion は次のアクションを実行します。

  • AWSServiceRoleForAmazonOpenSearchIngestionService サービスにリンクされたロールがまだ存在しない場合は、アカウントに作成します。このロールは、接続アカウントのユーザーに CreatePipelineEndpoint API アクションを呼び出すアクセス許可を付与します。

  • パイプラインエンドポイントを作成します。

  • パイプライン所有者 VPC の共有パイプラインからデータを取り込むようにパイプラインエンドポイントを設定します。

パイプラインエンドポイント接続の作成 (コンソール)

OpenSearch Service コンソールを使用してパイプラインエンドポイント接続を作成するには、次の手順に従います。

パイプラインエンドポイント接続を作成するには
  1. Amazon OpenSearch Service コンソールのナビゲーションペインで、取り込みを展開し、VPC エンドポイントを選択します。

  2. VPC エンドポイントページで、作成を選択します。

  3. パイプラインの場所で、オプションを選択します。現在のアカウントを選択した場合は、リストからパイプラインを選択します。クロスアカウントを選択した場合は、 フィールドにパイプライン ARN を指定します。パイプライン所有者は、「」で説明されているように、パイプラインへのアクセスを許可している必要がありますパイプラインへのアクセスを接続アカウントに許可する

  4. VPC 設定セクションの VPC で、リストから VPC を選択します。

  5. [Subnets (サブネット)] では、1 個のサブネットを選択します。

  6. セキュリティグループで、グループを選択します。

  7. [エンドポイントの作成] を選択します。

作成したエンドポイントのステータスが に移行するのを待ちますACTIVE。パイプラインが になるとACTIVE、 という名前の新しいフィールドが表示されますingestEndpointUrl。このエンドポイントを使用してパイプラインにアクセスし、FluentBit などのクライアントを使用してデータを取り込みます。FluentBit を使用してデータを取り込む方法の詳細については、「」を参照してくださいOpenSearch Ingestion パイプラインを Fluent Bit で使用する

注記

ingestEndpointUrl は、すべての接続アカウントで同じ URL です。

パイプラインエンドポイント接続の作成 (CLI)

を使用してパイプラインエンドポイント接続をクレートするには、次の手順に従います AWS CLI。

パイプラインエンドポイント接続を作成するには
  1. まだ更新していない場合は、最新バージョンの AWS CLI (バージョン 2.0) に更新してください。詳細については、「Installing or updating to the latest version of the AWS CLI」を参照してください。

  2. 共有パイプライン AWS リージョン を持つ の接続アカウントで CLI を開きます。

  3. 次のコマンドを実行して、パイプラインエンドポイントを作成します。

    注記

    接続アカウント VPC には、少なくとも 1 つのサブネットと 1 つのセキュリティグループを指定する必要があります。セキュリティグループにはポート 443 が含まれ、接続アカウント VPC でクライアントをサポートする必要があります。

    aws osis --region region create-pipeline-endpoint \ --pipeline-arn arn:aws:osis:region:connecting-account-ID:pipeline/shared-pipeline-name --vpc-options SecurityGroupIds={sg-security-group-ID-1,sg-security-group-ID-2},SubnetIds=subnet-subnet-ID
  4. 次のコマンドを実行して、前のコマンドで指定したリージョンのエンドポイントを一覧表示します。

    aws osis-cross-account --region region list-pipeline-endpoints

作成したエンドポイントのステータスが に移行するのを待ちますACTIVE。パイプラインが になるとACTIVE、 という名前の新しいフィールドが表示されますingestEndpointUrl。このエンドポイントを使用してパイプラインにアクセスし、FluentBit などのクライアントを使用してデータを取り込みます。FluentBit を使用してデータを取り込む方法の詳細については、「」を参照してくださいOpenSearch Ingestion パイプラインを Fluent Bit で使用する

注記

ingestEndpointUrl は、すべての接続アカウントで同じ URL です。

パイプラインエンドポイントの削除

共有パイプラインへのアクセスを提供しなくなった場合は、次のいずれかの方法を使用してパイプラインエンドポイントを削除できます。

  • パイプラインエンドポイント (接続アカウント) を削除します。

  • パイプラインエンドポイント (パイプライン所有者) を取り消します。

接続アカウントのパイプラインエンドポイントを削除するには、次の手順に従います。

パイプラインエンドポイントを削除するには (接続アカウント)
  1. 共有パイプライン AWS リージョン を持つ の接続アカウントで CLI を開きます。

  2. 次のコマンドを実行して、 リージョンのパイプラインエンドポイントを一覧表示します。

    aws osis-cross-account --region region list-pipeline-endpoints

    削除するパイプライン ID を書き留めます。

  3. 次のコマンドを実行して、パイプラインエンドポイントを削除します。

    aws osis-cross-account --region region delete-pipeline-endpoint \ --endpoint-id 'ID'

共有パイプラインのパイプライン所有者として、次の手順を使用してパイプラインエンドポイントを取り消します。

パイプラインエンドポイントを取り消すには (パイプライン所有者)
  1. 共有パイプライン AWS リージョン を持つ の接続アカウントで CLI を開きます。

  2. 次のコマンドを実行して、 リージョンのパイプラインエンドポイント接続を一覧表示します。

    aws osis-cross-account --region region list-pipeline-endpoint-connections

    削除するパイプライン ID を書き留めます。

  3. 次のコマンドを実行して、パイプラインエンドポイントを削除します。

    aws osis-cross-account --region region revoke-pipeline-endpoint-connections \ --pipeline-arn pipeline-arn --endpoint-ids ID

    コマンドでは、エンドポイント ID を 1 つだけ指定できます。