API Gatewayで設定したAPIにアクセスする際、api-id.execute-api.region.amazonaws.com
といった形式のURLではなく、カスタムドメイン
でアクセスする方法について取り上げます。
ここでは、あらかじめ作成したAPI Gatewayにカスタムドメインを設定して動作確認します。
目次
SSL証明書を発行
( AWS Certificate Manager )
下記ページで取り上げています。
AWS|ACMでSSL証明書を発行 – わくわくBank
独自ドメインを設定
( API Gateway )
API Gatewayのエンドポイント

上記のように、https://xxxxx.execute-api.ap-northeast-1.amazonaws.com/xxxx
の形式でアクセスできますが、カスタムドメインでもアクセスできるように設定します。
カスタムドメインの設定

API Gatewayの管理画面です。カスタムドメイン名
をクリックします。

ドメイン名
に設定したいカスタムドメインを入力します。
エンドポイントの設定は、今回はリージョン
を選択してます。
同一リージョンのACMで作成した証明書を選択します。
エッジ最適化とリージョンについて
- エッジ最適化
- CloudFrontネットワークにデプロイされます。
- 一番近いCloudFrontにアクセスされます。
- リージョン
- リージョンにデプロイされます。
- CloudFrontを判定するオーバヘッドはありません。
- 参考
ベースパスマッピング

カスタムドメインのベースパス( https://{カスタムドメイン}/{basePath}
) とAPI GatewayのURLをマッピングさせます。
今回はルートで登録するため、ベースパスに何も入力せず、紐づけたいAPI Gatewayだけを指定しています。

設定完了しました。
この後、ターゲットドメイン名をRoute53の設定で利用します。
DNS設定
( Route53 )
ALIASレコード登録

名前
でカスタムドメインを設定します。
エイリアス先
に先ほどのターゲットドメイン名を設定します。
動作確認
今回、あらかじめ作成したAPI Gatewayにカスタムドメインを設定しました。
なので、下記2つの方法でアクセスできるようになりました。
$ curl https://xxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/message?name=wakuwaku
Hello wakuwaku
$ curl https://{カスタムドメイン}/message?name=wakuwaku
Hello wakuwaku