1. 程式人生 > 其它 >亞馬遜aws新增功能 Amazon ElastiCache 對 Redis 6 的支援

亞馬遜aws新增功能 Amazon ElastiCache 對 Redis 6 的支援

技術標籤:筆記awsAmazon ElastiCache

在上次釋出了Amazon ElastiCache 對開源版本Redis 5.0的支援之後,Amazon ElastiCache 增加了大量的改進,包括了對開源版本Redis 5.0.6的支援。

今年早些時候,我們釋出了Redis Global Datastore,使您可以將一個區域中的叢集複製到其他兩個區域中的叢集。最近,我們通過增加18個額外的引擎和節點級CloudWatch指標,提高了監控Redis佇列的能力。此外,我們還增加了對資源級許可權策略的支援,使您可以將AWS Identity and Access Management(IAM)許可權策略附加到給特定的一個或多個ElastiCache資源。

我很高興地宣佈Amazon ElastiCache 對開源版本Redis 6的支援。該版本為Amazon ElastiCache for Redis帶來了幾個新的重要功能:

  • 基於角色的託管訪問控制– Amazon ElastiCache for Redis 6 現在使您能夠建立和管理使用者和使用者組,這些使用者和使用者組可用於為Redis命令設定基於角色的訪問控制(RBAC)。現在,通過讓多個應用程式使用同一Redis群集而又無法訪問彼此的資料,您可以簡化架構,同時維護安全性邊界。您還可以利用精細的訪問控制和授權來建立管理和只讀使用者組。Amazon ElastiCache增強了開源版本 Redis 6 中引入的新訪問控制列表(ACL),以提供託管的RBAC體驗,從而可以輕鬆為多個 Amazon ElastiCache for Redis 叢集設定訪問控制。
  • 客戶端快取– Amazon ElastiCache for Redis 6 具有伺服器端增強功能,可提供高效的客戶端快取,從而進一步提高應用程式效能。現在,Redis 群集通過跟蹤客戶端請求併為儲存在客戶端上的資料傳送失效訊息來管理客戶端快取。此外,您還可以利用廣播模式,該模式允許客戶端從 Redis 叢集訂閱各種通知。
  • 重大的操作改進–此發行版還包含一些增強功能,可以提高應用程式的可用性和可靠性。具體來說,Amazon ElastiCache 通過減少延遲和執行快照所需的時間,在記憶體不足的情況下,特別是對於具有中/大型金鑰的工作負載,改善了複製。開源 Redis 增強功能包括對過期演算法的改進,可以更快地收回過期的金鑰,以及各種問題的修復。

請注意,開源版本Redis 6還宣佈了對傳輸加密的支援,此功能已在Amazon ElastiCache for Redis 4.0.10及更高版本中提供。此版本的Amazon ElastiCache for Redis 6不會影響Amazon ElastiCache for Redis 對傳輸加密的現有支援。

為了將 RBAC 應用於新的或現有的 Redis 6 叢集,我們首先需要確保您已建立使用者和使用者組。我們將在下面回顧執行此操作的過程。

使用基於角色的訪問控制工作原理
使用Redis AUTH命令對使用者進行身份驗證的替代方法,Amazon ElastiCache for Redis 6 提供了基於角色的訪問控制(RBAC)。使用RBAC,您可以建立使用者並通過訪問字串為他們分配特定的許可權。

如果要建立,修改和刪除使用者和使用者組,則需要在ElastiCache控制檯中選擇“使用者管理”和“使用者組管理”部分。

ElastiCache將自動使用使用者ID和使用者名稱“ default”配置預設使用者,然後您可以將其或新建立的使用者新增到“使用者組管理”中的新組。

如果要使用自己的密碼和訪問設定更改預設使用者,則需要建立一個新使用者,並將使用者名稱設定為“預設”,然後可以將其與原始預設使用者交換。我們建議您為預設使用者使用自己的強密碼。

以下示例顯示瞭如何通過AWS CLI將原始預設使用者與具有修改後的訪問字串的另一個預設使用者交換。

$ aws elasticache create-user \
 --user-id "new-default-user" \
 --user-name "default" \
 --engine "REDIS" \
 --passwords "a-str0ng-pa))word" \ 
 --access-string "off +get ~keys*"

建立一個使用者組並新增您先前建立的使用者。

$ aws elasticache create-user-group \
  --user-group-id "new-default-group" \
  --engine "REDIS" \
  --user-ids "default"

將新的預設使用者與原始的預設使用者交換。

$ aws elasticache modify-user-group \
    --user-group-id "new-default-group" \
    --user-ids-to-add "new-default-user" \
    --user-ids-to-remove "default"

另外,您可以使用modify-user命令修改使用者密碼或更改其訪問許可權,或使用delete-user命令刪除特定使用者,它將從它所屬的任何使用者組中刪除。

同樣,您可以通過使用modify-user-group命令新增新使用者和/或刪除當前使用者來修改使用者組,或使用delete-user-group命令刪除使用者組。請注意,將刪除使用者組本身,而不是屬於該組的使用者。

建立使用者組並新增使用者後,可以將使用者組分配給複製組,或在Redis AUTH和RBAC之間轉換。有關更多資訊,請參見文件

用於ElastiCacheRedis 6叢集
與往常一樣,您可以使用ElastiCache控制檯CLIAPICloudFormation模板來建立新的Redis 6叢集。我將使用控制檯,從導航窗格中選擇Redis,然後單擊具有以下設定的建立:

選擇“加密傳輸中”複選框,以確保您可以看到“訪問控制”選項。您可以通過RBAC功能選擇使用者組訪問控制列表或 Redis AUTH 預設使用者的訪問控制選項。如果選擇RBAC,則可以選擇可用的使用者組之一。

我的叢集在幾分鐘之內就可以啟動並運行了。您還可以在現有群集上使用就地升級功能。通過選擇叢集,單擊操作和修改。您可以將引擎版本相容從5.0.6更改為6.x。
本篇作者

Channy Yun

Channy Yun是AWS的首席開發倡導者,熱衷於幫助開發人員在最新的AWS服務上構建現代應用程式。他是一位務實的開發人員和博主,他熱愛社群驅動的技術學習和共享,這使開發人員可以將其吸引到全球AWS使用者組。在@channyun上的Twitter上關注他。