リソースセンターのご利用開始にあたって、 / 10 分間チュートリアル / ...
高速なクロスリージョン災害対策および低レイテンシーのグローバル読み取り
このチュートリアルでは、複数の AWS リージョンにまたがり、パフォーマンスに影響を与えずにデータを複製する Amazon Aurora Global Database のデプロイを作成する方法を学びます。Aurora Global Database は、リージョン全体の停止からの災害対策を提供し、低レイテンシーのグローバル読み取りを可能にします。
Amazon Aurora は、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースであり、従来のエンタープライズデータベースのパフォーマンスと可用性に加え、オープンソースデータベースのシンプルさと費用対効果も兼ね備えています。
Aurora Global Database は、データがマスターされるプライマリ AWS リージョンと、データが複製される複数の読み取り専用セカンダリ AWS リージョンで構成されます。書き込みはプライマリデータベースに送信されますが、任意のリージョンから読み取ることができ、低レイテンシーのメリットを得ることができます。
このチュートリアルでは、MySQL 互換の Amazon Aurora を使用します。チュートリアルは無料利用枠内では行えません。ただし、チュートリアルの手順通りにチュートリアル終了時にリソースを終了する場合にかかる料金は 1 USD 未満です。
前提条件
Amazon Aurora DB クラスターは、1 つ以上の DB インスタンスと、それらの DB インスタンスのデータを管理するクラスターボリュームで構成されます。Aurora クラスターボリュームは、複数のアベイラビリティーゾーンにまたがる仮想データベースストレージボリュームであり、各アベイラビリティーゾーンには DB クラスターデータのコピーがあります。読み取りおよび書き込み操作をサポートするプライマリ DB インスタンスと、Aurora レプリカといった 2 つのタイプの DB インスタンスが Aurora DB クラスターを構成します。プライマリ DB インスタンスと同じストレージボリュームに接続し、読み取り操作のみをサポートします。各 Aurora DB クラスターは、最大 15 個の Aurora レプリカを別々のアベイラビリティーゾーンに配置できます。プライマリ DB インスタンスが使用できなくなった場合、Aurora は自動的に Aurora レプリカにフェイルオーバーします。
このチュートリアルでは、1 つのリージョンにプライマリクラスターがあり、別のリージョンにセカンダリクラスターがある Aurora Global Database を作成します。どのリージョンを使用するかはお客様次第です。使用する各リージョンにアプリケーションを配置することをお勧めします。たとえば、Aurora Global Database のプライマリクラスターが us-east-1 にあり、セカンダリクラスターが eu-west-3 にある場合、us-east-1 にインスタンスが、eu-west-3 に別のインスタンスが配置されます。
また、時間を節約したい場合は、それらのリージョンごとに、インスタンスからの受信接続を許可するセキュリティグループを作成できます。たとえば、インスタンスのセキュリティグループからポート 3306 での TCP 接続を許可する、タイプ MYSQL/Aurora のインバウンドルールでセキュリティグループを作成できます。
最後に、Aurora Global Database をテストするには (ステップ 8 を参照)、MySQL クライアントが必要です。アプリケーションインスタンスが Amazon Linux を実行している場合、MySQL クライアントをインストールするのは sudo yum install mysql を実行するのと同じくらい簡単ですが、正確なコマンドは実行している OS によって異なります。Windows を実行している場合は、代わりに MySQL ワークベンチをダウンロードできます。
このチュートリアルの内容 | |
---|---|
時間 | 10 分 |
料金 | 1 USD 未満 |
ユースケース | データベース |
製品 | Amazon Aurora、Amazon RDS |
対象者 | データベース管理者、開発者 |
レベル | 中級コース |
最終更新日 | 2019 年 6 月 3 日 |
ステップ 1: Amazon RDS コンソールへのアクセス
1.1 — ブラウザを開き、[Amazon RDS コンソール] に移動します。すでに AWS アカウントをお持ちの場合は、コンソールにログインします。それ以外の場合は、開始用に新しい AWS アカウントを作成します。
1.2 — 右上から、プライマリ Aurora DB クラスターを起動するリージョンを選択します。このチュートリアルでは、プライマリリージョンとして us-east-1 を使用し、セカンダリリージョンとして eu-west-1 を使用します。
AWS アカウントをお持ちですか? アカウントにログインする
1.4 — 下にスクロールして、[Aurora Global Database] ウィンドウで [今すぐ試す] をクリックします。[今すぐ試す] オプションが表示されない場合は、ここをクリックしてください。
ステップ 5: 接続性
ステップ 8: Aurora Global Database をテストする
2 つのターミナルウィンドウを開き、プライマリリージョンとセカンダリリージョンのインスタンスにログインして、mysql コマンドラインのクライアントを使用してデータベースに接続します。
これで、データベースを作成し、テーブルを作成して、いくつかのレコードを書き込むことができます。プライマリに書き込むものはすべて、セカンダリクラスターに複製されます。
8.3 — プライマリデータベースに接続します。
$ mysql -h endpoint -P 3306 -u admin -p
パスワードの入力を求められたら、ステップ 6.6 で保存したパスワードを入力します。
8.4 — データベースを作成し、データを書き込みます。
mysql> データベースチュートリアルを作成
クエリは正常、1 行に影響 (0.01 秒)
この時点で、チュートリアルデータベースを使用して、テーブルを作成し、いくつかのレコードを追加できます。
8.5 — セカンダリリージョンに移動します。
8.8 — セカンダリデータベースに接続します。
$ mysql -h endpoint -P 3306 -u admin -p
パスワードの入力を求められたら、ステップ 6.6 で保存したパスワードを入力します。
8.9 — データを読み込みます。
mysql> チュートリアルを使用
データベースが変更されました
データベースがセカンダリデータベースに複製されたことを確認できます。テーブルを作成した場合は、プライマリクラスターに書き込み、セカンダリクラスターからデータを読み取ることができます。
ステップ 9: セカンダリリージョンへのフェイルオーバー
デフォルトの Aurora クラスターではリージョン内のフェイルオーバー機能が提供されますが、Aurora Global Database では別のリージョンのセカンダリクラスターにフェイルオーバーできます。リージョン全体が使用できなくなっても、データベースは存続します。
Aurora Global Database のフェイルオーバーを実行するには、元のグローバルデータベースからセカンダリクラスターを削除して、完全な読み取り/書き込み機能を持つリージョン別のクラスターに戻し、新しい Aurora Global Database のプライマリクラスターとして使用します。
以下の手順通りに、手動でフェイルオーバーを実行できます。
9.1 — プライマリデータベースへの書き込みを停止します。
9.2 — セカンダリクラスターを選択します。
9.8 — ドロップダウンから、リージョンを選択します。
9.9 — 手順 4.1〜5.7 を繰り返します。
ステップ 10: クリーンアップ
このチュートリアルを完了するには、Aurora Global Database を削除します。そのままにしておくこともできますが、料金が発生することにご注意ください。
Aurora Global Database を削除するには、[RDS ダッシュボード] に移動して、次の手順通りに実行します。
10.1 — 左側のペインで [データベース] を選択します。
これにより、すべての Aurora DB クラスターのリストが表示されます。
10.2 — [Global Database インスタンス] を選択します。
10.4 — 最終的なバックアップを作成するかどうかを尋ねられます。通常の場合は良い考えですが、このチュートリアルでは必要ありません。[いいえ] を選択し、[削除] をクリックします。
10.5 — [Global Database クラスター] を選択します。
10.6 — [アクション > グローバルから削除] をクリックします。
10.7 — [グローバルから削除] をクリックして確認します。
10.10 — 最終的なスナップショットを作成するかどうかを尋ねられます。通常の場合は良い考えですが、このチュートリアルでは必要ありません。[いいえ] を選択し、[DB クラスターを削除] をクリックします。
おめでとうございます
リージョン間でレプリケーションを行う Aurora Global Database を作成しました。レイテンシーを低減するために読み取りを他のリージョンにスケーリングする方法を学び、セカンダリリージョンへのフェイルオーバーを実行しました。
推奨する次の手順
Aurora Global Database の詳細については、ドキュメント Amazon Aurora Global Database の使用を参照してください。