Auroraにカスタムエンドポイントが…!
バックグラウンドジョブや解析用とwebを振り分けるのが簡単になりそうなので確認してみました。
TL;DR>Auroraのカスタムエンドポイントを使うと…
- 特定のインスタンスをまとめたエンドポイントを作成できる!
- 特定のインスタンスを除外した読み込みエンドポイントを作成出来る!
- フェイルオーバーでのマスタースレーブ入れ替わりにも対応している!
実行イメージ
コマンド例
カスタムエンドポイントA
$ aws rds create-db-cluster-endpoint --db-cluster-endpoint-identifier custom-endpoint-doc-sample \
--endpoint-type reader \
--db-cluster-identifier cluster_id \
--excluded-members custom-endpoint-demo-09 custom-endpoint-demo-10 \
--region $REGION
カスタムエンドポイントB
$ aws rds create-db-cluster-endpoint --db-cluster-endpoint-identifier custom-endpoint-doc-sample \
--endpoint-type reader \
--db-cluster-identifier cluster_id \
--static-members custom-endpoint-demo-09 \
--region $REGION
カスタムエンドポイントC
$ aws rds create-db-cluster-endpoint --db-cluster-endpoint-identifier custom-endpoint-doc-sample \
--endpoint-type reader \
--db-cluster-identifier cluster_id \
--static-members custom-endpoint-demo-10 \
--region $REGION
軽く解説
公式の通り実行するだけなのですが、現在(2018/11/13)はマネジメントコンソールからは制限があるので、CLIで実行するといろいろ出来ます
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html
重要パラメータ
- endpoint_type
- anyかreaderを選びます。anyにすると全インスタンスが対象、readerにすると読み込みインスタンスのみが対象になります。anyの場合だと、読み込みエンドポイントにしたつもりがフェイルオーバーでwriterが紛れ込んでくるので注意が必要です。
- マネジメントコンソールからは現状anyのみの模様(やり方知ってたら教えてください)
- excluded-members
- 除外するインスタンスを指定します。この指定の場合はオートスケーリングで増加した場合もこのエンドポイントに追加されます
- static-members
- インスタンスを直接指定します
- excluded-membersと共存は出来ません
マネジメントコンソールでの操作
パターン1: --static-members test-2 test-sidekiq --endpoint_type any
パターン2: --excluded-members test-sidekiq --endpoint_type any
Fin
※動作を確認したのみでまだ本番には投入しておりません!
本番導入から1週間経過し、全く問題なく快適に使えております!!