MySQL データベースを自動スケーリングして、変動するアプリケーションの要求を満たす

Amazon Aurora を使用する

Amazon Aurora は、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースであり、従来のエンタープライズデータベースのパフォーマンスと可用性に加え、オープンソースデータベースのシンプルさと費用対効果も兼ね備えています。このチュートリアルでは、アプリケーションの変動する要求を満たすために、Amazon Aurora データベースを作成し、リードレプリカを追加または削除して、自動的にスケーリングするように設定する方法を学びます。

このチュートリアルは無料利用枠内では行えません。ただし、チュートリアルの手順通りにチュートリアル終了時にリソースを終了する場合にかかる料金は 1 USD 未満です。

このチュートリアルの内容
時間 10~20 分                                           
料金 1 USD 未満
ユースケース データベース
製品 Amazon Aurora、Amazon RDS
対象者 データベース管理者、開発者
レベル 中級コース
最終更新日 2019 年 7 月 2 日

ステップ 1: Aurora DB クラスターを作成する

1.1 - ブラウザを開き、[Amazon RDS コンソール] に移動します。すでに AWS アカウントをお持ちの場合は、コンソールにログインします。それ以外の場合は、開始用に新しい AWS アカウントを作成します。

AWS アカウントをお持ちですか? アカウントにログインする

1.2 - 右上から、Aurora DB クラスターを起動するリージョンを選択します。

1.3 - Amazon Aurora ウィンドウで [データベースを作成] をクリックします。

続行する前に、新しいデータベース作成フローに切り替えます。

エンジンオプション

1.4 - データベースエンジンで、[Amazon Aurora] を選択します。

1.5 - エディションでは、[MySQL 互換の Amazon Aurora] を選択します。

1.6 - [バージョン] で、使用する Aurora バージョンを選択します。

1.7 - [データベースの場所] で、[リージョン] を選択します。

データベース機能

1.8 - [ライター 1 人と複数のリーダー] を選択します。

テンプレート

1.9 - [制作] を選択します。

設定

1.10 - Aurora DB クラスターの識別子 (例: [データベース-1]) を選択します。

DB インスタンスサイズ

1.11 - DB インスタンスのサイズとして、大きなインスタンス (.large で終わる) を選択します。

可用性、および堅牢性

1.12 - [Aurora レプリカ/リーダーを作成] を選択します。

接続

1.13 - データベースを作成する VPC を選択します。

作成したデータベースは別の VPC に移行できないことにご注意ください。

1.14 - [追加の接続構成] をクリックします。

1.15 - サブネットグループのデフォルト値を選択します。

1.16 - [一般公開] で [いいえ] を選択します。

つまり、同じ VPC 内の EC2 インスタンスからデータベースに接続する必要があります。

1.17 - VPC セキュリティグループで、[新規作成] を選択します。ポート 3306 での着信 TCP 接続を許可するセキュリティグループがある場合は、代わりにそれを選択できます。このセキュリティグループは、Aurora クラスターへの取り込みを制御します。

1.18 - [新しい VPC セキュリティグループ名] に [aurora-tutorial] と入力します。

1.19 - データベースポートのデフォルト値をそのままにします。

追加構成

[追加構成] はデフォルト値のままにします。

削除保護を有効にすることをお勧めします。チュートリアルの最後にデータベースを削除する場合は、オプションをオフのままにしておくことができます。

1.20 - [削除保護] で、[削除保護を有効にする] のチェックを外します。

確認して作成する

フォームのすべてのフィールドを簡単に確認した後に進むことができます。

1.21 - [データベースを作成] をクリックします。

インスタンスが作成されている間、認証情報の取得方法を説明するバナーが表示されます。このパスワードを表示できるのはこの瞬間だけなので、認証情報をどこかに保存する良い機会です。

1.22 — [認証情報の詳細を表示] をクリックします。

1.23 - ユーザー名、パスワード、およびクラスターエンドポイントを保存します。

1.24 - 認証情報の詳細ポップアップを閉じた後、作成したデータベースの名前をクリックします。

1.25 - ライターとリーダーエンドポイントをコピーします。読み取り/書き込みトラフィックをライターエンドポイントに転送できますが、読み取り専用トラフィックをリーダーエンドポイントに転送することをお勧めします。

ステップ 2: スケーリングポリシーを追加する

Aurora Auto Scaling は、定義したスケーリングポリシーに基づいてレプリカを作成して削除できます。ワークロードまたはデータベースへの接続数が突然増加した場合、Aurora Auto Scaling は Aurora レプリカを追加できます。ワークロードまたは接続数が減少すると、Aurora Auto Scaling は余分な Aurora レプリカを削除して、余分な容量に費やさないようにします。

2.1 - [Aurora DB クラスター] を選択します。

2.2 - [アクション] をクリックし、[レプリカの自動スケーリングを追加] を選択します。

ポリシーの詳細

2.3 - ポリシー名 (例: policy-1) を選択します。

2.4 - 自動スケーリングに使用するメトリックを選択します。

使用できるターゲットメトリックは 2 つあります。[Aurora レプリカの平均 CPU 使用率] と [Aurora レプリカの平均接続数] です。Aurora Auto Scaling は、スケーリングポリシーをトリガーし、メトリックとターゲット値に基づいてスケーリング調整を計算する CloudWatch アラームを作成して管理します。スケーリングポリシーは、必要に応じて Aurora レプリカを追加または削除し、メトリックを指定されたターゲット値に近づけます。

使用するメトリックは、アプリケーションのアーキテクチャとワークロードによって異なります。CPU を集中的に使用するデータベースクエリを実行する必要がある場合は、CPU 使用率を測定することをお勧めします。クエリは単純ですが、読み取りと書き込みをスケーリングする必要がある場合は、接続数を正しく測定します。

スケーリングポリシーは 1 つのメトリックのみに基づくことができますが、複数のスケーリングポリシーを作成できることにご注意ください。このチュートリアルでは、[Aurora レプリカの平均接続数] を選択できます。

2.5 - [ターゲット値] に [20] と入力します。

つまり、接続数がターゲット値 20 に達すると、Aurora Auto Scaling は Aurora レプリカを追加し、そのターゲット値を下回ると、余分なレプリカを削除します。すべての場合において、Aurora Auto Scaling はそれが作成した Aurora レプリカのみを削除します。ユーザーが作成したレプリカは削除されません。

クラスター容量の詳細

2.6 - 最小容量には [1] を入力してください。

2.7 - 最大容量には [2] を入力してください。

最小容量と最大容量の数値は後で変更できます。実稼働環境で使用する値は、ワークロード、接続数、および予算の見積もりに基づいています。Aurora Auto Scaling によって作成された Aurora レプリカは、プライマリインスタンスに使用されるものと同じ DB インスタンスクラスです。

確認して続ける

2.8 - フィールドを確認し、[ポリシーを追加] をクリックします。

ステップ 3: スケーリングポリシーを変更する

3.1 - [Aurora DB クラスター] をクリックします。

3.2 - [ログとイベント] をクリックします。

3.3 - [自動スケーリングポリシー] を選択します。

3.4 - [編集] をクリックします。

クラスター容量の詳細

3.5 - 最大容量を [4] に変更します。

3.6 - [保存] をクリックします。

ステップ 4: スケーリングポリシーを削除する

4.1 - [Aurora DB クラスター] をクリックします。

4.2 - [ログとイベント] をクリックします。 

4.3 - [自動スケーリングポリシー] を選択します。

4.4 - [削除] をクリックします。

ステップ 5: クラスターを削除する

このチュートリアルを完了するには、Aurora DB クラスターが不要になったときに削除する方法を学びます。Aurora DB クラスターを削除するには、[RDS ダッシュボード] に移動して、次の手順通りに実行します。 

5.1 - 左側のペインで [データベース] を選択します。

これにより、すべての Aurora DB クラスターのリストが表示されます。

5.2 - このチュートリアル用に作成した Aurora DB クラスターのリーダーインスタンスを選択します。

5.3 - [アクション] をクリックし、[削除] を選択します。

5.4 - アクションの確認を求められます。[delete me] と入力し、[削除] をクリックします。

5.5 - このチュートリアル用に作成した Aurora DB クラスターのライターインスタンスを選択します。

5.6 - [アクション] をクリックし、[削除] を選択します。

最終的なバックアップを作成するかどうかを尋ねられます。通常の場合は良い考えですが、このチュートリアルでは必要ありません。

5.7 - [最終スナップショットを作成] のチェックボックスをオフにし、[同意します...] のチェックボックスをオンにします。

5.8 - [delete me] と入力し、[削除] をクリックします。

クラスターのステータスが [削除中] に変わります。この時点で、不要になったセキュリティグループを削除することもできます。

おめでとうございます

Auto Scaling を使用して Aurora DB クラスターを作成しました。アプリケーションのニーズに基づいてリードレプリカを追加または削除することにより、Aurora DB クラスターの容量を自動的に調整する方法を学びました。

このチュートリアルは役に立ちましたか?

ありがとうございます
このチュートリアルで良かった点をお聞かせください。
ご期待に添えず申し訳ありません
古い説明、わかりにくい説明、間違った説明はございませんでしたか? このチュートリアルの改善のために、ぜひフィードバックをお寄せください。