AWS App Runner で Route 53 エイリアスレコードがサポートされました

2022.09.07

いわさです。

本日のアップデートで App Runner に Route 53 のエイリアスレコードを設定することが出来るようになりました。

これまではエイリアスレコードを使うことが出来ず CNAME で指定する必要があったので Zone Apex の場合だと App Runner をホストするには無理やり IP アドレスを直接指定するしかなく利用が難しい状況でした。
App Runner のカスタムドメイン周りについては以下で詳しく紹介されていますのでまずこちらをご紹介します。

こちらの記事でも以下のように紹介されていました。

最初に述べた通り現状App Runnerのデフォルトホスト名はALIASレコードに対応していません。 このため今回やりたかったZone APEX + www SANのパターンにおいて、Route 53ではZone APEXの設定がうまくできません。 今回はむりやりAレコードを登録して動作確認しましたが本番運用では使えないでしょう。

使えるようになったらしいので、本日は早速使ってみました。

やってみる

App Runner のアプリケーションを構築して、既に所有しているドメインで Zone Apex な A レコードを割り当てしてみます。

App Runner 作成

前に作成したリポジトリにサンプルソースコードが残っていたのでこちらを使ってマネージドラインタイムでホスティングさせてみます。

カスタムドメインをリンク

サービスが起動されたらカスタムドメインタブがドメインをリンクさせます。

ここでは所有しているtak1wa.comというドメインをリンクさせます。

アプリケーションへの名前解決に必要なレコードと、App Runner マネージドな SSL/TLS 証明書をドメイン検証するためのレコードが表示されますので次項でこれらを Route 53 に登録します。

Route 53 登録

まずは証明書検証用レコードです。
参考ブログにあるように CNAME レコードとして登録します。

次に App Runner インスタンスへのレコードです。
ここで、今回からエイリアスレコードを指定出来るようになったそうなのでこちらを使ってみます。

注意点が 2 点あります。
以下に記述があるのですが、2022 年 8 月 1 日以降に作成されたサービスのみエイリアスレコードの登録がサポートされているようです。
また、本日時点ではChangeResourceRecordSetsが App Runner のエイリアスターゲットに対応していないようで、こちらは追って対応される予定とのことです。

以下のようにエイリアスレコードとして先程作成したサービスを指定します。

確認

名前解決出来るようになったら、HTTP リクエストを送信してみます。

% curl https://tak1wa.com/
Greetings from Spring Boot!

確認出来ました。

さいごに

本日は AWS App Runner で Route 53 エイリアスレコードがサポートされたので試してみました。

普通に他サービスと同じ操作感でエイリアスレコード使えるようになりましたねという感じですね。
サービスが作成されたタイミングによってはそのままエイリアスレコードの登録が出来ないのでその点だけ気をつけましょう。