[アップデート] AWS App Runner でカスタムオートスケーリング構成が管理しやすくなっていたので、新しくなった機能をひととおり確認してみた

2023.09.22

いわさです。

AWS App Runner では同時リクエスト数のしきい値ベースでのオートスケーリングを簡単に構成することが出来ます。
近頃 App Runner のオートスケーリング構成関係の API が更新されている気配を感じたのでマネジメントコンソールを確認してみたところ、オートスケーリング関連の機能が色々と変わっていることに気がつきました。

アップデートアナウンスがまだ出ていないので他にも追加された機能があるのかがわからないのですが、本記事では本日時点の最新の状態で確認出来た点を紹介したいと思います。

2023.09.23 追記

アップデートのアナウンスも出ました。

オートスケーリング構成の管理機能が追加された

AWS App Runner のサイドメニューに「Auto scaling configurations」が追加されています。
こちらは次のようなオートスケーリング構成の管理画面となっています。

以前までも使えていたのか正直私は覚えてないのですが、いくつかの外部記事を参考にさせて頂いた限りでは最近追加されたものなのだと思います。
次の記事では 2023 年 6 月時点のマネジメントコンソールが表示されていますがその時点ではこのメニューは存在していないようでした。

オートスケーリング構成の作成が出来る

この管理画面ではカスタムオートスケーリング構成を作成することが出来ます。
従来はサービス作成時あるいは CLI 経由でのみ作成していたので若干管理がしずらかったと思いますが、管理しやすくなりますね。

オートスケーリング構成のパラメータとしては従来と同じでインスタンスあたりのリクエスト数のしきい値と、インスタンスの最小・最大台数のみが定義出来ます。

事前にカスタム構成を作成することが出来ました。

マネジメントコンソールからリビジョンの作成が出来るようになった

カスタムオートスケーリング構成は変更することが出来ません。その変わりにリビジョンという概念でバージョン管理されています。

従来までもカスタムオートスケーリング構成にリビジョンというバージョンの概念は存在していました。
しかし、マネジメントコンソールからはリビジョンの作成や管理が出来ずに AWS CLI 経由で管理を行う必要がありました。

実際に本日時点の公式ドキュメント上では、次のように「マネジメントコンソールでは単一のリビジョンのみ作成が可能」と注記されています。

At this time, you can only create a configuration with a single revision in the App Runner console. To create more revisions, and to delete configurations, use the App Runner API.

参考:Configuring service settings using sharable resources - AWS App Runner

今回新しく使えるようになったオートスケーリング構成管理画面ではリビジョンの作成が可能になっています。
おそらく近いうちにドキュメントも更新されそうです。

作成したオートスケーリング構成を選択すると、対象構成ごとのリビジョン管理画面に遷移します。
対象のリビジョンの編集は出来なくて、Create revision ボタンから新しいリビジョンを作成することが出来ます。

リビジョンでは設定名以外を更新することが出来ます。

作成されました。
バージョン番号などは自動で割り振られており、使用状況や日付などはリビジョン別に管理されてることがわかります。

カスタム構成をデフォルトとして設定出来るようになってる

おそらくこちらは AWS CLI を通しても以前までは出来なかった機能だと思います。
任意のカスタム構成をデフォルトのオートスケーリング構成として設定することが出来るようになりました。

次のようにカスタム構成あるいはリビジョンを選択し、「Set as default」アクションを選択します。

デフォルトで設定するとサービスの構成時にオートスケーリング設定エリアにて、デフォルト選択したカスタムオートスケーリング構成が自動で選択されます。

そもそもオートスケーリング構成画面ちょっと変わってるやん。という感じもしますが、それは後述しますね。

使用状況の確認が出来る

色々なカスタムオートスケーリング構成を作成し、複数のサービス間で共有することは従来でも出来ましたが、どのカスタム構成のどのリビジョンが使われているのか使われていないのか、使われている場合はどのサービスで設定されているのかが簡単にわかるようになりました。

ステータス列が「Not-in-use」のものは未使用、「In-use」のものは使用中です。
なお、構成はリビジョンがどれかひとつでも使用中であれば使用中とみなされるようです。

さらに、リビジョン管理画面で使用中のリビジョンを選択すると、次のように下部エリアに使用中のサービスが列挙されます。

さらに、この画面からサービスごとの参照リビジョンを更新することも出来ます。
サービスを選択し「Change revision」ボタンを押します。

対象カスタム構成内に存在するリビジョンを選択することが出来ます。
下記サービスは v1 を設定中なので、v2 を選択して更新ボタンを押してみます。

即時更新処理が開始されました。
サービス側も「Operation in progress」ステータスになっていましたので、更新タイミングには注意したほうが良さそうですね。

カスタム構成とリビジョンの削除

作成した時と同様に、カスタム構成およびそれぞれのリビジョンを削除することも出来ます。
前提条件として、使用中ものは削除することが出来ません。使用されていないリビジョンであれば削除することが出来ます。

また、デフォルトとして選択されているカスタム構成も削除することが出来ません。削除前にデフォルト設定を変更しておく必要があります。

操作方法としては次のように、Delete revision アクションを選択するだけです。

削除出来る状態であれば、即削除されます。
次はリビジョンを削除した場合です。v2 が使用中でしたが、v1 を削除してみました。

次はカスタム構成自体を削除した場合です。

サービス構成画面のオートスケーリング設定画面も少し変わってた

また、サービス構成時のオートスケーリング設定画面が以前までと少し変わっています。
以前まではデフォルトかカスタムかを選択し、カスタムの場合は新規で設定するか既存のカスタム構成を選択するような形でした。

現在は次のように対象の構成とリビジョンを選択する形式になっています。デフォルトかカスタムかで以前は分かれていましたが今は区別なく構成として一括りになっていますね。

また、従来まではカスタム構成のみ選択していましたがリビジョンもこの画面で選択する形になっています。

従来どおりこちらから作成も可能

オートスケーリング構成管理画面ではなく、サービス構成画面から従来どおりカスタム構成を作成することも可能です。
その場合は「Create」メニューから操作を行ってください。

作成した構成は、オートスケーリング構成管理画面にも表示されるようになります。

さいごに

本日は AWS App Runner でカスタムオートスケーリング構成が管理しやすくなっていたので、新しくなった機能をひととおり確認してみました。

オートスケーリングの設定内容としては従来と変わっていないですが、カスタム構成を管理する機能が色々と追加されていることが確認出来ました。
従来は管理のためにどうしても AWS CLI を使う必要があったのですが、マネジメントコンソールで色々管理出来るようになっているのが良いですね。