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に保存することができます。
AWSの災害復旧シナリオ
Amazonが提供するAWSの災害復旧戦略は4つあります。どの戦略を選択するかは、組織のニーズと予算によって異なります。 特定の仮想インフラストラクチャのニーズに合わせて、さまざまな組み合わせが可能です。
- バックアップと復元。 重要なデータはバックアップされ、 Amazon S3 ストレージなどのオフサイト拠点に送信できます。そこではデータがしっかりと保護され、必要に応じて迅速に復元できます。Amazon S3のWebユーザーインターフェースにより、どこからでもアクセス可能です。 データを Amazon S3 に直接コピーしたり、バックアップを作成してクラウドに保存したりできます。これは、AWS で最も一般的な災害復旧シナリオの 1 つです。
- パイロットライト。 この災害復旧シナリオでは、クラウド上に仮想環境の小型バージョンを用意し、常に稼働させ、最新の状態に保つことができます。 これにより、AWSベースのインフラストラクチャの中で最も重要なコンポーネントを迅速に復旧・起動できます。Amazon Machine Images(AMI)やAmazon EBSスナップショットなどのサービスが使用されます。パイロットライト方式は、復旧にかかる時間を大幅に短縮できるため、バックアップと復元を行う従来のAWS DR戦略よりも便利です。
- ウォームスタンバイ。 この災害復旧シナリオでは、本番インフラストラクチャの縮小版がクラウド上で常に稼働しています。 災害復旧(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 へ、または 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 リレーショナル・データベース・サービス (Amazon RDS)は、AWSクラウド上でリレーショナルデータベースを構成・管理するのに役立ちます。これは、複数のデータベース管理タスクを実行するための、コスト効率に優れ、柔軟性の高いソリューションです。
- Amazon Direct Connect を使用すると、オンプレミスネットワークとAWSクラウドの間に専用接続を確立できます。 これにより、高額なコストをかけることなく、ネットワーク接続のセキュリティを確保し、高速化を図ることができます。
- 安全なアクセス 。機密データやビジネスに不可欠なデータを扱う場合、規模を問わず、組織にとって高水準のセキュリティを確保することは極めて重要です。この目的のために、AWS Identity and Access Management (IAM) を適用することで、DR環境内のリソースへの安全なアクセスを確保できます。IAMを使用すると、重要なデータへのユーザーアクセスを制御する、ロールベースおよびユーザーベースのセキュリティポリシーを作成できます。
- 自動化 。災害復旧の自動化は、AWS DRのベストプラクティスにおける重要な要素です。災害復旧の際、AWSベースのサーバーおよびオンプレミスサーバーを完全に制御できることが不可欠です。しかし、すべてのアプリケーションやインスタンスの復旧を手動で監督することは、物理的に不可能な場合が多くあります。効果的な管理のためには、災害復旧プロセスのオーケストレーションと自動化が必要です。この目的のために、Amazonが提供する管理サービスが数多くあります:
- AWS CloudFormation に含まれる一連の機能により、インフラストラクチャ・サービスを自動的な方法でプロビジョニングできます。
- AWS OpsWorks を使用すると、Amazon EC2 インスタンスやオンプレミスのコンピューティング環境におけるサーバーの構成、デプロイ、および管理を自動化できます。
- オートスケーリング機能は、 AWS CloudWatchで指定したパラメータに基づいて、需要に応じてインスタンスをスケールアップまたはスケールダウンできます。これは、災害復旧の際などに非常に役立ちます。 このソリューションは、サーバーのワークロード増加に対応するために自動的にスケールアップし、本番インフラストラクチャのプロセスが正常な状態に戻るとスケールダウンします。
- ライセンス 。AWS環境に正しくライセンスされたアプリケーションをインストールすることは、効率的なパフォーマンスを確保するために不可欠です。AWSには、”ライセンス付属(License included)”や”持参ライセンス(Bring-Your-Own-License)”など、お客様の特定のビジネスニーズに合わせて利用できるさまざまな種類のライセンスがあります。 なお、データ保護ソリューションについてもライセンスを取得する必要があります。 AWSとのシームレスな連携。
NAKIVOのAWS災害復旧ソリューション
Amazon EC2は、信頼性とセキュリティに優れたクラウドサービスです。とはいえ、EC2インスタンスのパフォーマンスを低下させ、事業継続性を損なう可能性のある脅威は数多く存在します。NBRのような専用の統合型バックアップおよび災害復旧ソリューションを導入することで、最高の信頼性と復旧目標を確保できます。
NAKIVOのソリューションは、Amazon EC2インスタンスのバックアップと Amazon EC2 インスタンスのレプリケーションによりクラウド環境を保護し、AWSの災害復旧に関するベストプラクティスに従うことを可能にします。このソリューションのDR機能には、自動フェイルオーバー、フェイルバック、あらゆる複雑さのDRシーケンスを調整するためのSite Recovery、およびDRテストが含まれます。
本製品を使用すると、元のEC2インスタンスのレプリカを作成・管理し、任意のターゲット場所に保存することができます。インスタンスのレプリカはDRサイトでは電源オフの状態に保たれており、即時復旧が必要なDR発生時には簡単に電源をオンにすることができます。したがって、インスタンスのレプリカを常にスタンバイ状態に保つための追加コストは発生しません。