VPC エンドポイントサービスの DNS 名を管理する
サービスプロバイダーは、エンドポイントサービスのプライベート DNS 名を設定できます。サービスプロバイダーがエンドポイントサービスのプライベート DNS 名として既存のパブリック DNS 名を使用する場合、サービスコンシューマーは、既存のパブリック DNS 名を使用するアプリケーションを変更する必要はありません。エンドポイントサービスのプライベート DNS 名を設定する前に、ドメインの所有権の検証チェックを実行して、ドメインを所有していることを証明する必要があります。
考慮事項
-
エンドポイントサービスはプライベート DNS 名を 1 つだけ持つことができます。
-
サービスコンシューマーの VPC 内のサーバーのみがプライベート DNS 名を解決できるようにするため、プライベート DNS 名の A レコードを作成しないでください。
-
プライベート DNS 名は、Gateway Load Balancer エンドポイントではサポートされません。
-
ドメインを検証するには、パブリックホスト名、またはパブリック DNS プロバイダーが必要です。
-
サブドメインのドメインを検証できます。たとえば、a.example.com ではなく、 example.comを検証できます。各 DNS ラベルには最大で 63 文字を指定することができ、ドメイン名全体の合計文字数は 255 を超えることはできません。
追加のサブドメインを追加する場合は、サブドメインまたはドメインを検証する必要があります。たとえば、a.example.com があり、example.com を検証したとします。次に、b.example.com をプライベート DNS 名として追加するとします。サービスコンシューマーがこの名前を使用できるようにするには、example.com または b.example.com を検証する必要があります。
ドメインの所有権の検証
お客様のドメインは、DNS プロバイダーを介して管理する一連のドメインネームサービス (DNS) レコードに関連付けられます。TXT レコードは、ドメインに関する追加情報を提供する一種の DNS レコードです。名前と値から構成されます。検証プロセスの一環として、パブリックドメインの DNS サーバーに TXT レコードを追加する必要があります。
その TXT レコードがドメインの DNS 設定内にあることが検出されると、ドメインの所有権の検証は完了です。
レコードを追加したら、Amazon VPC コンソールを使用してドメイン検証プロセスのステータスを確認できます。ナビゲーションペインで、[Endpoint Services] (エンドポイントサービス) を選択します。エンドポイントサービスを選択し、[Details] (詳細) タブで [Domain verification status] (ドメイン検証ステータス) の値を確認します。ドメイン検証が保留中の場合は、数分待ってから画面を更新してください。必要に応じて、検証プロセスを手動で開始できます。[Actions] (アクション) を選択し、[Verify domain ownership for private DNS name] (プライベート DNS 名のドメイン所有権を検証) を選択します。
プライベート DNS 名は、検証ステータスが [verified] (検証済み) になると、サービスコンシューマーによる使用が可能となります。検証ステータスが変更された場合、新しい接続リクエストは拒否されますが、既存の接続には影響しません。
検証ステータスが [failed] (失敗) の場合は、「ドメインの検証に関する問題をトラブルシューティングする」を参照してください。
名前と値を取得する
TXT レコードで使用する名前と値が提供されます。例えば、情報は AWS Management Console で入手できます。エンドポイントサービスを選択し、エンドポイントサービスの [Details] (詳細) タブで、[Domain verification name] (ドメイン検証名) と [Domain verification value] (ドメイン検証値) を確認します。次の describe-vpc-endpoint-service-configurations AWS CLI コマンドを使用して、指定したエンドポイントサービスのプライベート DNS 名の設定に関する情報を取得することもできます。
aws ec2 describe-vpc-endpoint-service-configurations \ --service-ids
vpce-svc-071afff70666e61e0
\ --query ServiceConfigurations[*].PrivateDnsNameConfiguration
以下は出力例です。TXT レコードを作成するときに Value
と Name
を使用します。
[ { "State": "pendingVerification", "Type": "TXT", "Value": "vpce:l6p0ERxlTt45jevFwOCp", "Name": "_6e86v84tqgqubxbwii1m" } ]
例えば、ドメイン名が example.com で、Value
と Name
が前述の出力例に示されているとします。次のテーブルは、TXT レコード設定の例です。
名前 | タイプ | 値 |
---|---|---|
_6e86v84tqgqubxbwii1m.example.com |
TXT |
vpce:l6p0ERxlTt45jevFwOCp |
ベースドメイン名が既に使用されている可能性があるため、レコードサブドメインとして Name
を使用することをお勧めします。ただし、DNS プロバイダーが DNS レコード名にアンダースコアを含めることを許可していない場合は、「_6e86v84tqgqubxbwii1m」を省略し、単に「example.com」を TXT レコードで使用できます。
「_6e86v84tqgqubxbwii1m.example.com」を検証したら、サービスコンシューマーは「example.com」またはサブドメイン (「service.example.com」や「my.service.example.com」など) を使用できます。
ドメインの DNS サーバーに TXT レコードを追加する
ドメインの DNS サーバーに TXT レコードを追加する手順は DNS プロバイダーによって異なります。DNS プロバイダーは、Amazon Route 53 または別のドメイン名レジストラである可能性があります。
パブリックホストゾーンのレコードを作成します。以下の値を使用します。
-
レコードタイプで、[TXT] を選択します。
-
[TTL (seconds)] (TTL (秒)) に
1800
と入力します。 -
[ルーティングポリシー] で、[シンプルルーティング] を選択します。
-
[Record name] (レコード名) で、ドメインまたはサブドメインを入力します。
-
[Value/Route traffic to] (値/トラフィックのルーティング先) には、ドメイン検証の値を入力します。
詳細については、「Amazon Route 53 デベロッパーガイド」の「Create records using the console」(コンソールを使用してレコードを作成する) を参照してください。
DNS プロバイダーのウェブサイトに移動し、アカウントにサインインします。ドメインの DNS レコードを更新するページを見つけます。指定された名前と値で TXT レコードを追加します。DNS レコードの更新が有効になるには、最大 48 時間かかることがありますが、多くの場合それよりも大幅に早く有効になります。
より具体的な方法については、DNS プロバイダーのドキュメントを参照してください。次のテーブルには、いくつかの主要なプロバイダーに関するドキュメントへのリンクが記載されています。このリストは、包括的であることを意図されたものではなく、これらの企業が提供する製品またはサービスの推奨を目的としたものでもありません。
DNS/ホスティングプロバイダー | ドキュメントのリンク |
---|---|
GoDaddy |
|
Dreamhost |
|
Cloudflare |
|
HostGator |
|
Namecheap |
|
Names.co.uk |
|
Wix |
TXT レコードが発行されているかを確認する
次のステップを使用して、プライベート DNS 名ドメインの所有権の検証 TXT レコードが DNS サーバーに正しく発行されているかどうかを検証できます。Windows および Linux で使用できる nslookup コマンドを実行します。
ドメインにサービスを提供する DNS サーバーに対してクエリを実行する理由は、これらのサーバーにドメインの最新情報が格納されているためです。ドメイン情報が他の DNS サーバーに伝達されるまでには時間がかかります。
TXT レコードが DNS サーバーに公開されていることを確認するには
-
次のコマンドを使用して、ドメインのネームサーバーを見つけます。
nslookup -type=NS
example.com
出力に、ドメインにサービスを提供しているネームサーバーが示されます。次のステップで、これらのサーバーのいずれかをクエリします。
-
次のコマンドを使用して、TXT レコードが正しく発行されていることを確認します。ここで、
name_server
は、前の手順で見つけたネームサーバーの 1 つです。nslookup -type=TXT
_6e86v84tqgqubxbwii1m.example.com
name_server
-
前のステップの出力で、
text =
に続く文字列が TXT 値と一致することを確認します。この例では、レコードが正しく発行されている場合、出力には次が含まれます。
_6e86v84tqgqubxbwii1m.example.com text = "vpce:l6p0ERxlTt45jevFwOCp"
ドメインの検証に関する問題をトラブルシューティングする
ドメインの検証プロセスが失敗した場合、次の情報は問題をトラブルシューティングするのに役立ちます。
-
DNS プロバイダーが TXT レコード名でアンダースコアを許可しているかどうかを確認してください。DNS プロバイダーがアンダースコアを許可していない場合は、TXT レコードからドメイン検証名 (例:「_6e86v84tqgqubxbwii1m」) を省略できます。
-
DNS プロバイダーが TXT レコードの末尾にドメイン名を追加したかどうかを確認します。一部の DNS プロバイダは、TXT レコードの属性名にドメイン名を自動的に追加します。ドメイン名のこの重複を避けるために、TXT レコードの作成時にドメイン名の末尾にピリオドを追加します。これは、ドメイン名を TXT レコードに追加する必要はないことを DNS プロバイダーに伝えます。
-
DNS プロバイダーが、小文字のみを使用するように DNS レコードの値を変更していないかどうかを確認します。提供された値と完全に一致する属性値を持つ検証レコードがある場合にのみ、ドメインを検証します。DNS プロバイダーが TXT レコードの値を小文字のみを使用するように変更した場合は、その DNS プロバイダーにお問い合わせください。
-
複数のリージョンまたは複数の AWS アカウント をサポートしているため、ドメインを複数回確認する必要がある場合があります。DNS プロバイダーが同じ属性名の複数の TXT レコードを持つことを許可していない場合は、DNS プロバイダーが、同じ TXT レコードに複数の属性値を割り当てることを許可しているかどうかを確認してください。例えば、DNS が Amazon Route 53 によって管理されている場合、次の手順を使用できます。
-
Route 53 コンソールで、最初のリージョンのドメインを検証したときに作成した TXT レコードを選択します。
-
[Value] (値) で、既存の属性値の末尾に移動し、Enter キーを押します。
-
追加のリージョンの属性値を追加し、レコードセットを保存します。
お客様の DNS プロバイダーで、同じ TXT レコードに複数の値を割り当てることが許可されていない場合は、TXT レコードの属性名の値で 1 回、属性名から削除された値で再度ドメインを検証することができます。ただし、同じドメインは 2 回まで検証できます。
-