Tair (Redis OSS-compatible) (Redis 互換) インスタンスは、VPC 内でのパスワードなしのアクセスをサポートしています。この機能を有効にすると、同一 VPC 内のクライアントがパスワードなしで接続できます。パスワードによる接続も引き続きサポートされます。
前提条件
インスタンスが VPC 内にある必要があります。
注意事項
-
パスワードなしの接続ではデフォルトアカウントが使用され、アカウント名はインスタンス ID(例:r-bp1zxszhcgatnx****)と同じで、読み取り/書き込み権限を持ちます。
-
複数の VPC が CEN を通じて接続されている場合、この機能はそれらを単一の VPC として扱います。
-
パブリックエンドポイント接続は、パスワードなしのアクセスが有効になっていても、引き続きパスワード認証が必要です。
操作手順
コンソールにログインし、インスタンス ページに移動します。上部ナビゲーションバーで管理対象のインスタンスが配置されているリージョンを選択し、目的のインスタンスを見つけてインスタンス ID をクリックします。
-
[接続情報] セクションで、[パスワード不要アクセスの有効化] をクリックします。
-
右側のパネルで説明を確認し、[確認] をクリックします。
ページを更新します。[パスワード不要アクセスの有効化] ボタンが [パスワード不要アクセスを無効にする] に変わると、機能が有効になります。
-
クラウドネイティブ インスタンスの場合、パスワードなしのアクセスを使用する前に、同一 VPC 内のクライアントの IP アドレスをホワイトリストに追加する必要があります。
クラシック インスタンスの場合、ホワイトリストの設定は不要です。クラシック インスタンスのこの動作は、
#no_loose_check-whitelist-alwaysパラメーターで制御できます。-
デフォルトでは、
#no_loose_check-whitelist-alwaysパラメーターはnoに設定されており、同一 VPC 内のクライアントがホワイトリストに登録されていなくても Tair インスタンスに接続できます。オープンソース Redis 構成パラメーター。 -
一部のケースでは、パスワードなしのアクセスが有効になっているインスタンスの構成を変更する前に、VPC の CIDR ブロックをホワイトリストに追加し、
no_loose_check-whitelist-alwaysをyesに設定する必要があります。設定しない場合、変更後に接続が失敗する可能性があります。
説明クラウドネイティブ インスタンスは
#no_loose_check-whitelist-alwaysパラメーターをサポートしていません。 -
接続例
以下の例は、パスワードなしのアクセスを有効化した後の接続方法を示しています。
インスタンスのエンドポイントおよびパスワードは、「エンドポイントの確認」から取得してください。
redis-cli での接続
redis-cli -h host -p port
// 例: redis-cli -h r-bp10noxlhcoim2****.redis.rds.aliyuncs.com -p 6379
Jedis での接続
JedisPoolConfig config = new JedisPoolConfig();
// アイドル接続の最大数。ビジネス要件に基づいて評価してください。インスタンスの最大接続数を超えてはいけません。
config.setMaxIdle(100);
// 接続の最大数。ビジネス要件に基づいて評価してください。インスタンスの最大接続数を超えてはいけません。
config.setMaxTotal(200);
config.setTestOnBorrow(false);
config.setTestOnReturn(false);
// host および port の値を、ご利用のインスタンスのエンドポイントおよびポートに置き換えてください。password パラメーターは不要です。
String host = "r-bp10noxlhcoim2****.redis.rds.aliyuncs.com";
int port = 6379;
JedisPool pool = new JedisPool(config, host, port);
Jedis jedis = null;
try
{
jedis = pool.getResource();
/// ... ここに処理を記述 ... 例:
jedis.set("foo", "bar");
System.out.println(jedis.get("foo"));
jedis.zadd("sose", 0, "car");
jedis.zadd("sose", 0, "bike");
System.out.println(jedis.zrange("sose", 0, -1));
}
finally
{
if(jedis != null)
{
// 各 API 呼び出し後には必ず close() を呼び出してください。これにより接続はプールに戻されますが、削除はされません。
jedis.close();
}
}
// アプリケーション終了時にのみ、このメソッドを一度呼び出してください。
pool.destroy();
関連操作
この機能を無効にするには、[パスワード不要アクセスを無効にする] ボタンをクリックします。
この機能を無効にすると、パスワードなしのアクセスを使用しているクライアントはインスタンスに接続できなくなります。
この機能を無効にする前に、クライアントをパスワード認証方式に再構成してください。
関連 API
|
API |
説明 |
|
VPC 内でのパスワードなしのアクセスを有効または無効にします。 |
よくある質問
-
Q:パスワードなしのアクセスを有効化した後も、
WRONGPASS invalid username-password pairエラーが表示されるのはなぜですか?A:オープンソース Redis 6.0 インスタンスでパスワードなしのアクセスを使用中に、誤った認証情報を提供するとこのエラーが発生します。正しいユーザー名とパスワードで再接続するか、認証情報を指定せずに接続してください。
説明パスワードの形式:
-
デフォルトアカウント(アカウント名はインスタンス ID と同じ)の場合:パスワードのみを入力します。
-
新規アカウントの場合:
<user>:<password>形式を使用します(例:testaccount:Rp829dlwa)。
-
パスワードなしのアクセスが有効になっている Tair インスタンスにクライアントから接続しようとした際に、
(error) ERR illegal addressエラーが報告されるのはなぜですか?クライアントの IP アドレスがインスタンスのホワイトリストに追加されていません。クライアントの IP アドレスをインスタンスのホワイトリストに追加して、再度試行してください。