はじめに
API Gatewayでカスタムドメインを利用するにあたっては、AWS内のサービスもしくは外部サービスで以下の3つの要素を準備する必要がある。
- ドメイン(「contoso.com」などの独自ドメイン)
- DNSサーバ(ホスト名「apihost.contoso.com」からターゲットドメイン(カスタムドメインを利用したいREST APIに紐付いたホスト)への名前解決)
- SSL証明書(ホスト名「apihost.contoso.com」に対応したSSL証明書)
ググってもらえれば分かる通り、設定方法について紹介された記事はすでにいくつも出回っている。
しかし、上記3要素をAWS内・外のいずれで準備する手順となっているかが記事ごとに異なっており、AWS初心者にとってはそれが混乱のもとになりそうだと感じた。(少なくとも私はかなり混乱した)
整理してみた
そこで、API Gatewayでカスタムドメインを設定する方法が紹介された記事を「ドメイン」「DNSサーバ」「SSL証明書」の3要素がAWSの内・外のいずれのサービスで準備される手順となっているかに着目して、以下の通り整理してみた。
No. | ドメイン管理 | DNSサーバ | SSL証明書発行機関 | 記事 |
---|---|---|---|---|
1 | AWS Route53 |
AWS Route53 |
AWS Certificate Manager |
API GatewayをカスタムドメインでHTTPS化する |
2 | 外部サービス | AWS Route53 |
外部サービス | AWSのAPI Gatewayで独自ドメイン名を使うの難しかった (Regional) |
3 | (記載なし) | AWS Route53 |
AWS Certificate Manager |
API Gatewayでカスタムドメインを設定 |
4 | 外部サービス | 外部サービス | AWS Certificate Manager |
API Gatewayでカスタムドメインを利用する(SSL証明書のみAWS機能で用意するパターン) |
※基本的には「API Gateway」「カスタムドメイン」でGoogle検索して1ページ目に表示される記事をピックアップしている。記載されている手順や仕様が明らかに古くなっている記事は省いている。
おわりに
私はNo.4の記事のように「ドメイン」「DNSサーバ」はムームードメイン、「SSL証明書」はAWS Certificate Managerで準備し、API Gatewayでカスタムドメインを利用する設定をした。
以上