AWS ディザスタリカバリのベストプラクティス
オンプレミスまたはクラウドのワークロードに関して、企業の事業継続に悪影響を及ぼす可能性のあるあらゆる事象は、災害と見なすことができます。企業にとって、考えられるすべてのリスクを特定し、それらを未然に防ぐための計画を策定する、あるいは少なくとも悪影響を軽減するための適切な措置を講じるために、時間とリソースを投じることは極めて重要です。
オンプレミスおよびAWSクラウドインフラストラクチャ向けの綿密な災害復旧(DR)計画を策定することは、最優先事項です。 本ブログ記事では、AWSワークロードに重点を置きながら、これら両方のケースにおけるAWS災害復旧計画のベストプラクティスについて解説します。
AWSを災害復旧に活用するメリット
Amazon Web Services(AWS)プラットフォームは、データベースストレージ、コンピューティングリソース、コンテンツ配信、その他の独自の機能など、幅広いサービスを提供しています。また、AWSを利用すれば、災害発生時に仮想マシンやEC2インスタンス上で稼働している業務を迅速に復旧させることができます。AWSでは、オンプレミス環境とクラウド環境の両方において、レプリカを作成し、ディザスタリカバリを設定することが可能です。 ビジネスに不可欠なデータをAWSクラウドに保管することで、通常は多額のコストを伴うセカンダリ物理ストレージシステムの導入も不要になります。
実際、バックアップデータやレプリケーションデータは、世界中の複数のAWSリージョンに安全かつ確実に保存できます。AWSのディザスタリカバリ機能の一環として、サードパーティ製のDRソリューションを実行・テストし、不備がないかを確認することも可能です(AWSディザスタリカバリテストの実施)。 さらに、AWS CloudFormationテンプレートを使用して最も効率的なDR手法を定義し、Amazon Virtual Private Cloud(VPC)に保存して、将来的に再利用することができます。
AWSの災害復旧シナリオ
Amazonが提供するAWSの災害復旧戦略は4つあります。どの戦略を選択するかは、組織のニーズや予算によって異なります。特定の仮想インフラストラクチャのニーズに合わせて、さまざまな組み合わせが可能です。
- バックアップと復元。 重要なデータはバックアップし、次のようなオフサイト拠点に送信することができます Amazon S3 ストレージ…そこでデータはしっかりと保護され、必要に応じて迅速に復元できます。Amazon S3のWebユーザーインターフェースを利用すれば、どこからでもアクセス可能です。データをAmazon S3に直接コピーしたり、バックアップを作成してクラウドに保存したりできます。これはAWSにおいて最も一般的な災害復旧シナリオの一つです。
- 点灯ランプ。 このディザスタリカバリのシナリオでは、クラウド上に仮想環境の縮小版を用意し、常に稼働状態を維持しながら最新の状態に保つことができます。これにより、AWSベースのインフラストラクチャの中で最も重要なコンポーネントを迅速に復旧・起動することが可能です。このシナリオでは、Amazon Machine Images(AMI)やAmazon EBSスナップショットなどのサービスが利用されます。"パイロットライト方式"は、復旧にかかる時間を大幅に短縮できるため、従来の"バックアップと復元"によるAWS DR戦略よりも利便性が高いと言えます。
- ウォームスタンバイ。 この災害復旧シナリオでは、本番環境インフラの縮小版が常にクラウド上で稼働しています。災害復旧が必要な事態が発生した際には、これを迅速にスケールアップすることで、ダウンタイムを最小限に抑え、重要な業務やワークロードを復旧させることができます。
- マルチサイト展開("ホットスタンバイ")この手法では、ビジネスに不可欠なデータとインフラストラクチャの中核コンポーネントをレプリケートし、それらを複数のオンプレミスまたはクラウド拠点に分散させます。これらの拠点はすべてアクティブであり、トラフィックとワークロードを共有します。万が一、いずれかの拠点で災害が発生した場合でも、完全な本番環境で稼働可能なシステムが維持されます。 このプロセスを実行するには、Amazon EC2 Auto Scalingが使用されます。ホットスタンバイにより、最小限の復旧時間目標(RTO)および復旧時点目標(RPO)が達成されます。AWSの災害復旧シナリオとしてホットスタンバイを採用する場合、複数の仮想システムを同時に稼働させることはかなりのコストがかかる可能性があることに留意してください。
災害復旧の観点からは、以下の機能についても言及しておくべきである:
- レプリケーション. 高可用性を確保するため、プライマリワークロードがAWSクラウド上にある場合は、リージョン間レプリケーションを導入することができます。これにより、重要なデータやシステムコンポーネントが、ユーザーが選択した任意のAWSリージョンにレプリケートされます。プライマリデータベースに変更が加えられた場合、データは即座に(同期レプリケーション)またはわずかな遅延をもって(非同期レプリケーション)更新されます。これら2つのレプリケーション方式は、それぞれ異なるビジネスニーズに対応します。
- フェイルバック. DRプロセスでは、影響を受けたインスタンスのワークロードがターゲットサイトに移行され、レプリカインスタンスが起動されます(フェイルオーバー)。プライマリサイトが復旧したら、元のインスタンスを復旧させることができます。フェイルオーバー以降にDRインスタンスで実行されたデータ変更をすべて保存するには、データレプリケーションの流れを逆転させてプライマリサイトに戻す必要があります(フェイルバック)。
- 複数のAWSリージョン. 各AWSリージョンは、インスタンスまたはデータを格納するための、独立した領域です。災害復旧を確実に成功させるためには、極めて大規模な災害による影響を軽減するため、2つ以上のAWSリージョンにデータを分散して格納することを検討するとよいでしょう。
AWS ディザスタリカバリのベストプラクティス
以下は、AWSの災害復旧に関するベストプラクティスです。ご自身の環境向けのAWS災害復旧計画を策定する際には、これらの点を念頭に置いてください。
- AWSの災害復旧テストDRソリューションを導入した後は、そのテストを行う必要があります。テストはオンデマンドで実行することも、スケジュールに基づいて実行することも可能です。"ゲームデー・テスト"を実施することで、DR計画が想定通りに機能し、RTO(復旧目標時間)が達成できるかどうかを確認するために、アプリケーションやインスタンスのテストを行うことができます。 この目的のために、AWS CloudFormationを使用してAmazon EC2上に完全な環境をデプロイすることができます。リソーステンプレートを作成することで、クラウド環境内のインフラストラクチャコンポーネントをモデル化し、管理することが可能です。定期的なテストを行うことで、すべてのDRコンポーネントが適切に計画・構成されており、いざという時にRTOおよびRPOを満たせることを確認できます。
- 監視とアラートインフラストラクチャが災害によって完全に機能停止する事態を防ぐためには、潜在的な問題を迅速に特定する必要があります。システムのワークフローを定期的に監視し、その整合性を確認することで、接続障害、サーバー障害、アプリケーションの停止など、発生しつつある脅威をいち早く検知できます。Amazon CloudWatchは、AWSリソースのパフォーマンスを評価します。特定のメトリクスが閾値に達した際に通知を受け取れるよう、アラームや通知を設定することができます。
- 定期的なバックアップとレプリケーション災害が発生する前に、システムを整備し、定期的なバックアップおよびレプリケーションジョブを実行しておくことが極めて重要です。そうすることで、フェイルオーバーに適した環境を確保できます。DR環境への切り替え後も、定期的なバックアップおよびレプリケーションジョブを継続して実行する必要があります。これらのバックアップとレプリカを別々の遠隔地に保管することで、単一障害点(SPOF)となるリスクを回避できます。AWSでは、DRインフラストラクチャの状態を確認するために、定期的な災害復旧テストを実行することができます。
- AWSのツールと手法の活用. AWSのディザスタリカバリに関するベストプラクティスを確実に実施するためには、リカバリグループまたはアプリケーションスタックを採用する必要があります。これにより、インフラストラクチャのリカバリを適切に計画できます。例えば、ビジネスに不可欠なアプリケーションは最優先度が高いため、最初に復旧させる必要があります。
AWS ディザスタリカバリサービス
この目的のために、AWSはさまざまなサービスを提供しています:
- AWS Elastic Disaster Recovery オンプレミスおよびクラウド上で稼働するアプリケーションのデータレプリケーションと復旧を行うサービスです。クラウド上のAWSインスタンスの復旧を実行し、アプリケーションをそれらのインスタンスに復旧させることができます。
- AWS Import/Export これにより、ビジネスに不可欠なデータやアプリケーションをAWSと外部の間で転送するために、ポータブルストレージデバイスを利用できるようになります。Amazonの高速な内部ネットワークにより、大量のデータであっても、迅速かつ安全に目的の場所へ送信できます。
- Amazon Elastic Cloud Compute (Amazon EC2) を利用すれば、AWS クラウド上でオンデマンドでコンピューティングリソースを利用し、完全な仮想データセンターを構築できます。EC2 インスタンスは数分で作成でき、災害復旧期間全体を通じて完全な制御を維持できます。
- Amazon Simple Storage Service (Amazon S3) は、データの保存と取得を最優先事項として設計されています。このサービスは、ビジネスに不可欠なコンポーネントを複数の施設にまたがる多数のデバイスに分散して保管することで、最高レベルの可用性を提供します。AWS は、ID およびアクセス管理 (IAM)、バケットポリシー、多要素認証 (MFA)、オブジェクトのバージョン管理を通じて、さらなる保護を保証します。
- Amazon Elastic Block Store (Amazon EBS) は、クラウド上の Amazon EC2 インスタンスで使用されるデータのためのブロックレベルストレージです。データはスナップショットに基づいて保存され、その後 Amazon S3 に送信されるため、データの長期かつ信頼性の高い保存が可能になります。
- Amazon Relational Database Service (Amazon RDS) は、AWS クラウド上でリレーショナルデータベースの設定と管理を支援します。これは、さまざまなデータベース管理タスクを実行するための、コスト効率に優れ、柔軟性の高いソリューションです。
- Amazon Direct Connect オンプレミスネットワークとAWSクラウドの間に専用接続を構築できます。これにより、高額なコストをかけることなく、ネットワーク接続のセキュリティを強化し、通信速度を向上させることができます。
- 安全なアクセス. 個人情報や業務上重要なデータを扱う場合、組織の規模を問わず、高度なセキュリティを確保することが不可欠です。このため、AWS Identity and Access Management(IAM)を導入することで、DR環境内のリソースへの安全なアクセスを確保できます。IAMを使用すれば、重要なデータへのユーザーアクセスを制御する、ロールベースおよびユーザーベースのセキュリティポリシーを作成できます。
- 自動化. 災害復旧の自動化は、AWSの災害復旧に関するベストプラクティスの重要な要素です。災害復旧の際には、AWS上のサーバーとオンプレミスのサーバーを完全に制御できることが不可欠です。しかし、すべてのアプリケーションやインスタンスの復旧を手動で監視することは、物理的に不可能な場合がほとんどです。効果的な管理を行うためには、災害復旧プロセスのオーケストレーションと自動化が必要です。この目的のために利用できるAmazonの管理サービスは数多くあります:
- に含まれる一連の機能 AWS CloudFormation インフラストラクチャ・サービスを自動でプロビジョニングできます。
- AWS OpsWorks Amazon EC2インスタンスやオンプレミスのコンピューティング環境におけるサーバーの設定、デプロイ、および管理を自動化するのに役立ちます。
- オートスケーリングは、[設定] で指定したパラメータに基づき、需要に応じてインスタンスの数を増減させることができます。 AWS CloudWatchこれは、災害復旧の際、非常に役立ちます。このソリューションは、サーバーへの負荷が増加した際に自動的にスケールアップし、本番環境のインフラが正常な状態に戻ると自動的にスケールダウンします。
- ライセンス. AWS環境において、適切なライセンスを取得したアプリケーションを導入することは、効率的なパフォーマンスを確保するために不可欠です。AWSでは、"ライセンス付属"や"BYOL(Bring-Your-Own-License)"など、お客様の具体的なビジネスニーズに合わせて選べるさまざまなライセンス形態を用意しています。なお、データ保護ソリューションについても、ライセンスを取得しておく必要があります。 AWSとのシームレスな連携.
NAKIVOによるAWS災害復旧ソリューション
Amazon EC2は、信頼性とセキュリティに優れたクラウドサービスです。とはいえ、EC2インスタンスのパフォーマンスを低下させ、ビジネスの継続性を脅かす脅威は数多く存在します。次のような専用の統合型バックアップおよび災害復旧ソリューションは、 NAKIVO Backup & Replication 最高の信頼性と復旧目標を確実に実現します。
NAKIVOのソリューションは、Amazon EC2インスタンスのバックアップ機能により、お客様のクラウド環境を保護し、 Amazon EC2 インスタンスのレプリケーションこれにより、AWSのディザスタリカバリに関するベストプラクティスに従うことが可能になります。このソリューションのDR機能には、自動フェイルオーバー、フェイルバック、あらゆる複雑さのDRシーケンスをオーケストレーションするSite Recovery、およびDRテストが含まれます。
本製品を使用すると、元のEC2インスタンスのレプリカを作成・管理し、任意のターゲットロケーションに保存することができます。インスタンスのレプリカはDRサイトでは電源オフの状態に保たれており、即時復旧が必要なDR発生時には簡単に電源をオンにすることができます。そのため、インスタンスのレプリカを常にスタンバイ状態に維持するための追加コストは発生しません。