全部產品
Search
文件中心

ApsaraDB for Redis:開啟專用網路免密訪問

更新時間:Jun 19, 2024

ApsaraDB for Redis支援在專用網路環境下開啟免密訪問,在保障安全性的前提下,實現更便捷的資料庫連接。設定免密訪問後,同一專用網路內的用戶端無需使用密碼即可串連Redis執行個體,同時也繼續相容通過使用者名稱和密碼的方式串連Redis執行個體。

前提條件

執行個體的網路類型為專用網路。

說明

如果Redis執行個體的網路類型為傳統網路,您需要先將其切換為專用網路。相關操作,請參見切換為Virtual Private Cloud

注意事項

  • 開啟專用網路免密訪問後,串連Redis使用的是預設帳號(即與執行個體ID同名的帳號,例如r-bp1zxszhcgatnx****),該帳號擁有讀寫權限。

  • 為保障安全性,開啟專用網路免密訪問後,通過公網地址串連Redis仍需密碼驗證。

操作步驟

  1. 訪問Redis執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 串連資訊的右側,單擊設定免密訪問

  3. 在右側彈出的面板中,閱讀相關提示並單擊確定

    請重新整理頁面,當設定免密訪問按鈕轉變為關閉免密訪問時,表示已開啟該功能。

  4. 若執行個體為雲端硬碟版,您必須將同一專用網路用戶端的IP地址添加到執行個體的白名單中,才能使用VPC免密串連。

    若執行個體為本地碟版,則無需添加白名單即可串連。本地碟版執行個體可以通過#no_loose_check-whitelist-always參數進行控制。預設情況下,#no_loose_check-whitelist-always參數被設定為no,即開啟免密訪問後,同一專用網路的用戶端串連可直接存取Redis執行個體時,無需將其IP地址添加至執行個體的白名單中,更多資訊請參見Redis配置參數列表

    說明

    雲端硬碟版不支援設定#no_loose_check-whitelist-always參數。

串連樣本

開啟專用網路免密後的串連樣本如下。

說明

關於如何擷取Redis執行個體的串連地址和密碼,請參見查看串連地址

redis-cli免密登入

redis-cli -h host -p port
// 例如:redis -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的值替換為執行個體的串連地址、連接埠,不要求輸入密碼參數。
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)
    {
        // 需要在每一次API調用結束之後close,close是將串連還回串連池,不是銷毀。
        jedis.close();
    }
}
// 只在最終程式退出時候調用一次。
pool.destroy();

相關操作

單擊關閉免密訪問按鈕即可關閉免密功能。

重要

關閉該功能會導致使用免密訪問功能的用戶端無法串連到Redis執行個體。

若您需要關閉該功能,為保障不影響用戶端串連,請提前將用戶端的驗證方式修改為帳號和密碼的方式。

相關API

API介面

說明

ModifyInstanceVpcAuthMode

開啟或關閉專用網路免密訪問。

常見問題

  • Q:開啟免密訪問後,為什麼仍會返回WRONGPASS invalid username-password pair報錯?

    A:社區版6.0執行個體開啟免密訪問後,若輸入錯誤的帳號密碼,系統會返回以上報錯。請輸入正確的帳號密碼或不輸入帳號密碼。

    說明

    密碼格式:

    • 預設帳號(即以執行個體ID命名的帳號):直接填寫密碼。

    • 新建立的帳號:密碼格式為<user>:<password>,例如testaccount:Rp829dlwa

  • Q:開啟免密訪問後,為什麼使用同一專用網路的用戶端串連Redis執行個體,仍報錯(error) ERR illegal address

    A:該用戶端的IP地址未添加至執行個體的白名單。您可以將用戶端的IP地址添加至執行個體的白名單中後重試。