Amazon Aurora を使用して

高可用性データベースクラスターを作成する

このチュートリアルでは、Amazon Aurora クラスターを設定して高可用性データベースを作成する方法を学びます。高可用性データベースは、複数のアベイラビリティーゾーン間でレプリケートされたコンピューティングノードで構成されています。これにより、読み取りのスケーラビリティが向上し、フェイルオーバーの保護が強化されます。 

Amazon Aurora は、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースサービスで、わずかなコストでエンタープライズデータベースのパフォーマンスを高い可用性で提供します。ほとんどの本番ワークロードでは、高可用性を備えたデータベースをセットアップする必要があります。

デフォルトでは、Amazon Aurora クラスターには、読み取り/書き込み操作を実行するプライマリコンピューティングインスタンスが 1 つだけあります。1 つ以上の Aurora レプリカをクラスターに追加することで、データベースクラスターの読み取りスケーラビリティと高可用性を実現します。クラスターのプライマリインスタンスに障害が発生した場合、Aurora は自動的に既存のレプリカを新しいプライマリインスタンスに昇格させます。

通常、Aurora レプリカは、プライマリインスタンスとは異なるアベイラビリティーゾーン (AZ) に作成します。こうすることで、プライマリ AZ でインフラストラクチャに問題が発生した場合、データベースは他の AZ のレプリカにすばやくフェイルオーバーできます。

ストレージレイヤーでは、Aurora は常に 3 つの AZ で 6 つの方法でデータをレプリケートすることでデータを保護します。ただし、クラスターに Aurora レプリカを追加しなかった場合、障害が検出されたときに Aurora が新しい代替プライマリインスタンスを作成するのを待つ必要があります。これは時間がかかる可能性があります。

このチュートリアルでは、MySQL との互換性を持つ Amazon Aurora を使用します。Amazon RDS マネジメントコンソールから Aurora クラスターを作成し、Aurora レプリカを追加します。次にフェイルオーバーシナリオをテストしてから、チュートリアル環境を終了します。

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

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

1.AWS へのサインアップ

このチュートリアルを実行するには、AWS アカウントが必要です。アカウントにサインアップするには、「Sign-up for AWS」を選択してください。 

ステップ 2 - Amazon RDS コンソールに入る

Amazon Aurora は、クラウド向けに構築された、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースです。これは、Amazon Relational Database Service (Amazon RDS) のエンジンです。このステップでは、Amazon RDS コンソールに入ります。

AWS マネジメントコンソールを開きます。このステップバイステップガイドは開いたままにしておいてください。画面が読み込まれたら、ユーザー名とパスワードを入力して作業を開始します。[サービス] > [RDS] の順に選択して、RDS マネジメントコンソールに入ります。

ステップ 3 - Amazon Aurora クラスターを作成する

このステップでは、1 つの Aurora データベースインスタンスで構成される Amazon Aurora クラスターを作成します。

a.a. Amazon RDS コンソールの右上隅で、DB インスタンスを作成するリージョンを選択してから、[データベースの作成] をクリックします。

b.エンジンの選択のページで、[Amazon Aurora] を選択します。 次に、目的のエディションを選択し、[次へ] をクリックします。

c.  ここで、DB を設定します。容量タイプと DB エンジンバージョンはデフォルト設定のままにします。[DB インスタンスクラス] では、DB インスタンスのコンピューティング容量とメモリ容量を選択します。Amazon Aurora はインスタンスタイプごとに時間料金で請求されます。このチュートリアルでは、コストを低く抑えるために db.t2.small (1 vCPU、2 GiB RAM) を選択します。

マルチ AZ 配置で、[いいえ] を選択します。Amazon Aurora はマルチ AZ 配置をデフォルトオプションとして提供していますが、このチュートリアルでは、選択したアベイラビリティーゾーンにかけてレプリカを作成する方法を説明します。 

d.  DB インスタンス識別子の名前、マスターユーザー名、パスワードを入力します。[次へ] を選択します。

e.  Amazon RDS には、高度な設定オプションが数多くあります。このチュートリアルでは、デフォルトの設定のままにして、[データベースの作成] を選択します。

DB インスタンスクラスによっては、DB インスタンスが使用可能になるまでに数分かかる場合があります。[DB インスタンスの詳細を表示] を選択します。 

f.新しい Aurora DB インスタンスが RDS コンソールのデータベースのリストに表示されます。インスタンスの使用準備が整い、ステータスが [利用可能] に変わるまで、DB インスタンスのステータスは [作成中] と表示されます。ステータスが数分以内に変化しない場合は、ページを更新してください。

ステップ 4 - 高可用性用の Aurora レプリカを作成する

すべての Amazon Aurora インスタンスには、デフォルトで強力なデータ保護機能が備わっています。AWS リージョン内の異なるアベイラビリティーゾーン (AZ) にリードレプリカを追加することで、コンピューティングの可用性を向上させることができます。最大 15 個の Aurora レプリカを、DB クラスターが存在するリージョン内の複数の AZ にかけて分散できます。 

a.  Amazon RDS コンソールでは、Aurora クラスターのプライマリ (ライター) インスタンスがデータベースにリストされます。インスタンス名を選択し、[ネットワーキング] の下のアベイラビリティーゾーンをメモします。

b.クラスターのラジオボタンを選択し、[アクション] > [リーダーの追加] の順に選択して、Aurora レプリカを作成します。

c.プライマリまたはマスター db インスタンスから別の可用性ゾーンを選択します。[インスタンスの仕様] では、プライマリインスタンスとして同様のインスタンスクラス (この例では db.t2.small) を選択します。これにより、フェイルオーバー時にデータベースのパフォーマンスが何も変化しません。[設定] では、Aurora リードレプリカ db インスタンスの一意の名前を入力します。

[リーダーの追加] を選択します。

d.データベースリストで、新しいレプリカが [リーダー] のロールで作成されていることがわかります。[マルチ AZ] プロパティが表示されるまで右にスクロールすると、「2 ゾーン」と表示され、クラスターが 2 つのアベイラビリティーゾーン (コンピューティングレイヤー) に分散されていることが示されます。 

コンピューティングレイヤーで高可用性を実現しました。次に、db フェイルオーバープロセスをテストします。

手順 5 - フェールオーバー用のデータベースクラスターをセットアップする

可用性をさらに高めるために、Aurora レプリカをフェイルオーバーターゲットとして使用できます。プライマリインスタンスに障害が発生すると、Aurora レプリカがプライマリインスタンスに昇格します。レプリカは、読み取りのスケーラビリティと可用性の両方に用いられます。このステップでは、フェイルオーバーに使用する Aurora レプリカの優先順位を設定します。

 

a.  Reader DB インスタンスの横にあるラジオボタンを選択し、[変更] を選択します。

b.  フェイルオーバー中、Amazon RDS は、(階層 0 から始めて) 優先度が最も高いレプリカを新しいプライマリインスタンスに昇格させます。この例では、既存のレプリカがないため、このレプリカを最高の優先度に設定します。[フェイルオーバー] の下で、[階層 0] を選択します

複数のレプリカ間の競合が同じ優先度の階層に存在する場合、Amazon RDS が同じサイズのそのレプリカをプライマリインスタンスとして昇格させます。

[続行] を選択し、次に [DB インスタンスの変更] をクリックします。

手順 6 - データベースのフェールオーバーをテストする

a.  ターゲットインスタンスのラジオボタンを選択します。次に、[アクション] > [フェイルオーバー] の順に選択します。これにより、新しいプライマリ (またはライター) インスタンスと古いプライマリ (またはライター) インスタンスが新しいリードレプリカになるため、レプリカが昇格されます。

 

b.[フェイルオーバー] を選択します

c.フェイルオーバーが完了するまでにかかる時間は、フェイルオーバー時のデータベースアクティビティの量によって異なりますが、通常は 60 秒未満です。フェイルオーバープロセスは、[ログとイベント] > [最近のイベント] の順にクリックしてモニタリングできます。

フェイルオーバーは、エンドポイントを使用することにより、アプリケーションに対して透過的です。クラスターエンドポイントとリーダーエンドポイントはデータベースの DNS として使用されますが、インスタンス接続は同じままで、自動的に新しい db インスタンスを使用します。 

7.リソースを終了する

このステップでは、Aurora DB クラスター環境を終了します。

重要: あまり使用されていないリソースを終了することは、コストの削減につながるベストプラクティスです。リソースを終了しないと、料金が発生することになります。

a.終了する Amazon Aurora クラスター名を選択し、クラスター名をクリックして、すべてのクラスターインスタンスのリストを表示します。リーダーロールの db インスタンスのラジオボタンをクリックし、[アクション] > [削除] の順に選択します。

 

b.「delete me」というフレーズを入力し、[削除] を選択して削除を確定させます。ステータスが [削除中] に変わります。


c.ライターの db インスタンスで手順 6a〜b を繰り返します。削除する前に最後のスナップショットを撮っておくことがベストプラクティスです。これはテスト用の db クラスターなので、[最終スナップショットを作成] オプションの選択を解除し、[確定] を選択します。「delete me」と入力し、[Delete] を選択します。このステップにより、ストレージとすべての自動化された db バックアップを含む Aurora クラスターが削除されます。

おめでとうございます

AWS マネジメントコンソールを使用して、高可用性を備えた Amazon Aurora データベースクラスターをセットアップする方法を学びました。重要なアプリケーションに対して Amazon Aurora の高可用性、パフォーマンス、耐久性を活用できるようになりました。

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

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