はじめに
2025/6/1時点:
AWS マネジメントコンソールにて以下の設定を行う手順を記載する。
Route 53 で取得したドメインを利用してAPIにカスタムドメインを割り当ててAPIコールする。
カスタムドメイン以外のデフォルトのエンドポイントは無効化する。
- 証明書はACMで発行
- ドメインはRoute 53で登録したドメインを利用
- API Gateway
- エンドポイントタイプ:リージョン(東京)
- REST API
- レスポンス:Lambdaで
Hello from Lambda
を表示
その他 前提情報
2025/6/1時点の以下の情報を基本の手順として実施
API Gateway でのパブリック REST API のカスタムドメイン名 - Amazon API Gateway
API エンドポイントタイプ:リージョン or エッジ最適化 で異なる
本記事はリージョンのAPIを対象とする。
リージョン別カスタムドメイン名で ACM 証明書を使用するには、API と同じリージョンで証明書をリクエストまたはインポートする必要があります。証明書はカスタムドメイン名を対象としている必要があります。
エッジ最適化カスタムドメイン名で ACM 証明書を使用するには、米国東部 (バージニア北部) – us-east-1 リージョンで証明書をリクエストまたはインポートする必要があります。
手順
0.事前確認
APIコールのレスポンス確認
正常にHello from Lambda
のレスポンスがあること
C:\Users>curl https://XXX.ap-northeast-1.amazonaws.com/prod/hello
{"statusCode": 200, "headers": {"Content-Type": "application/json"}, "body": "{\"message\": \"Hello from Lambda\"}"}
1.ACMで証明書発行
2.Route 53 でCNAMEレコード作成
1で控えたCNAMEレコードを登録する
※自身でパラメーターを設定して登録も可能であるが、ACM画面からRoute 53でレコードを作成するで実施も可能
3.ACMの証明書の発行を確認
4,API Gatewayでカスタムドメインを作成
カスタムドメインを作成
今回はリージョンのためエンドポイントタイプ:リージョン
ACM証明書:発行した証明書
※同一リージョンの証明書のみ選択可能
5.APIマッピングの作成
カスタムドメインと紐づけるAPI Gatewayのステージとパス(オプション)を選択
※パスも指定し、特定のパスのみを紐づけることも可能
正常に作成されること
カスタムドメイン名とAPI Gatewayドメイン名を控えておく
6.Route 53 レコード作成(カスタムドメインとAPI Gateway ドメイン名の紐づけ)
5で控えたレコードを登録する
※エイリアスレコードでもCNAMEレコードどちらでも実装可能
Route 53ではエイリアスレコードの設定が可能であるため推奨
その他のレジストラではCNAMEで作成
今回はRoute 53 であるがその他のレジストラの動作確認も含めCNAMEで作成
7.カスタムドメインでのAPIコール確認
カスタムドメインでも、デフォルトのエンドポイントでも
両方で通信が成功すること
8.(おまけ)デフォルトのエンドポイント無効化
カスタムドメインでは通信成功
デフォルトのエンドポイントではForbidden
以上!