複数の Amazon Relational Database Service (Amazon RDS) リードレプリカに読み取りリクエストを分散させようと考えています。
簡単な説明
Amazon Route 53 加重レコードセットを使用して、リクエストを複数のリードレプリカに分散させることができます。Route 53 ホストゾーン内で、リードレプリカに関連付けられた各 DNS エンドポイントに対して、個別のレコードセットを作成します。次に、同じ重みを付けて、レコードセットのエンドポイントにリクエストを転送します。
解決策
リードレプリカの DNS エンドポイント URL を検索します
- Amazon RDS コンソールを開きます。
- ナビゲーションペインで[データベース]を選択し、リードレプリカをそれぞれ選択します。
- [エンドポイント]の横にある DNS エンドポイント URL をメモ (またはコピー) します。
Route 53 ホストゾーンを作成します
注: ホストゾーンが既にある場合は、この手順をスキップしてください。
- Route 53 コンソールを開き、ナビゲーションペインから [ホストゾーン] を選択します。
- [ホストゾーンの作成]を選択します。
- [ドメイン名]と [コメント]に、名前とコメントを入力します。
- [タイプ] には、リードレプリカがある VPC の [プライベートホストゾーン]を選択します。プライベートホストゾーンを選択すると、外部リソースからのリードレプリカへのアクセスがブロックされます。または、[タイプ]を [パブリック]のままにします。
注:[パブリック]を指定する場合は、ホストゾーンで指定したドメインの所有者である必要があります。
- [作成]を選択します。
レコードセットを作成します
ホストゾーンが作成されたら、それを選択し、[レコードセットの作成]を選択します。次の属性を使用します:
- [名前]には、名前を入力します。これは、リードレプリカにアクセスするためのエンドポイント URL として使用します。
- [タイプ]を [CNAME] に設定します。
- [TTL 値]には、ニーズに合わせて適切な値を設定します。これにより、各リードレプリカがリクエストを受信する頻度が決まります。
- [値]フィールドに、最初のリードレプリカの DNS エンドポイントを貼り付けます。
- [ルーティングポリシー]には、[加重]を選択します。
- [重み]フィールドに値を入力します。各レプリカのレコードセットには必ず同じ値を使用してください。
- [セット ID]に、名前を入力します。
- [ヘルスチェック]を設定するのがベストプラクティスです。詳細については、「Amazon Route 53 ヘルスチェックの作成と DNS フェイルオーバーの設定」を参照してください。
レコードセットを設定したら、[作成]を選択します。
これらの手順を繰り返して、追加のリードレプリカごとにレコードセットを作成します。レコードセットがすべて同じ名前を使用し、有効期間 (TTL) と重みの値も同じであることを確認してください。これにより、リクエストを均等に分散させることができます。
アプリケーションのエンドポイントを変更せずに、リードレプリカをさらに追加してより多くの接続数やリソース使用量に対応できます。Route 53 ヘルスチェックを組み込み、Route 53 が使用できないリードレプリカからトラフィックを確実に引き離すように誘導できます。
関連情報
ルーティングポリシーの選択
プライベートホストゾーンの使用