読み込み要求を複数の Amazon RDS リードレプリカに分散させる方法を教えてください。

最終更新日: 2019 年 7 月 19 日

複数の Amazon Relational Database Service (Amazon RDS) リードレプリカに読み込み要求を分散させる方法を教えてください。

簡単な説明

Amazon Route 53 加重レコードセットを使用すると、要求を複数のリードレプリカに分散させることができます。Route 53 ホストゾーン内で、リードレプリカに関連付けられた各 DNS エンドポイントに対して、個々のレコードセットを作成して、それぞれに同じ重みを割り当てます。次に、要求をレコードセットのエンドポイントに向かわせます。

解決方法

リードレプリカの DNS エンドポイントの URL を見つける

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで、[Databases]をクリックし、各リードレプリカを選択します。
  3. [Endpoint] の横にある DNS エンドポイントの URL をメモ (コピー) します。

Route 53 ホストゾーンを作成する

注: 既にホストゾーンがある場合は、この手順をスキップできます。

  1. Route 53 コンソールを開き、ナビゲーションペインで [Hosted zones] をクリックします。
  2. [Create Hosted Zone] をクリックします。
  3. [Domain Name] と [Comment] に名前とコメントを入力します。外部リソースからのリードレプリカへのアクセスをブロックするには、[Type] でリードレプリカが存在している VPC の [Private Hosted Zone] を選択します。それ以外の場合、[Type] は [Public] のままにしておきます。
    注: [Public] と指定する場合、ホストゾーンで指定したドメインの所有権を持っている必要があります。
  4. [Create] を選択します。

レコードセットの作成

ホストゾーンを作成した後、それを選択して、[Create Record Set] を選択し、以下の属性を使用します。

  • [Name] に名前を入力します。これはリードレプリカにアクセスするためのエンドポイントの URL として使用します。
  • [Type] に [CNAME] を設定します。
  • [TTL value] には、ニーズに合わせて任意の値を設定することができます。これにより、各リードレプリカがどのくらいの頻度で要求を受け付けるかが決まります。
  • [Value ] フィールドに、最初のリードレプリカの DNS エンドポイントを貼り付けます。
  • [Routing Policy] では、[Weighted] を選択します。
  • 各レプリカのレコードセットで同じ値を使用する場合、[Weight ] フィールドに値を入力します。
  • [Set ID] に名前を入力します。
  • [Health Check] を設定するのはオプションですが、推奨されます。詳細については、「Amazon Route 53 ヘルスチェックの作成と DNS フェイルオーバーの設定」をご参照ください。

レコードセットを設定したら、[Create] をクリックします。

以上のステップを繰り返して、各追加リードレプリカのレコードセットを作成します。すべてが同じ名前、同じ生存時間 (TTL) の値、および同じ重みの値を使用していることを確認します。これにより、要求を均等に分散させることができます。

アプリケーションのエンドポイントを変更せずに、より多くのリードレプリカを追加し、さらに多くの接続あるいは高いリソース使用率に対応することができます。Route 53 ヘルスチェックを導入すれば、Route 53 が利用できないリードレプリカ以外のトラフィックへと確実に向かわせることができます。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合