LoginSignup
2
3

More than 1 year has passed since last update.

Amazon API Gatewayを独自サブドメインで使う

Last updated at Posted at 2021-05-19

api.example.com のような独自ドメインのサブドメインでAPI Gatewayを使う設定をしてみます。
CloudFrontに独自ドメインのルートドメインを設定し、APIをサブドメインに紐付けるような使い方を想定しています。
先に独自ドメインのRoute53によるDNS設定が必要になりますが、この記事では説明しません。
下記の記事が参考になりました!
freenomで取得したドメインをRoute53に委任する。 - サーバーワークスエンジニアブログ

ACM(AWS Certificate Manager)でSSL証明書を作る

まず、AWSコンソールのACM設定画面より、SSL証明書を作ります。CloudFrontの独自ドメイン設定では必ず us-east-1 リージョンで証明書を作成しますが、API Gatewayの場合は独自ドメインで使いたいAPIのリージョンでACM設定を行います。
ACM設定画面より「証明書のリクエスト」→「パブリック証明書のリクエスト」と入力を進めます。


ステップ 1: ドメイン名の追加

利用したいサブドメインを入力します。 例:api.example.com

ステップ 2: 検証方法の選択

「DNSの検証」を選択します。

ステップ 3: タグを追加

必須ではありません。補足情報が必要な場合は入力してください。

ステップ 4: 確認とリクエスト

確認して「確定とリクエスト」ボタンを押してください。

ステップ 5: 証明書のリクエスト


「Route53でのレコードの作成」→「続行」と入力してください。
SS_証明書のリクエスト.png
 


入力を完了すると、設定したドメインがリストに追加され、「検証保留中」と表示されますが、数分待って更新ボタンを押すと「発行済み」になりました。

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

API Gateway設定画面より、「カスタムドメイン名」→「作成」と入力します。
SS_カスタムドメイン名.png


ドメイン名を入力し、ACM証明書は先程、作成した証明書を選択します。
SS_ドメイン名を作成.png


作成したカスタムドメイン名を選択し、APIマッピング設定へと進みます。
SS_APIマッピング設定を開く2.png


「新しいマッピングを追加」し、使用したいAPIを選択します。
ステージはAPIで作成しているステージから選択、パスは任意の値を入力してください。複数APIをマッピングする場合はパスが必要になります。
SS_APIマッピング設定を入力2.png

Route53 Aレコードを作成

Route53設定画面より、「ホストゾーン」→(作成済みのドメイン名)→「レコードの作成」と進みます。
レコードの作成画面で、レコード名、レコードタイプ、エイリアス、リージョン、エンドポイントを入力します。
レコード名はサブドメインのサブの部分を入力します。
レコードタイプはAレコードを選択します。
エイリアスをONにして「API Gateway APIへのエイリアス」を選択します。
リージョンは使用したいAPIのリージョンを入力してください。
エンドポイントはカスタムドメインで設定したAPIが選択肢に出てきますので、選択します。
SS_Aレコードの作成.png

独自サブドメインでAPIにアクセス

サブドメインでアクセスできるか試してみましょう。APIは直接ブラウザで開ける設定のREST APIです。
URLは下記の形式です。
https://<サブドメイン>(/パス)/<APIのリソースパス>
例:https://api.example.com/users

※普段、Chromeのアドレス欄に入力する際にはドメインから入力していましたが、この時はhttps://から入力しないと開けませんでした。ブラウザで開けなかった場合はお試しください。

SS_ブラウザで開く.png

無事、サブドメインでAPIにアクセスできました!

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3