Amplify Console のカスタムドメインで www 付きドメインへのリダイレクトが勝手に設定されてしまう時の対処法

リダイレクトを停止するためには、www サブドメインへのリダイレクトルールを削除してください

困っていた内容

Amplify Console でドメイン管理からカスタムドメインを設定しており、Zone Apex を設定すると、www 付きドメインにリダイレクトする設定が自動で追加されてしまいます。
www にリダイレクトしないようにする方法を教えて下さい。

どう対応すればいいの?

Amplify Console でカスタムドメインを設定する際に、Route53 へ事前にドメインが登録されている場合は、Amplify がドメインの Zone Apex と www サブドメインを指定するように自動的に設定を行います。
そのため、カスタムドメイン登録の際に、www サブドメインへのリダイレクトルールが含まれた状態で登録された可能性があります。

Q: カスタムドメインに接続するにはどうすれば良いですか? Route53 にドメインが登録されている場合、ドロップダウンから選択するだけで、AWS Amplify は、DNS レコードがウェブサイトの apex と "www" サブドメインを指定するよう自動的に設定を行います。さらに、接続されているすべてのブランチに自動的にサブドメインを作成します。

よくある質問 - AWS Amplify | AWS

上述の理由から、www サブドメインへのリダイレクトを停止するためには、Amplify のマネージメントコンソールから該当のリダイレクトルールを選択して削除ください。

また、www サブドメインが Amplify Console のカスタムドメインとして不要な場合は、「Domain management」のコンソールから削除することで、Amplify が自動的に www サブドメインを Route53 から削除します。

やってみた

前提

以下が、完了していることを前提にします。

  • アプリケーション作成
  • アプリケーションを Amplify Console でホスト

Route53 でゾーン作成

事前に Amplify のカスタムドメインとして登録したいドメインを作成しておきます。

カスタムドメインの作成

Amplify のマネージメントコンソール「ドメイン管理」の画面で、「カスタムドメインの追加」をクリックします。

ドメイン検索のプルダウンから、事前に Route53 へ登録したドメインを選択します。
すると、サブドメインの欄に、www 付きのドメインが自動で指定されます。

画面下部で、以下のメッセージが表示されている箇所にチェックボックスがついています。
チェックボックスがついた状態で保存をすると、www へのリダイレクトルールが登録されます。

Setup redirect from https://nakano.an.classmethod.info to https://www.nakano.an.classmethod.info
You can edit these settings in the 'Rewrites and redirects' page.

リダイレクトルールが作成されていることを確認

curl で登録したドメインの Zone Apex へリクエストすると、www 付きのサブドメインにリダイレクトされることを確認します。

$ curl -i https://nakano.an.classmethod.info
HTTP/2 302
content-length: 0
location: https://www.nakano.an.classmethod.info/
server: CloudFront
date: Thu, 14 Oct 2021 08:46:43 GMT
x-cache: Miss from cloudfront
via: 1.1 f3d34762a17138affa7e1595de182cfc.cloudfront.net (CloudFront)
x-amz-cf-pop: NRT57-C2
x-amz-cf-id: AGSbnlYXnofnyGEOvZoBsx5sNhCKoy1x_e6w_C73U8MSpERUQbXdIA==

リダイレクトしないように修正

それでは、Amplify からリダイレクトルールを削除します。

また、www 付きのサブドメインが不要のときは、ドメイン管理の画面から削除します。

暫く経つと、Route53 から www 付きのドメインが削除されます。
curl で、www へのリダイレクトがされなくなったことを確認します。

 $ curl -I https://nakano.an.classmethod.info
HTTP/2 200
content-type: text/html
content-length: 3046
date: Thu, 14 Oct 2021 08:49:12 GMT
last-modified: Mon, 11 Oct 2021 07:14:41 GMT
etag: "8ce988924aaedb0cfd771112d76b316b"
x-amz-server-side-encryption: AES256
accept-ranges: bytes
server: AmazonS3
cache-control: public, max-age=0, s-maxage=2
vary: Accept-Encoding
x-cache: Miss from cloudfront
via: 1.1 11a8926e793e8500f945a5261bce0bd7.cloudfront.net (CloudFront)
x-amz-cf-pop: NRT57-C2
x-amz-cf-id: IFO1WJFqiPMmwy-vTmTk9bKDWeAxA-Yn2OTHXkvyHiYsXICbaDq0Zw==

参考資料