0
0

More than 1 year has passed since last update.

App Runner のカスタムドメイン追加時にwwwサブドメインもまとめて追加する方法

Posted at

やりたいこと

App Runnerのカスタムドメインで設定したドメインに、wwwサブドメイン付きでアクセスしても同じサイトを表示させてあげたい

要するに……

https://test.com/
https://www.test.com/

このどちらで来ても同じサイトを表示したい、というケースの対応方法を解説します。

注) 同じサイトを表示するだけで、いずれかにリダイレクトするものではないです

手順

1. App Runnerでアプリケーション公開

今回は、ここは済んでいる前提で。

2. カスタムドメインの設定

注意ポイントです。
2023/08/06時点では、コンソールからでは、メインドメインとwwwサブドメインの両方をまとめて設定することができません。
APIで、サポートされているということなので、今回はboto3(python)で設定を進めます。

また、既にカスタムドメインを設定している場合、現状、変更ができないようで、後からwwwサブドメインにも対応できる設定書き換えよう、ということはできませんでした。
そのため、自分は設定済みのカスタムドメインを一度、削除してから再度、API経由で設定をし直しました。
その際に、紐付けていたドメインでは数時間弱アクセスできない可能性があるので、ご注意ください。

では、boto3のコードです。

import boto3
import json

my_session = boto3.Session(profile_name='YOUR_PROFILE_NAME')
client = my_session.client('apprunner')

arn = 'arn:aws:apprunner:ap-northeast-1:000000000000:service/~~~~~~~'

response = client.associate_custom_domain(
    ServiceArn=arn,
    DomainName='test.jp',
    EnableWWWSubdomain=True
)

print(json.dumps(response, indent=2))

EnableWWWSubdomainTrueにするのが重要です。
ここの値をTrueにすることでwwwサブドメインの設定もまとめて出来るようになります。

3. Route53でレコードの設定をする

AWSコンソールに戻って、App Runnerのカスタムドメインの「DNSの設定」を確認すると、コンソールからGUI操作でサブドメイン作成したときは表示されなかったwwwサブドメイン用のCNAME レコードが表示されています。(「1. 証明書の検証を設定する」という項目に計3つのCNAMEが表示されているかと思います。)

次に、ALIASレコードを設定します。
App Runnerのカスタムドメインの「DNSの設定」の「2. DNS ターゲットを設定する」には、メインドメインの設定しか書いていませんが、wwwサブドメインも同様に、www.test.comのようなAレコードを作成してメインドメインと同じALIASレコードを登録します。

設定の反映まで少々時間がかかりますが、だいたい数時間程度で反映されるかと思います。


公式ドキュメント読まないと気づけない機能だったので、コンソールにもAPI経由では可能です、とか書いておいて欲しいですね……地味に需要があって、追加された機能だと思うので。
そのうち、コンソールからの設定はもちろん、後付けで設定もできるようになるのかな。
App Runnerの今後の機能拡張に期待です!!

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