Amazon Web Services(AWS)のリレーショナルデータベースサービス「Amazon Aurora」のデータベースクラスターは、プライマリーインスタンスとAuroraレプリカという2種類のインスタンスで構成される。 データベースクラスターへのアクセスには、クラスターエンドポイント、読み込みエンドポイント、インスタンスエンドポイントという三つのエンドポイントが用意されている()。

表●Auroraの3種のエンドポイント
表●Auroraの3種のエンドポイント
[画像のクリックで拡大表示]

 このうち読み込みエンドポイントは、データベースクラスター内で使用できるAuroraレプリカ間で接続を分散する。Auroraレプリカが1台だけの場合は分散されないので注意が必要だ。

 読み込みエンドポイントは接続の分散であり、1個のクエリーを分散処理するわけではない。クエリーを分散処理するには、アプリケーション側での対応が必要となる。

つまずき対策

 読み込みエンドポイントにアクセスした場合、データベースクラスターが3台以上のときに複数のレプリカに分散される()。

図●読み込みエンドポイントへのリクエストの分散
図●読み込みエンドポイントへのリクエストの分散
[画像のクリックで拡大表示]

 読み込みクエリーを複数のインスタンスに分散したい場合、下記の検討をする必要がある。

  • データベースクラスターを3台以上のインスタンスで構成する(Auroraレプリカを2台以上作成する)
  • 複数のインスタンスエンドポイントに対して、アプリケーション側で分散
瀬戸島 敏宏
野村総合研究所 クラウド基盤サービス三部 主任
大手企業を中心に、AWSをはじめとしたパブリッククラウド導入のコンサルティング、設計、構築を担当。特に金融機関のパブリッククラウド導入支援を中心に活動。以前はNRIクラウドの初期の立上げを担当。その他NRIハッカソンの企画運営など、オープンイノベーションに関する取り組みにも従事。共著書に『Amazon Web Services クラウドデザインパターン設計ガイド』(日経BP社)がある。