インターフェイスエンドポイント (AWS PrivateLink) を使用して Amazon OpenSearch Serverless にアクセスする - Amazon OpenSearch Service

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

インターフェイスエンドポイント (AWS PrivateLink) を使用して Amazon OpenSearch Serverless にアクセスする

を使用してAWS PrivateLink、VPC と Amazon OpenSearch Serverless の間にプライベート接続を作成できます。インターネットゲートウェイ、NAT デバイス、VPN 接続、または Direct Connect接続を使用せずに、VPC 内にあるかのように OpenSearch Serverless にアクセスできます。VPC のインスタンスは、パブリック IP アドレスがなくても OpenSearch Serverless にアクセスできます。VPC ネットワークアクセスの詳細については、「Network connectivity patterns for Amazon OpenSearch Serverless」を参照してください。

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

詳細については、「AWS PrivateLinkガイド」の「AWS PrivateLinkから AWS のサービスにアクセスする」を参照してください。

インターフェイス VPC エンドポイントを使用するように OpenSearch Serverless を設定することで、VPC のセキュリティ体制を改善できます。インターフェイスエンドポイントは AWSPrivateLink を利用しています。このテクノロジーにより、インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWSDirect Connect 接続なしで、OpenSearch Serverless APIs にプライベートにアクセスできます。

AWSPrivateLink と VPC エンドポイントの詳細については、「Amazon VPC ユーザーガイド」の「VPC エンドポイント」を参照してください。

考慮事項

  • VPC エンドポイントは、同じリージョン内でのみサポートされます。

  • VPC エンドポイントでは、Amazon Route 53 を介して Amazon 提供の DNS のみがサポートされています。

  • VPC エンドポイントは、OpenSearch Serverless コレクション、ポリシー、および VpcEndpoints へのアクセスを制御するエンドポイントポリシーをサポートします。

  • OpenSearch Serverless はインターフェイスエンドポイントのみをサポートします。ゲートウェイエンドポイントはサポートされていません。

OpenSearch Serverless の VPC エンドポイントの作成

Amazon OpenSearch Serverless の VPC エンドポイントを作成するには、「Amazon VPC デベロッパーガイド」の「インターフェイス VPC エンドポイントを使用して AWSサービスにアクセスする」の手順を使用します。 次のエンドポイントを作成します。

  • com.amazonaws.region.aoss

コンソールを使用して VPC エンドポイントを作成するには

  • Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  • ナビゲーションペインで、[Endpoints] (エンドポイント) を選択します。

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

  • サービスカテゴリで、 を選択しますAWS のサービス。

  • サービス で、 を選択しますcom.amazonaws.<region>.aoss。例: com.amazonaws.us-east-1.aoss

  • [VPC] で、エンドポイントを作成する VPC を選択します。

  • [サブネット] で、エンドポイントネットワークインターフェイスを作成する先のサブネット (アベイラビリティーゾーン) を選択します。

  • セキュリティグループで、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。HTTPS (ポート 443) が許可されていることを確認します。

  • ポリシー では、フルアクセスを選択してすべてのオペレーションを許可するか、カスタムを選択してカスタムポリシーをアタッチします。

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

VPC エンドポイントのエンドポイントポリシーの作成

Amazon OpenSearch Serverless へのアクセスを制御するエンドポイントポリシーを VPC エンドポイントにアタッチできます。このポリシーでは、以下の情報を指定します。

  • アクションを実行できるプリンシパル。

  • 実行可能なアクション。

  • アクションを実行できるリソース。

詳細については、「Amazon VPC ユーザーガイド」の「VPC エンドポイントでサービスへのアクセスを制御する」を参照してください。

例: OpenSearch Serverless の VPC エンドポイントポリシー

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "aoss:ListCollections", "aoss:BatchGetCollection" ], "Resource": "*" } ] }

例: リストオペレーションのみを許可する制限ポリシー

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "aoss:ListCollections", "Resource": "*" } ] }

コレクションエンドポイントの DNS 解決

VPC エンドポイントを作成すると、サービスは新しいAmazon Route 53プライベートホストゾーンを作成し、VPC にアタッチします。このプライベートホストゾーンは、OpenSearch Serverless コレクション (*.aoss.us-east-1.amazonaws.com) のワイルドカード DNS レコードをエンドポイントに使用されるインターフェイスアドレスに解決するレコードで構成されます。VPC 内に OpenSearch Serverless の VPC エンドポイントが 1 つあれば、各 AWS リージョン のすべてのコレクションと Dashboards にアクセスできます。OpenSearch Serverless のエンドポイントを持つすべての VPC には、独自のプライベートホストゾーンがアタッチされています。

OpenSearch Serverless は、リージョン内のすべてのコレクション用にパブリック Route 53 ワイルドカード DNS レコードも作成します。DNS 名は OpenSearch Serverless パブリック IP アドレスに解決されます。OpenSearch Serverless の VPC エンドポイントを持たない VPC 内のクライアント、またはパブリックネットワーク内のクライアントは、パブリック Route 53 リゾルバーを使用し、それらの IP アドレスを使用してコレクションと Dashboards にアクセスできます。VPC エンドポイントの IP アドレスタイプ (IPv4、IPv6、または Dualstack) は、OpenSearch Serverless のインターフェイスエンドポイントを作成するときに提供されるサブネットに基づいて決定されます。

注記

OpenSearch Serverless は、OpenSearch Service ドメイン解決用の追加の Amazon Route 53 プライベートホストゾーン (`<region>.opensearch.amazonaws.com`) を作成します。AWS CLI の update-vpc-endpoint コマンドを使用して、既存の IPv4 VPC エンドポイントを Dualstack に更新できます。

特定の VPC の DNS リゾルバーアドレスは、VPC CIDR の 2 番目の IP アドレスです。VPC 内のクライアントは、そのリゾルバーを使用して、コレクション用の VPC エンドポイントアドレスを取得する必要があります。リゾルバーは、OpenSearch Serverless によって作成されたプライベートホストゾーンを使用します。任意のアカウントのすべてのコレクション用にそのリゾルバーを使用すれば十分です。一部のコレクションエンドポイントには VPC リゾルバーを使用し、他のコレクションエンドポイントにはパブリックリゾルバーを使用することもできますが、通常は必要ありません。

VPC とネットワークアクセスポリシー

コレクション用に OpenSearch API および Dashboards に対するネットワーク許可を付与するために、OpenSearch Serverless のネットワークアクセスポリシーを使用できます。このネットワークアクセスは、VPC エンドポイントまたはパブリックインターネットのいずれからでも制御できます。ネットワークポリシーはトラフィックの許可のみを制御するため、コレクション内のデータとそのインデックスに対して操作するための許可を指定するデータアクセスポリシーも設定する必要があります。OpenSearch Serverless の VPC エンドポイントはサービスへのアクセスポイント、ネットワークアクセスポリシーはコレクションおよび Dashboards へのネットワークレベルのアクセスポイント、データアクセスポリシーはコレクション内のデータに対するあらゆる操作についてのきめ細かいアクセスコントロールのためのアクセスポイントとお考えください。

ネットワークポリシーでは複数の VPC エンドポイント ID を指定できるため、コレクションにアクセスする必要がある VPC ごとに VPC エンドポイントを作成することをお勧めします。これらの VPCsは、OpenSearch Serverless コレクションおよびネットワークポリシーを所有するAWSアカウントとは異なるアカウントに属することができます。あるアカウントの VPC が別のアカウントの VPC エンドポイントを使用することを目的として、2 つのアカウント間で VPC 間ピアリングまたは他のプロキシソリューションを作成することはお勧めしません。これは、各 VPC が独自のエンドポイントを持つ場合よりも安全性とコスト効率が低くなります。最初の VPC を、ネットワークポリシーで他の VPC のエンドポイントへのアクセスを設定しているその VPC の管理者が簡単に表示することはできません。

VPC とエンドポイントポリシー

Amazon OpenSearch Serverless は、VPC 用のエンドポイントポリシーをサポートします。エンドポイントポリシーは、VPC エンドポイントにアタッチして、エンドポイントAWSを使用してAWSサービスにアクセスできるプリンシパルを制御する IAM リソースベースのポリシーです。詳細については、「エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する」を参照してください。

エンドポイントポリシーを使用するには、まずインターフェイスエンドポイントを作成する必要があります。OpenSearch Serverless コンソールまたは OpenSearch Serverless API を使用して、インターフェイスエンドポイントを作成できます。インターフェイスエンドポイントを作成した後、エンドポイントポリシーをエンドポイントに追加する必要があります。詳細については、「インターフェイスエンドポイント (AWS PrivateLink) を使用して Amazon OpenSearch Serverless にアクセスする」を参照してください。

注記

OpenSearch Service コンソールでエンドポイントポリシーを直接定義することはできません。

エンドポイントポリシーは、設定済みの他の ID ベースポリシー、リソースベースポリシー、ネットワークポリシー、またはデータアクセスポリシーをオーバーライドしたり、これらに置き換わったりすることはありません。エンドポイントポリシーの更新の詳細については、「エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する」を参照してください。

デフォルトでは、エンドポイントポリシーにより、VPC エンドポイントに対するフルアクセスが付与されます。

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" } ] }

デフォルトの VPC エンドポイントポリシーにより、エンドポイントに対するフルアクセスが付与されますが、特定のロールおよびユーザーに対するアクセスを許可するように VPC エンドポイントポリシーを設定できます。これを実行するには、次の例を参照してください:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "123456789012", "987654321098" ] }, "Action": "*", "Resource": "*" } ] }

VPC エンドポイントポリシーで、OpenSearch Serverless コレクションを条件要素として含めるように指定できます。これを実行するには、次の例を参照してください:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": [ "coll-abc" ] } } } ] }

aoss:CollectionId のサポートがサポートされています。

Condition": { "StringEquals": { "aoss:CollectionId": "collection-id" } }

VPC エンドポイントポリシーで SAML ID を使用して、VPC エンドポイントアクセスを決定できます。VPC エンドポイントポリシーのプリンシパルセクションではワイルドカード (*) を使用する必要があります。これを実行するには、次の例を参照してください:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "saml:cn": [ "saml/111122223333/idp123/group/football", "saml/111122223333/idp123/group/soccer", "saml/111122223333/idp123/group/cricket" ] } } } ] }

さらに、特定の SAML プリンシパルポリシーを含めるようにエンドポイントポリシーを設定できます。これを実行するには、次を参照してください:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalTag/Department": [ "Engineering"] } } } ] }

Amazon OpenSearch Serverless での SAML 認証の使用の詳細については、「Amazon OpenSearch Serverless での SAML 認証」を参照してください。

また、IAM ユーザーと SAML ユーザーを同じ VPC エンドポイントポリシーに含めることもできます。これを実行するには、次の例を参照してください:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "saml:cn": [ "saml/111122223333/idp123/group/football", "saml/111122223333/idp123/group/soccer", "saml/111122223333/idp123/group/cricket" ] } } }, { "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": "*", "Resource": "*" } ] }

インターフェイス VPC エンドポイントを介して Amazon EC2 から Amazon OpenSearch Serverless コレクションにアクセスすることもできます。詳細については、「Access an OpenSearch Serverless collection from Amazon EC2 (via interface VPC endpoints)」を参照してください。

考慮事項

OpenSearch Serverless のインターフェイスエンドポイントを設定する前に、次の点を考慮してください。

  • OpenSearch Serverless は、サポートされているすべての OpenSearch API オペレーション (設定 API オペレーションではない) をインターフェイスエンドポイント経由で呼び出すことをサポートしています。

  • OpenSearch Serverless のインターフェイスエンドポイントを作成したら、Serverless コレクションにアクセスできるようにするために、そのエンドポイントをネットワークアクセスポリシーに含める必要があります。

  • デフォルトでは、インターフェイスエンドポイント経由で OpenSearch Serverless へのフルアクセスが許可されます。セキュリティグループをエンドポイントのネットワークインターフェイスに関連付けて、インターフェイスエンドポイント経由で OpenSearch Serverless へのトラフィックを制御できます。

  • 1 つの に最大 50 個の OpenSearch Serverless VPC エンドポイントAWS アカウントを設定できます。

  • ネットワークポリシーでコレクションの API または Dashboards へのパブリックインターネットアクセスを有効にすると、コレクションは任意の VPC およびパブリックインターネットからアクセスできるようになります。

  • オンプレミスで VPC の外部にいる場合、OpenSearch Serverless の VPC エンドポイント解決に DNS リゾルバーを直接使用することはできません。VPN アクセスが必要な場合、VPC には外部クライアントが使用できる DNS プロキシリゾルバーが必要です。Route 53 は、オンプレミスネットワークまたは別の VPC から VPC への DNS クエリを解決するために使用できるインバウンドエンドポイントオプションを提供します。

  • OpenSearch Serverless が作成して VPC にアタッチするプライベートホストゾーンは、 サービスによって管理されますが、Amazon Route 53リソースに表示され、アカウントに請求されます。

  • その他の考慮事項については、「AWS PrivateLink ガイド」の「Considerations」を参照してください。

必要なアクセス許可

OpenSearch Serverless の VPC アクセスでは、次の AWS Identity and Access Management(IAM) アクセス許可を使用します。IAM 条件を指定して、ユーザーを特定のコレクションに制限できます。

  • aoss:CreateVpcEndpoint – VPC エンドポイントを作成します。

  • aoss:ListVpcEndpoints – すべての VPC エンドポイントを一覧表示します。

  • aoss:BatchGetVpcEndpoint – VPC エンドポイントのサブセットに関する詳細を参照してください。

  • aoss:UpdateVpcEndpoint – VPC エンドポイントを変更します。

  • aoss:DeleteVpcEndpoint – VPC エンドポイントを削除します。

さらに、VPC エンドポイントを作成するには、以下の Amazon EC2 許可と Route 53 許可が必要です。

  • ec2:CreateTags

  • ec2:CreateVpcEndpoint

  • ec2:DeleteVpcEndPoints

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeVpcEndpoints

  • ec2:DescribeVpcs

  • ec2:ModifyVpcEndPoint

  • route53:AssociateVPCWithHostedZone

  • route53:ChangeResourceRecordSets

  • route53:CreateHostedZone

  • route53:DeleteHostedZone

  • route53:GetChange

  • route53:GetHostedZone

  • route53:ListHostedZonesByName

  • route53:ListHostedZonesByVPC

  • route53:ListResourceRecordSets

OpenSearch Serverless のインターフェイスエンドポイントを作成する

コンソールまたは OpenSearch Serverless API を使用して、OpenSearch Serverless のインターフェイスエンドポイントを作成できます。

OpenSearch Serverless コレクションのインターフェイスエンドポイントを作成するには
  1. https://console.aws.amazon.com/aos/home で Amazon OpenSearch Service コンソールを開きます。

  2. 左側のナビゲーションペインで [Serverless] (サーバーレス) を展開し、[VPC endpoints] (VPC エンドポイント) を選択します。

  3. [Create VPC endpoint] (VPC エンドポイントの作成) を選択します。

  4. エンドポイントの名前を入力します。

  5. [VPC] で OpenSearch Serverless にアクセスする VPC を選択します。

  6. [Subnet] (サブネット) で、OpenSearch Serverless にアクセスするサブネットを 1 つ選択します。

    • エンドポイントの IP アドレスと DNS タイプはサブネットタイプに基づいています

      • Dualstack: すべてのサブネットに IPv4 と IPv6 の両方のアドレス範囲がある場合

      • IPv6: すべてのサブネットが IPv6 のみのサブネットの場合

      • IPv4: すべてのサブネットに IPv4 アドレス範囲がある場合

  7. [Security groups] (セキュリティグループ) で、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。これは、エンドポイントに対して承認するインバウンドトラフィックのポート、プロトコル、およびソースを制限する重要なステップです。OpenSearch Serverless との通信に VPC エンドポイントを使用するリソースがエンドポイントのネットワークインターフェイスと通信できるように、セキュリティグループルールが設定されていることを確認します。

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

OpenSearch Serverless API を使用して VPC エンドポイントを作成する場合は、CreateVpcEndpoint コマンドを使用します。

注記

エンドポイントを作成したら、その ID を書き留めます (例: vpce-abc123def4EXAMPLE)。コレクションへのエンドポイントアクセスを提供するには、この ID を 1 つまたは複数のネットワークアクセスポリシーに含める必要があります。

インターフェイスエンドポイントを作成したら、ネットワークアクセスポリシーを使用して、そのエンドポイントにコレクションへのアクセスを提供する必要があります。詳細については、「Amazon OpenSearch Serverless でのネットワークアクセス」を参照してください。

Amazon OpenSearch Serverless の共有 VPC の設定

Amazon Virtual Private Cloud (VPC) を使用して、VPC サブネットを組織AWS アカウント内の他の と共有したり、複数の のリソース間で VPN などのネットワークインフラストラクチャを共有したりできますAWS アカウント。

現在、Amazon OpenSearch Serverless は、AWS PrivateLinkVPC の所有者でない限り、共有 VPC への接続の作成をサポートしていません。AWS PrivateLinkまた、 は、その VPC 間の接続の共有もサポートしていませんAWS アカウント。

ただし、OpenSearch Serverless の柔軟なモジュール式のアーキテクチャに基づいて、共有 VPC をセットアップすることはできます。これは、OpenSearch Serverless ネットワークインフラストラクチャが個々のコレクション (OpenSearch Service) インフラストラクチャとは異なるためです。したがって、VPC が配置されている 1 つのアカウントの AWS PrivateLink VPCe エンドポイントを作成し、他のアカウントのネットワークポリシーで VPCe ID を使用して、トラフィックをその共有 VPC からのみに制限できます。

以下の手順では、所有者アカウントコンシューマーアカウントについて説明します。

所有者アカウントは、VPC をセットアップして他のアカウントと共有するための共通のネットワークアカウントとして機能します。コンシューマーアカウントは、所有者アカウントによって共有されている VPC で OpenSearch Serverless コレクションを作成および維持するアカウントです。

前提条件

共有 VPC を設定する前に、以下の要件が満たされていることを確認してください。

  • 目的の所有者アカウントは、Amazon Virtual Private Cloud で VPC、サブネット、ルートテーブル、およびその他の必要なリソースを既に設定している必要があります。詳細については、Amazon VPC ユーザーガイドを参照してください。

  • 目的の所有者アカウントとコンシューマーアカウントは、AWS Organizations の同じ組織に属している必要があります。詳細については、「AWS Organizations ユーザーガイド」を参照してください。

所有者アカウント/共通ネットワークアカウントで共有 VPC を設定するには。
  1. https://console.aws.amazon.com/aos/home で Amazon OpenSearch Service コンソールにサインインします。

  2. OpenSearch Serverless のインターフェイスエンドポイントを作成する」のステップを実行してください。その際、以下の選択を行います。

    • 組織内のコンシューマーアカウントと共有されている VPC とサブネットを選択します。

  3. エンドポイントを作成したら、生成された VPCe ID を書き留めて、コンシューマーアカウントでセットアップタスクを実行する管理者に渡します。

    VPCe ID は vpce-abc123def4EXAMPLE 形式になっています。

コンシューマーアカウントで共有 VPC を設定するには
  1. https://console.aws.amazon.com/aos/home で Amazon OpenSearch Service コンソールにサインインします。

  2. コレクションがまだない場合は、Amazon OpenSearch Serverless コレクションの管理 の情報を使用してコレクションを作成します。

  3. ネットワークポリシーの作成 (コンソール) の情報を使用して、ネットワークポリシーを作成します。その際、以下の選択を行います。

    注記

    この目的のために、既存のネットワークポリシーを更新することもできます。

    1. [アクセスタイプ][VPC (推奨)] を選択します。

    2. [アクセス用の VPC エンドポイント] の場合は、所有者アカウントから提供された VPCe ID (vpce-abc123def4EXAMPLE 形式) を選択します。

    3. [リソースタイプ] エリアで、以下を実行します。

      • [OpenSearch エンドポイントへのアクセスを有効にする] ボックスを選択し、その共有 VPC からのアクセスを有効にするのに使用するコレクション名またはコレクションパターンを選択します。

      • [OpenSearch Dashboard へのアクセスを有効にする] ボックスを選択し、その共有 VPC からのアクセスを有効にするのに使用するコレクション名またはコレクションパターンを選択します。

  4. 新しいポリシーの場合は、[作成] を選択します。既存のポリシーの場合は、[更新] を選択します。