Amazon API Gateway API のカスタムドメイン名を設定しました。ドメイン名に接続できず、DNS 解決エラーまたは SSL 証明書不一致エラーが表示されます。これを解決するにはどうすればよいですか?
簡単な説明
API ゲートウェイ API 用に作成できるカスタムドメイン名には、リージョン または (REST API のみ ) エッジ最適化の 2 種類があります。
解決方法
API のカスタムドメイン名を作成する前に、次のいずれかの操作を行う必要があります。
AWS Certificate Manager (ACM) の SSL/TLS 証明書をリクエストします。
- または -
SSL/TLS 証明書をインポートします。
詳細については、「AWS Certificate Manager で証明書を準備する」を参照してください。
SSL/TLS 証明書を取得したら、手順に従って API Gateway API のカスタムドメイン名を設定します。
API Gateway API のカスタムドメイン名に接続するには、API Gateway エンドポイントにトラフィックをルーティングするように Amazon Route 53 を設定する必要があります。
カスタムドメイン名の DNS レコードが正しい API Gateway ドメイン名にマッピングされていない場合、SSL 接続は失敗します。これは、デフォルトの *.execute-api.<region>.amazonaws.com 証明書が、SSL/TLS 証明書の代わりに返されるためです。
DNS マッピングが正しいことを確認するには、クライアントから次のコマンドを実行します。
$ nslookup <customdomainname>
API Gateway ドメイン名が出力されるはずです。ドメイン名が API Gateway ドメイン名と一致することを確認してください。Route 53 エイリアスレコードを DNS マッピングに使用した場合、IP アドレスが出力されます。IP アドレスが API Gateway ドメイン名の IP アドレスと一致することを確認してください。
注:
- Route 53 を設定するときは、パブリックホストゾーンまたはプライベートホストゾーンのいずれかを作成する必要があります。ユーザーが利用できるようにしたいリソースを持つインターネットに直接接続するアプリケーションの場合は、パブリックホストゾーンを選択します。詳細については、「ホストゾーンの使用」を参照してください。
- Route 53 はレコードを使用して、ドメインのトラフィックがルーティングされる場所を特定します。エイリアスレコードは AWS リソースへの DNS クエリをより簡単に提供し、CNAME(非エイリアス)レコードは AWS リソースの外に DNS クエリをリダイレクトできます。詳細については、「エイリアスレコードと非エイリアスレコードの選択」を参照してください。
関連情報
カスタムドメイン名を別の API エンドポイントに移行する