

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

# カスタムドメインのトラブルシューティング
<a name="troubleshooting-custom-domains"></a>

Amplify コンソールのアプリケーションにカスタムドメインを接続する際に問題が発生した場合は、このセクションのトピックを参考にしてください。

ここで問題の解決策が見つからない場合は、 サポートにお問い合わせください。詳細については、「*AWS サポート ユーザーガイド*」の「[サポートケースの作成](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-case)」を参照してください。

**Topics**
+ [CNAME が解決されることを確認する必要がある](#how-do-i-verify-that-my-cname-resolves)
+ [サードパーティーでホストされているドメインが [Pending Verification] (検証待ち) 状態のままになっている](#my-domain-hosted-with-a-third-party-is-stuck-in-the-pending-verification-state)
+ [Amazon Route 53 でホストされているドメインが [Pending Verification] (検証待ち) 状態のままになっている](#my-domain-hosted-with-amazon-route-53-is-stuck-in-the-pending-verification-state)
+ [マルチレベルサブドメインを持つアプリが [Pending Verification] (検証待ち) 状態でスタックしている](#multilevel-domain-is-stuck-in-the-pending-verification-state)
+ [DNS プロバイダーが完全修飾ドメイン名の A レコードをサポートしていない](#FQDN-A-recored-unsupported)
+ [「CNAMEAlreadyExistsException」エラーが発生した](#i-get-a-cnamealreadyexistsexception-error)
+ [「追加の検証が必要です」というエラーが表示されます。](#i-get-an-additionalverificationrequired-error)
+ [CloudFront URL に 404 エラーが出る](#i-get-a-404-cloudfront-url)
+ [自分のドメインにアクセスしたときに SSL 証明書または HTTPS エラーが発生する。](#ssl-HTTPS-errors-on-domain)
+ [ドメインリダイレクトでサポートされていないパスコンポーネント](#domain-redirects-path-components)
+ [クロスアカウントドメインの関連付けで 400 エラーが発生する](#cross-account-domain-association-400-error)

## CNAME が解決されることを確認する必要がある
<a name="how-do-i-verify-that-my-cname-resolves"></a>

1. サードパーティのドメインプロバイダーで DNS レコードを更新したら、[dig](https://en.wikipedia.org/wiki/Dig_(command)) などのツールや [https://www.whatsmydns.net/](https://www.whatsmydns.net/) などの無料ウェブサイトを使用して、CNAME レコードが正しく解決されているかどうかを確認できます。次のスクリーンショットは、whatsmydns.net を使用して **www.example.com** というドメインの CNAME レコードを確認する方法を示しています。  
![whatsmydns.net のアプリケーションでは、確認するウェブサイトの名前を入力します。](http://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/images/amplify-troubleshooting-whatsmydns-1Update.png)

1. [**検索**] を選択すると、**whatsmydns.net** に CNAME の検索結果が表示されます。次のスクリーンショットは、CNAME が cloudfront.net URL に正しく解決されることを確認する結果のリストの例です。  
![解決 CNAME の結果を示す whatsmydns.net アプリケーション。](http://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/images/amplify-troubleshooting-whatsmydns-2Update.png)

## サードパーティーでホストされているドメインが [Pending Verification] (検証待ち) 状態のままになっている
<a name="my-domain-hosted-with-a-third-party-is-stuck-in-the-pending-verification-state"></a>

1. カスタムドメインが「**検証待ち**」の状態のままになっている場合は、CNAME レコードが解決中であることを確認してください。このタスクの実行方法については、前述のトラブルシューティングのトピック「[CNAME 解決を確認する方法](#how-do-i-verify-that-my-cname-resolves)」を参照してください。

1. CNAME レコードが解決されない場合は、ドメインプロバイダーの DNS 設定に CNAME エントリが存在することを確認してください。
**重要**  
 カスタムドメインを作成したらすぐに CNAME レコードを更新することが重要です。アプリが Amplify コンソールで作成されると、CNAME レコードが数分ごとにチェックされ、解決したかどうかを判別します。1 時間経っても解決しない場合は、数時間ごとにチェックが行われるため、ドメインを使用する準備ができるまでに時間がかかる可能性があります。アプリを作成してから数時間後に CNAME レコードを追加または更新した場合、これがアプリが「**検証保留中**」の状態で停止する最も可能性の高い原因です。

1. CNAME レコードが存在することが確認できた場合は、DNS プロバイダーに問題がある可能性があります。DNS 検証 CNAME が解決しない理由を診断するには、DNS プロバイダーに連絡するか、DNS を Route 53 に移行することができます。詳細については、「[Amazon Route 53 を既存ドメインの DNS サービスにする](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html)」を参照してください。

## Amazon Route 53 でホストされているドメインが [Pending Verification] (検証待ち) 状態のままになっている
<a name="my-domain-hosted-with-amazon-route-53-is-stuck-in-the-pending-verification-state"></a>

ドメインを Amazon Route 53 に移行した場合、ドメインのネームサーバーが、アプリの作成時に Amplify によって発行されたものとは異なる可能性があります。エラーの原因を診断するには、次の手順を実行します。

1. [Amazon Route 53 コンソール](https://console.aws.amazon.com/route53/home)にサインインします

1. ナビゲーションペインで、**[ホストゾーン]** をクリックし、検証する必要のあるドメインの名前を選択します。

1. 「**ホストゾーンの詳細**」セクションのネームサーバーの値を記録します。次のステップを完了するには、これらの値が必要です。次の Route 53 コンソールのスクリーンショットでは、右下隅にネームサーバー値の場所が表示されています。  
![Route 53 コンソールのホストゾーンの詳細セクションには、ネームサーバーの値が表示されます。](http://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/images/1555952748759-111.png)

1. ナビゲーションペインで [**Registered Domains**] をクリックします。[**登録済みドメイン**] セクションに表示されるネームサーバーが、前のステップで [**ホストゾーンの詳細**] セクションに記録したネームサーバーの値と一致することを確認します。一致しない場合は、ネームサーバーの値を**ホストゾーンの値**と一致するように編集します。次の Route 53 コンソールのスクリーンショットでは、右側にネームサーバー値の場所が表示されています。  
![Route 53 コンソールの登録済みドメインセクションには、ネームサーバーの値が表示されます。](http://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/images/1555952748759-607.png)

1. これでも問題が解決しない場合は、 サポートにお問い合わせください。詳細については、「*AWS サポート ユーザーガイド*」の「[サポートケースの作成](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-case)」を参照してください。

## マルチレベルサブドメインを持つアプリが [Pending Verification] (検証待ち) 状態でスタックしている
<a name="multilevel-domain-is-stuck-in-the-pending-verification-state"></a>

サードパーティーの DNS プロバイダーに接続するときに、マルチレベルサブドメインを持つアプリが **[Pending Verification]** (検証待ち) 状態でスタックしている場合、DNS レコードの形式に問題がある可能性があります。一部の DNS プロバイダーは、セカンドレベルドメイン (SLD) とトップレベルドメイン (TLD) のドメインのサフィックスをレコードに自動的に追加します。SLD と TLD を含む形式でもドメインを指定すると、ドメイン検証の問題が発生する可能性があります。

ドメインを接続するときは、まず Amplify が提供する完全な形式、たとえば `_hash.docs.backend.example.com` を使用してドメイン名を指定してみてください。SSL 設定が **[Pending Verification]** (検証待ち) 状態でスタックする場合は、レコードから TLD と SLD を削除してみてください。たとえば、完全な形式が `_hash.docs.backend.example.com` の場合、`_hash.docs.backend` を指定します。レコードが伝播されるまで 15～30 分待ちます。次に、MX Toolbox などのツールを使用して、検証プロセスが機能しているかどうかを確認します。

## DNS プロバイダーが完全修飾ドメイン名の A レコードをサポートしていない
<a name="FQDN-A-recored-unsupported"></a>

一部の DNS プロバイダーは、`example.cloudfront.net` などの完全修飾ドメイン名 (FQDN) の A レコードをサポートしていません。たとえば、Cloudflare A records は IPv4 アドレスのみを書き込み、FQDNs をサポートしていません。この制限を回避するには、DNS 設定で A records ではなく CNAME レコードを使用することをお勧めします。

たとえば、次の DNS 設定では A record が使用されています。

```
A     | @ | ***.cloudfront.net
CNAME | www | ***.cloudfront.net
```

CNAME レコードのみを使用するように、次の DNS 設定を変更します。

```
CNAME | @ | ***.cloudfront.net  
CNAME | www | ***.cloudfront.net
```

この回避策により、Cloudflare のシステムで A records の IPv4-onlyの制限を回避しながら、apex ドメイン (@ レコード) を CloudFront などのサービスに適切にポイントできます。

## 「CNAMEAlreadyExistsException」エラーが発生した
<a name="i-get-a-cnamealreadyexistsexception-error"></a>

**CNAMEAlreadyExistsException** エラーが発生した場合、接続しようとしたホスト名のいずれか (サブドメイン、または apex ドメインなど) が別の Amazon CloudFront ディストリビューションに既にデプロイされていることを意味します。エラーの原因は、現在のホスティングプロバイダーと DNS プロバイダーによって異なります。

`example.com` や `sub.example.com` などの CNAME エイリアスは、一度に 1 つの CloudFront ディストリビューションにのみ関連付けることができます。**CNAMEAlreadyExistsException** は、ドメインが同じ 内または別のアカウントにある AWS アカウント可能性のある別の CloudFront ディストリビューションに既に関連付けられていることを示します。Amplify ホスティングによって作成された新しいディストリビューションを機能させるには、ドメインと以前の CloudFront ディストリビューションとの関連付けを解除する必要があります。お客様またはお客様の組織が複数の を所有している場合は、複数のアカウントをチェックする必要がある場合があります AWS アカウント。

**CNAMEAlreadyExistsException** エラーの原因を診断するには、次の手順を実行します。

1. [Amazon CloudFront コンソール](https://console.aws.amazon.com/cloudfront/home?#)にサインインし、このドメインが他のディストリビューションにデプロイされていないことを確認します。CloudFront ディストリビューションには、一度に 1 つの CNAME レコードのみをアタッチすることができます。

1. 以前に CloudFront ディストリビューションにドメインをデプロイしていた場合は、削除する必要があります。

   1. 左のナビゲーションペインで、[**ディストリビューション**]を選択します。

   1. 編集するディストリビューションの名前を選択します。

   1. **[General]** (全般) タブを選択します。**設定** セクションで、**編集** を選択します。

   1. **代替ドメイン名 (CNAME)** からドメイン名を削除します。次に、[**変更を保存する**]を選択します。

1. 現在 AWS アカウント または他の でこのドメインを使用している他の CloudFront ディストリビューションが存在しないことを確認します AWS アカウント。現在実行中のサービスを中断しない場合は、ホストゾーンを削除して再作成してみてください。

1. このドメインが、所有する別の Amplify アプリに接続されているかどうか確認します。接続されている場合は、ホスト名のいずれかを再利用していないことを確認します。別のアプリに `www.example.com` を使用している場合、現在接続しているアプリで `www.example.com` を使用することはできません。`blog.example.com` などの他のサブドメインを使用できます。

1. このドメインが別のアプリに正常に接続され、過去 1 時間以内に削除された場合は、1 時間以上経過してからもう一度試してください。6 時間後にこの例外が表示された場合は、 にお問い合わせください サポート。詳細については、「*AWS サポート ユーザーガイド*」の「[サポートケースの作成](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-case)」を参照してください。

1. Route 53 を介してドメインを管理する場合は、古い CloudFront ディストリビューションを指すホストゾーン CNAME または ALIAS レコードを必ずクリーンアップしてください。

1. 前のステップを完了したら、Amplify ホスティングからカスタムドメインを削除し、ワークフローから始めて、Amplify コンソールでカスタムドメインを接続します。

## 「追加の検証が必要です」というエラーが表示されます。
<a name="i-get-an-additionalverificationrequired-error"></a>

**追加検証必須**エラーが発生した場合、 AWS Certificate Manager (ACM) はこの証明書リクエストを処理するために追加情報を必要とすることを意味します。この状況は不正保護対策として生じることがあります。たとえば、ドメインが「[Alexa の上位 1,000 のウェブサイト](https://aws.amazon.com/marketplace/pp/Amazon-Web-Services-Alexa-Top-Sites/B07QK2XWNV)」内にランク付けされている場合です。要求された情報を提供するには、[サポートセンター](https://console.aws.amazon.com/support/home)から サポートにお問い合わせください。サポートプランを契約していない場合は、[ACM ディスカッションフォーラム ](https://forums.aws.amazon.com/forum.jspa?forumID=206)に新しいスレッドを投稿してください。

**注記**  
末尾が amazonaws.com、cloudfront.net、または elasticbeanstalk.com などの Amazon が所有するドメイン名に証明書をリクエストすることはできません。

## CloudFront URL に 404 エラーが出る
<a name="i-get-a-404-cloudfront-url"></a>

トラフィックを処理するために、Amplify ホスティングは CNAME レコードを介して CloudFront URL を指します。アプリをカスタムドメインに接続する過程で、Amplify コンソールにはアプリの CloudFront URL が表示されます。ただし、この CloudFront URL を使用してアプリケーションに直接アクセスすることはできません。404 エラーが返される。アプリケーションは、Amplify アプリの URL (例: `https://main.d5udybEXAMPLE.amplifyapp.com`) またはカスタムドメイン (例: `www.example.com`) を使用してのみ解決されます。

Amplify は、デプロイされた正しいブランチにリクエストをルーティングする必要があり、ホスト名を使用してこれを行います。たとえば、アプリのメインラインブランチを指すドメイン `www.example.com` を設定できるだけでなく、同じアプリの dev ブランチを指すドメイン `dev.example.com` も設定できます。そのため、Amplify がそれに応じてリクエストをルーティングできるように、設定されているサブドメインに基づいてアプリケーションにアクセスする必要があります。

## 自分のドメインにアクセスしたときに SSL 証明書または HTTPS エラーが発生する。
<a name="ssl-HTTPS-errors-on-domain"></a>

サードパーティーの DNS プロバイダーで設定された認証機関認可 (CAA) DNS レコードがある場合、 AWS Certificate Manager (ACM) はカスタムドメイン SSL 証明書の中間証明書を更新または再発行できない場合があります。これを解決するには、Amazon の認証局ドメインの少なくとも 1 つを信頼する CAA レコードを追加する必要があります。次の手順では、実行する必要のあるステップについて説明します。

**Amazon 認証局を信頼する CAA レコードを追加するには**

1. Amazon の認証局ドメインの少なくとも 1 つを信頼するように、ドメインプロバイダーに CAA レコードを設定します。CAA レコードの設定について詳しくは、「*AWS Certificate Manager ユーザーガイド*」の「[Certificate Authority Authorization (CAA) の問題](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-caa.html)」を参照してください。

1. SSL 証明書を更新するには、次のいずれかの方法を使用します。
   + Amplify コンソールを使用して手動で更新します。
**注記**  
この方法では、カスタムドメインのダウンタイムが発生します。

     1. にサインイン AWS マネジメントコンソール し、[Amplify コンソール](https://console.aws.amazon.com/amplify/)を開きます。

     1. CAA レコードを追加するアプリを選択します。

     1. ナビゲーションペインで、[**アプリ設定**]、[**ドメイン管理**] の順に選択します。

     1. 「**ドメイン管理**」ページで、カスタムドメインを削除します。

     1. アプリをカスタムドメインに再接続します。このプロセスにより新しい SSL 証明書が発行され、その中間証明書を ACM で管理できるようになりました。

        アプリをカスタムドメインに再接続するには、使用しているドメインプロバイダーに対応する以下のいずれかの手順を使用してください。
        + [Amazon Route 53 が管理するカスタムドメインの追加](to-add-a-custom-domain-managed-by-amazon-route-53.md).
        + [サードパーティーの DNS プロバイダーが管理するカスタムドメインの追加](to-add-a-custom-domain-managed-by-a-third-party-dns-provider.md).
        + [GoDaddy が管理するドメインの DNS レコードの更新](to-add-a-custom-domain-managed-by-godaddy.md).
   + SSL 証明書を再発行 サポート するには、 にお問い合わせください。

## ドメインリダイレクトでサポートされていないパスコンポーネント
<a name="domain-redirects-path-components"></a>

ドメインリダイレクトはホスト名部分のみに一致します。ドメインベースのソースルール (`"https://domain.com/path"` など) のパスコンポーネントはサポートされていないため、ルールはエラーなしで無視されます。詳細については、「[サンプルリファレンスをリダイレクトして書き換える](redirect-rewrite-examples.md)」を参照してください。

## クロスアカウントドメインの関連付けで 400 エラーが発生する
<a name="cross-account-domain-association-400-error"></a>

同じリージョン内の他の AWS アカウント (複数可) の異なる Amplify App (複数可) に既または以前に関連付けられているドメインを持つ Amplify アプリの DomainAssociation リクエストを開始する場合、これはクロスアカウントドメインの関連付けと見なされます。このエラーが表示される場合は、クロスアカウントドメインの関連付けを試みていることを意味します。これには手動検証が必要です。クロスアカウントドメインの関連付けを続行する場合は、AWS サポートにお問い合わせください。