Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Copilot Resiliency Agent (preview)

Azure Copilot Resiliency Agent (preview)

Azure Copilot Resiliency Agent (preview)
すきやねん Azure!! #43
https://sukiyanenazure.connpass.com/event/406646/

Avatar for tomokusaba

tomokusaba PRO

October 19, 2026

More Decks by tomokusaba

Other Decks in Technology

Transcript

  1. 今日の目的 • Azure Copilot Resiliency AgentがPublic Previewにな りました。 • そもそも、回復性とはなにか

    • このエージェントでできることとその限界点を考察していきます。
  2. App Serviceのゾーン冗長設定例 • Premium v3、 v4のApp Service Planを使用 • ゾーン冗長を有効にする

    • 2インタンス以上にする • ヘルスチェック用のエンドポイントを用意する • アプリケーションはステートレスにする • セッション状態はInmemoryではなく外部のManaged Radis など外部サービスに保存
  3. App ServiceのBlazor Serverのゾー ン冗長の場合追加設定 • WebSocketsを有効化 • ARR Affinityを有効化 •

    SingletonでDIされたオブジェクトについては読み取りのみに する • さらにスケールアウトする際にはSignalR Serviceの使用を検 討
  4. Azure Storageの冗長オプション 方式 複製範囲 主な保護対象 LRS 1リージョン内の単一データセン ター×3 ハードウェア障害、ディスク障害 ZRS

    複数可用性ゾーン×3 ゾーン障害 GRS 両リージョンでLRS各3コピー (ゾーン分散なし) リージョン障害 RA-GRS GRS + セカンダリへの読み取り リージョン障害とセカンダリ読み 取り GZRS プライマリ側はZRS、別リージョ ンへGRS ゾーン障害 + リージョン障害 RA-GZRS GZRS + セカンダリへの読み取 り 高い可用性と読み取り継続
  5. Container Appsのリトライ 機能 対象 目的 Ingressの振り分け レプリカへの受信トラフィック Readiness失敗のレプリカを振 り分け対象から外す プラットフォームの自動復旧

    コンテナ・レプリカ 異常なコンテナーを再起動・置換 する Service discovery resiliency Container Apps間の HTTP/TCP通信 タイムアウト・リトライ・サーキット ブレーカー Container Apps Jobsのリト ライ Jobのレプリカ実行 失敗したJobレプリカを再実行す る アプリケーションのリトライ DB、Storage、外部APIなど Container Appsの外部依存 先の一時障害に対応する
  6. Ingressによる自動的な障害対応 • HTTP Ingressを有効にしたContainer Appでは、組み込み のIngressコントローラーが正常なレプリカへトラフィックを分散 します。 • レプリカがヘルスチェックに失敗すると、Container Appsはそ

    のレプリカをロードバランシング対象から外し、必要に応じてコン テナを再起動したり、置き換えレプリカを作成したりします。 • これは主にプラットフォームがレプリカを回復する処理です。アプ リケーションが呼び出すAzure SQLやBlob Storageの操作を、 任意の条件で安全に再実行する機能ではありません。
  7. ヘルスプローブによる再起動とトラフィッ ク切り離し プローブ 目的 Startup probe アプリケーションの起動完了を確 認 Readiness probe

    トラフィックを受け取れる状態か 確認 Liveness probe プロセスが動作し続けているか確 Liveness probeに失敗した場 認 合、コンテナの再起動につながり ます。 Readiness probeに失敗した 場合、通常はそのレプリカをトラ フィックから外します
  8. Container Apps間通信のリトライ (Preview) 機能 説明 HTTPタイムアウト Timeout Policyは、接続や応答を一定時間待ったあと、処理をタイムア ウトとして終了させる機能です。 HTTPリトライ

    HTTP Retry Policyは、指定した条件に該当するHTTP要求を再試行し ます。 TCP接続リトライ TCP Retry Policyは、TCP接続の確立に失敗した場合の再接続回数を 定義します。 サーキットブレーカー Circuit Breakerは、異常なレプリカへ要求を送り続けないための機能 です。 HTTP接続プール HTTP Connection Poolは、Container Apps間で確立済みの HTTP接続を再利用するための機能です。 TCP接続プール TCP Connection Poolは、Container Apps間で確立済みのTCP接 続を再利用するための機能です。
  9. まとめ • Azure Copilot Resiliency Agentは次の領域には向いてる • ゾーン冗長の確認 • リリース構成の評価

    • コード側では以下を確認する必要あり • 状態の外部化 • リトライのべき等性 • DB再接続 • Blazor回線の再接続と状態復元
  10. PyCon mini Tokyo with PythonAsia conference 日本とアジアのPythonコミュニティが交流する1日 2026/12/12(土) 10:00〜19:00 会場

    日本語・英語の2トラック GMO Yours・フクラス 渋谷フクラス16階 基調講演 Seth Larson / Mike Fiedler (Python Software Foundation) 一般 1,500円 学生 500円 パトロン 10,000円 参加登録はconnpassへ(事前決済) pyconjp.connpass.com/event/404336/
  11. 開催日のお知らせ PyCon mini Shizuoka 2027 2027/2/27(土) 会場 B-nest & 静岡市コクリ

    前回と同じ会場です。ぜひ予定の確保をお願いします! #pyconshizu 2027でお会いしましょう! 参加・プロポーザル・スポンサーの募集は追って告知します。 pycon-shizu.connpass.com/event/409477/ 詳細はconnpassへ