Lambdaでカスタムドメインの設定をしてみた

以下の手順でLambdaにお名前.comで取得したドメインを設定してみた。

  1. Route53でホストゾーンを作成
  2. ACMで証明書を発行
  3. zappa設定ファイル編集
  4. certifyコマンド

ホストゾーンの作成

Route53にホストゾーンを追加する。

ちなみにホストゾーン1つにつき0.5ドル課金される模様。

SSL証明書の発行

パブリック証明書をリクエストする。

wwwありとなしで2つドメインを指定する。

DNS検証を選択し「Route53でレコードを作成」を選択する。

DNS検証が終わるとステータスが成功になる。

ちなみに最初はEメールの検証を選んでしまい、メール届かんやん!ってなって、リクエストを削除してやり直した。

zappaの設定ファイル

証明書とドメインを追記する。

ドメイン名は、wwwありorなしのどちらか1つとなる。

{
    "dev": {
        "app_function": "application.application",
        "aws_region": "us-west-2",
        "profile_name": "eb-cli",
        "project_name": "flask-serverles",
        "runtime": "python3.7",
        "s3_bucket": "zappa-bqff0mxbf",
        "certificate_arn": "arn:aws:acm:us-east-1:...",
        "domain": "www.tnsk.cc"
    }
}

ちなみに最初はSSL証明書をオレゴンのリージョン(us-west-2)で作成していたため、エラーが発生した。

バージニア北部(us-east-1)にリージョンを変更し、証明書を作成し直した。

どうやら証明書はバージニア北部で作成する必要があるらしい。

certifyする

$ zappa certify dev
Calling certify for stage dev..
Are you sure you want to certify? [y/n] y

Certificate updated!と表示される。

10分程度待つと、設定したドメインにアクセスできた!

参考

https://romandc.com/zappa-django-guide/walk_domain/

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog