

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

# VPC エンドポイントサービスの DNS 名を管理する
<a name="manage-dns-names"></a>

サービスプロバイダーは、エンドポイントサービスのプライベート DNS 名を設定できます。サービスプロバイダーがそのサービスをエンドポイントサービスとしてパブリックエンドポイント経由で利用可能にするとしましょう。サービスプロバイダーがパブリックエンドポイントの DNS 名をエンドポイントサービスのプライベート DNS 名として使用する場合、サービスコンシューマーは同じクライアントアプリケーションを使用してパブリックエンドポイントまたはエンドポイントサービスにアクセスでき、変更は必要ありません。リクエスト元がサービスコンシューマー VPC である場合は、プライベート DNS サーバーが DNS 名をエンドポイントネットワークインターフェイスの IP アドレスに解決します。それ以外の場合は、パブリック DNS サーバーが DNS 名をパブリックエンドポイントに解決します。

エンドポイントサービスのプライベート DNS 名を設定する前に、ドメインの所有権の検証チェックを実行して、ドメインを所有していることを証明する必要があります。

**考慮事項**
+ エンドポイントサービスはプライベート DNS 名を 1 つだけ持つことができます。
+ コンシューマーがサービスに接続するためのインターフェイスエンドポイントを作成すると、プライベートホストゾーンが作成され、サービスコンシューマー VPC に関連付けられます。プライベートホストゾーンに、エンドポイントサービスのプライベート DNS 名を VPC エンドポイントのリージョン DNS 名にマップする CNAME レコードが作成されます。コンシューマーがサービスのパブリック DNS 名にリクエストを送信すると、プライベート DNS サーバーがそのリクエストをエンドポイントネットワークインターフェイスの IP アドレスに解決します。
+ ドメインを検証するには、パブリックホスト名、またはパブリック DNS プロバイダーが必要です。
+ サブドメインのドメインを検証できます。たとえば、*a.example.com* ではなく、 *example.com*を検証できます。各 DNS ラベルには最大で 63 文字を指定することができ、ドメイン名全体の合計文字数は 255 を超えることはできません。

  追加のサブドメインを追加する場合は、サブドメインまたはドメインを検証する必要があります。たとえば、*a.example.com* があり、*example.com* を検証したとします。次に、*b.example.com* をプライベート DNS 名として追加するとします。サービスコンシューマーがこの名前を使用できるようにするには、*example.com* または *b.example.com* を検証する必要があります。
+ プライベート DNS 名は、Gateway Load Balancer エンドポイントではサポートされません。

## ドメインの所有権の検証
<a name="verify-domain-ownership"></a>

お客様のドメインは、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]** (失敗) の場合は、「[ドメインの検証に関する問題をトラブルシューティングする](#troubleshoot-domain-verification)」を参照してください。

## 名前と値を取得する
<a name="get-name-and-value"></a>

TXT レコードで使用する名前と値が提供されます。例えば、情報は AWS マネジメントコンソールで入手できます。エンドポイントサービスを選択し、エンドポイントサービスの **[Details]** (詳細) タブで、**[Domain verification name]** (ドメイン検証名) と **[Domain verification value]** (ドメイン検証値) を確認します。次の [describe-vpc-endpoint-service-configurations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-service-configurations.html) 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 レコードを追加する
<a name="add-txt-record-to-dns-server"></a>

ドメインの DNS サーバーに TXT レコードを追加する手順は DNS プロバイダーによって異なります。DNS プロバイダーは、Amazon Route 53 または別のドメイン名レジストラである可能性があります。

### Amazon Route 53
<a name="add-txt-record-route53"></a>

シンプルルーティングポリシーを使用してパブリックホストゾーンのレコードを作成します。以下の値を使用します。
+ **[Record name]** (レコード名) で、ドメインまたはサブドメインを入力します。
+ **レコードタイプ**で、[**TXT**] を選択します。
+ **[Value/Route traffic to]** (値/トラフィックのルーティング先) には、ドメイン検証の値を入力します。
+ **[TTL (seconds)]** (TTL (秒)) に **1800** と入力します。

詳細については、「*Amazon Route 53 Developer Guide*」の「[Create records using the console](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-creating.html)」を参照してください。

### 一般的な手順
<a name="add-txt-record-general"></a>

DNS プロバイダーのウェブサイトに移動し、アカウントにサインインします。ドメインの DNS レコードを更新するページを見つけます。指定された名前と値で TXT レコードを追加します。DNS レコードの更新が有効になるには、最大 48 時間かかることがありますが、多くの場合それよりも大幅に早く有効になります。

より具体的な方法については、DNS プロバイダーのドキュメントを参照してください。次のテーブルには、いくつかの主要なプロバイダーに関するドキュメントへのリンクが記載されています。このリストは、包括的であることを意図されたものではなく、これらの企業が提供する製品またはサービスの推奨を目的としたものでもありません。


| DNS/ホスティングプロバイダー | ドキュメントのリンク | 
| --- | --- | 
| GoDaddy | [TXT レコードを追加する](https://www.godaddy.com/help/add-a-txt-record-19232) | 
| Dreamhost | [カスタム DNS レコードの追加](https://help.dreamhost.com/hc/en-us/articles/360035516812-Adding-custom-DNS-records) | 
| Cloudflare | [DNS レコードを管理する](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/) | 
| HostGator | [Manage DNS Records with HostGator/eNom](https://www.hostgator.com/help/article/manage-dns-records-with-hostgatorenom) | 
| Namecheap | [ドメインの TXT/SPF/DKIM/DMARC レコードを追加する方法](https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237/how-do-i-add-txtspfdkimdmarc-records-for-my-domain/) | 
| Names.co.uk | [ドメインの DNS 設定の変更](https://www.names.co.uk/support/articles/changing-your-domains-dns-settings/) | 
| Wix | [Wix アカウントの TXT レコードの追加または更新](https://support.wix.com/en/article/adding-or-updating-txt-records-in-your-wix-account) | 

## TXT レコードが発行されているかを確認する
<a name="verify-txt-record-publication"></a>

次のステップを使用して、プライベート DNS 名ドメインの所有権の検証 TXT レコードが DNS サーバーに正しく発行されているかどうかを検証できます。Windows および Linux で使用できる **nslookup** コマンドを実行します。

ドメインにサービスを提供する DNS サーバーに対してクエリを実行する理由は、これらのサーバーにドメインの最新情報が格納されているためです。ドメイン情報が他の DNS サーバーに伝達されるまでには時間がかかります。

**TXT レコードが DNS サーバーに公開されていることを確認するには**

1. 次のコマンドを使用して、ドメインのネームサーバーを見つけます。

   ```
   nslookup -type=NS {{example.com}}
   ```

   出力に、ドメインにサービスを提供しているネームサーバーが示されます。次のステップで、これらのサーバーのいずれかをクエリします。

1. 次のコマンドを使用して、TXT レコードが正しく発行されていることを確認します。ここで、{{name\_server}} は、前の手順で見つけたネームサーバーの 1 つです。

   ```
   nslookup -type=TXT  {{_6e86v84tqgqubxbwii1m.example.com}} {{name_server}}
   ```

1. 前のステップの出力で、`text =` に続く文字列が TXT 値と一致することを確認します。

   この例では、レコードが正しく発行されている場合、出力には次が含まれます。

   ```
   1. _6e86v84tqgqubxbwii1m.example.com text = "vpce:l6p0ERxlTt45jevFwOCp"
   ```

## ドメインの検証に関する問題をトラブルシューティングする
<a name="troubleshoot-domain-verification"></a>

ドメインの検証プロセスが失敗した場合、次の情報は問題をトラブルシューティングするのに役立ちます。
+ 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 によって管理されている場合、次の手順を使用できます。

  1. Route 53 コンソールで、最初のリージョンのドメインを検証したときに作成した TXT レコードを選択します。

  1. **[Value]** (値) で、既存の属性値の末尾に移動し、Enter キーを押します。

  1. 追加のリージョンの属性値を追加し、レコードセットを保存します。

  お客様の DNS プロバイダーで、同じ TXT レコードに複数の値を割り当てることが許可されていない場合は、TXT レコードの属性名の値で 1 回、属性名から削除された値で再度ドメインを検証することができます。ただし、同じドメインは 2 回まで検証できます。