Azure研究サイト

Azure研究サイト

~理解しずらい情報をシンプルにお伝えします~

ContainerAppsの自動スケーリング設定方法

f:id:exemple:plain title=

 
ContainerAppsは、AppService/Functionsのメニューとは少し違い・クセがあります。

  • ネットワークメニュー ⇒ イングレス

  • インスタンス ⇒ レプリカ

と呼ばれていたりします。何か理由があるんでしょう。
 
今回は、レプリカの自動スケールアウトの話になります。

ContainerAppsの自動スケールアップ設定方法

今回は、コンテナーアプリへのリクエスト数などの数によって、レプリカ(インスタンス)を自動でスケールアウト(増減)させる設定の手順を説明します。
 
これには、方法がいくつかあり、少なくとも3つあります。

  • HTTPリクエストが指定の数を超えたらスケールアウトされる  
     
    f:id:exemple:plain title=

  • 「ストレージアカウントのキュー」に一定のキューが溜まったらスケールアウトされる  
     
    f:id:exemple:plain title=

  • 「ServiceBusのキュー」に一定のキューが溜まったらスケールアウトされる  
     
    f:id:exemple:plain title=

今回は「ServiceBusのキュー」に一定のキューが溜まったらスケールアウトされる設定の手順を説明します。

ServiceBusおよびキュー作成

詳細は省略しますが、「ServiceBusおよびキューの作成」「[設定] 共有アクセスポリシー > プライマリ接続文字列の取得」を行います。
 
 
 

f:id:exemple:plain title=

ContainerAppsのシークレットの追加

コンテナーアプリの [設定] シークレットにて、上記で確認されたServiceBusの接続文字列を値に設定いただき、スケール ルールの追加の認証から参照・選択できるようにしておく。
 
f:id:exemple:plain title=

 

f:id:exemple:plain title=

ContainerAppsのスケールルールの追加

次に、スケールルールの追加を以下の内容で行いました。

認証

ContainerAppsからServiceBusにアクセスするために、ServiceBusの認証情報を設定します。
[シークレットの参照 / トリガーパラメーター]
事前準備で設定いただいたシークレットのキー名を選択 / connection ※ connectionは固定文字列なのでそのまま書きます

メタデータ

以下の内容に沿って、名前と値のセットを入力していきます。
[名前 / 值]
messageCount / 任意の数
namespace / ServiceBus名
QueueName / ServiceBusのキュー名
 
※ ServiceBusのキューのServiceBusエクスプローラー等から、「メッセージの送信」を必要な回数行っていただく必要があります。

ServiceBusにてメッセージの送信およびレプリカの確認

messageCountを超えてメッセージ送をするとContainerAppsのレプリカが増加するかどうかを確認下さい。

公式ドキュメント

learn.microsoft.com

learn.microsoft.com

keda.sh

 
手順は以上になります。
 

ご意見・ご要望はこちらへ 


/*--------------------------------------------------------------------*/