Freigeben über


Azure Site Recovery が可能にする、ワンクリックでの Azure への Virtual Machines の円滑なフェールオーバー

このポストは、8 月 5 日に投稿した Azure Site Recovery Enables One-Click Orchestrated Failover of Virtual Machines to Azure の翻訳です。

Azure Site Recovery の Azure への災害復旧機能により、ワークロードを保護して Azure に IaaS VM として復旧できるようになりました。Brad Anderson が 6 月 19 日に Azure への災害復旧のプレビュー機能についてお知らせ (英語) して以来、数多くのユーザーの皆様がこの機能を導入し、Virtual Machines を保護および復旧しています。このサービスをまだご利用でない方は、ぜひ TechEd のビデオ (英語) をご覧になり、サービスにサインアップしてください。

今回の記事では、Azure Site Recovery の機能である復旧計画を利用して、常に正確繰り返し実行自動化が可能な、Azure への災害復旧を実現する方法をご紹介します。また、復旧計画の構築方法を簡単に説明し、Virtual Machines を Azure へフェールオーバーする際に気をつけるべきことについても取り上げます。

フェールオーバーのターゲットが Azure となることで、Virtual Machines に対する考え方や扱いも変わってきますが、Site Recovery チームの尽力により、Azure へのフェールオーバーはこれまでのように直観的かつシンプルに行うことができます。私たちが目標としているのは、これまで同様ワンクリックでの災害復旧です。また、Azure への災害復旧の手順はアプリケーションを別の VMM サイトに復旧 (英語) するのとよく似ており、Azure への復旧計画を活用して、計画内または計画外のフェールオーバーや、テスト フェールオーバーを使用した災害復旧訓練を行うこともできます。

Azure への復旧計画ではユーザーの次のようなニーズに応えます。

  1. フェールオーバーする Virtual Machines のグループを定義する。
  2. アプリケーションが正しく起動されるように Virtual Machines 間の依存関係を定義する。
  3. Virtual Machines のフェールオーバー以外のタスクも実行できるように、復旧と共に手作業のカスタム アクションも自動化する。

復旧計画を作成する

では、BackendSQL、MiddlewareApp、FrontendIIS から成るシンプルな 3 層の仮想化アプリケーションを例に具体的な手順を説明していきます。復旧計画を作成して、必要なときにアプリケーションを Azure に復旧できるようにします。名前は「FinanceAppRecovery」としましょう。

   
  • 復旧計画を新規作成します。
  • 復旧計画の名前を設定します。
  • [SOURCE] には VMM サーバーを、[TARGET] には Microsoft Azure を指定します。
  •  アプリケーションの Virtual Machines を復旧計画に追加します。

 

復旧計画をカスタマイズする

シンプルな 3 層アプリケーションは次のように仮想化できます。フロントエンド サーバーはミドルウェア サーバーや SQL Server に依存します。またミドルウェア サーバーは SQL Server に依存します。アプリケーションが正しく起動されるように、依存関係を正確に反映したモデルを作成すれば、依存関係を維持した状態で Virtual Machines が復旧されます。

アプリケーションの依存関係は、グループ (Group) で定義します。アプリケーションの各層に対応する 3 つのグループを作成し、Virtual Machines を該当するグループに移動します。ここでは、BackendSQL を Group 1 に、MiddlewareApp は Group 2 に、FrontendIIS は Group 3 に移動します。これにより、オンプレミスのアプリケーションをシャットダウンすると Group 3 が最初にシャットダウンされ、続いて Group 2、最後に Group 1 の Virtual Machines がシャットダウンされます。このため、シャットダウン時にデータが失われることはありません。

  • タスク バーの [GROUP] ボタンを使用して、新しいグループを追加します。
  •  グループが追加されたら対象の Virtual Machines を選択し、[MOVE VIRTUAL MACHINE] をクリックして目的のグループに移動します。

起動する順序はグループの順序になります。Group 1 の Virtual Machines が最初に起動し、続いて Group 2、最後に Group 3 が起動します。これにより必ずバックエンドの Virtual Machines が、それに依存する Virtual Machines に先行して起動します。この例では、FrontendIIS が Group 3 で起動する時点で、それが依存する BackendSQL と MiddlewareApp は稼働していることになります。

上のスクリーン ショットは、3 層アプリケーション用に作成した復旧計画です。

フェールオーバーを開始する

フェールオーバーを開始すると、復旧計画に従い Azure の Virtual Machines が IaaS Virtual Machines として復旧されます。依存関係が維持され、VM が正しい順序で起動します。Virtual Machines は ネットワーク マッピング (英語) の構成に従い Virtual Network にアタッチされます。

フェールオーバーを開始したら [JOBS] ページで進捗状況を確認します。このページには詳細な進捗状況が表示されます。実行時にエラーが発生していないか確認することができます。

フェールオーバーが完了すると、FinanceAppRecovery の Cloud Services が作成されます。アプリケーションにデプロイされているインスタンスを確認すると、3 つの Virtual Machines が IaaS マシンとして復旧され、すぐに使用できる状態になっているのがわかります。

Virtual Machines が Azure に復旧されています。これらは IaaS VM としてすぐに使用できます。

復旧計画は「Commit Waiting」という状態になっているので、計画をコミットしてフェールオーバーを完了します。

実際に触れてみる準備ができたら、Azure Site Recovery の製品ページをご覧になり、ぜひ Azure の無料評価版にサインアップしてください。問題が発生した場合や、他のユーザーと情報交換したい場合は、MSDN の Azure Site Recovery のフォーラム (英語) をご活用ください。マイクロソフトでは、常に機能改良と新機能の追加に取り組んでいます。こちら (英語) から皆様のご意見をお聞かせください。

「うまくいかない」、「挙動が理解できない」といった場合の簡単な FAQ をいくつかご紹介します。

Q1: 復旧計画を作成すると、“The name can contain only letters, numbers, and hyphens.It should start with a letter and end with a letter or a number.” という警告が表示されます。別の VMM サイトに復旧する計画を作成する場合は表示されません。

A: 復旧計画を使用して Azure にフェールオーバーすると、復旧計画と同じ名前の Cloud Services (英語) が作成され、復旧された VM がデプロイされます。Cloud Services は計画に含まれる VM が属するネットワークと同じアフィニティ グループに作成されます。Cloud Services の名前はグローバルなパブリック エンドポイントなので、Virtual Machines へのアクセスに使用できます。復旧計画の名前が「FinanceApplication」の場合、Cloud Services はサブドメイン financeapplication.cloudapp.net を生成します。復旧計画を VMM にフェールオーバーすると、Cloud Services が削除されます。

Q2: 1 つの復旧計画に追加できる VM の上限を教えてください。

A: 1 つの Cloud Services に最大 50 の Virtual Machines を追加できます。従って、復旧計画に追加できる VM の上限は 50 となります。

Q3: 1 つのサブスクリプションにつき 20 の Cloud Services ( 英語) が上限となっています。つまり、作成可能な復旧計画の上限は 20 ということですか。

A: Cloud Services の上限数と復旧計画の上限数に関係はありませんが、復旧計画の上限は 20 件となっています。Cloud Services の上限を引き上げることは可能です。その際は、Azure カスタマー サポートでインシデントを発行してください。

Q4: VM のポート 80 で Web ページを配信していますが、Azure へのフェールオーバー後、VM のポート 80 に接続できません。RDP 接続もできません。どうすればよいですか。

A: Azure にフェールオーバーした VM にインターネットから直接アクセスすることはできないので、エンドポイントを構成してアクセスを許可する必要があります。エンドポイントの構成方法については、こちらのチュートリアルをご覧ください。

Q5: リモート デスクトップ プロトコル (RDP) のエンドポイントを構成したのに Virtual Machines にアクセスできません。原因としては何が考えられますか。

A: フェールオーバー以前に、Virtual Machines の RDP ポートを有効にする必要があります。Windows の設定で有効に設定していないと、Virtual Machines にアクセスできません。リモート デスクトップを使用してそのマシンに他のコンピューターがアクセスすることを許可してください。