API Gatewayでカスタムドメインを設定

API Gatewayで設定したAPIにアクセスする際、api-id.execute-api.region.amazonaws.com といった形式のURLではなく、カスタムドメインでアクセスする方法について取り上げます。

ここでは、AWS|Serverless FrameworkでLambda関数を作成 - わくわくBank で作成したAPI Gatewayにカスタムドメインを設定して動作確認します。

SSL証明書を発行
( AWS Certificate Manager )

下記ページで取り上げています。
AWS|ACMでSSL証明書を発行 - わくわくBank

独自ドメインを設定
( API Gateway )

API Gatewayのエンドポイント

683-aws-api-gateway-custom-domain_0.png

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

カスタムドメインの設定

683-aws-api-gateway-custom-domain_1.png

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

683-aws-api-gateway-custom-domain_2.png

ドメイン名に設定したいカスタムドメインを入力します。

エンドポイントの設定は、今回はリージョンを選択してます。

同一リージョンのACMで作成した証明書を選択します。

エッジ最適化とリージョンについて

ベースパスマッピング

683-aws-api-gateway-custom-domain_3.png

カスタムドメインのベースパス( https://{カスタムドメイン}/{basePath} ) とAPI GatewayのURLをマッピングさせます。

今回はルートで登録するため、ベースパスに何も入力せず、紐づけたいAPI Gatewayだけを指定しています。

683-aws-api-gateway-custom-domain_4.png

設定完了しました。

この後、ターゲットドメイン名をRoute53の設定で利用します。

DNS設定
( Route53 )

ALIASレコード登録

683-aws-api-gateway-custom-domain_5.png

名前でカスタムドメインを設定します。

エイリアス先に先ほどのターゲットドメイン名を設定します。

動作確認

今回、 AWS|Serverless FrameworkでLambda関数を作成 - わくわくBank で作成した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

参考