MEGAZONEブログ
Empower your commercial business with data replication and resiliency
データのレプリケーションと弾力性により、コマーシャルビジネスを強化
Pulisher : Cloud Technology Center パク・ソジョン
Description : DBの安定性を高めるDBレプリケーション関連サービスの紹介セッション
はじめに
今年、韓国の大手企業がデータセンター火災でサービスが中断される事態が発生しました。 この事故以降、私だけでなく、多くの企業がDRにもっと関心を持つようになったようです。AWSにもDRのための多くのサービスと機能が提供されており、DBの安定性を高めるDBレプリケーション関連サービスについて学びたいと思い、このセッションに参加しました。
Business Continuity Strategy
昨年はサプライチェーンの問題、人材網の問題など様々な不確実性があり、今年はグローバル経済の低迷でその不確実性が続いています。 また、ビジネス競争も激化していますが、このような状況でもビジネスを成長させるためにはビジネス継続性が非常に重要です。
ビジネス継続性を維持するためには、よく計画されたDR戦略は必須です。もし障害が発生してサービスが中断されると、ビジネス収益、ブランドイメージなどに大きな損害をもたらします。 これを防ぐためには、事前にDR戦略をよく準備して、障害が発生しても迅速にサービスを復旧してビジネスが継続的に運営できるようにしなければなりません。
ビジネス継続計画(Business Continuity Plan)はDRとは多少異なる概念ですが、DRがビジネス継続計画の属する概念だと考えてください。ビジネス継続計画を立てるためには、自社のビジネスとニーズを徹底的に分析して計画を立てる必要があります。
Data Replication Strategy
Data Replicationはデータのコピーを作成して維持することを意味します。どのような目的でデータを複製するのでしょうか?ビジネス継続性、性能と拡張性など様々な目的がありますが、例えば、グローバルにサービスを提供する場合、低遅延時間ベースでデータアクセスをするため、またはコンプライアンス要求を満たすためにデータ複製を作成して保管します。
ビジネス継続計画を策定するためには、まず計画の対象となるデータソースを選択し、コア指標を具体的に指定します。指標はRTO、RPOになります。ここでRTOは「どのくらいの期間でデータが再び使用可能な状態に復旧できるのか」、RPOは「どのくらいの期間のデータ損失を許容できるのか」になります。
AWS Services for Business Continuity
Multi-regionでビジネス継続性のために使うと良いサービスを紹介したいと思います。
まず、S3は基本的に3つのAZにデータが複製されて99.99999999999%を誇る完全管理型サービスです。 だけでなく、他のリージョンまたは他のアカウントにオブジェクトをコピーすることができるS3 Replication機能があります。S3 Replicationは下記のように様々な方法があります。
・Batch replication: 特定のインターバルベースや特定の時間に複製する。
・Cross-region replication:他のリージョンにレプリケーションする方法
・Bi-directional: 二つのバケット間で互いにデータを同期する方法
Auroraは関係型データサービスで、クラウド上で様々なDBエンジンを使用できるようにする完全管理型サービスです。Auroraは次のようなDRのための機能があります。
Auroraはデータベースボリュームを継続的にAmazon S3にバックアップし、データを複数の保存ノードにコピーします。これにより、特定のノードが中断されてもデータを継続的に使用することができます。 また、Aurora Global Databasesを使用すると、他の地域に読み取りレプリカを生成して迅速にDRが可能で、グローバルアプリケーションの遅延時間を減らすことができます。
DynamoDBは非リレーショナルDBサービスです。同様に様々なDRに最適なサービスですが、DynamoDBに保存されたデータは3つのAZに常にデータレプリカが生成されます。
また、DynamoDB Global Tableを使用すると、テーブルを複数のAWSリージョンに複製することができます。これにより、迅速なデータアクセスとリージョン障害に対する耐久性を向上させることができます。継続的なバックアップと時点別復旧をサポートし、特定の時点にテーブルデータを復元することができます。
先に説明したサービスと追加サービスを構成してDRのためのアーキテクチャを実装してみました。
セッションを終えて
基本的なDRの概念と様々なDBのDR関連機能について説明しました。 ビジネスにDRが重要な役割を果たすので、アーキテクチャを進める時、このような部分も見逃さずに適用してみるといいと思います。