Azure Site RecoveryでDR対策

目次

1.はじめに
2.Azure Site Recoveryとは
3.検証
3-1.検証の流れ
3-2.前提条件
3-3.コンテナー作成
3-4.レプリケーション設定
3-5.フェールオーバー・フェールバック
4.まとめ

1.はじめに

こんにちは、TAです。
本ブログを見に来てくださりありがとうございます。
いきなりですが、皆さんにご質問です。
皆さんはどのようにしてAzure VMのDR対策に取り組んでいますか?
もしかしたら方法がわからず、実施できていない環境もあるかもしれません。
今回は、弊社でも対応実績のあるAzureのDRサービス
「Azure Site Recovery」についてご紹介いたします。

2.Azure Site Recoveryとは

Azure Site Recoveryは、Azureが提供するDR実現のためのサービスです。
物理マシン又は仮想マシン(VM)で実行中のワークロードをプライマリ
リージョンからセカンダリリージョンにレプリケート(データ同期)します。
プライマリリージョンで障害が発生した場合は、セカンダリリージョンに
フェールオーバー(切替)することでサーバを復旧し、業務を継続することが
できます。

3.検証

今回の検証は、プライマリリージョンを東日本リージョン、
セカンダリリージョンを西日本リージョンとして実施します。
前提条件として、事前に下記のリソースを作成しています。

3-1.検証の流れ

検証は以下の流れで行います。

①Recovery Serviceコンテナーの作成
Recovery Serviceコンテナーは、データを格納する
Azureのストレージエンティティで、ASRで使用します。

②レプリケーション設定
保護対象VMと移行先を指定します。

③フェールオーバー・フェールバック
切り替えと切り戻しを行います。
保護対象VMをプライマリリージョンからセカンダリリージョンへ
切り替えることをフェールオーバー、セカンダリリージョンから
プライマリリージョンへ切り戻すことをフェールバックと呼びます。

3-2.前提条件

以下のリソースについて、事前に作成しています。
・仮想ネットワーク、サブネット(VM配置用)
・VM(保護対象)
・NSG(サブネットの接続制御)
※NSGを設定する場合、ASRで使用するため下記URLまたはサービスタグへの
 送信接続を許可する必要があります。


【URLの場合】
*.blob.core.windows.net
login.microsoftonline.com
*.hypervrecoverymanager.windowsazure.com
*.servicebus.windows.net
*.vault.azure.net
*.automation.ext.azure.com

参考情報:
https://learn.microsoft.com/ja-jp/azure/site-recovery/azure-to-azure-about-networking#outbound-connectivity-for-url


【サービスタグの場合】
Storage
AzureActiveDirectory
EventHub
AzureSiteRecovery
AzureKeyVault
GuestAndHybridManagement

参考情報:
https://learn.microsoft.com/ja-jp/azure/site-recovery/azure-to-azure-about-networking#outbound-connectivity-using-service-tags

・ストレージアカウント(キャッシュストレージ用)
ASRを使用するためのサポートと前提条件はドキュメントに記載があるため、
詳細は下記URLをご確認ください。
https://learn.microsoft.com/ja-jp/azure/site-recovery/azure-to-azure-support-matrix#replicated-machines—compute-settings

3-3.コンテナー作成

では、早速「①Recovery Serviceコンテナーの作成」から始めていきます。
まずは検索欄で「Recovery Serviceコンテナー」を検索します。

作成を押下し、表示される各タブで必要な設定値を入力していきます。


基本タブ

サブスクリプション、リソースグループ、資格情報コンテナー名は
任意の値を入力します。
プライマリリージョンにコンテナーを作成すると同一リージョンの
VMを保護対象として指定することができません。
今回は西日本リージョンにコンテナーを作成します。

冗長タブ

冗長性はローカル冗長、ゾーン冗長、Geo冗長から選択可能です。
今回は最小構成とするためローカル冗長を選択します。
冗長性を高める場合のみ、コンテナー作成後も変更可能です。

暗号化タブ

暗号化設定はASRには適用されないため、選択する必要がありません。
今回は既定の「Microsoft マネージドキーの使用」を選択した状態で次のタブに進みます。

コンテナーのプロパティタブ

不変性を有効にすると、データ削除等の特定の操作ができなくなります。
作成時にどちらを選択しても、プロパティから設定を変更することが可能です。
今回は検証用でデータを保護する必要がないため無効を選択します。

ネットワークタブ

コンテナーへの接続方法を選択します。
データの保護を開始するまではコンテナーのネットワーク設定で変更可能です。
すべてのネットワークからのパブリックアクセスを許可すると、
パブリックIPアドレスを使用してインターネット経由でコンテナーに
接続できます。
パブリックアクセスを拒否してプライベートアクセスを許可すると、
プライベートエンドポイントを使用してプライベートIP経由で
コンテナーに接続できます。プライベートアクセスを使用する場合は、
別途プライベートエンドポイントの設定が必要です。
今回はネットワークの要件がないため、パブリックアクセスを使用します。

タグタブ

タグはリソースの分類に使用します。
今回はタグを使用しません。

確認と作成タブ

設定値に問題がないことを確認して作成します。

3-4.レプリケーション設定

上記で「①Recovery Serviceコンテナーの作成」が完了したため、
次に「②レプリケーション設定」で保護対象VMと移行先の指定を行います。
まず、作成したコンテナーから「+Site Recoveryを有効にする」を選択します。

Azure 仮想マシンの「レプリケーションを有効にする」を選択します。


表示される各タブで必要な設定値を入力していきます。

ソースタブ

ソースを指定するため、保護対象VMで使用しているリージョン、
サブスクリプション、リソースグループ、仮想マシンデプロイモデルを
選択します。
可用性ゾーン間のディザスターリカバリーは、同一リージョン内の
ゾーン間でフェールオーバーを実行する場合に有効化します。
今回は可用性ゾーン間のディザスターリカバリーは実施しないため、
無効を選択します。

仮想マシンタブ

保護対象VMを選択します。

レプリケーションの設定タブ

移行先のVMを配置するリージョン、サブスクリプション、リソースグループ、
仮想ネットワーク、サブネットを選択します。

ストレージの構成

ストレージの構成ストレージのタイプをStandard HDD、Standard SSD、
Premium SSDから選択します。
チャーンはデータ変更率を意味し、データ転送を高速化したい場合は
高チャーンを選択します。

ノーマルチャーン:VMあたり最大54MB/秒
高チャーン:VMあたり最大100MB/秒

レプリケーションに使用するキャッシュストレージとして、
プライマリリージョンのストレージアカウントを選択します。

可用性オプション

ターゲットの可用性オプションを単一インスタンス、可用性セット、
仮想マシンスケールセットから選択します。

可用性セット:DC内の複数のラックやブレードに同じ構成のVMを複数作成し、
障害の可能性を減らす論理グループ。
参考情報:
https://learn.microsoft.com/ja-jp/azure/virtual-machines/availability-set-overview


仮想マシンスケールセット
複数VMを作成して負荷分散を管理するグループ。
参考情報:
https://learn.microsoft.com/ja-jp/azure/virtual-machine-scale-sets/overview

容量グループの割り当て

容量予約グループを選択します。
実際に災害が発生すると西日本リージョン全体のリソースが不足する
可能性があるため、あらかじめ容量を予約しておくことができます。
基になる保護対象VMのサイズと同じ料金が発生するため、
要件と予算に応じて検討してください。
新規作成する場合は、VMのサイズ、リージョン、数量の指定が必要です。
参考情報:
https://learn.microsoft.com/ja-jp/azure/virtual-machines/capacity-reservation-overview

管理タブ

管理ASRでは毎月機能のアップグレードがあるため、
拡張機能でASRのアップグレード手段を選択します。
自動を選択する場合はAutomationアカウントを指定します。

レプリケーションポリシーは、復旧ポイントの保持期間と
アプリ整合性スナップショットの頻度を指定します。

復旧ポイントの保持期間は0~15日を指定可能です。
アプリ整合性スナップショットは、
実行中のアプリケーションデータの一貫性を確保する機能です。
時間単位で指定が可能ですが、キャプチャが頻繁になる場合は
VMのパフォーマンスに影響を与える可能性があります。

レビュータブ

設定内容に誤りがないことを確認してレプリケーションを有効化します。
レプリケーションの有効化が完了すると、レプリカディスクの
初回コピーが開始されます。
復旧ポイントが作成されてフェールオーバーできるようになるまでは、
ディスクサイズに応じた時間を要します。

3-5.フェールオーバー・フェールバック

これでDRの環境が整ったため、実際に保護対象の切り替え(フェールオーバー)と
切り戻し(フェールバック)を行います。

フェールオーバーの実施
ASRを設定したRecovery Services コンテナーの左メニューから、
「保護されたアイテム」>「レプリケートされたアイテム」を選択します。

フェールオーバー対象のVMを選択します。

フェールオーバーを選択します。

「復旧ポイント」とソースVMのシャットダウン実行の有無を選択し、
「フェールオーバー」を押下します。

フェールオーバーが完了するまで待機します。

フェールオーバーの進行状況は、コンテナーの左メニューから
「監視」>「Site Recovery ジョブ」を選択すると確認可能です。

フェールオーバー後は保護対象VMへの接続経路が変更されます。
今回の検証では割愛しますが、保護対象VMの動作確認の前に
パブリックIPアドレスの付け替えやDNSレコードの切り替え、
NAT設定の変更等ルーティングの設定が必要です。


フェールオーバーが完了した時点では、復旧ポイントの変更が可能です。
VMの動作を確認して、初めに選択した復旧ポイントに不都合がある場合は
他の復旧ポイントを選択します。

移行したVMの動作に問題がなければコミットを実施します。
コミットを完了するとプライマリリージョンからセカンダリリージョンへの
レプリケーションが停止され、移行先VMの復旧ポイントを変更することが
できなくなります。

コミットを選択し、完了まで待機します。

コミットが完了したら、「再保護」を実施します。
再保護は、移行先のVMをソースとして元のリージョンに
レプリケーションを設定することを指します。
実際に災害が発生してプライマリリージョンが使用できなくなった場合には、
プライマリリージョンの復旧を待つ必要があります。

レプリケーションに使用するリソースが表示されるため、
必要に応じて「カスタマイズ」から変更します。
「OK」を選択し再保護が完了するまで待機します。

ディスクの初回コピーが行われるため、フェールバックできるように
なるまでディスクサイズに応じた時間を要します。
レプリケーションの状況は保護対象VMの画面で確認可能です。


フェールバックの実施

フェールバックの手順はフェールオーバーと同様です。
ASRを設定したRecovery Services コンテナーの左メニューから、
「保護されたアイテム」>「レプリケートされたアイテム」を選択します。

フェールオーバー対象のVMを選択します。

フェールオーバーを選択します。

「復旧ポイント」とソースVMのシャットダウン実行の有無を選択し、
「フェールオーバー」を押下します。

フェールオーバーが完了するまで待機します。

フェールオーバー時と同様に、フェールバック後は
保護対象VMへの接続経路が変更されます。
今回は割愛しますが、ルーティングの設定が必要です。

コミットを実行し、完了まで待機します。

コミットが完了したら、「再保護」を実施します。
レプリケーションに使用するリソースが表示されるため、
必要に応じて「カスタマイズ」から変更します。
「OK」を選択し再保護が完了するまで待機します。

4.まとめ

東日本リージョン・西日本リージョン間で保護対象VMの切り替え・切り戻しの
動作を確認することができました。ほとんどの操作をAzureポータルで
実施するため、視覚的にわかりやすく導入しやすいサービスだと感じました。
今回は基本的な構成について検証しましたが、切り替え先のホスト名・

プライベートアドレスの指定や複数VMのグループ化、切り替えの優先度
設定など、要件に合わせた設定も可能なため、またの機会に確認しようと
思います。
Azure  Site RecoveryによるDR対策はいかがだったでしょうか。

今後DR設計を検討されている方はぜひ利用してみてください。