minato128 blog

minato128の公開メモ帳です。

Azure App Service の Deployment Slot Setting

完全に理解したつもりだったのに忘れてしまっていたのでメモ

f:id:minato128:20200320003434p:plain

  • 前提
    • 黒枠がアプリケーション
      • 普通の AppSettings が紐付いている
    • 緑枠がデプロイメントスロット
      • Deployment Slot Setting がチェックされている AppSettings が紐付いている
    • A~D はそれぞれひとつの key-value
      • key name は同じでも違っても考え方は変わらない
  • Swap したとき
    • C と D は入れ替わるが、A と B は入れ替わらない
    • Deployment Slot Setting が存在すると、それを反映させるためアプリケーションが reboot される
      • 逆に Deployment Slot Setting が存在しない場合、 reboot されない
      • 意図的に reboot したい場合、1つでも適当な Deployment Slot Setting を入れておくとよい
        • WebSocket を使っていると swap 後に prod slot じゃない方に接続が残り続けるので、要件的に問題なければ reboot による強制切断で prod slot に負荷を移せる
  • 参考