Amazon Aurora は、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースであり、従来のエンタープライズデータベースのパフォーマンスと可用性に加え、オープンソースデータベースのシンプルさと費用対効果も兼ね備えています。このチュートリアルでは、開発およびテスト用に Aurora DB クラスターのクローンを作成する方法と、バックトラックを有効にして使用して、指定した時間まで DB クラスターを「巻き戻す」方法を学びます。
Aurora クラスターのクローンは、変更によってデータベースに及ぼした影響を評価する場合、データのエクスポートや分析クエリの実行などのようにワークロードを多用するオペレーションを実行する必要がある場合、または単に開発環境またはテスト環境での運用データベースのコピーを使用する場合に非常に役立ちます。Aurora DB クラスターのクローンを複数作成できます。クローンデータベースはソースデータベースと同じリージョンに作成しなければならないという制約の下で、他のクローンから追加のクローンを作成することもできます。
バックトラックを使用すると、Aurora DB クラスターを指定した時刻まで巻き戻すことができます。バックトラックを有効にすると、Aurora はデータベースへの変更記録を保持し、以前の一貫した状態に切り替えることができます。この機能を使用すると、間違いを簡単に元に戻すことができます。例えば、WHERE 句のない DELETE などの破壊的なアクションを誤って実行した場合、問題が発生する前の状態にすばやく戻すことができます。スナップショットまたは自動バックアップからの復元とは異なるためオペレーションが遅くなりますが、バックトラックを使用すると数分で時間を前後に移動できます。
このチュートリアルでは、バックトラックを有効にして Aurora DB クラスターを作成します。データを追加し、バックトラック機能を使用して時間を前後に移動します。データベースのクローンを作成し、コピーに対してクエリを実行します。
このチュートリアルは無料利用枠内では行えません。ただし、チュートリアルの手順通りにチュートリアル終了時にリソースを終了する場合にかかる料金は 1 USD 未満です。
前提条件
データベースに接続してコマンドを発行する機能が必要です。DB クラスターにパブリック IP アドレスを割り当てないことをお勧めします。そのため、DB クラスターと同じ VPC に EC2 インスタンスが必要になる可能性があります。まだ実行していない場合は、次の手順通りにプロビジョニングします。
次に、sudo yum install mysql を実行して MySQL クライアントをインストールできます。
このチュートリアルの内容 | |
---|---|
時間 | 10~20 分 |
料金 | 1 USD 未満 |
ユースケース | データベース |
製品 | Amazon Aurora、Amazon RDS |
対象者 | データベース管理者、開発者 |
レベル | 中級コース |
最終更新日 | 2019 年 7 月 17 日 |
ステップ 1: Aurora DB クラスターを作成する
1.1 - ブラウザを開き、[Amazon RDS コンソール] に移動します。すでに AWS アカウントをお持ちの場合は、コンソールにログインします。それ以外の場合は、開始用に新しい AWS アカウントを作成します。
AWS アカウントをお持ちですか? アカウントにログインする
1.6 - [Version] (バージョン) で、MySQL 5.6 と互換性のある最新の Aurora バージョンを選択します。[Backtrack] (バックトラック) がそのバージョンでのみ使用できるためです。
1.20 - [ターゲットのバックトラックウィンドウ] に [24] と入力します。[バックトラック] ウィンドウでは、どこまで前に戻すことができるかを決め、Aurora はそのウィンドウの時間をサポートするのに十分なログ情報を保持しようとします。
1.21 - [deletion protection] (削除保護) で、[Enable deletion protection] (削除保護を有効にする) のチェックを外します。
削除保護を有効にすることをお勧めします。ただし、チュートリアルの最後でデータベースを削除する場合は、オプションのチェックボックスをオフのままにしておくことができます。
インスタンスが作成されている間、認証情報の取得方法を説明するバナーが表示されます。このパスワードを表示できるのはこの瞬間だけなので、認証情報をどこかに保存する良い機会です。
1.23 — [認証情報の詳細を表示] をクリックします。
ステップ 2: データベースを入力する
[ターミナル] ウィンドウを開き、アプリケーションインスタンスにログインし、mysql コマンドラインクライアントを使用して Aurora DB クラスターに接続します。その後、データベースを作成し、テーブルを作成して、いくつかのレコードを書き込むことができます。
2.1 - プライマリデータベースに接続します。
$ mysql -h endpoint -P 3306 -u admin -p
コマンドでエンドポイントを読み取るたびに、ステップ 1.24 で保存したエンドポイントのホスト名を入力する必要があります。
同様に、パスワードの入力を求められたら、ステップ 1.24 で保存したパスワードを入力します。
2.2 - データベースを作成し、データを書き込みます。
mysql> データベースチュートリアルを作成
クエリは正常、1 行に影響 (0.01 秒)
この時点で、チュートリアルデータベースを使用して、テーブルを作成し、いくつかのレコードを追加できます。
ステップ 3: データベースをバックトラックする
バックトラック DB クラスター
3.3 - 日付と時刻を選択します。Aurora は、新しい DB クラスターを作成せずに、DB クラスターを指定された時点まで巻き戻します。データベースまたはテーブルを作成した時点より前の時刻を選択できます。
3.4 - [Backtrack DB cluster] (バックトラック DB クラスター) をクリックします。
バックトラックオペレーションが実行中であることを説明する青いバナーの画面が表示されます。
ステップ 4: データベースのクローンを作成する
このクローンでどんな操作を行っても、元の DB クラスターには影響しません。クローンが作成されたクラスターの名前をクリックすると、クローンが作成された DB とそのレプリカのエンドポイントを見つけることができます。
ステップ 5: クラスターを削除する
このチュートリアルを完了し、追加料金を回避するには、Aurora DB クラスターが不要になったときに削除する方法を学びます。Aurora DB クラスターを削除するには、[RDS Dashboard] (RDS ダッシュボード) に移動して、次の手順に従って実行します。
お疲れ様でした。
バックトラックを有効にして Aurora DB クラスターを作成しました。データベースに合わせて前後に移動できる時間範囲の設定方法を学びました。最後に、Aurora DB クラスターのクローンを作成する方法を学びました。