アプリケーションを PolarDB クラスターに接続するには、スクリプト、ユーティリティ、またはアプリケーションの接続文字列で提供されるホストアドレスとポートを含むエンドポイントを使用します。ほとんどのユースケースでは、クラスターへのすべての接続にクラスターエンドポイントを使用することをお勧めします。これにより、接続の高可用性が確保され、スケーリングのために読み取り専用ノードが自動的に活用されます。より専門的なユースケースのために、PolarDB はカスタムエンドポイントとプライマリエンドポイントも提供しています。このガイドでは、さまざまな種類のエンドポイントと、それらを効果的に使用する方法について説明します。
クラスターエンドポイントとプライマリエンドポイントの比較
すべての PolarDB クラスターには 3 種類のエンドポイントがあり、それぞれが特定のユースケース向けに設計されています。クラスターエンドポイントとカスタムエンドポイントは、マネージド PolarProxy によって強化されており、読み書き分離、負荷分散、コネクションプーリングなどの高度な機能を提供します。
タイプ | 説明 | ユースケース | サポートされるネットワークタイプ |
デフォルトのクラスターエンドポイント (推奨) | クラスターの現在のプライマリノードに接続する単一のエンドポイント。 PolarProxy によって提供され、自動的な読み書き分離をサポートします。書き込みリクエストはプライマリノードにルーティングされ、読み取りリクエストは読み取り専用ノードにルーティングされます。 | 読み書き分離を必要とし、読み取り専用ノードを追加することでリアルタイムで迅速にスケールアウトできるビジネス。 |
|
カスタムエンドポイント | クラスター内のノードの特定のサブセットに接続するユーザー定義のエンドポイント。
説明 単一ノードのカスタムエンドポイントは、開発またはテスト目的のみを対象としており、本番環境では決して使用しないでください。これらのエンドポイントは高可用性を提供しません。基盤となるノードに障害が発生した場合、エンドポイントは最大 1 時間利用できなくなり、接続されているアプリケーションで障害が発生します。 | さまざまなサービスのためにデータベースノードへのアクセスを分離します。たとえば、前の図で読み取り専用ノード 5 に障害が発生した場合、影響を受けるのはサービス Z のみです。 読み書きモードを [読み取り専用] に設定することで、読み取り専用サービスのみをサポートするようにエンドポイントを設定できます。 | |
プライマリエンドポイント | PolarProxy をバイパスして、特定のデータベースノードに接続する単一のプライマリエンドポイント。
| 読み書き分離を必要としないビジネス。 |
プライベートエンドポイントとパブリックエンドポイント
エンドポイントは、アクセスを制御するためにさまざまなネットワークタイプで設定できます。
ネットワークタイプ | 説明 | ユースケース |
プライベートネットワーク (VPC) |
| 例:
|
パブリックネットワーク |
| たとえば、メンテナンス操作のためにパブリックエンドポイントを介してデータベースクラスターにアクセスします。 |
クラスターエンドポイントの読み書きモード
クラスターエンドポイントは、読み書き (自動読み書き分離) と 読み取り専用 の 2 つの読み書きモードをサポートしています。次の表に、2 つのモードの違いを示します。
クラスターエンドポイントの読み書きモードを設定する方法については、「PolarProxy の設定」をご参照ください。
項目 | 読み書き (自動読み書き分離) | 読み取り専用 |
サービスノードの選択方法 | 次の 3 つの方法がサポートされています:
説明 読み書き分離モードでは:
| 次の方法のみがサポートされています:
説明 読み取り専用モードでは:
|
負荷分散ポリシー | アクティブなリクエストベースのロードバランシング ポリシーをサポートします。 「負荷分散ポリシー」をご参照ください。 | 接続数に基づく負荷分散 と アクティブなリクエストベースのロードバランシング がサポートされています。 詳細については、「負荷分散ポリシー」をご参照ください。 |
プライマリノードによる読み取りリクエストの許可 | サポートされています。詳細については、「特徴」をご参照ください。 | この機能は、プライマリノードの負荷を軽減するように設計されているため、適用されません。読み取り専用 エンドポイントのプライマリノードは、読み取りまたは書き込みリクエストを処理しません。 |
トランザクション分離 | サポートされています。 「トランザクション分割」をご参照ください。 説明 この構成は、一貫性レベル が セッション整合性 (中) または グローバル整合性 (強) に設定されている場合にのみサポートされます。 | この機能は、プライマリノードの負荷を軽減するように設計されているため、適用されません。読み取り専用 エンドポイントのプライマリノードは、読み取りまたは書き込みリクエストを処理しません。 |
一貫性レベル | 最終的な整合性 (弱)、セッション整合性 (中)、および グローバル整合性 (強) をサポートします。「整合性レベル」をご参照ください。 | このエンドポイントは書き込み操作を実行しないため、最終的な整合性 (弱) のみがサポートされます。 |
接続プール | セッションレベル および トランザクションレベル の接続プールをサポートします。 詳細については、「接続プール」をご参照ください。 説明
| サポートされていません。 説明 PolarDB は、読み取り専用 クラスターエンドポイント用に構成されたすべての読み取り専用ノードに接続を均等に分散します。プライマリノードは接続の分散には参加しません。クライアント接続は、プロキシを介して単一の読み取り専用ノードにルーティングされます。利用可能な接続の総数は、すべての読み取り専用ノードの最大接続数の合計です。 |
セキュリティ保護 | サポートされています。「過負荷保護」をご参照ください。 | サポートされていません。 |