API Gatewayを独自ドメインでデプロイした話
作成日時: August 18, 2023 3:41 PM
はじめに
こんにちは、エンジニアリング半年のKentoです。
AWS超ド級初心者の備忘録だと思って参考程度にしてください
やりたかったこと
API Gatewayで作ったHTTP APIを独自のドメインで公開したい。
→以前友達がAPIのURLを独自のドメインで共有してくれたことがあり、それが使いやすかったため。
Google domainで取得したドメインをAWSで使いたい。
事前にやっておいたこと
Google domainでのドメイン取得
API GatewayでのHTTP APIの準備
全体像

手法
1. Route 53 ダッシュボードでホストゾーンを作成


2. ホストゾーンの設定
ドメインを設定(サブドメインを入れたほうが使いやすい)
例:sub.sample.com

3. Google domainの設定
詳細より、タイプ→NSのところ(値、トラフィックのルーティング先)
の四つ書いてあるルーティング先をコピー

Google domainの設定→DNS

カスタムネームサーバーを設定、ネームサーバーの管理からさっきコピーした四つのリンクをコピペ

4. ACM(AWS Cretificate Manager)証明書の作成
Cretificate Managerを起動してリクエストをクリック


完全修飾ドメイン名に使用したいドメインを入れる
例:*.sub.sample.com(全て使用できるようにする)
DNS検証にチェックを入れておくとAWSが自動的に検証してくれる
少し時間かかる可能性あり、5~30分程度

図は検証済みの状態

5. API gatewayで証明書の設定、マッピング
API gatewayを開いてカスタムドメイン名を選択、作成をクリック

ドメイン名はご自由に
例:api.sub.sample.com(先ほど証明書で許可したものを入力)
HTTP APIならリージョンを選択してACM証明書で先ほど作成したものを選択

続いてAPIマッピングを設定

作ったAPIを指定してステージとパスをお好みで設定

6. 最後にRoute 53でAレコードを作成
作成したホストゾーンの詳細ページからレコードを作成をクリック

レコード名はAPI Gatewayで設定したものを設定
レコードタイプはA
値にはAPI Gatewayのカスタムドメイン名の設定ページからAPI Gateway ドメイン名をコピペ

先ほどのホストゾーンの設定の詳細にAタイプのレコードが表示されていれば設定完了となります!
お疲れ様でした。
Postmanなどでテストしてみてしっかりレスポンスが帰ってくるか確認してみましょう

参考にしたサイト
https://dev.classmethod.jp/articles/tsnote-api-gateway-http-api-custom-domain/