Amazon Aurora エンドポイントの使い分け、役割ごとにインスタンスを割り当てる方法

クラウドサービス AWS

「Amazon Aurora」のエンドポイントについて解説します。

カスタムエンドポイントの登場により、これまでよりも柔軟な構成が可能となりました。
エンドポイントごとの役割や、使い分けについて例をもとに説明します。



Aurora におけるエンドポイント4種類の違い

今回は、以下の5台構成を例として解説します。
Amazon Aurora のマスターが1インスタンス、レプリカが4インスタンスです。

クラスターエンドポイント

クラスターエンドポイントは書き込みに利用します。
上記の図では、master00 が紐づきます。

クラスターの全台に繋がりそうな名称ですが、レプリカには繋がりません。

読み込みエンドポイント

その名の通り、読み込み専用のエンドポイントです。
上記の図では、replica01replica02replica03replica04 が紐付きます。

レプリカを複数台並べて、読み込みの負荷を分散させる構成がメジャーです。
クラスター内に所属する レプリカすべて が、このエンドポイントに登録されます。

インスタンスエンドポイント

インスタンスごとに設定されたエンドポイントです。
上記の図では、5台のインスタンスにそれぞれ用意されています。

インスタンスを明示的に指定して接続したい場合に利用します。

カスタムエンドポイント

指定したインスタンスのみに接続できるエンドポイントです。
2018年11月に新しく登場したエンドポイントです。

replica01replica02 だけが紐づくエンドポイントなどを作れます。

カスタムエンドポイントの活用例

実際に活用する例を2つ紹介します。
いずれも、カスタムエンドポイントを利用することで実現が可能となります。

バッチサーバー専用の Aurora レプリカを作る

負荷のかかるバッチ処理を、専用のインスタンスに振り分けます。
カスタムエンドポイントを2つ作って対応します。

用途 エンドポイント インスタンス
Web/AP サーバーの書き込み クラスタエンドポイント master00
Web/AP サーバーの読み込み カスタムエンドポイントA replica01replica02
バッチサーバーの読み込み カスタムエンドポイントB replica03replica04

読み込みエンドポイントを使うと、4台全てにアクセスが分散してしまいます。
複数台で役割を分担する場合は、カスタムエンドポイントが必須です。

社内アクセス専用の Aurora レプリカを作る

システムの運用では、障害調査の SQL 実行などを行う場合があります。
社内アクセス専用にインスタンスを用意することで、役割分担が可能です。

用途 エンドポイント インスタンス
Web/AP サーバーの書き込み クラスタエンドポイント master00
Web/AP サーバーの読み込み カスタムエンドポイント replica01replica02replica03
社内アクセス時の読み込み インスタンスエンドポイント replica04

replica04 だけ、インスタンスサイズを小さくするなどの応用も可能です。

Aurora エンドポイントのまとめ

Aurora の各エンドポイントとその使い方を解説しました。

書き込み、読み込み、特定インスタンス、任意のインスタンス、と自由に組み合わせできます。
システムの特性を理解した上で、適切な構成を組むことが重要です。

【関連記事】

AWSのサーバー設置場所とは
AWS用語の解説(データベース編)
Fargate、ECS、EKS の違いを解説
AWSでサーバーレス構成を実現する