こんにちは、yassanです。
今回は、Auroraのエンドポイントについて紹介します。
Auroraと言えば、
リードレプリカがオートスケーリングできたり、フェイルオーバーでライターに昇格できたりと便利なDBなわけです。
そんなAuroraですが、エンドポイントについてはきちんと理解しておかなくては、その恩恵を受けることができません。
というわけで、今回はAuroraのエンドポイントについて紹介します。
Auroraのエンドポイント
Auroraのエンドポイントは、以下の4種類です。
- ライターエンドポイント
- リーダーエンドポイント
- インスタンスエンドポイント
- カスタムエンドポイント
(ライターエンドポイントとリーダーエンドポイントは、クラスターエンドポイントとも呼ばれます)
それぞれ詳細に解説していきます。
わかりやすさを優先するために、インスタンスエンドポイントから紹介します。
インスタンスエンドポイント
インスタンスエンドポイントです。
Auroraインスタンスそれぞれに1つずつ割り振られるエンドポイントです。
ライターでもリーダー同じように割り当てられます。
あるインスタンスだけを対象に操作したいときに利用します。
ライターエンドポイント
ライターエンドポイントです。
その名の通り、主にライター(書き込み)で利用するエンドポイントです。
Auroraクラスターを作成した場合に、自動で発行されます。
ライターインスタンスは、クラスターの中で1つしか存在できません。
「ライターエンドポイントとライターのインスタンスエンドポイントって同じじゃないの?」と思う方もいると思います。
たしかに、ライターインスタンスが1つしかないということは、
ライターエンドポイントにアクセスしても、ライターのインスタンスエンドポイントにアクセスしても、
同じインスタンスにアクセスすることになります。
しかし、Auroraの場合はフェイルオーバーが可能です。
それまでライターとして機能していたインスタンスも、フェイルオーバーを期にリーダーインスタンスとして機能することがあります。
したがって、ライターのインスタンスエンドポイントをアクセス先として設定してしまっていると、
フェイルオーバーによっていつの間にかそのインスタンスがリーダーとなっており、うまく動作しないなんてことが発生します。
ライターにアクセスしたいときは、このライターエンドポイントをアクセスしましょう。
リーダーエンドポイント
リーダーエンドポイントです。
その名の通り、リーダー(読み込み)でのみ利用できるエンドポイントです。
こちらもAuroraクラスターを作成した場合に、リードレプリカがなくても自動で発行されます。
リーダーインスタンスは、クラスターの中で複数存在できます。
なので、リーダーエンドポイントにアクセスすると、不特定のリーダーインスタンスにアクセスすることになります。
特定のリーダーインスタンスと通信したい場合は、リーダーのインスタンスエンドポイントにアクセスします。
また、リーダーエンドポイントは、負荷分散機能も持っています。
さらに、リーダーエンドポイントはAZをまたぐことができるので、AZ障害で特定のリーダーインスタンスが使えなくなっても、
リーダーエンドポイントを利用することは可能です。
クラスターエンドポイントに、「ro」と記載されているのがリーダーエンドポイントです。
カスタムエンドポイント
カスタムエンドポイントです。
カスタムエンドポイントは、特定のリーダーインスタンスをまとめたエンドポイントとなります。
どのリーダーインスタンスを対象とするかは、ユーザーがカスタムすることができます。
負荷が高いバッチ処理など、処理ごとにインスタンスを分けたい場合に活躍します。
負荷的な意味で、インスタンスごとに平準化ができます。
カスタムエンドポイントは、オートスケーリングにも対応しています。
まとめ
というわけで、Auroraの4つのエンドポイントを紹介しました。
- ライターエンドポイント → クラスターの書き込み用のエンドポイント
- リーダーエンドポイント → クラスターの読み込み用のエンドポイント
- インスタンスエンドポイント → インスタンス単位で割り当てられるエンドポイント
- カスタムエンドポイント → 特定のインスタンスをまとめたエンドポイント
AuroraはRDSの中でも特殊なので、性能を十分に発揮するためにもこういった仕様理解は大事ですね。
AWS学習におすすめの書籍
AWSについて、しっかりと基礎から学びたい、実践的なスキルを身につけたいと考えている方向けに、おすすめの書籍を紹介します。
これらの書籍は、実際にAWSエンジニアとして働く僕が参考にしている書籍です。
AWSエンジニア入門講座――学習ロードマップで体系的に学ぶ
AWSを使いこなすための前提となるITインフラの知識が足りない初学者にとって、どこからどのように学べばよいのかがわかりづらくなっています。そこで本書では、AWS学習サイト運営YouTuberである監修者自身が実サービスの導入で習得しながら体系化した「学習ロードマップ」に沿って、AWSのサービスとIT技術をやさしく解説していきます。
著者が作成した学習ロードマップに沿って、AWSやインフラストラクチャを体系的に学ぶことができます。
付属のロードマップの完成度が高く、学習に迷ったときや復習にも使えます。
これからAWSエンジニアを目指す方や、インフラストラクチャを基礎から学びたい方におすすめです。
Amazon Web Services 業務システム設計・移行ガイド
オンプレミス上に構築された業務システムをAWS上に移行するための「サービスの選定」「ネットワーク設計・構築」「サーバとデータの移し方」「運用・監視体制の構築」など。これまで多くの企業にAWSを導入し、コンサルティングフェーズから実際の設計・開発、運用フェーズまでの全行程に携わってきた著者陣のノウハウを凝縮して、一般的な企業にAWSを導入する際のベストプラクティスをお届けします。
実務を想定した様々なユースケースとそれに対するベストプラクティスを、設計構築から運用まで幅広くカバーして紹介しています。
タイトルからは移行に焦点を当てたように見えますが、僕としては移行に限らずエンタープライズとしてAWSを利用する上で知っておくべきことが記されていると思います。
より実践的な知識やノウハウを身に着けたい方、初学者から一皮むけたい方におすすめです。