Amazon Web Services(AWS)のリレーショナルデータベースサービス「Amazon Aurora」のデータベースクラスターは、プライマリーインスタンスとAuroraレプリカという2種類のインスタンスで構成される。 データベースクラスターへのアクセスには、クラスターエンドポイント、読み込みエンドポイント、インスタンスエンドポイントという三つのエンドポイントが用意されている(表)。
このうち読み込みエンドポイントは、データベースクラスター内で使用できるAuroraレプリカ間で接続を分散する。Auroraレプリカが1台だけの場合は分散されないので注意が必要だ。
読み込みエンドポイントは接続の分散であり、1個のクエリーを分散処理するわけではない。クエリーを分散処理するには、アプリケーション側での対応が必要となる。
つまずき対策
読み込みエンドポイントにアクセスした場合、データベースクラスターが3台以上のときに複数のレプリカに分散される(図)。
読み込みクエリーを複数のインスタンスに分散したい場合、下記の検討をする必要がある。
- データベースクラスターを3台以上のインスタンスで構成する(Auroraレプリカを2台以上作成する)
- 複数のインスタンスエンドポイントに対して、アプリケーション側で分散
野村総合研究所 クラウド基盤サービス三部 主任