Amazon Web Services ブログ
Amazon OpenSearch Serverless のネットワーク接続パターン
本記事は 2023 年 9 月 27 日 に公開された「Network connectivity patterns for Amazon OpenSearch Serverless」を翻訳したものです。
Amazon OpenSearch Serverless は、Amazon OpenSearch Service のオンデマンドなオートスケーリングをサポートする構成オプションです。OpenSearch Serverless は、リアルタイムのアプリケーションモニタリング、ログ分析、ウェブサイト検索など、幅広いユースケースに対応します。OpenSearch Serverless を使えば、OpenSearch クラスターのスケーリングや管理を気にせずに OpenSearch を利用できます。コレクションには、パブリックインターネット経由または VPC 内からアクセスできます。異なる VPC やアカウント、オンプレミスから OpenSearch Serverless にアクセスする場合、接続パターンが変わることがあります。本記事では、OpenSearch Serverless コレクションへの接続パターンと Domain Name System (DNS) 解決について、インターネット経由、VPC 内、AWS 内、オンプレミスからのアクセスを取り上げます。
基本概念
OpenSearch Serverless と DNS 解決に関する基本概念を説明します。
ネットワークアクセスポリシー
OpenSearch Serverless のネットワークアクセスポリシーは、コレクションにインターネット経由でアクセスできるか、OpenSearch Serverless マネージド VPC エンドポイント経由でのみアクセスできるかを決定します。1 つのポリシーを複数のコレクションにアタッチできます。
OpenSearch Serverless VPC エンドポイント
インターネットゲートウェイを使わずに VPC から OpenSearch Serverless のコレクションやダッシュボードにプライベートにアクセスするには、VPC インターフェイスエンドポイントを作成します。VPC エンドポイントを作成すると、VPC エンドポイントに対して有効にした各サブネットに Elastic Network Interface (ENI) が作成されます。リクエスタマネージド ENI として作成され、OpenSearch Serverless コレクション宛てトラフィックのエントリポイントになります。OpenSearch Serverless VPC エンドポイントを作成すると、プライベート DNS 名オプションがデフォルトで有効になります。つまり、OpenSearch Serverless は Amazon Route 53 のプライベートホストゾーンも作成し、エンドポイントが作成された VPC に関連付けます。このプライベートホストゾーンには、エンドポイントのプライベート DNS を指すワイルドカード DNS レコード *.<region>.aoss.amazonaws.com が含まれます。
OpenSearch Serverless VPC エンドポイントは、OpenSearch Serverless コンソールまたは OpenSearch Serverless API から作成します。Amazon Virtual Private Cloud (Amazon VPC) コンソールからは作成できませんが、作成後は VPC コンソールでも確認できます。
Amazon Route 53 Resolver
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが DNS 名をクエリしたときに Amazon Route 53 Resolver がどう動作するかを見てみましょう。VPC から発信された DNS クエリは、VPC+2 IP アドレスの Route 53 Resolver に送られます。DNS クエリがリゾルバーに到達すると、まず Route 53 フォワードルールの有無を確認します。一致するルールがあれば、そのルールで指定された DNS サーバーにクエリを転送します。未解決の場合、Route 53 Resolver は発信元 VPC に関連付けられたプライベートホストゾーンを確認します。それでも未解決の場合は VPC DNS を確認し、EC2 DNS 名の解決を試みます。最後に、それでも解決できなければ Route 53 Resolver はパブリック DNS を確認します。以下の図は Route 53 Resolver の処理順序です。
Route 53 Resolver インバウンドエンドポイント
VPC とオンプレミスの両方のリソースを利用するワークロードでは、オンプレミスでホストされた DNS レコードと VPC 内のリソースの両方を解決する必要があります。Route 53 Resolver インバウンドエンドポイントを使えば、オンプレミスネットワークや別の VPC から VPC への DNS クエリを解決できます。
以下のセクションで、接続パターンと DNS 解決の概要を説明します。
Amazon EC2 から OpenSearch Serverless コレクションにアクセスする (インターネットゲートウェイ経由)
以下の図は、インターネット経由で OpenSearch Serverless コレクションにアクセスする接続パターンです。コレクションのアクセスタイプはパブリックに設定されており、認可されたユーザーがインターネット経由でコレクションに接続できます。VPC 内の EC2 インスタンスはインターネットゲートウェイ経由でコレクションに接続でき、VPC 外のユーザーもインターネット経由でコレクションにアクセスできます。
上の図のように、ワークフローは以下のステップで構成されます。
A. EC2 インスタンスが VPC+2 IP アドレスの Route 53 Resolver に DNS ルックアップを行います。Route 53 Resolver は OpenSearch Serverless コレクションのパブリック IP アドレスを返します。
B. EC2 インスタンスは、パブリック IP アドレスを使ってインターネットゲートウェイ経由で OpenSearch Serverless コレクションにデータリクエストを送信します。
C. 外部クライアントは OpenSearch Serverless コレクションのパブリック IP アドレスに解決し、インターネット経由でアクセスします。
EC2 インスタンスからコレクションやダッシュボードの URL に dig コマンドを実行すると、パブリック IP アドレスに解決されます。
以下は OpenSearch Serverless コレクションに対するコマンドです。
以下は OpenSearch ダッシュボードに対するコマンドです。
ネットワークアクセスポリシーの変更
パブリックのネットワークアクセスポリシーで OpenSearch Serverless コレクションを実装したら、同じコレクションに VPC 内からプライベートにアクセスできるようにすることも可能です。以下の手順を実行します。
- コレクションのネットワークアクセスポリシーを変更し、アクセスタイプを VPC に変更します。
- Create VPC endpoints オプションを選択します。
- 高可用性のために、VPC エンドポイント ENI を配置する VPC と少なくとも 2 つのサブネットを選択します。
- Confirm を選択して VPC エンドポイントを作成します。
- 最後に、VPC エンドポイントを選択してポリシーを更新します。
VPC エンドポイントの作成に伴い、Route 53 プライベートホストゾーンもアカウント内に作成され、VPC に関連付けられます。VPC エンドポイント作成後、以下のスクリーンショットのように、AWS PrivateLink エンドポイントのプライベート DNS 名を指す CNAME レコード *.us-east-1.aoss.amazonaws.com が作成されます。
VPC に関連付けられたプライベートホストゾーンにより、Route 53 Resolver は VPC から発信された DNS クエリの解決にプライベートホストゾーンを優先します。EC2 インスタンスからの OpenSearch Serverless コレクションへの DNS リクエストは、関連付けられたプライベートホストゾーンで解決され、VPC エンドポイントのプライベート IP アドレスに解決されます。プライベート IP アドレスへの解決により、Amazon EC2 はインターネットゲートウェイではなく VPC エンドポイント経由でサーバーレスコレクションに接続できます。次のセクションで詳しく説明します。
Amazon EC2 から OpenSearch Serverless コレクションにアクセスする (インターフェイス VPC エンドポイント経由)
以下の図は、VPC からプライベートに OpenSearch Serverless コレクションにアクセスする接続パターンです。コレクションのアクセスタイプは VPC エンドポイントに設定されており、VPC 内のリソースからのみ VPC エンドポイント経由でアクセスでき、外部ユーザーの接続を防ぎます。VPC エンドポイントの作成に伴い、プライベートホストゾーンもこの VPC に関連付けられます。VPC 内の EC2 インスタンスは VPC エンドポイントを使ってコレクションに接続できますが、ネットワークアクセスポリシーにより VPC 外のリソースはコレクションにアクセスできません。
ワークフローは以下のステップで構成されます。
A. EC2 インスタンスが VPC+2 IP アドレスの Route 53 Resolver に DNS ルックアップを行います。CNAME レコードを含むプライベートホストゾーンが VPC に関連付けられているため、Route 53 Resolver は VPC エンドポイントのプライベート IP アドレスを返します。
B. EC2 インスタンスは VPC インターフェイスエンドポイント経由で OpenSearch Serverless コレクションにデータリクエストを送信します。
C. 外部クライアントは OpenSearch Serverless コレクションのパブリック IP アドレスに解決しますが、ネットワークポリシーが VPC に制限しているためアクセスできません。
EC2 インスタンスからコレクションやダッシュボードの URL に dig コマンドを実行すると、VPC エンドポイントのプライベート IP アドレスに解決されます。
以下は OpenSearch Serverless コレクションに対するコマンドです。
以下は OpenSearch ダッシュボードに対するコマンドです。
複数の VPC から OpenSearch Serverless コレクションにアクセスする (各 VPC に VPC エンドポイントを配置したインターフェイス VPC エンドポイント経由)
以下の図は、同じ VPC エンドポイントで複数の OpenSearch Serverless コレクションに接続するパターンです。マルチ VPC 構成では、各 VPC に VPC エンドポイントを作成し、VPC 内の EC2 インスタンスが VPC エンドポイント経由で OpenSearch Serverless に接続できるようにします。各エンドポイントに対してプライベートホストゾーンが自動生成され、対応する VPC に関連付けられます。OpenSearch Serverless コレクションのネットワークポリシーは VPC Endpoint-1 と VPC Endpoint-2 の両方を許可するように更新されるため、VPC-1 の EC2 インスタンスは VPC Endpoint-1 経由で両方のコレクションにアクセスでき、VPC-2 の EC2 インスタンスは VPC Endpoint-2 経由で両方のコレクションにアクセスできます。
ワークフローは以下のステップで構成されます。
A. EC2 インスタンスが VPC+2 IP アドレスの Route 53 Resolver に DNS ルックアップを行います。各 VPC に CNAME レコードを含むプライベートホストゾーンが関連付けられているため、Route 53 Resolver は VPC エンドポイントのプライベート IP アドレスを返します (VPC-1 の EC2 インスタンスは VPC Endpoint-1 の IP アドレスを取得し、VPC-2 の EC2 インスタンスは VPC Endpoint-2 の IP アドレスを取得します)。
B. EC2 インスタンスは VPC インターフェイスエンドポイント経由で OpenSearch Serverless コレクションにデータリクエストを送信します。
オンプレミスから OpenSearch Serverless コレクションにアクセスする (AWS Site-to-Site VPN または AWS Direct Connect 経由)
以下の図は、オンプレミスから OpenSearch Serverless コレクションにアクセスする接続パターンです。オンプレミスと AWS リソース間の接続には、AWS Direct Connect または AWS Site-to-Site VPN を使用できます。以下の例では、AWS とオンプレミス間の接続に Direct Connect を使用します。VPC に OpenSearch Serverless VPC エンドポイントが作成され、プライベートホストゾーンが自動生成されてこの VPC に関連付けられます。OpenSearch Serverless コレクションのネットワークポリシーは、VPC エンドポイントからの接続のみを許可するように更新されます。
オンプレミス環境から OpenSearch Serverless コレクションにプライベートにアクセスするには、OpenSearch Serverless コレクションの DNS を OpenSearch Serverless VPC エンドポイントの IP アドレスに解決する必要があります。デフォルトでは、OpenSearch Serverless の DNS はパブリック IP アドレスに解決され、インターネット経由でのアクセスを試みます。オンプレミスから VPC エンドポイント経由で OpenSearch Serverless にアクセスするには、DNS クエリが VPC エンドポイントのプライベート IP アドレスに解決されるようにする必要があります。VPC 内のリソースは VPC+2 IP アドレスの Route 53 Resolver でクエリを VPC エンドポイントに解決します。Route 53 Resolver は関連付けられたプライベートホストゾーンを確認し、クエリを VPC エンドポイントに解決します。ただし、VPC+2 IP アドレスにはオンプレミスからアクセスできません。VPC+2 IP アドレスへのアクセス問題を解決するには、Route 53 Resolver インバウンドエンドポイントを利用します。
インバウンド転送の設定の手順に従って VPC にインバウンドエンドポイントを作成し、オンプレミスの DNS サーバーで *.<region>.aoss.amazonaws.com への DNS リクエストを Route 53 Resolver インバウンドエンドポイントの IP アドレスに転送するように設定します。オンプレミスクライアントが VPC エンドポイントの IP アドレスを取得すれば、Direct Connect または Site-to-Site VPN を使って OpenSearch Serverless コレクションへのプライベート接続を確立できます。
ワークフローは以下のステップで構成されます。
A. オンプレミスクライアントがオンプレミスの DNS リゾルバーに DNS ルックアップを送信します。オンプレミスの DNS リゾルバーは DNS クエリを Route 53 Resolver インバウンドエンドポイントに転送します。Route 53 Resolver インバウンドエンドポイントは VPC+2 IP アドレスの Route 53 Resolver に DNS ルックアップを送信します。CNAME レコードを含むプライベートホストゾーンが VPC に関連付けられているため、Route 53 Resolver は VPC エンドポイントのプライベート IP アドレスを返します。
B. オンプレミスクライアントは OpenSearch Serverless コレクションにデータリクエストを送信します。リクエストは Direct Connect または Site-to-Site VPN 経由で VPC インターフェイスエンドポイントに到達し、最終的に OpenSearch Serverless コレクションに届きます。
まとめ
本記事では、OpenSearch Serverless のさまざまな接続パターンを紹介しました。ハイブリッド DNS の活用と Route 53 Resolver インバウンドエンドポイントによるオンプレミスからの接続について解説しました。AWS クラウド内やオンプレミスから複数の OpenSearch Serverless コレクションへのアクセスにさまざまな集約モデルを選択できます。本記事のネットワークパターンを参考に、OpenSearch Serverless への接続をお試しください。
著者について
この記事は Kiro が翻訳を担当し、Solutions Architect の Takayuki Enomoto がレビューしました。








