Amazon Aurora DSQL の耐障害性
AWS グローバルインフラストラクチャは AWS リージョンおよびアベイラビリティーゾーン (AZ) を中心に構築されています。AWS リージョンは、低レイテンシー、高スループット、そして高度な冗長ネットワークで接続される物理的に独立、隔離された複数のアベイラビリティーゾーンを提供します。アベイラビリティーゾーンでは、ゾーン間で中断することなく自動的にフェイルオーバーするアプリケーションとデータベースを設計および運用することができます。アベイラビリティーゾーンは、従来の単一または複数のデータセンターインフラストラクチャよりも可用性、耐障害性、および拡張性が優れています。Aurora DSQL は、データベースの可用性を最大限に高めながら、AWS リージョンインフラストラクチャを活用できるように設計されています。デフォルトでは、Aurora DSQL の単一リージョンクラスターにはマルチ AZ の可用性があり、完全な AZ へのアクセスに影響を与える可能性のある主要なコンポーネントの障害やインフラストラクチャの中断に対する耐性を提供します。マルチリージョンクラスターは、AWS リージョンがアプリケーションクライアントにアクセスできない場合でも、マルチ AZ の耐障害性のすべての利点を提供しながら、強力な整合性のあるデータベースの可用性を提供します。
AWS リージョンとアベイラビリティーゾーンの詳細については、「AWS グローバルインフラストラクチャ
AWS グローバルインフラストラクチャに加えて、Aurora DSQL は、データの耐障害性とバックアップのニーズに対応できるように複数の機能を提供しています。
バックアップと復元
Aurora DSQL は、AWS Backup コンソールによるバックアップと復元をサポートしています。単一リージョンクラスターとマルチリージョンクラスターに対してフルバックアップと復元を実行できます。詳細については、「Amazon Aurora DSQL のバックアップと復元」を参照してください。
レプリケーション
設計上、Aurora DSQL はすべての書き込みトランザクションを分散トランザクションログにコミットし、コミットされたすべてのログデータを 3 つの AZ のユーザーストレージレプリカに同期的にレプリケートします。マルチリージョンクラスターは、読み取りリージョンと書き込みリージョン間の完全なクロスリージョンレプリケーション機能を提供します。
指定されたウィットネスリージョンは、トランザクションログのみの書き込みをサポートし、ストレージを使用しません。監視リージョンにはエンドポイントがありません。つまり、監視リージョンは暗号化されたトランザクションログのみを保存し、管理や設定を不要で、ユーザーがアクセスできないということです。
Aurora DSQL トランザクションログとユーザーストレージは分散され、すべてのデータが単一の論理ボリュームとして Aurora DSQL クエリプロセッサに提示されます。Aurora DSQL は、データベースのプライマリキーの範囲とアクセスパターンに基づいて、データを自動的に分割、マージ、レプリケートします。Aurora DSQL は、読み取りアクセス頻度に基づいて、リードレプリカのスケールアップとスケールダウンを自動的に行います。
クラスターストレージレプリカは、マルチテナントストレージフリートに分散されます。コンポーネントまたは AZ に障害が発生した場合、Aurora DSQL は自動的にアクセスを正常なコンポーネントへリダイレクトし、欠落しているレプリカを非同期的に修復します。Aurora DSQL が障害のあるレプリカを修正すると、Aurora DSQL は自動的にそれらをストレージクォーラムに追加し、クラスターで使用できるようにします。
高可用性
デフォルトでは、Aurora DSQL の単一リージョンクラスターとマルチリージョンクラスターはアクティブ/アクティブであり、クラスターを手動でプロビジョニング、設定、または再設定する必要はありません。Aurora DSQL はクラスター復元を完全に自動化するため、従来のプライマリ/セカンダリフェイルオーバーオペレーションが不要になります。レプリケーションは常に同期され、複数の AZ で実行されるため、レプリケーションの遅延や障害復旧中の非同期セカンダリデータベースへのフェイルオーバーによるデータ損失のリスクはありません。
単一リージョンクラスターは、3 つの AZ 間で強力なデータ整合性を持つ同時アクセスを自動的に有効にするマルチ AZ 冗長エンドポイントを提供します。つまり、これら 3 つの AZ のいずれかにあるユーザーストレージレプリカは、常に同じ結果を 1 つ以上のリーダーに返し、常に書き込みを受信できます。この強力な整合性とマルチ AZ の耐障害性は、Aurora DSQL マルチリージョンクラスターのすべてのリージョンで利用できます。つまり、マルチリージョンクラスターは強力な整合性を備えたリージョンエンドポイントを 2 つ提供するため、クライアントはいずれのリージョンに対してもコミット時のレプリケーションラグなしで区別なく読み書きできます。
Aurora DSQL は、単一リージョンクラスターでは 99.99%、マルチリージョンクラスターでは 99.999% の可用性を提供します。
フォールトインジェクションテスト
Amazon Aurora DSQL は、アプリケーションの耐障害性を向上させるために実行中の制御されたフォールトインジェクション実験のフルマネージドサービスである AWS Fault Injection Service (AWS FIS) と統合します。AWS FIS を使用して、以下のことができます。
-
特定の障害シナリオを定義する実験テンプレートを作成する
-
障害 (クラスター接続エラー率が高い) を挿入し、アプリケーションのエラー処理と復旧メカニズムを検証する
-
マルチリージョンアプリケーションの動作をテストし、一つの AWS リージョン の接続エラー率が高いときの AWS リージョン 間のアプリケーショントラフィックのシフトを検証する
例えば、米国東部 (バージニア北部) と米国東部 (オハイオ) にまたがるマルチリージョンクラスターでは、米国東部 (オハイオ) で実験を実行して障害をテストし、米国東部 (バージニア北部) で通常の運用を継続できます。この制御されたテストは、本番稼働用ワークロードに影響を与える前に潜在的な問題を特定して解決するのに役立ちます。
AWS FIS のサポートされているアクションの完全なリストについては、「AWS FIS ユーザーガイド」の「アクションターゲット」を参照してください。
AWS FIS で使用できる Amazon Aurora DSQL アクションの詳細については、「AWS FIS ユーザーガイド」の「Amazon Aurora DSQL アクションリファレンス」を参照してください。
フォールトインジェクション実験の実行を開始するには、「AWS FIS ユーザーガイド」の「AWS FIS 実験の計画」を参照してください。