[アップデート] AWS App Runner で Route 53 ホストゾーンを使う場合にカスタム ドメインを自動構成できるようになりました

2023.10.06

いわさです。

AWS App Runner ではカスタムドメインを構成することが出来ます。

これまではカスタムドメインの有効化を行う際に、サービスへの名前解決や証明書の検証のために DNS レコードを手動で作成する必要がありました。

本日のアップデートで、対象のドメインが Route 53 ホストゾーンの場合に各種レコード追加を自動で行ってくれるようなり、設定が簡素化されました。

本日は実際に構成してみましたので、注意点など含めて紹介したいと思います。

アカウントで所有している Route 53 ホストゾーンが選択可能

今回の機能は App Runner コンソールから使用することが出来ます。
カスタムドメインを構成するために、サービスを作成後に詳細画面のカスタムドメインタブを開きます。
ここまでは従来の流れと同じです。

「ドメインをリンク」を選択するとドメインレジストラを選択する画面となります。
ドメインレジストラという表記になっていますが、私が今回使用する Route 53 ホストゾーンは外部のドメインレジストラで購入したもので DNS ホスティングだけ Route 53 で行っています。
私が今回検証した限りでは自動構成機能が使えたので、Route 53 でドメイン購入の必要性は無さそうです。ドキュメント上にもその点の記述はありませんでした。

Amazon Route 53 を選択すると次のように作成済みの Route 53 ホストゾーンが列挙されます。
今回はtak1wa.comを選択してみます。

DNS レコードタイプを選択することが出来ます。
ネイキッドドメインを設定したい場合はエイリアスレコードを使う必要があるので ALIAS を選択しましょう。

ちなみに、ネイキッドドメインに対して CNAME レコードを選択しようとした場合は次のように失敗しました。

また、サービスが停止されている場合はカスタムドメインの設定を行うことが出来ません。次のように失敗しました。

問題なければ次のように登録処理が実行されます。

処理の完了後は手動でレコードを作成した時と同じ様にレコード情報を参照画面が表示されます。
従来はここに表示されたレコードを所有するホストゾーンに作成することでカスタムドメインが使えるようになっていました。

今回のアップデートの Route 53 ホストゾーンを使った自動構成機能を使うと、次のようにこの時点で自動でレコードが登録されています。

DNS ターゲット

証明書検証

後はカスタムドメインのステータスがアクティブになるまで気長に待ちましょう。
私が確認した際には思ったよりも長かったです。(数分〜数十分)

カスタムドメインでアクセスできることを確認しました。

ここで気がついたのですが、これホストゾーンで選択したドメインでそのまま登録されますね。
サブドメイン構成がこのままだと出来ないようです。

名前解決さえできれば良いので、従来のように手動でレコードを登録するか、あるいはサブドメイン用にホストゾーンを分けるかが必要そうです。

サブドメイン用のホストゾーンを作成してみた

ここでは Route 53 の自動構成機能をサブドメインで使いたかったのでホストゾーンを切り離してみました。

次のように新しくサブドメイン用にパブリックホストゾーンを作成します。

作成されたホストゾーンのネームサーバー情報を、親のホストゾーンに NS レコードとして登録しました。サブドメインの名前解決を委任させます。

App Runner コンソールに戻ってカスタムドメインを追加で設定してみましょう。
次のようにサブドメインのホストゾーンが選択できるようになっています。

ドメインのリンクを行うと、次のようにサブドメインホストゾーンにレコードが自動で作成されました。

しばらく待ってやると、こちらもステータスがアクティブになり、カスタムドメイン経由でサービスにアクセスできるようになりました。

従来の手動構成も行ってみる

カスタムドメインのリンク画面で Non-Amazon を選択することで、任意のドメイン名を入力した従来の手動構成も引き続き行うことが出来ます。

当然ながらこの場合は DNS レコードが自動で作成されないので手動で作成してやる必要があります。

ドメインのリンク解除時は自動でレコード削除は行ってくれないので注意

カスタムドメインタブで「ドメインのリンク解除」を行うことで対象サービスへの選択したカスタムドメインの構成を解除することが出来ます。

ここで注意点がありまして、ドメインのリンク解除自体は問題なくできるのですが、Route 53 ホストゾーンのレコードは自動で削除がされません。

そのため不要なレコードが残る状態になるのでカスタムドメインのリンク解除時には手動でレコード削除をしておいたほうが良いので覚えておきましょう。

さいごに

本日は AWS App Runner で Route 53 ホストゾーンを使う場合にカスタム ドメインを自動構成できるようになったので使ってみました。

AWS 上に管理を集約しているのであれば、こういった自動でサービス間の構成を行ってくれるものは使っていきたいですね。
一方で本日時点ではサブドメイン用にホストゾーンを分けたり、ドメインリンク解除時には手動で DNS レコードのメンテナンスが必要など、いくつか注意点もあるのでそのあたりは覚えておきたいです。