Amazon OpenSearch Ingestion パイプラインの VPC アクセスの設定 - Amazon OpenSearch Service

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

Amazon OpenSearch Ingestion パイプラインの VPC アクセスの設定

インターフェイス VPC エンドポイントを使用して Amazon OpenSearch Ingestion パイプラインにアクセスできます。VPC は、自分の AWS アカウント 専用の仮想ネットワークです。VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されています。VPC エンドポイントを介してパイプラインにアクセスすることで、インターネットゲートウェイや NAT デバイス、または VPN 接続を使わなくても、OpenSearch Ingestion と VPC の他のサービスとの間に安全な通信を確立できます。すべてのトラフィックは AWS クラウド内で安全に保持されます。

OpenSearch Ingestion がこのプライベート接続を確立するには、AWS PrivateLink を利用したインターフェイスエンドポイントを作成します。パイプライン作成中に指定した各サブネットでエンドポイントネットワークインターフェイスを作成します。これらは OpenSearch Ingestion パイプラインに送信されるトラフィックのエントリポイントとして機能する、リクエスタマネージド型のネットワークインターフェイスです。また、インターフェイスエンドポイントを自分で作成および管理することもできます。

VPC を使用すれば、データを、パブリックインターネット経由ではなく VPC の境界内の OpenSearch Ingestion パイプラインを通して流すことができます。VPC 内にないパイプラインは、一般向けのエンドポイントとインターネットを経由してデータを送受信します。

VPC アクセスを持つパイプラインは、パブリックまたは VPC OpenSearch Service ドメイン、およびパブリックまたは VPC OpenSearch Serverless コレクションに書き込むことができます。

考慮事項

パイプラインの VPC アクセスを設定する際は、以下の点に注意してください。

  • パイプラインは、そのシンクと同じ VPC 内にある必要はありません。また、2 つの VPC 間の接続を確立する必要もありません。OpenSearch Ingestion が自動的にそれらを接続します。

  • パイプラインに指定できる VPC は 1 つのみです。

  • パブリックパイプラインとは異なり、VPC パイプラインは書き込み先のドメインまたはコレクションシンクと同じ AWS リージョンになければなりません。

  • パイプラインは、VPC の 1 つ、2 つ、3 つのいずれかのサブネットにデプロイできます。サブネットは、Ingestion OpenSearch Compute Units (OCU) がデプロイされているアベイラビリティーゾーンと同じアベイラビリティーゾーンに分散されます。

  • パイプラインを 1 つのサブネットにのみデプロイした場合、そのアベイラビリティーゾーンがダウンするとデータを取り込めなくなります。高可用性を確保するために、パイプラインを 2 つまたは 3 つのサブネットで構成することが推奨されます。

  • セキュリティグループの指定はオプションです。セキュリティグループを指定しないと、OpenSearch Ingestion では、VPC で指定されているデフォルトのセキュリティグループが使用されます。

制限

VPC 内のパイプラインには、次の制限事項があります。

  • パイプラインの作成後は、パイプラインのネットワーク設定を変更できません。VPC 内でパイプラインを起動した場合、後からこれをパブリックエンドポイントに変更することはできず、その逆もまた同様です。

  • インターフェイス VPC エンドポイントまたはパブリックエンドポイント内のいずれかでパイプラインを起動することはできますが、両方を実行することはできません。パイプラインを作成するときに、いずれかを選択する必要があります。

  • VPC アクセス内でパイプラインをプロビジョニングした後は、そのパイプラインを別の VPC に移動させることはできず、そのサブネットまたはセキュリティグループの設定を変更することはできません。

  • パイプラインが VPC アクセスを使用するドメインまたはコレクションシンクに書き込みを行う場合、パイプラインの作成後に、前に戻ってシンク (VPC またはパブリック) を変更することはできません。そのパイプラインを削除し、新しいシンクを使って改めて作成する必要があります。パブリックシンクから VPC アクセスのあるシンクに切り替えることは可能です。

  • VPC パイプラインへのアカウントを横断した取り込みアクセスを提供することはできません。

前提条件

VPC アクセス内のパイプラインをプロビジョニングするには、まず次の手順を行います。

  • VPC を作成する

    VPC を作成するには、Amazon VPC コンソール、AWS CLI、またはいずれかの AWS SDK を使用できます。詳細については、Amazon VPC ユーザーガイドの「VPC の使用」を参照してください。VPC が既にある場合、このステップは省略できます。

  • IP アドレスのリザーブ

    OpenSearch Ingestion が、パイプラインの作成時に指定した各サブネットに、elastic network interface を配置します。各ネットワークインターフェースは 1 つの IP アドレスに関連付けられます。ネットワークインターフェイス用にサブネットごとに 1 つの IP アドレスを予約する必要があります。

パイプラインの VPC アクセスを設定する

パイプラインの VPC アクセスは、OpenSearch Service コンソールから、または AWS CLI を使用して許可します。

VPC アクセスの設定は、パイプラインの作成時に行います。[ソースネットワークオプション][VPC アクセス] を選択し、次のように設定します。

設定 説明
[エンドポイントの管理]

VPC エンドポイントを自分で作成するか、OpenSearch Ingestion で作成するかを選択します。

VPC

使用する仮想プライベートクラウド (VPC) の ID を選択します。VPC とパイプラインは同じ AWS リージョン の中になければなりません。

サブネット

1 つ以上のサブネットを選択します。OpenSearch Service は VPC エンドポイントと Elastic Network Interface (ENI) をサブネットに配置します。

[セキュリティグループ]。

必要なアプリケーションが、パイプラインによって公開されているポート (80 または 443) とプロトコル (HTTP または HTTP) で、OpenSearch Ingestion パイプラインに到達できるよう、1 つ以上の VPC セキュリティグループを選択します。

VPC アタッチメントオプション

ソースが Amazon DocumentDB、セルフマネージド OpenSearch、Confluent Kafka などのクロス VPC 通信を必要とする場合、OpenSearch Ingestion は、これらのソースに接続するために指定したサブネットに Elastic Network Interface (ENI) を作成します。OpenSearch Ingestion は ENI を使用して、指定されたソースに到達します。[VPC にアタッチ] オプションにより、OpenSearch Ingestion データプレーン VPC を指定された VPC に接続します。

マネージド VPC の CIDR 予約を選択して、ネットワークインターフェイスをデプロイします。

AWS CLI を使用して VPC アクセスを設定するには、--vpc-options パラメータを指定します。

aws osis create-pipeline \ --pipeline-name vpc-pipeline \ --min-units 4 \ --max-units 10 \ --vpc-options SecurityGroupIds={sg-12345678,sg-9012345},SubnetIds=subnet-1212234567834asdf \ --pipeline-configuration-body "file://pipeline-config.yaml"

セルフマネージド VPC エンドポイント

パイプラインを作成するときは、エンドポイント管理を使用して、セルフマネージドエンドポイントまたはサービスマネージドエンドポイントを使用してパイプラインを作成できます。エンドポイント管理はオプションで、デフォルトでは OpenSearch Ingestion によって管理されるエンドポイントに設定されます。

AWS マネジメントコンソールでセルフマネージド VPC エンドポイントを使用してパイプラインを作成するには、「Creating pipelines with the OpenSearch Service console」を参照してください。AWS CLI でセルフマネージド VPC エンドポイントを使用してパイプラインを作成するには、create-pipeline コマンドで --vpc-options パラメータを使用できます。

--vpc-options SubnetIds=subnet-abcdef01234567890,VpcEndpointManagement=CUSTOMER

エンドポイントサービスを指定すると、パイプラインへのエンドポイントを自分で作成できます。エンドポイントサービスを検索するには、get-pipeline コマンドを使用します。このコマンドは、次のようなレスポンスを返します。

"vpcEndpointService" : "com.amazonaws.osis.us-east-1.pipeline-id-1234567890abcdef1234567890", "vpcEndpoints" : [ { "vpcId" : "vpc-1234567890abcdef0", "vpcOptions" : { "subnetIds" : [ "subnet-abcdef01234567890", "subnet-021345abcdef6789" ], "vpcEndpointManagement" : "CUSTOMER" } }

レスポンスの vpcEndpointService を使用して、AWS マネジメントコンソールまたは AWS CLI で VPC エンドポイントを作成します。

セルフマネージド VPC エンドポイントを使用する場合は、VPC で DNS 属性 enableDnsSupportenableDnsHostnames を有効にする必要があります。セルフマネージドエンドポイントを持つパイプラインを停止して再起動する場合は、アカウントで VPC エンドポイントを再作成する必要があります。

VPC アクセス用のサービスにリンクされたロール

サービスにリンクされたロールは、サービスに権限を委任する一意のタイプの IAM ロールであり、ユーザーに代わってリソースを作成して管理できます。サービスマネージド VPC エンドポイントを選択する場合、OpenSearch Ingestion には、VPC にアクセスし、パイプラインのエンドポイントを作成し、VPC のサブネットにネットワークインターフェースを配置するために、AWSServiceRoleForAmazonOpenSearchIngestionService という、サービスにリンクされたロールが必要です。

セルフマネージド VPC エンドポイントを選択した場合、OpenSearch Ingestion には AWSServiceRoleForOpensearchIngestionSelfManagedVpce という、サービスにリンクされたロールが必要です。これらのロール、そのアクセス許可と、その削除方法の詳細については、「サービスにリンクされたロールを使用した OpenSearch Ingestion パイプラインの作成」を参照してください。

Ingestion パイプラインを作成すると、OpenSearch Ingestion がロールを自動的に作成します。この自動作成が成功するには、アカウントに最初のパイプラインを作成するユーザーが、iam:CreateServiceLinkedRole アクションに対するアクセス許可を持っている必要があります。詳細については、「IAM User Guide」の「Service-linked role permissions」を参照してください。作成が完了すると、AWS Identity and Access Management (IAM) コンソールでこのロールを確認できます。