ContainerAppsは、AppService/Functionsのメニューとは少し違い・クセがあります。
ネットワークメニュー ⇒ イングレス
インスタンス ⇒ レプリカ
と呼ばれていたりします。何か理由があるんでしょう。
今回は、レプリカの自動スケールアウトの話になります。
ContainerAppsの自動スケールアップ設定方法
今回は、コンテナーアプリへのリクエスト数などの数によって、レプリカ(インスタンス)を自動でスケールアウト(増減)させる設定の手順を説明します。
これには、方法がいくつかあり、少なくとも3つあります。
HTTPリクエストが指定の数を超えたらスケールアウトされる
「ストレージアカウントのキュー」に一定のキューが溜まったらスケールアウトされる
「ServiceBusのキュー」に一定のキューが溜まったらスケールアウトされる
今回は「ServiceBusのキュー」に一定のキューが溜まったらスケールアウトされる設定の手順を説明します。
ServiceBusおよびキュー作成
詳細は省略しますが、「ServiceBusおよびキューの作成」「[設定] 共有アクセスポリシー > プライマリ接続文字列の取得」を行います。
ContainerAppsのシークレットの追加
コンテナーアプリの [設定] シークレットにて、上記で確認されたServiceBusの接続文字列を値に設定いただき、スケール ルールの追加の認証から参照・選択できるようにしておく。
ContainerAppsのスケールルールの追加
次に、スケールルールの追加を以下の内容で行いました。
認証
ContainerAppsからServiceBusにアクセスするために、ServiceBusの認証情報を設定します。
[シークレットの参照 / トリガーパラメーター]
事前準備で設定いただいたシークレットのキー名を選択 / connection ※ connectionは固定文字列なのでそのまま書きます
メタデータ
以下の内容に沿って、名前と値のセットを入力していきます。
[名前 / 值]
messageCount / 任意の数
namespace / ServiceBus名
QueueName / ServiceBusのキュー名
※ ServiceBusのキューのServiceBusエクスプローラー等から、「メッセージの送信」を必要な回数行っていただく必要があります。
ServiceBusにてメッセージの送信およびレプリカの確認
messageCountを超えてメッセージ送をするとContainerAppsのレプリカが増加するかどうかを確認下さい。
公式ドキュメント
手順は以上になります。