#no_loose_disabled-commands パラメーターを使用して、データ損失やインスタンスのパフォーマンス低下を引き起こす可能性のある特定の Redis コマンドをブロックします。
一部の Redis コマンドは、本番環境において本質的なリスクを伴います。
データ削除コマンド:FLUSHALL と FLUSHDB は、インスタンス内のほとんどまたはすべてのデータを削除します。
ブロッキングコマンド:KEYS と HGETALL は、大規模なデータセットに対して実行されると、インスタンスをブロックしてパフォーマンスを低下させる可能性があります。
これらのコマンドをインスタンス レベルで無効化することで、誤った実行や不正な実行を防止できます。
安定したインスタンスのパフォーマンスを確保するため、Tair (Redis OSS-compatible) では CONFIG などのコマンドの無効化は許可されていません。詳細については、「無効化できないコマンド」をご参照ください。
コマンドの無効化
Alibaba Cloud コンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、インスタンスが配置されているリージョンを選択します。 目的のインスタンスを見つけ、その ID をクリックします。
左側のナビゲーションペインで、[パラメーター設定] をクリックします。
システムパラメータ タブで、
#no_loose_disabled-commandsを探し、[操作] 列の [変更] をクリックします。ダイアログボックスで、無効化するコマンドを入力します。次の形式を使用してください:
小文字のみを使用してください
複数のコマンドはコンマ (,) で区切ってください
例:
keys,flushdb
重要親コマンドを無効化すると、そのすべてのサブコマンドも無効化されます。たとえば、
scriptを無効化すると、SCRIPT EXISTS、SCRIPT LOAD、およびその他すべての SCRIPT サブコマンドがブロックされます。サブコマンドを個別に無効化することはできません。[OK] をクリックします。
変更の確認
redis-cli を使用してインスタンスに接続し、無効化したコマンドを実行します。たとえば、FLUSHALL を実行すると、次のいずれかのエラーが返されます:
ERR command 'FLUSHALL' not support for normal userNOPERM this user has no permissions to run the 'flushall' command無効化できないコマンド
次のコマンドは内部オペレーション用に予約されており、無効化できません:
CONFIGMIGRATERESTORE-ASKINGLASTSAVEBGREWRITEAOFREPLICAOFBGSAVEPFDEBUGPFSELFTESTSLAVEOFACL 関連コマンド
MODULE 関連コマンド
DEBUG 関連コマンド
関連 API
| API オペレーション | 説明 |
|---|---|
| DescribeParameters | インスタンスの設定パラメーターおよび動作パラメーターを照会します |
| ModifyInstanceConfig | インスタンスのパラメーター設定を変更します |