Amazon Web Services ブログ
AWS Elastic Disaster Recovery を使用した VMware Cloud on AWS の災害対策
自然災害、アプリケーション障害、サービス障害、人為的ミス、またはランサムウェアによる災害は、ビジネスアプリケーションのダウンタイムだけでなく、データ損失と収益への影響も引き起こします。潜在的な障害に備えるため、オンプレミスで VMware を実行している企業は、ハイブリッドクラウド戦略に VMware Cloud on AWS を取り入れることが増えています。災害発生時のビジネスの継続性を確保するために、災害復旧 (DR) もその戦略の重要な部分です。
VMware Cloud on AWS を使用すると、AWS 上で実行されている VMware マネージド Software-Defined Data Center (SDDC) に VMware ワークロードを素早く移行できます。アプリケーションを再構築または再設計することなく、オンプレミスのデータセンターを拡張することができます。また、AWS のグローバルインフラストラクチャ上で VMware の SDDC をデプロイし、vSphere ワークロードをマネージドサービスとして利用できます。 SDDC の 仮想マシン (VM) でネイティブの AWS サービスを使用することで、運用オーバーヘッドを削減し、総所有コスト (TCO) を下げながら、ワークロードの俊敏性とスケーラビリティを高めることができます。
AWS Elastic Disaster Recovery (DRS) を使用すると、新しい DR 計画を迅速かつ簡単に実装したり、既存の DR 計画を AWS に移行したりできます。ソースサーバーは、 AWS 上またはお客様の既存の物理/仮想データセンター、プライベートクラウド、他のパブリッククラウド、VMware Cloud on AWS などのハイブリッドクラウド環境上にデプロイすることができます。 Elastic Disaster Recovery は、必要なときまでアイドル状態になるオンプレミスの DR インフラストラクチャに投資することなく、AWS を伸縮自在なリカバリサイトとして利用できるようサポートしています。また、時間単位での支払いも可能で、長期契約や一定数のサーバーにコミットする必要がないため、オンプレミスまたはデータセンターリカバリソリューションよりも利点があります。
この投稿では、 VMware Cloud on AWS にコスト効果の高い DR ソリューションを提供しながら、お客様がダウンタイムとデータ損失を最小限に抑えられるように、 AWS ネイティブソリューションとして Elastic Disaster Recovery を使用する方法を実証します。 VMware Cloud on AWS のソースマシンからリカバリリージョンの Amazon Elastic Compute Cloud (Amazon EC2) ターゲットへのフェイルオーバーの手順を段階的に説明します。次に、VMware Cloud on AWS への完全リカバリを完了するために、Elastic Disaster Recovery を使った Amazon EC2 からのフェイルバックを実演します。
ソリューションの概要
VMware Cloud on AWS を設定する際に必要なアカウントは2つあります。1つ目は、 VMware Cloud SDDC アカウントです。これは SDDC または VMware Cloud on AWS リソースを実行する AWS アカウントで、VMware が所有し運用しています。2つ目の必要なアカウントは、 AWS のお客様が所有するアカウントです。このアカウントを SDDC に正常に接続するには、そのアカウント内に少なくとも 1 つの Amazon Virtual Private Cloud (Amazon VPC) が必要です。これを Connected VPC と呼びます。VMware Cloud on AWS SDDC の展開手順に従って VMware Cloud SDDC アカウントをプロビジョニングする際、この Connected VPC 内に AWS Elastic Network Interfaces (ENI) が設定され、この VPC 内の AWS サービスへの高帯域幅かつ低レイテンシのアクセスが提供されます。
VMware Cloud SDDC アカウントと Connected VPC アカウントのセットアップから始めます。 Elastic Disaster Recovery ターゲットアカウントで、 VPC を設定し、 Connected VPC から AWS Resource Access Manager (AWS RAM) を使用して AWS Transit Gateway アタッチメントを介してVPC と共有されている AWS Transit Gateway に接続します。この Transit Gateway は、VMware が提供するホワイトラベル化された Transit Gateway である VMware Transit Connect とピアリングされています。このピアリングにより、 Elastic Disaster Recovery ターゲットアカウントの VPC が VMware Cloud SDDC に接続されます。
VMware Cloud SDDC 内のソース VMware Cloud on AWS の VM に Elastic Disaster Recovery agent をデプロイします。次に、 Elastic Disaster Recovery ターゲットアカウントで実行されている Elastic Disaster Recovery に接続します。このセットアップにより、 SDDC 内のソース VM からのブロックストレージボリュームを低コストのステージングエリアに継続的にレプリケートできるようになります。これは、ターゲット Elastic Disaster Recovery アカウントの VPC 内に展開された Amazon EC2 で構成されます。災害発生時は、Elastic Disaster Recovery コンソールから、数分でフルプロビジョニング状態の VMware Cloud on AWS 上のソース VM にフェイルバックできます。
フェイルバックとは、リカバリシステムからプライマリシステム (ソースサーバー) へのトラフィックのリダイレクトを意味します。 Elastic Disaster Recovery では、 DRS Mass Failback Automation client (DRSFA) を使って、AWS 上の リカバリ EC2 インスタンスからソースサーバー VM へのデータのレプリケーションにより、 VMware vCenter に対するスケーラブルなフェイルバックを実行できます。この投稿では、 DRSFA client によるワンクリックフェイルバックを使用して、フェイルオーバー時に使用したソースサーバーとは異なる VMware Cloud on AWS SDDC VM (ソースサーバー) へのフェイルバックを検証します。
以下の図は、前述のとおり VMware Cloud on AWS SDDC での Elastic Disaster Recovery の全体的なセットアップを示しています。
図1: Elastic Disaster Recovery サービスを使った VMware Cloud on AWS マルチリージョン DR
前提条件
次の前提条件を満たす必要があります。
- AWS アカウントで Connected VPC を設定し、VMware Cloud on AWS を有効化するために、これらの展開手順に従ってください。
VMware Cloud on AWS の購入プロセスでは、 AWS に提出する注文フォームで、組織の電子メール連絡先を指定します。購入が処理された後、 AWS は指定された電子メールアドレスにウェルカムメールを送信します。そこに記載されている手順に従って、 VMware Cloud on AWS を有効化し、VMware Cloud on AWS コンソールにアクセスしてください。
- Deploying VMware Cloud on AWS SDDC で説明されている手順に従って SDDC を導入し、 AWS アカウントに接続して Connected VPC をセットアップします。VMware の VMware Transit Connect – Simplifying Networking for VMware Cloud on AWS の投稿で説明されている手順に従って、 VMware Transit Connect と SDDC グループを使った SDDC 間の接続モデルを構成します。次に、 VMware の Getting Started with VMware Transit Connect Intra-Region Peering for VMware Cloud on AWS の投稿で説明されている手順に従って、 Connected VPC 内のネイティブ Transit Gateway との Transit Connect の同一リージョン内のピアリングを設定します。
- 外部 Transit Gateway がピアリングされている Connected VPC アカウントに移動し、こちらの手順に従って AWS RAM を使用してリソース共有を作成し、外部アカウントとの共有を許可します。 Elastic Disaster Recovery ターゲットアカウントから Connected VPC の Transit Gateway のリソース共有を承認します。
セットアップ
1. Transit Gateway が共有されたのと同じリージョンの Elastic Disaster Recovery ターゲットアカウントで VPC を作成します。AWS CloudFormation コンソールに移動し、aws-vpcsetup-v1.yml CloudFormation テンプレートを使用してスタックを作成します。このテンプレートは、最低2つのアベイラビリティーゾーン (AZ) にパブリックサブネットとプライベートサブネットで構成される VPC を設定します。また、Elastic Disaster Recovery replication agent の設定に必要な AWS Identity and Access Management (IAM) ユーザーもプロビジョニングします。プライベートサブネットは NAT Gateway 経由でインターネットアウトバウンド接続を持ちます。テンプレートにはパラメータはありません。テンプレートの起動が成功したら、左側のパネルで Stacks を選択します。aws-vpcsetup-v1.yml テンプレートを選択し、Outputs タブを選択します。
a. DRSUserAccessKeyId と DRSUserSecretAccessKey の値を確認します。これらは、セットアップセクションで Elastic Disaster Recovery replication agent をインストールするために必要になります。
2. 手順に従って、Elastic Disaster Recovery ターゲットアカウントの VPC に、Connected VPC から共有された Transit Gateway への Transit Gateway アタッチメントを作成します。各 AZ で Transit Gateway がトラフィックをルーティングするために使用するサブネット (例: vpc1_sn_A1 および vpc1_sn_B1) を1つ選択します。
3. ルートテーブルにルートを追加するための手順に従い、 vpc1_sn_A1 に関連付けられているルートテーブルにルートを追加します。宛先に SDDC と Connected VPC のプライベート IP アドレスを含むプレフィックスリストを使用し、ルートのターゲットに共有された Transit Gateway を指定します。 SDDC と Connected VPC のネットワーキングとセキュリティの詳細を確認するには、こちらの手順に従います。
4. Elastic Disaster Recovery ターゲットアカウントの Elastic Disaster Recovery コンソールに移動します。ソースの VMware Cloud on AWS の VM に Elastic Disaster Recovery replication agent をインストールしたときに、 Elastic Disaster Recovery でデフォルトで適用される構成を設定します。
a. Set default replication settings を選択します。Replication server configuration で、 Staging area subnet に vpc1_sn_A1 を、 Replication server instance type に small を選択します。
b. Next を選択し、Volume and security groups で Amazon Elastic Block Store (Amazon EBS) ボリュームタイプ、 Amazon EBS 暗号化、セキュリティグループのデフォルトオプションを使用します。
c. Next を選択し、Data routing and throttling タブと Point in time (PIT) policy でデフォルトオプションを使用します。
d. Next を選択し、Create default を選択してデフォルトのレプリケーション構成を保存します。
5. こちらから VMware Cloud Services にログインし、Inventory を選択して SDDC に移動します。Open vCenter を選択し、デフォルトの資格情報を使って vCenter Web client にログインします。こちらの手順に従って、 VMware vSphere 7.0 で新しい VM を作成するか、Elastic Disaster Recovery でサポートされているオペレーティングシステムを使った既存の VM を使用します。この例では、次の図に示すように Ubuntu Server 20.04 LTS (HVM) を使用しています。
図 2: ソースマシンとして使用される VMware on Cloud SDDC VM
VM にログインして Elastic Disaster Recovery replication agent をインストールします。
a. Elastic Disaster Recovery agent インストーラーをダウンロードします:
wget -O ./aws-replication-installer-init.py https://aws-elastic-disaster-recovery-us-west-2.s3.amazonaws.com/latest/linux/aws-replication-installer-init.py
b. Elastic Disaster Recovery agent インストーラーを実行します: sudo python3 aws-replication-installer-init.py
c. agent のインストールプロセスでプロンプトが表示されたら、以下の情報を入力します。プロンプトに応答すると、インストールが成功したことが表示されます。
i. AWS Region Name: ターゲット Elastic Disaster Recovery アカウントの Elastic Disaster Recovery サービスのある AWS リージョン (この場合は us-east-1) を入力します。
ii. AWS Access Key ID : 前提条件のセクション 1a の DRSUserAccessKeyId の値を入力します。
iii. AWS Secret Access Key : 前提条件のセクション 1a の DRSUserSecretAccessKey の値を入力します。
iv. Choose the disks you want to replicate プロンプトが表示されたら、Enter キーを押してすべてを選択します。
- VMware 環境に VMware ユーザーを作成します。このユーザーは、DRSFA client によって使用され、フェイルバックに必要な VMware アクションを自動化します。ここに記載されている (前提条件の #16) 許可を持つ役割を vSphere で割り当てることで、このユーザに許可を与えます。この手順は、この VMware ビデオまたは vSphere Client 7.0 での役割と許可の割り当て方法を説明した VMWare vSphere 7.0 ドキュメントに詳しく記載されています (‘ DRSFA ‘ は次の図のように表示されます)。
図 3: Elastic Disaster Recovery failback client が使用する VMware on Cloud SDDC ロールとパーミッション
- 最新の Elastic Disaster Recovery failback client をダウンロードし、次の図に示すように VMware Cloud on AWS SDDC データストア (‘ WorkloadDatastore → drsfa-lab ‘ の場合) にアップロードします。
図 4: Elastic Disaster Recovery failback client が使用するVMware on Cloud SDDC VM データストア (クライアントが使用する ISO ファイルを含む)
テストと実行
このセクションでは、まず VMware Cloud on AWS ソースマシンからリカバリリージョンのターゲット Amazon Elastic Compute Cloud (Amazon EC2) へのフェイルオーバーを実演し、次に Elastic Disaster Recovery を使用して Amazon EC2 からの VMware Cloud on AWS へのフルリカバリーのためのフェイルバックを実演します。
フェイルオーバー
- us-east-1 リージョンの Elastic Disaster Recovery コンソールに戻ります。左側のパネルで Source servers を選択します。初期同期プロセスを確認するために、VMware Cloud on AWS の VM に対応するソースサーバーを選択できるはずです。初期同期には複数のタスクで構成されています。いつでも Elastic Disaster Recovery コンソールに戻ってデータレプリケーションの進捗状況を監視できます。初期同期が完了すると、ここの Data replication status が Healthy と表示されます。
- 初期同期プロセスが完了した後、 us-east-1 リージョンの Elastic Disaster Recovery コンソールで、左側のパネルから Source servers を選択します。 VMware Cloud on AWS VM ソースサーバーを選択し、 Launch settings を選択します。
a. General launch settings タブで、 Edit を選択し、 Instance type right sizing を ‘ None ‘ に設定して保存します。
b. EC2 launch template タブで、 Edit を選択して Amazon EC2 起動テンプレートを変更します。
i. Template version description に ” VMware Cloud on AWS launch template ” の説明を入力します。
ii. Instance Type タブで、 Manually select instance type を選択し、 c5.large を選択します。
iii. Network settings タブの Subnet セクションで、’ vpc1_sn_A2 ‘ プライベートサブネットを選択します。 Firewall セクションで、 Select existing security group を選択し、’ SG_BASTION ‘ セキュリティグループを選択します。
iv. 下にスクロールして Create template version を選択します。
v. 成功の通知ボックスで、作成したテンプレートバージョンへのリンクを選択します。 Actions を選択し、 Set Default Version を選択します。 Template version に ” vmwarecloudonawslaunchtemplate ” を入力し、 Set as default version ボタンを選択します。
- Elastic Disaster Recovery を使用して、 VMware Cloud on AWS SDDC VM サーバーを Elastic Disaster Recovery ターゲットアカウントの us-east-1 にあるターゲットサーバーにフェイルオーバーを実行します。
a. us-east-1 リージョンの Elastic Disaster Recovery コンソールに移動します。左側のパネルで Source servers を選択します。 VMware Cloud on AWS の VM ソースサーバー (vmc-drs-vm) を選択し、右上のパネルから Initiate recovery job と Initiate Drill を選択します。
b. Select a point in time ページの Points in time で Use most recent data を選択します。下にスクロールして Initiate drill を選択します。
c. Elastic Disaster Recovery コンソールの左側のパネルから Recovery job history を選択して、ジョブログを監視し、起動が成功したことを確認します。
図 5: VMware Cloud on AWS の VM の復旧プロセスの詳細を示す Elastic Disaster Recovery のフェイルオーバージョブログ
d. リカバリが完了したら、 VMware Cloud on AWS の VM ソースサーバーのリカバリプロセスの最終ステータスを確認できます。
図 6: VMware Cloud on AWS の VM のリカバリステータスを示す Elastic Disaster Recovery のリカバリダッシュボード
フェイルバック
- vCenter Web client を使用して、手順に従って新しい VM を作成します。または、 DRSFA client の前提条件で概説されているように、サポートされている Ubuntu Server 20.04 LTS オペレーティングシステムを使用する既存の VMware Cloud Services VM を使用します。 VM インスタンスが設定され、準備ができたら、こちらの手順に従って VM に DRSFA failback client をインストールし、前提条件と同じデータストアを使用します。
a. 手順の Generating IAM credentials and configuring CloudWatch logging セクションで、マネージドポリシー AWSElasticDisasterRecoveryFailbackPolicy を AWSElasticDisasterRecoveryFailbackInstallationPolicy に置き換えます。
b. 手順の Running the DRSFA client セクションで、 DRSFA client をインストールするために使用した環境変数を次に示します。データストアパスの構文と failback client および seed iso ファイルの相対パスに注意してください。
図 7: DRSFA failback client のインストールに使用した変数を示す VMware Cloud on AWS の VM シェル
c. failback client を実行します:
図 8: Amazon EC2 リカバリインスタンスからのフェイルバックの開始準備ができたことを示す VMware Cloud on AWS の VM シェル
- failback client が正常にインストールされ、 Elastic Disaster Recovery とペアリングされたので、フェイルバックを実行します。 us-east-1 リージョンの Elastic Disaster Recovery コンソールに移動します。左側のパネルから Recovery instances を選択し、 VMware Cloud on AWS の VM ソースサーバー (vmc-drs-vm) に対応する Instance ID を選択します。 Failback state が Ready で Data replication status が Healthy であることを確認します。
図 9: Failback state が‘ Ready ’、Data replication status が‘ Healthy ’であることを確認しながら、 Elastic Disaster Recovery コンソールで Amazon EC2 リカバリインスタンスを選択してフェイルバックを実行
- データレプリケーションプロセスを監視して、ソース VM が停止され、リカバリ EC2 インスタンスへの変換プロセスが開始されたこと、 Failback state が In Progress、Data replication status が Finalizing sync であることを確認します。これによりフェイルバックプロセスが完了し、ソース VM にレプリカインスタンスが作成されます。
図 10: フェイルバックの進捗状況を示し、 Failback state が ‘ In Progress ‘、Data replication status が ‘ Finalizing sync ‘ と表示されている Elastic Disaster Recovery コンソール
- フェイルバックが完了すると、ソース VM 上の failback client にフェイルバックが正常に完了したことが表示されます。
図 11: フェイルバックが正常に完了し、 Failback state が ‘ Completed ‘、Data replication status が ‘Completed’ と表示されているElastic Disaster Recovery コンソール
クリーンアップ
この投稿で概説したソリューションを試した後に継続的に課金されないように、アカウントをクリーンアップするには、以下の手順を実行します。
- Elastic Disaster Recovery ターゲットアカウントの us-west-2 リージョンで、フェイルオーバー DR 環境を実行している EC2 インスタンスを終了するための手順に従ってください。
- Elastic Disaster Recovery ターゲットアカウント (BYOVPC VPC を含むアカウント) の us-west-2 リージョンで、aws-vpcsetup-v1 テンプレートの CloudFormation スタックを削除します。
まとめ
この投稿では、 Elastic Disaster Recovery を使用して、 VMware Cloud on AWS に対してダウンタイムとデータ損失を最小限に抑え、コスト効率の高い DR ソリューションを提供する AWS ネイティブソリューションを実演しました。まず、 VMware Cloud on AWS ソースマシンからリカバリリージョンの Amazon EC2 ターゲットへのフェイルオーバーの手順を説明しました。次に、 VMware Cloud on AWS への完全なリカバリのために、 Elastic Disaster Recovery を使用した Amazon EC2 からのフェイルバックを実演しました。
オンプレミスで VMware を実行しているお客様は、潜在的な停止に備えて、ハイブリッド クラウド戦略に VMware Cloud on AWS を組み込むことが増えています。 VMware Cloud on AWS への移行のメリットは、アプリケーションを再構築またはリファクタリングすることなく、 VMware ワークロードを AWS 上で VMware マネージドの SDDC に迅速に移行できることですが、このブログ投稿では、お客様が Elastic Disaster Recovery を AWS ネイティブの DR ソリューションとして使用し、 VMware Cloud on AWS 環境での災害発生時にビジネス継続性を提供するという重要な検討事項をサポートする方法についても説明しました。
この投稿をお読みいただきありがとうございます。
翻訳はソリューションアーキテクト 澤が担当しました。原文はこちらです。