0Pricing
Azure Fundamentals · レッスン

PaaS サービスの DR

geo-replication と自動フェールオーバー グループを使用して Azure SQL Database のディザスター リカバリーを設計し、ステートフル ワークロード向けの VM レベルのレプリケーションと比較します。

「PaaS サービスの DR」はCoddyKit上の無料Azure Fundamentalsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAzure Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Azure Fundamentalsコースには全4レッスンが含まれています。

PaaSとIaaSのDR

IaaSサービス(VM)の災害復旧では通常、Azure Site Recoveryを使用してOS全体とデータディスクをセカンダリリージョンにレプリケートします。基盤インフラストラクチャがMicrosoftによって管理されるため、PaaSサービスのDRモデルは異なります。PaaSでは通常、データ層でDRを構成します。つまり、プラットフォーム自体は自動的に起動し、データをセカンダリリージョンにレプリケートします。

Azure SQL Database:組み込みの冗長性

Azure SQL Databaseは、単一リージョン内のゾーンレベルで高可用性を標準で提供します。リージョン間のDRには、アクティブgeoレプリケーション(最大4つの他リージョンにある読み取り可能なセカンダリデータベース)と、自動フェールオーバーグループ(単一のリスナーエンドポイントによる自動フェールオーバー)という2つの主要機能があります。これらはAzure Site Recoveryを必要とせず、データベースまたはサーバーレベルで構成します。

# Create a geo-replication link:
az sql db replica create \
  --resource-group myRG \
  --server primarySqlServer \
  --name myDatabase \
  --partner-server secondarySqlServer \
  --partner-resource-group secondaryRG

自動フェールオーバーグループ

自動フェールオーバーグループは、geoレプリケーションに自動化と単一の接続エンドポイントを追加します。プライマリサーバーでグループを構成し、セカンダリサーバーを追加して、猶予期間(自動フェールオーバーを開始する前にAzureがプライマリの復旧を待つ時間)を定義します。アプリケーションはリスナーエンドポイント(例:mygroup.database.windows.net)に接続するため、フェールオーバー後は接続文字列を変更しなくても自動的にリダイレクトされます。

# Create an auto-failover group:
az sql failover-group create \
  --resource-group myRG \
  --server primarySqlServer \
  --name myFailoverGroup \
  --partner-server secondarySqlServer \
  --partner-resource-group secondaryRG \
  --failover-policy Automatic \
  --grace-period 60

geoレプリケーションを使用するAzure SQLのRPO

Azure SQL Databaseのgeoレプリケーションは非同期です。トランザクションはプライマリでコミットされた後、セカンダリにレプリケートされます。そのため、通常の条件では一般に5秒未満の小さなレプリケーション遅延が発生します。したがって、SQL geoレプリケーションのRPOは多くのシナリオで約5秒となり、データ損失を非常に小さく抑える必要があるTier 1およびTier 2ワークロードに適しています。

SQLのポイントインタイムリストア

すべてのAzure SQL Databaseレベルには自動バックアップが含まれます。完全バックアップは週1回、差分バックアップは12時間ごと、トランザクションログバックアップは5~12分ごとに実行されます。これによりポイントインタイムリストア(PITR)が可能になります。つまり、保持期間内の任意の秒時点にデータベースを復元できます(Standard/General Purposeでは7~35日、Business Criticalでは最大35日)。PITRは、誤ったデータ削除や破損からの復旧に役立ちます。

# Restore a database to a specific point in time:
az sql db restore \
  --resource-group myRG \
  --server mySqlServer \
  --name myDatabase-restored \
  --source-database-name myDatabase \
  --time '2026-06-20T14:30:00Z'

Cosmos DB:DRのためのマルチリージョン書き込み

マルチリージョン書き込みを使用するAzure Cosmos DBは、グローバルアプリケーションでほぼゼロのRPOを実現します。構成済みのすべてのリージョンが同時に書き込み操作を受け付け、Cosmos DB独自のレプリケーションプロトコルによってデータが自動的に同期されます。リージョンに障害が発生すると、手動フェールオーバーを必要とせず、トラフィックが正常な残りのリージョンへ自動的にルーティングされるため、RTOとRPOをほぼゼロにできます。

# Add a secondary region to Cosmos DB:
az cosmosdb update \
  --resource-group myRG \
  --name myCosmosAccount \
  --locations regionName=eastus failoverPriority=0 isZoneRedundant=true \
                regionName=westus failoverPriority=1 isZoneRedundant=true

Azure App ServiceのDRに関する考慮事項

Azure App Service自体はステートレスです(アプリケーションコードはソース管理またはZIPファイルからデプロイされます)。DRでは、データ層(データベースとBLOBストレージ)が中心になります。App ServiceはCI/CDパイプラインを使用してセカンダリリージョンにすばやく再デプロイできます。ただし、カスタムドメイン、TLS証明書、アプリ設定がレプリケートまたはスクリプト化され、セカンダリリージョンですぐに再作成できることを確認してください。

# Export App Service configuration (app settings + connection strings):
az webapp config appsettings list \
  --name myWebApp \
  --resource-group myRG \
  --output json > appsettings-backup.json

# Apply to secondary region App Service:
az webapp config appsettings set \
  --name myWebApp-secondary \
  --resource-group secondaryRG \
  --settings @appsettings-backup.json

Azure Storage:GRSとRA-GRS

Geo冗長ストレージ(GRS)を使用するAzure Blob Storageは、数百マイル離れたセカンダリリージョンにデータを自動的にレプリケートします。データは非同期でレプリケートされます(RPOは通常15分未満です)。読み取りアクセスgeo冗長ストレージ(RA-GRS)を使用すると、フェールオーバーが開始される前でもセカンダリエンドポイントから読み取れるため、プライマリリージョンの障害中に分析やレポートのワークロードで役立ちます。

# Create a storage account with RA-GRS:
az storage account create \
  --resource-group myRG \
  --name mystorageaccount \
  --sku Standard_RAGRS \
  --kind StorageV2

# Secondary endpoint: mystorageaccount-secondary.blob.core.windows.net

Azure FunctionsとLogic AppsのDR

Azure Functionsは設計上ステートレスであるため、簡単に再デプロイできます。DRでは、同じfunction appをセカンダリリージョンにデプロイし、Traffic Managerを使用してリージョン間でHTTPトリガーをルーティングします。非HTTPトリガー(Service Bus、Event Grid)では、メッセージソースが両方のリージョンに分岐するように構成するか、セカンダリリージョンで同じソースをポーリングするようにします。Durable Functionsの関数状態はAzure Storageに保存されるため、そのストレージでGRSが使用されていることを確認してください。

アクティブ geo レプリケーションと自動フェールオーバー グループの選択

アクティブ geo レプリケーションは、きめ細かな制御が必要な場合に使用します。たとえば、パフォーマンス向上のために読み取りトラフィックをセカンダリに転送したり、異なるリージョンにある複数のセカンダリを個別に管理したりできます。自動フェールオーバー グループは、シンプルさを重視する場合に使用します。単一のリスナー エンドポイント、タイマーによる自動フェールオーバー、手動操作なしでフェールオーバー プロセスを組み込みでオーケストレーションする機能を利用できます。

PaaS と VM のディザスター リカバリー コストの比較

PaaS のディザスター リカバリーは、いくつかの理由から VM ベースのディザスター リカバリーより安価なことが多いです。SQL Database の geo レプリケーションでは、セカンダリのストレージとコンピューティングにのみ料金が発生するため、完全な VM OS ライセンスの料金を支払う必要がありません。Azure Cosmos DB では、各リージョンにプロビジョニングされた RU に対して課金されます。Azure Storage GRS では、ストレージ コストが約 2 倍になります。一方、ASR でレプリケートされた VM では、セカンダリ リージョンでコンピューティング、ストレージ、ライセンスの全コストが必要です。

クイック チェック

このレッスンで学んだ Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認しましょう。

レッスンのまとめ

このレッスンでは、PaaS のディザスター リカバリーは VM のレプリケーションではなくデータ層に重点を置くこと、Azure SQL の自動フェールオーバー グループは自動フェールオーバー機能を備えた単一のリスナー エンドポイントを提供すること、そしてCosmos DB のマルチリージョン書き込みはグローバル アプリケーションにほぼゼロの RTO と RPO を実現することを学びました。次は、Azure のコンプライアンス フレームワークと共有責任モデルについて説明します。

よくある質問

「PaaS サービスの DR」レッスンは無料ですか?

はい。「PaaS サービスの DR」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Azure Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Azure Fundamentalsコースには全4レッスンが含まれています。

「PaaS サービスの DR」で何を学びますか?

geo-replication と自動フェールオーバー グループを使用して Azure SQL Database のディザスター リカバリーを設計し、ステートフル ワークロード向けの VM レベルのレプリケーションと比較します。 ブラウザで直接実行するハンズオンコードでAzure Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Azure Fundamentalsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAzure Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「PaaS サービスの DR」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAzure Fundamentalsレッスンでコードを書いて実行できますか?

はい。すべてのAzure Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. RTO、RPO、復旧ティアの定義
  2. 復旧計画と自動フェールオーバー
  3. 影響を与えずに行う DR テスト
  4. PaaS サービスの DR
← Azure Fundamentalsに戻る