1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python(Django) x AWS 一人アドベントカレンダーAdvent Calendar 2024

Day 17

【AWS】API Gateway + Lambda + ACM + Route53で、任意のドメイン名と紐づける

Posted at

概要

API Gateway + LambdaでAPI Gatewayのドメイン名をRoute53で紐付ける方法を紹介します。

API Gateway + Lambdaの構築は以下の記事で紹介しましたので、この記事ではそこからRoute53を使ってAPI Gatewayのドメイン名の向き先の紐づけ手順を紹介します。

前提

  • Route53でドメインは取得済みとします
  • ACMでSSL証明書も取得済みとします

手順

  • ①カスタムドメイン名を作成する
  • ②API マッピングを行う
  • ③Route53で紐付ける

①カスタムドメイン名を作成する

  • API Gateway -> 「カスタムドメイン名」 -> 「ドメイン名を追加」
    • ドメイン名を入力
    • 「ACM 証明書」に該当の証明書を選択

※API GatewayではHTTPS エンドポイントのみ対応しているので、ACMの紐付けが必要になります

Amazon API Gateway で作成された API は、HTTPS エンドポイントのみ公開します。API Gateway は非暗号化 (HTTP) エンドポイントをサポートしません。
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/data-protection-encryption.html

②API マッピングを行う

  • API Gateway -> 「カスタムドメイン名」 -> 上記で作成したドメインを選択 -> 「API マッピング」を設定
    • 該当API、ステージ、パス(空のまま)を選択して保存
  • 「API Gateway ドメイン名」が生成されたことを確認します

※デプロイ直後だとステージがプルダウンに表示されないのでその場合は数分待ちます

③Route53で紐付ける

AWS Route53で上記ドメイン名を紐付けします (もちろん「お名前.com」とか他でも可能)。

  • Route53 -> ホストゾーン -> 該当ドメイン選択 -> レコードを作成
    • レコードタイプA
    • エイリアスは「API Gateway API へのエイリアス」を選択
    • 先ほど作成したAPI Gateway ドメイン名を選択して、レコード作成

※他で同じドメインに紐付けている既存のレコードが残っている場合は、まずはそれを削除してから行います(重複登録エラーになるため)

以上で、少し待つと無事に反映されました!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?