Tair (Redis OSS-compatible) では、インスタンスをスタンダード (マスター/レプリカ) アーキテクチャとクラスターアーキテクチャの間で切り替えることができます。
制限事項
すべてのインスタンスタイプがアーキテクチャ変更に対応しているわけではありません。実行する前に、以下の表をご確認ください。
インスタンスタイプ | スタンダードからクラスター | クラスターからスタンダード |
読み書き分離が有効なスタンダードインスタンス | 先に読み書き分離を無効化してください | 先に読み書き分離を無効化してください |
分散インスタンスの子インスタンス | サポートされていません | サポートされていません |
Tair (Enterprise Edition) の SSD ベースインスタンス | サポートされていません | サポートされていません |
直接接続モードのクラスターインスタンス | — | サポートされていません |
課金
料金は課金方法によって異なります:
従量課金: 変更後、直ちに新しい仕様の料金で課金されます。
サブスクリプション: アップグレードまたはダウングレードに応じて、差額が請求または返金されます。
詳細については、「Configuration changes」をご参照ください。
スタンダード (マスター/レプリカ) からクラスターへの変更
事前準備
変更を開始する前に、以下の影響をご確認ください。
エンドポイント、アカウント、パスワード、ホワイトリストは変更されません。 アプリケーションコードの変更は不要です。
通常、データは保持されます。 まれに切り替え中にプライマリノードで障害が発生した場合、同期されていない少量のデータが失われる可能性があります。
30 秒未満の瞬断が 1~2 回発生します。 アプリケーションに再接続の仕組みがあることを確認してください。
約 1 分間の読み取り専用状態になります。 新しいインスタンスが増分データを同期し、DNS キャッシュがクリアされる間、インスタンスは読み取り専用モードになります。書き込み負荷が高いインスタンスでは、読み取り専用期間が長くなる場合があります。
Lua スクリプトが失われる可能性があります。 変更前に Lua スクリプトをバックアップしてください。詳細については、「Special limits on cluster instances」をご参照ください。
プロキシモードのクラスターでは、Lua スクリプト内の
redis.callまたはredis.pcallの第 1 引数には、変数ではなくリテラル文字列 (例:'GET') を指定する必要があります。変数を指定すると、エラーERR bad lua script for redis cluster, first parameter of redis.call/redis.pcall must be a single literal stringが発生します。この制限は、コマンド名を動的に構築する Redisson などのサードパーティフレームワークに影響します。このチェックを無効にするには、script_check_enableパラメータを 0 に設定します。詳細については、「Special limits on cluster instances」をご参照ください。追加のコマンド制限が適用されます。 クラスターアーキテクチャではサポートされないコマンドがあります。変更前に、ワークロードへの影響を評価してください。詳細については、「Command limitations for cluster instances」をご参照ください。
インスタンスは最新のマイナーバージョンにアップグレードされます。 マイナーバージョンは前方互換性があるため、互換性の問題は発生しない見込みです。
アーキテクチャの変更
コンソールにログインし、Instances ページに移動します。上部メニューでインスタンスが存在するリージョンを選択し、インスタンス ID をクリックします。
右上隅で [仕様調整] をクリックします。その後:
サブスクリプションインスタンスの場合: [仕様アップグレード] を選択します。
従量課金インスタンスの場合、[仕様のアップグレード/ダウングレード] を選択します。
仕様変更ページでターゲット設定を選択し、[今すぐ購入] をクリックします。[切り替え時間] パラメーターについては、次のいずれかのオプションを選択します。
オプション
動作
[Switch Within Maintenance Window] (推奨)
スイッチオーバーは、メンテナンスウィンドウ (オフピーク時間) 中に実行されます。 スイッチオーバーの前に タスクハブ に移動し、[スイッチオーバー時間の変更] をクリックして、必要に応じて時間を調整できます。
[Switch after Data Migration]
切り替えは、データ移行の完了直後に実行されます。
画面の指示に従って支払いを完了します。
リクエストの送信後、選択した切り替え時刻に関係なく、インスタンスのステータスは [Changing Configuration] に変わります。このステータスは稼働中のサービスに影響しません。システムがバックグラウンドでリソースを準備し、データを同期しているためです。瞬断は切り替えの瞬間にのみ発生します。
変更後の確認
接続モードはデフォルトでプロキシモードになります。 プロキシノードの監視ページでクライアント接続を監視してください。データノードの接続数は 0 と表示されます。
アラート設定は無効化されます。 Cloud Monitor の既存のアプリケーショングループも無効化される場合があります。監視を再開するには再設定してください。
データフラッシュバックは無効化されます。 ポイントインタイムリカバリを再開するには、機能を再設定してください。
アプリケーションが キー空間通知 (notify-keyspace-events) に依存している場合は、変更完了後に Parameter Settings ページでパラメータを再設定してください。
クラスターからスタンダード (マスター/レプリカ) への変更
事前準備
変更を開始する前に、以下の影響をご確認ください。
エンドポイント、アカウント、パスワード、ホワイトリストは変更されません。 アプリケーションコードの変更は不要です。
通常、データは保持されます。 まれに切り替え中にプライマリノードで障害が発生した場合、同期されていない少量のデータが失われる可能性があります。
30 秒未満の瞬断が 1~2 回発生します。 アプリケーションに再接続の仕組みがあることを確認してください。
約 1 分間の読み取り専用状態になります。 新しいインスタンスが増分データを同期し、DNS キャッシュがクリアされる間、インスタンスは読み取り専用モードになります。書き込み負荷が高いインスタンスでは、読み取り専用期間が長くなる場合があります。
インスタンスは最新のマイナーバージョンにアップグレードされます。 マイナーバージョンは前方互換性があるため、互換性の問題は発生しない見込みです。
アーキテクチャの変更
コンソールにログインし、Instances ページに移動します。上部メニューでインスタンスが存在するリージョンを選択し、インスタンス ID をクリックします。
サブスクリプションインスタンスの場合、右上隅の [仕様調整] をクリックし、[仕様ダウングレード] を選択します。
重要従量課金インスタンスは、コンソールからクラスターアーキテクチャからスタンダード (マスター/レプリカ) アーキテクチャへ直接ダウングレードできません。代わりに、次のいずれかの方法を使用してください:
ModifyInstanceSpec API を呼び出してインスタンスをダウングレードします。ターゲットの仕様ファミリーに対して正しい
InstanceClassを指定してください。先に Convert to Subscription を実行し、その後、上記の手順に従ってください。
仕様変更ページで、ターゲット設定を選択して [今すぐ購入] をクリックします。[切り替え時間] パラメーターでは、次のいずれかのオプションを選択します。
オプション
動作
[Switch During Maintenance Window] (推奨)
切り替えは、メンテナンス時間 (ピーク時間外) に実行されます。切り替えの前に、必要に応じて タスクハブに移動し、[切り替え時間の変更] をクリックして時間を調整します。
[Switch after Data Migration]
切り替えは、データ移行の完了直後に実行されます。
画面の指示に従って支払いを完了します。
リクエストの送信後、選択した切り替え時刻に関係なく、インスタンスのステータスは [Changing Configuration] に変わります。このステータスは稼働中のサービスに影響しません。システムがバックグラウンドでリソースを準備し、データを同期しているためです。瞬断は切り替えの瞬間にのみ発生します。
変更後の確認
アラート設定は無効化されます。 Cloud Monitor の既存のアプリケーショングループも無効化される場合があります。監視を再開するには再設定してください。
データフラッシュバックは無効化されます。 ポイントインタイムリカバリを再開するには、機能を再設定してください。
