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

Azure Copilot Resiliency Agentをいろいろ試してみる

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
Avatar for tomokusaba tomokusaba
September 24, 2026

Azure Copilot Resiliency Agentをいろいろ試してみる

Azure Copilot Resiliency Agentをいろいろ試してみる
.NETラボ 勉強会 2026年9月
https://dotnetlab.connpass.com/event/399503/

Avatar for tomokusaba

tomokusaba

September 24, 2026

More Decks by tomokusaba

Other Decks in Technology

Transcript

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

    • このエージンとでできることとその限界点を考察していきます。
  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 プライマリーリージョン×3+セカ リージョン障害 ンダリーリージョン×1 RA-GRS GRS + セカンダリへの読み取り リージョン障害とセカンダリ読み 取り GZRS プライマリ側はZRS、別リージョ ンへGRS ゾーン障害 + リージョン障害 RA-GZRS GZRS + セカンダリへの読み取 り 高い可用性と読み取り継続
  5. Container Appsのリトライ 機能 対象 目的 Ingressのリトライ処理 レプリカへの受信トラフィック 異常なレプリカを切り離す プラットフォームの自動復旧 コンテナ・レプリカ

    異常なコンテナーを再起動・置換 する 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回線の再接続と状態復元