クラウドネイティブワークロードの DR - AWS 規範ガイダンス

クラウドネイティブワークロードの DR

クラウドネイティブのワークロードが DR 目標とどのように関連しているかを検討してください。AWS は、世界中のリージョンに複数のアベイラビリティーゾーンを提供します。AWSクラウドを使用している多くの企業は、アベイラビリティ ゾーンの喪失に耐えられるようにワークロード アーキテクチャと DR の目標を調整しています。AWS Well-Architected Frameworkの「信頼性の柱」 は、このベストプラクティスをサポートしています。複数のアベイラビリティーゾーンを使用するように、ワークロードとそのサービスとアプリケーションの依存関係を構築できます。そうすれば、DR を自動化して DR の目標を最小限またはまったく行わずに達成できます。

しかし実際には、すべてのコンポーネントについて、冗長でアクティブで自動化されたアーキテクチャを確立できない場合があります。アーキテクチャのすべてのレイヤーを調べて、目標を達成するために必要な DR プロセスを判断します。これはワークロードによって異なり、アーキテクチャやサービスの要件も異なる可能性があります。このガイドでは、Amazon EC2 の考慮事項とオプションについて説明します。その他の AWS サービスについては、「AWS のドキュメント」 を参照して、高可用性とDRのオプションを決定することができます。

単一のアベイラビリティ・ゾーンにおける Amazon EC2 の DR

複数のアベイラビリティーゾーンのクライアントを積極的にサポートし、サービスを提供するようにワークロードを設計するようにします。Amazon EC2 Auto Scaling と Elastic Load Balancing を使用して、Amazon EC2 やその他のサービスのマルチ AZ サーバーアーキテクチャを実現できます。

使用しているアーキテクチャに、負荷分散できない EC2 インスタンスがあり、常に 1 つのインスタンスしか実行できない場合は、以下のオプションのいずれかを使用できます。

  • 最小、最大、および希望するサイズが1であり、複数の可用性ゾーン用に構成されたAuto Scalingグループを作成します。障害が発生した場合にインスタンスの交換に使用できる AMI を作成します。AMI から新しくプロビジョニングされたインスタンスが自動的に構成され、サービスを提供できるように、適切な自動化と構成を定義していることを確認します。Auto Scaling グループを指し、複数のアベイラビリティーゾーン用に設定されたロードバランサーを作成します。オプションで、ロードバランサーエンドポイントを指す Amazon Route 53 エイリアスを作成します。

  • アクティブなインスタンスの Route 53 レコードを作成し、クライアントにこのレコードを使用して接続させます。アクティブなインスタンスの新しい AMI を作成し、その AMI を使用して、別のアベイラビリティゾーンに停止状態の新しい EC2 インスタンスをプロビジョニングするスクリプトを作成します。スクリプトを定期的に実行し、以前に停止したインスタンスを終了するように設定します。アベイラビリティーゾーンに障害が発生した場合は、代替のアベイラビリティーゾーンでバックアップインスタンスを起動します。次に、この新しいインスタンスを指すように Route 53 レコードを更新します。

ソリューションが防ぐように設計された障害をシミュレートして、ソリューションを徹底的にテストします。また、ワークロードアーキテクチャが変更されたときに DR ソリューションが必要とする更新についても検討します。

Amazon EC2 のリージョン別の障害時の DR

可用性の要件が非常に高いお客様 (ダウンタイムを一切許容できないミッションクリティカルなアプリケーションなど) は、複数のリージョンで AWS を使用して、リージョンレベルでの問題に対する耐障害性を高めることができます。お客様は、マルチリージョン DR プランを確立して維持するために必要な複雑さ、コスト、労力と、メリットを慎重に比較検討する必要があります。AWS は、グローバルな可用性、フェイルオーバー、DRのために、マルチリージョンアーキテクチャをサポートする機能を提供しています。このガイドでは、Amazon EC2 のバックアップとリカバリに特有の機能のいくつかについて説明します。

AWS AMI と Amazon EBS スナップショットは、1 つのリージョン内で新しいインスタンスをプロビジョニングするために使用できるリージョンリソースです。ただし、スナップショットと AMI を別のリージョンにコピーし、それらを使用してそのリージョンに新しいインスタンスをプロビジョニングすることはできます。リージョンの障害 DR プランをサポートするために、AMI とスナップショットを他のリージョンにコピーするプロセスを自動化できます。AWS Backup と Amazon Data Lifecycle Manager は、バックアップ設定の一部としてクロスリージョンコピーをサポートします。

「AWS Elastic Disaster Recovery」 は、あるリージョンの Amazon EC2 サーバーを自動化し、別の DR リージョンに継続的に複製するために使用できます。Elastic Disaster Recoveryは、マルチリージョンDRアプローチを簡素化し、ドリルを使用してクロスリージョンAmazon EC2 DRプランを定期的にテストするのに役立ちます。Elastic Disaster Recoveryは、バックアップとリカバリが RTO と RPO の目標を達成できない場合に役立ちます。Elastic Disaster Recovery は、RTO を数分に、RPO を 1 秒未満に抑えるのに役立ちます。

どのソリューションを使用する場合でも、障害発生時に使用するプロビジョニング、フェイルオーバー、フェイルバックのプロセスを決定する必要があります。Route 53 をヘルスチェックとドメインネームシステムのフェイルオーバーと組み合わせて使用すると、ソリューションをサポートしやすくなります。