デフォルトでは、クラシッククラスタアーキテクチャを使用する Tair (Redis OSS-compatible) インスタンスは、データベースプロキシエンドポイントを介して接続されます。インスタンスをネイティブ Redis Cluster プロトコルと互換にするには、直接接続モードを有効化し、クライアントから直接接続エンドポイントを使用します。これにより、クライアントはプロキシノードをバイパスしてバックエンドのデータノードに直接アクセスできるため、プロキシリクエスト処理を省略してレイテンシを低減できます。
この機能はパブリックプレビュー中です。チケットを送信してアクセスをリクエストしてください。
前提条件
作業を開始する前に、ご利用のインスタンスが以下のすべての要件を満たしていることを確認してください。
インスタンスは、以下の条件を満たす必要があります。
クラスタアーキテクチャを使用しており、Deployment Mode が Classic に設定されていること
Redis 5.0 と互換があり、最新のマイナーバージョン に更新済みであること
トランスポート層セキュリティ (TLS) が無効になっていること — 詳細については、「TLS 暗号化」をご参照ください
vSwitch に十分な空き IP アドレスがあること:直接接続では、各シャードのプライマリノードに 1 つの IP アドレスを割り当て、さらにエンドポイント自体にも 1 つ割り当てます。8 シャードのインスタンスの場合、vSwitch には少なくとも 9 個の空き IP アドレスが必要です。確認方法については、「インスタンスの vSwitch の空き IP アドレス数を照会する」をご参照ください
インスタンスは、以下の条件を満たしてはなりません。
プロキシモードでクラウドネイティブクラスタアーキテクチャを使用していること — この構成では直接接続モードを有効化できません
すでに直接接続モードになっているクラウドネイティブクラスターインスタンスでは、デフォルトで直接接続エンドポイントが提供され、有効化の必要はありません。
接続モード
| モード | 仕組み | トレードオフ |
|---|---|---|
| 直接接続 | クライアントがプロキシをバイパスし、バックエンドのデータノードに直接接続します。 | レイテンシが低下します。ただし、シャードあたりの最大接続数が減少します:Redis Community Edition では 10,000、Tair (Enterprise Edition) では 30,000 です。 |
| プロキシモード | クライアントからのリクエストはプロキシノードによってデータノードに転送されます。詳細については、「Tair Proxy 特徴」をご参照ください。 | 接続数上限が高くなります。ただし、リクエストごとに若干の処理オーバーヘッドが発生します。 |
制限事項
シャードあたりの接続数が減少: プロキシをバイパスするため、シャードあたりの最大接続数は Redis Community Edition クラスターでは 10,000、Tair (Enterprise Edition) クラスターでは 30,000 に低下します。データスキュー(特定のシャードが集中してアクセスされ、他のシャードがほとんどアイドル状態になる現象)が発生すると、そのシャードへの接続が枯渇し、新しい接続リクエストが失敗する可能性があります。ホットスポットキーまたは大容量キーによるデータスキューを診断するには、「Top Key 統計」および「オフラインフルキー分析」をご参照ください。
メジャーバージョンのアップグレードとゾーン変更のブロック: 直接接続モードを有効にすると、インスタンスのメジャーバージョンのアップグレードやゾーンの変更ができなくなります。最初にプライベートエンドポイントを解放してから、アップグレードまたはゾーン変更を実行してください。詳細については、「メジャーバージョンのアップグレード」、「ゾーン間でのインスタンスの移行」、および「プライベートエンドポイントの解放」をご参照ください。
構成変更の制限: ダイレクト接続が有効なインスタンスの構成を変更する場合、シャード数またはシャード仕様のみを変更でき、かつ一度に1つのみ変更できます。詳細については、「クラシック(ローカルディスクベース)クラスターインスタンスの構成を変更できないのはなぜですか?」をご参照ください。
直接接続の有効化
直接接続を有効化しても、サービスが中断されることはありません。
コンソールにログインし、「インスタンス」ページに移動します。上部のナビゲーションバーでインスタンスのリージョンを選択し、該当のインスタンスを見つけてその ID をクリックします。
Connection Information セクションで、Private Endpoint の横にある Apply for Endpoint をクリックします。
表示されたパネルで、エンドポイントとポートを設定します。
構成 説明 Endpoint プレフィックスのみ変更可能です。デフォルトのプレフィックスはインスタンス ID です。カスタムプレフィックスは小文字で始まり、小文字と数字のみを含み、長さは 8~40 文字である必要があります。 Port Number 1024~65535 の範囲内である必要があります。エンドポイントを変更する際にポート番号も変更できます。 OK をクリックします。
接続の例については、「直接接続モードでインスタンスに接続する」をご参照ください。
よくある質問
すべての前提条件を満たしていますが、「Apply for Endpoint」ボタンが見つかりません。どうすればよいですか?
インスタンスを最新のマイナーバージョンに更新します。詳細については、「マイナーバージョンおよびプロキシバージョンの更新」をご参照ください。
直接接続エンドポイントとプロキシエンドポイントを同時に使用できますか?
クラシッククラスタアーキテクチャでは、両方のモードを同時にアクティブにできます。クラウドネイティブクラスタアーキテクチャでは、一度にアクティブにできるのは 1 つのモードのみです。
API リファレンス
| API オペレーション | 説明 |
|---|---|
| AllocateDirectConnection | クラスターインスタンス用の直接接続エンドポイントをリクエストします。 |
| ReleaseDirectConnection | クラスターインスタンスの直接接続エンドポイントをリリースします。 |
次のステップ
プライベートエンドポイントのリリース (オプション)