Amazon Web Services ブログ

Amazon Route 53 Resolver が AWS Outposts ラックで利用可能に

7月20日より、Amazon Route 53 Resolver が AWS Outposts ラックで利用できるようになりました。これにより、オンプレミスのサービスとアプリケーションに Outposts から直接ローカル DNS 解決が提供されます。ローカルの Route 53 Resolver エンドポイントは、Outposts とオンプレミス DNS サーバー間の DNS 解決も可能にします。Route 53 Resolver on Outposts は、オンプレミスアプリケーションの可用性とパフォーマンスを向上させるのに役立ちます。

AWS Outposts は、AWS インフラストラクチャとサービスをオンプレミスのデータセンターに拡張することを可能にするハイブリッドクラウドソリューションを提供します。これにより、既存のオンプレミスインフラストラクチャとシームレスに統合するハイブリッドアプリケーションを構築して運用できます。Outposts にデプロイされたアプリケーションは、オンプレミスシステムに対する低レイテンシーアクセスの恩恵を受けることができます。また、AWS リージョンとオンプレミス環境全体で一貫した管理エクスペリエンスを実現できます。これには、リージョン内の AWS のサービスを管理する際に使用するのと同じ AWS 管理ツール、API、およびサービスに対するアクセスが含まれます。Outposts は、クラウド内の AWS と同じセキュリティコントロールとポリシーを使用しているため、ハイブリッドクラウド環境全体で一貫したセキュリティ体制を実現できます。これには、データ暗号化、ID とアクセス管理、ネットワークセキュリティが含まれます。

Outposts の一般的なユースケースの 1 つとして、工場設備、高頻度取引アプリケーション、医療診断システムなど、オンプレミスシステムに対する低レイテンシーのアクセスを必要とするアプリケーションをデプロイすることが挙げられます。

DNS は、ドメインネームシステム (Domain Name System) の頭字語であり、「example.com」などの人間が読めるドメイン名を、コンピュータがインターネット上で相互に通信するために使用する「93.184.216.34」などの IP アドレスに変換するシステムです。Route 53 Resolver は、ドメイン名を IP アドレスに解決するコンポーネントです。

これまで、Outpost で実行されているアプリケーションとサービスは、Outpost が接続されている親 AWS リージョンに DNS クエリを転送していました。しかし、Amazon の CTO であるワーナー ヴォゲルス博士が述べているように、あらゆるものは失敗する可能性があることに留意する必要があります。サイトは一時的に切断されることがあります。その原因としては、ファイバーの切断や気象などが考えられます。オンプレミスの施設がインターネットから一時的に切断されると、ローカル DNS 解決が失敗し、同じ Outposts ラックで実行されている場合でも、アプリケーションやサービスで他のサービスを検出することが困難になります。例えば、Outpost でローカルに実行されているアプリケーションは、同じ Outpost で実行されているローカルデータベースの IP アドレスを検出できなくなります。また、マイクロサービスは、ローカルに実行されている他のマイクロサービスを見つけることができなくなります。

7月20日より、ローカルの Route 53 Resolvers on Outposts をオプトインすることで、親 AWS リージョンの接続が失われた場合でも、アプリケーションやサービスは引き続きローカル DNS 解決の恩恵を受けて他のサービスを検出できるようになります。クエリ結果がキャッシュされ、Outposts からローカルに提供されるため、ローカルリゾルバーは DNS 解決のレイテンシーを低減するのにも役立ちます。これにより、親 AWS リージョンとの間での不要な往復がなくなります。プライベート DNS を使用する Outposts VPC 内のアプリケーションの DNS 解決はすべて、ローカルで提供されます。

このリリースにより、ローカルリゾルバーに加えて、ローカルリゾルバーエンドポイントも使用できるようになります。Route 53 Resolver エンドポイントは新しいものではありません。2018 年 11 月以降、VPC でインバウンドまたはアウトバウンドのリゾルバーエンドポイントを作成することができるようになっています。今日では、Outposts で VPC 内にエンドポイントを作成することもできます。Route 53 Resolver のアウトバウンドエンドポイントにより、Route 53 Resolver は、例えばオンプレミスネットワークで管理している DNS リゾルバーに DNS クエリを転送できます。これとは対照的に、Route 53 Resolver のインバウンドエンドポイントは、VPC の外部から受信した DNS クエリを Outposts で実行されているリゾルバーに転送します。これにより、プライベート Outposts VPC にデプロイされたサービスの DNS クエリを、その VPC の外部から送信できます。

実際の動作
Outposts でローカルリゾルバーを作成してテストするために、まず AWS マネジメントコンソールの [Outpost] セクションに接続します。[Route 53 Outposts] セクションに移動し、[リゾルバーを作成] を選択します。

Outpost でローカルリゾルバーを作成する

リゾルバーを作成する Outpost を選択し、[リゾルバー名] を入力します。その後、リゾルバーをデプロイするインスタンスのサイズとインスタンスの数を選択します。インスタンスサイズの選択は、リゾルバーのパフォーマンス (1 秒あたりに処理できる解決の数) に影響します。デフォルトは、1 秒あたり最大 7,000 件のクエリを処理できる m5.large インスタンスです。インスタンスの数はリゾルバーの可用性に影響します。デフォルトのインスタンス数は 4 個です。[リゾルバーを作成] を選択して、リゾルバーインスタンスを作成します。

ローカルリゾルバーを作成する - インスタンスのタイプと数を選択する

数分後、リゾルバーのステータスは ✅ [実行中] になります。

ローカルリゾルバーが実行中次のステップでは、リゾルバーエンドポイントを作成します。インバウンドエンドポイントでは、外部の DNS クエリを Outpost のローカルリゾルバーに転送できます。アウトバウンドエンドポイントを使用すると、ローカルで開始された DNS クエリを、管理する外部の DNS リゾルバーに転送できます。このデモでは、インバウンドエンドポイントを作成することにしました。

[インバウンドエンドポイント] セクションで、[インバウンドエンドポイントを作成] を選択します。

ローカルリゾルバー - インバウンドエンドポイントを作成する

[エンドポイント名] を入力し、このエンドポイントをアタッチする [リージョン内の VPC] を選択して、以前に作成した [このエンドポイントのセキュリティグループ] を選択します。

インバウンドエンドポイントの詳細を作成する

エンドポイントが各サブネットで使用する IP アドレスを選択します。[自動的に選択された IP アドレスを使用] または [指定した IP アドレスを使用] を選択できます。

インバウンドエンドポイントの作成 - IP アドレスを選択する最後に、インバウンドエンドポイントにバインドするインスタンスタイプを選択します。インスタンスが大きいほど、1 秒あたりに処理できるクエリの数が多くなります。このサービスは、高可用性を実現するために 2 つのエンドポイントインスタンスを作成します。

準備ができたら、[インバウンドエンドポイントの作成] を選択して作成プロセスを開始します。

インバウンドエンドポイントの作成 - インスタンスタイプを選択する

数分後、エンドポイントの [ステータス] が ✅ [実行中] になります。

インバウンドエンドポイントの作成 (ステータスが [実行中])

これで、設定をテストする準備ができたので、 Outpost で実行されている EC2 インスタンスに SSH 接続し、外部の DNS 名を解決するのにかかる時間をテストします。ローカルリゾルバーは Outpost 自体でクエリをキャッシュします。したがって、私の想定では、最初のクエリには数ミリ秒かかり、2 番目のクエリはキャッシュから即時に処理されます。

実際、最初のクエリは 13 ミリ秒で解決されます (;; Query time: 13 msec の行をご覧ください)。

➜  ~ dig amazon.com

; <<>> DiG 9.16.38-RH <<>> amazon.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35859
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;amazon.com.			IN	A

;; ANSWER SECTION:
amazon.com.		797	IN	A	52.94.236.248
amazon.com.		797	IN	A	205.251.242.103
amazon.com.		797	IN	A	54.239.28.85

;; Query time: 13 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Sun May 28 09:47:27 CEST 2023
;; MSG SIZE  rcvd: 87

また、同じクエリを繰り返すとゼロミリ秒で解決されます。これは、ローカルキャッシュから提供されていることを示唆しています。

➜  ~ dig amazon.com

; <<>> DiG 9.16.38-RH <<>> amazon.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63500
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;amazon.com.			IN	A

;; ANSWER SECTION:
amazon.com.		586	IN	A	54.239.28.85
amazon.com.		586	IN	A	205.251.242.103
amazon.com.		586	IN	A	52.94.236.248

;; Query time: 0 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Sun May 28 09:50:58 CEST 2023
;; MSG SIZE  rcvd: 87

料金と利用可能なリージョン
Outposts にはリゾルバーと VPC エンドポイントのみがデプロイされることにご留意ください。お客様は、Route 53 ゾーンと AWS リージョンのレコードを引き続き管理します。ローカルリゾルバーとそのエンドポイントは、Outposts である程度のキャパシティを消費します。Route 53 Resolver 用に Outposts から 4 つの EC2 インスタンスを提供し、各リゾルバーエンドポイント用に別の 2 つのインスタンスを提供する必要があります。

ローカルの Route 53 Resolver とリゾルバーエンドポイントを使用するには、既存の Outposts ラックに最新の Outposts ソフトウェアがインストールされている必要があります。Outpost の更新を当社に依頼するためにチケットを提出できます (また、コンソールは必要に応じて更新を促すメッセージを表示します)。

ローカルリゾルバーは追加料金なしでご利用いただけます。エンドポイントでは、現在と同様、各 Elastic Network Interface (ENI) につき、1 時間ごとに料金が発生します。Outpost ラックの料金ページには詳細が記載されています。

Outposts ラックが利用可能なすべての AWS リージョン (AWS GovCloud (米国) リージョンを除く) で、ローカルリゾルバーとローカルエンドポイントを設定できます。現時点における 22 の AWS リージョンのリストはこちらでご覧いただけます

ローカルの Route 53 Resolvers on Outposts を今すぐ設定しましょう。

— seb

P.S.私たちは、より良いカスタマーエクスペリエンスを提供するためにコンテンツの改善に注力しており、そのためにはお客様からのフィードバックが必要です。この短いアンケートにご回答いただき、AWS ブログに関するご感想をいただけますと幸いです。なお、このアンケートは外部企業によって実施されているため、リンク先は当社のウェブサイトではありません。AWS は、AWS プライバシー通知に記載されているとおりにお客様の情報を取り扱います。

原文はこちらです。