Tair (Redis OSS-compatible) を使用すると、仮想プライベートクラウド (VPC) にデプロイされているインスタンスに対してパスワードなしでアクセスできるようになります。 この機能は、インスタンスに接続するための安全で便利な方法を提供します。 VPCにデプロイされたインスタンスに対してパスワードなしのアクセスを有効にすると、インスタンスと同じVPC内のクライアントはパスワードを使用せずにインスタンスにアクセスできます。 一方、ユーザー名とパスワードを使用してインスタンスに接続できます。
前提条件
管理するインスタンスはVPCにデプロイされています。
インスタンスがクラシックネットワークにデプロイされている場合は、ネットワークタイプをVPCに変更する必要があります。 詳細については、「クラシックネットワークからVPCへのネットワークタイプの切り替え」をご参照ください。
注意事項
インスタンスに対してパスワード不要のアクセスを有効にすると、デフォルトのアカウントがインスタンスへの接続に使用されます。 デフォルトアカウントのユーザー名は、インスタンスID (r-bp1zxszhcgatnx **** など) と同じです。 デフォルトアカウントには、インスタンスに対する読み取りおよび書き込み権限があります。
インスタンスのパスワード不要アクセスを有効にした後、パブリックエンドポイントを使用してインスタンスに接続する場合、セキュリティを確保するためにパスワードを入力する必要があります。
手順
コンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスIDをクリックします。
右上隅の接続情報セクションで、パスワード不要アクセスの有効化をクリックします。
表示されるパネルで、プロンプトを読み、OKをクリックします。
ページを最新の情報に更新します。 ボタンに表示されるテキストが パスワード不要アクセスの有効化 から パスワード不要アクセスを無効にする に変更された場合、パスワードフリーアクセスが有効になります。
インスタンスがクラウドネイティブモードでデプロイされている場合、インスタンスと同じVPC内のクライアントのIPアドレスをインスタンスのホワイトリストに追加して、パスワードを使用せずにクライアントをインスタンスに接続します。
インスタンスがクラシックモードでデプロイされている場合、クライアントのIPアドレスをインスタンスのホワイトリストに追加することなく、クライアントをインスタンスに接続できます。
#no_loose_check-whitelist-常に
パラメーターを使用して、クラシックインスタンスへのアクセスを制御できます。 デフォルトでは、#no_loose_check-whitelist-always
パラメーターはno
に設定されています。 この場合、Tairインスタンスに対してパスワードなしのアクセスを有効にすると、インスタンスと同じVPC内のクライアントは、インスタンスのホワイトリストにIPアドレスを追加する必要なくインスタンスに接続できます。 詳細については、「」「Redis Open-Source Editionインスタンスに設定できるパラメーター」をご参照ください。説明cloud-nativeインスタンスに
#no_loose_check-whitelist-always
パラメーターを設定することはできません。
例
次のコードは、パスワードフリーアクセスが有効になっているインスタンスに接続する方法の例を示しています。
インスタンスへの接続に使用されるエンドポイントとパスワードの取得方法については、「エンドポイントの表示」をご参照ください。
redis-cli
redis-cli -h host -p port
// Example: redis -h r-bp10noxlhcoim2****.redis.rds.aliyuncs.com -p 6379
ジェディス
JedisPoolConfig config = new JedisPoolConfig();
// Specify the maximum number of idle connections based on your business requirements. The value cannot exceed the maximum number of connections supported by the instance.
config.setMaxIdle(100);
// Specify the maximum number of connections based on your business requirements. The value cannot exceed the maximum number of connections supported by the instance.
config.setMaxTotal(200);
config.setTestOnBorrow(false);
config.setTestOnReturn(false);
// Replace the values of the host and port parameters with the endpoint and port number that are used to connect to the instance. The password parameter is not required.
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();
/// ... do stuff here ... for example
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)
{
// Close connections after each API call is complete. To close a connection, release the connection to the connection pool instead of destroying the connection.
jedis.close();
}
}
// Call this method only once when you exit.
pool.destroy();
次のステップ
パスワード不要アクセスを無効にする をクリックして、パスワードなしアクセスを無効にします。
インスタンスのパスワード不要アクセスを無効にした場合、クライアントはパスワード不要アクセス機能を使用してインスタンスに接続できません。
クライアントへのこの影響を防ぐために、クライアントの接続を確認するために使用する方法を事前に変更し、アカウントとパスワードのログインを行うことができます。
関連する API 操作
API 操作 | 説明 |
VPCにデプロイされているインスタンスのパスワード不要アクセスを有効または無効にします。 |
よくある質問
VPCにデプロイされたインスタンスのパスワード不要アクセスを有効にした後に、
WRONGPASS無効なユーザー名とパスワードのペア
エラーメッセージが表示されるのはなぜですか。パスワード不要のアクセスが有効になっているRedis Open-Source Edition 6.0インスタンスに接続するために、誤ったパスワードを入力すると、上記のエラーメッセージが返されます。 正しいパスワードを入力するか、パスワードフィールドを空のままにします。
説明次のルールに基づいてパスワードを入力します。
ユーザー名がインスタンスIDと同じデフォルトアカウントを使用する場合は、アカウントのパスワードを入力します。
カスタムアカウントを使用する場合は、
<user >:< password>
形式でパスワードを入力します。 例:testaccount:Rp829dlwa
クライアントを使用してパスワードなしアクセスが有効になっているTairインスタンスに接続すると、
(エラー) ERR違法アドレス
エラーが報告されるのはなぜですか。クライアントのIPアドレスはインスタンスのホワイトリストに追加されません。 クライアントのIPアドレスをインスタンスのホワイトリストに追加して、再試行できます。