本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本練習會引導您完成使用 MemoryDB 管理主控台建立、授予存取權、連線,以及最終刪除 MemoryDB 叢集的步驟。
注意
基於本練習的目的,我們建議您在建立叢集時使用簡易建立選項,並在進一步探索 MemoryDB 的功能後返回其他兩個選項。
步驟 1:設定
您可以在下面找到主題,說明開始使用 MemoryDB 時必須採取的一次性動作。
註冊 AWS 帳戶
如果您沒有 AWS 帳戶,請完成下列步驟以建立。
註冊 AWS 帳戶
開啟https://portal.aws.amazon.com/billing/註冊
。 請遵循線上指示進行。
部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。
當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務。
AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時前往 https://aws.amazon.com/
建立具有管理存取權的使用者
註冊 後 AWS 帳戶,請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者,以免將根使用者用於日常任務。
保護您的 AWS 帳戶根使用者
-
選擇根使用者並輸入 AWS 帳戶 您的電子郵件地址,以帳戶擁有者AWS Management Console
身分登入 。在下一頁中,輸入您的密碼。 如需使用根使用者登入的說明,請參閱 AWS 登入 使用者指南中的以根使用者身分登入。
-
為您的根使用者開啟多重驗證 (MFA)。
如需說明,請參閱IAM《 使用者指南》中的為您的 AWS 帳戶 根使用者 (主控台) 啟用虛擬MFA裝置。
建立具有管理存取權的使用者
-
啟用IAM身分中心。
如需指示,請參閱《AWS IAM Identity Center 使用者指南》中的啟用 AWS IAM Identity Center。
-
在 IAM Identity Center 中,將管理存取權授予使用者。
如需使用 IAM Identity Center 目錄 做為身分來源的教學課程,請參閱AWS IAM Identity Center 《 使用者指南》中的使用預設值設定使用者存取權 IAM Identity Center 目錄。
以具有管理存取權的使用者身分登入
-
若要使用 IAM Identity Center 使用者登入,請使用您建立 IAM Identity Center 使用者時URL傳送到您電子郵件地址的登入。
如需使用 IAM Identity Center 使用者登入的說明,請參閱AWS 登入 《 使用者指南》中的登入 AWS 存取入口網站。
指派存取權給其他使用者
授與程式設計存取權
如果使用者想要與 AWS 外部互動,則需要程式設計存取 AWS Management Console。授予程式設計存取的方式取決於存取的使用者類型 AWS。
若要授與使用者程式設計存取權,請選擇下列其中一個選項。
哪個使用者需要程式設計存取權? | 到 | 根據 |
---|---|---|
人力資源身分 (在 IAM Identity Center 中管理的使用者) |
使用暫時登入資料簽署對 AWS CLI AWS SDKs或 的程式設計請求 AWS APIs。 |
請依照您要使用的介面所提供的指示操作。
|
IAM | 使用暫時登入資料簽署對 AWS CLI AWS SDKs或 的程式設計請求 AWS APIs。 | 遵循 IAM 使用者指南中的使用臨時登入資料與 AWS 資源的指示。 |
IAM | (不建議使用) 使用長期登入資料簽署程式設計請求至 AWS CLI、 AWS SDKs 或 AWS APIs。 |
請依照您要使用的介面所提供的指示操作。
|
設定您的許可 (僅限新的 MemoryDB 使用者)
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
中的使用者和群組 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
IAM 透過身分提供者在 中管理的使用者:
建立聯合身分的角色。遵循 IAM 使用者指南中為第三方身分提供者 (聯合) 建立角色的指示。
-
IAM 使用者:
-
建立您的使用者可擔任的角色。遵循 IAM 使用者指南中為IAM使用者建立角色的指示。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。遵循 IAM 使用者指南中將許可新增至使用者 (主控台) 中的指示。
-
MemoryDB 會建立並使用服務連結角色來佈建資源,並代表您存取其他 AWS 資源和服務。若要讓 MemoryDB 為您建立服務連結角色,請使用名為 的 AWS受管政策AmazonMemoryDBFullAccess
。此角色隨附了預先佈建、服務代表您建立服務連結角色所需的許可。
您可能決定不使用預設的政策,而是改為使用自訂的受管政策。在此情況下,請確定您有呼叫 的許可,iam:createServiceLinkedRole
或已建立 MemoryDB 服務連結角色。
如需詳細資訊,請參閱下列內容:
下載和設定 AWS CLI
AWS CLI 可在 https://http://aws.amazon.com/cli
請前往 AWS 命令列界面使用者指南。
請遵循安裝 AWS CLI 及設定 AWS CLI 的說明進行。
步驟 2:建立叢集
在建立供生產使用的叢集之前,您明顯需要考慮如何設定叢集以符合您的業務需求。這些問題在「準備叢集」一節中說明。基於本入門練習的目的,您可以接受其適用的預設組態值。
您建立的叢集將會實際上線,而非在沙盒中執行。在您刪除執行個體之前,將產生執行個體的標準 MemoryDB 使用費。如果您一口氣地完成這裡所述的練習,並在完成時刪除您的叢集,則總計費用會很少 (通常不到 1 美元)。如需 MemoryDB 使用率的詳細資訊,請參閱 MemoryDB
您的叢集會根據 Amazon VPC服務在虛擬私有雲端 (VPC) 中啟動。
建立 MemoryDB 叢集
下列範例示範如何使用 AWS Management Console AWS CLI 和 MemoryDB 建立叢集API。
使用 MemoryDB 主控台建立叢集
-
登入 AWS Management Console ,並在 開啟 MemoryDB 主控台https://console.aws.amazon.com/memorydb/
。 -
在左側導覽窗格中選擇叢集,然後選擇建立。
若要使用 建立叢集 AWS CLI,請參閱 create-cluster
。以下是範例:
針對 Linux、macOS 或 Unix:
aws memorydb create-cluster \ --cluster-name my-cluster \ --node-type db.r6g.large \ --acl-name my-acl \ --engine valkey \ --subnet-group my-sg
針對 Windows:
aws memorydb create-cluster ^ --cluster-name my-cluster ^ --node-type db.r6g.large ^ --acl-name my-acl ^ --engine valkey --subnet-group my-sg
您應該會收到下列JSON回應:
{
"Cluster": {
"Name": "my-cluster",
"Status": "creating",
"NumberOfShards": 1,
"AvailabilityMode": "MultiAZ",
"ClusterEndpoint": {
"Port": 6379
},
"NodeType": "db.r6g.large",
"EngineVersion": "7.2",
"EnginePatchVersion": "7.2.6",
"ParameterGroupName": "default.memorydb-valkey7",
"Engine": "valkey"
"ParameterGroupStatus": "in-sync",
"SubnetGroupName": "my-sg",
"TLSEnabled": true,
"ARN": "arn:aws:memorydb:us-east-1:xxxxxxxxxxxxxx:cluster/my-cluster"
,
"SnapshotRetentionLimit": 0,
"MaintenanceWindow": "wed:03:00-wed:04:00",
"SnapshotWindow": "04:30-05:30",
"ACLName": "my-acl",
"DataTiering": "false",
"AutoMinorVersionUpgrade": true
}
}
一旦叢集的狀態變更為 ,您就可以開始使用叢集available
。
重要
在您的叢集可用之後,系統就會按叢集作用中時間每個小時或部分小時計費 (即使您並未主動使用亦同)。若要停止此叢集產生費用,您必須將其刪除。請參閱 步驟 5:刪除叢集。
若要使用 MemoryDB 建立叢集API,請使用 CreateCluster動作。
重要
在您的叢集可用之後,系統就會按叢集作用中時間每個小時或部分小時計費 (即使您並未使用亦同)。若要停止此叢集產生費用,您必須將其刪除。請參閱 步驟 5:刪除叢集。
設定身分驗證
如需設定叢集身分驗證的資訊,請參閱 使用 驗證 IAM和 使用存取控制清單驗證使用者 (ACLs)。
步驟3:授予叢集的存取權
本節假設您熟悉啟動和連線至 Amazon EC2執行個體。如需詳細資訊,請參閱 Amazon EC2入門指南。
MemoryDB 叢集的設計是要從 Amazon EC2執行個體存取。您也可以透過在 Amazon Elastic Container Service 或 中執行的容器化或無伺服器應用程式來存取 AWS Lambda。最常見的情況是從相同 Amazon Virtual Private Cloud (AmazonVPC) 中的 Amazon EC2執行個體存取 MemoryDB 叢集,這將是本練習的情況。
您必須先授權EC2執行個體存取叢集,才能從 EC2 執行個體連線至叢集。
最常見的使用案例是部署在EC2執行個體上的應用程式需要連線到相同 中的叢集VPC。管理相同EC2執行個體和叢集之間的存取最簡單的方式,VPC是執行下列動作:
-
為您的叢集建立VPC安全群組。此安全群組可用來限制對叢集的存取。例如,您可以為此安全群組建立自訂規則,以允許使用您在建立叢集時指派給叢集的連接埠,以及您用來TCP存取叢集的 IP 地址進行存取。
MemoryDB 叢集的預設連接埠為
6379
。 -
為您的EC2執行個體 (Web 和應用程式伺服器) 建立VPC安全群組。如有需要,此安全群組可以透過 的VPC路由表允許從網際網路存取EC2執行個體。例如,您可以設定此安全群組的規則,以允許透過連接埠 22 TCP存取EC2執行個體。
-
在叢集的安全群組中建立自訂規則,以允許來自您為EC2執行個體建立之安全群組的連線。這樣做會允許安全群組的所有成員存取叢集。
在允許來自另一個VPC安全群組連線的安全群組中建立規則
-
登入 AWS 管理主控台,並在 https://console.aws.amazon.com/vpc
開啟 Amazon VPC主控台。 -
在左導覽窗格中,選擇 Security Groups (安全群組)。
-
選取或建立您要用於叢集的安全群組。在 Inbound Rules (傳入規則) 下方,選取 Edit Inbound Rules (編輯傳入規則),然後選取 Add Rule (新增規則)。此安全群組將允許其他安全群組成員存取。
-
從類型選擇自訂TCP規則。
-
針對 Port Range (連接埠範圍),指定您在建立叢集時所使用的連接埠。
MemoryDB 叢集的預設連接埠為
6379
。 -
在 Source (來源) 方塊中輸入安全群組的 ID。從清單中選擇您將用於 Amazon EC2執行個體的安全群組。
-
-
完成後,請選擇 Save (儲存)。
啟用存取後,您現在可以連線至叢集,如下一節所述。
如需從不同的 Amazon VPC、不同 AWS 區域或甚至是您的公司網路存取 MemoryDB 叢集的資訊,請參閱以下內容:
步驟 4:連線至叢集
在繼續之前,請先完成步驟3:授予叢集的存取權。
本節假設您已建立 Amazon EC2執行個體,並可與其連線。如需如何執行此操作的說明,請參閱 Amazon EC2 入門指南。
Amazon EC2執行個體只有在您授權叢集執行此操作時,才能連線到叢集。
尋找您的叢集端點
當您的叢集處於可用狀態且您已授權存取時,您可以登入 Amazon EC2執行個體並連線至叢集。若要執行此作業,您必須先判斷端點。
若要進一步探索如何尋找端點,請參閱以下內容:
連線至 MemoryDB 叢集 (Linux)
現在您擁有所需的端點,您可以登入EC2執行個體並連線至叢集。在下列範例中,您可以使用 cli 公用程式,使用 Ubuntu 22 連線到叢集。最新版本的 cli 也支援SSL/TLS for connecting encryption/authentication已啟用的叢集。
使用 redis-cli 連線至 MemoryDB 節點
若要從 MemoryDB 節點存取資料,您可以使用使用 Secure Socket Layer 的用戶端 (SSL)。您也可以在 Amazon Linux 和 Amazon Linux 2 上使用 redis-cli 搭配 TLS/SSL。
使用 redis-cli 連線到 Amazon Linux 2 或 Amazon Linux 上的 MemoryDB 叢集
下載並編譯 redis-cli 公用程式。此公用程式包含在 Redis OSS 軟體分發中。
在EC2執行個體的命令提示字元中,針對您正在使用的 Linux 版本輸入適當的命令。
Amazon Linux 2023
如果使用 Amazon Linux 2023,請輸入以下內容:
sudo yum install redis6 -y
然後輸入下列命令,將叢集和連接埠的端點取代為此範例中顯示的內容。
redis-cli -h
Primary or Configuration Endpoint
--tls -p 6379如需尋找端點的詳細資訊,請參閱尋找您的節點端點。
Amazon Linux 2
如果使用 Amazon Linux 2,請輸入以下內容:
sudo yum -y install openssl-devel gcc wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make distclean make redis-cli BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
Amazon Linux
如果使用 Amazon Linux,請輸入以下內容:
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make redis-cli CC=clang BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
在 Amazon Linux 上,您可能還需要執行下列額外步驟:
sudo yum install clang CC=clang make sudo make install
在您下載並安裝 redis-cli 公用程式之後,建議您執行選用的
make-test
命令。-
若要連線至已啟用加密和身分驗證的叢集,請輸入此命令:
redis-cli -h
Primary or Configuration Endpoint
--tls -a'your-password'
-p 6379注意
如果您在 Amazon Linux 2023 上安裝 redis6,您現在可以使用 命令
redis6-cli
,而不是redis-cli
:redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
步驟 5:刪除叢集
一旦叢集處於「可用」狀態,就會開始向您收費,不論您是否主動使用亦同。若要停止產生費用,請刪除叢集。
警告
當您刪除 MemoryDB 叢集時,會保留您的手動快照。您也可以在刪除叢集之前建立最終快照。自動快照不會保留。如需詳細資訊,請參閱快照和還原 。
CreateSnapshot
需要 許可才能建立最終快照。如果沒有此許可,API呼叫將會失敗,但有Access Denied
例外狀況。
以下程序會從您的部署中刪除單一叢集。若要刪除多個叢集,請針對每個要刪除的叢集重複此程序。您不需要等待某個叢集完成刪除,即可開始刪除其他叢集。
刪除叢集
-
登入 AWS Management Console 並在 開啟 MemoryDB 主控台https://console.aws.amazon.com/memorydb/
。 -
若要選擇要刪除的叢集,請從叢集清單中選擇叢集名稱旁的選項按鈕。此案例中為您在「步驟 2:建立叢集」建立的叢集之名稱。
-
對於 Actions (動作),請選擇 Delete (刪除)。
-
首先選擇是否在刪除叢集之前建立叢集的快照,然後在
delete
確認方塊中輸入 並刪除以刪除叢集,或選擇取消以保留叢集。如果您選擇 Delete (刪除),叢集的狀態就會變更為 deleting (正在刪除)。
一旦您的叢集不再列於叢集清單,您就不會再因此產生費用。
下列程式碼會刪除 my-cluster
叢集。此案例中請將 my-cluster
取代為您在「步驟 2:建立叢集」建立的叢集之名稱。
aws memorydb delete-cluster --cluster-name
my-cluster
delete-cluster
CLI 操作只會刪除一個叢集。若要刪除多個叢集,delete-cluster
請針對您要刪除的每個叢集呼叫 。您不需要等待某個叢集完成刪除,即可刪除另一個叢集。
若為 Linux、macOS 或 Unix:
aws memorydb delete-cluster \ --cluster-name
my-cluster
\ --regionus-east-1
針對 Windows:
aws memorydb delete-cluster ^ --cluster-name
my-cluster
^ --regionus-east-1
如需詳細資訊,請參閱delete-cluster
。
下列程式碼會刪除 my-cluster
叢集。此案例中請將 my-cluster
取代為您在「步驟 2:建立叢集」建立的叢集之名稱。
https://memory-db.us-east-1.amazonaws.com/ ?Action=DeleteCluster &ClusterName=my-cluster &Region=us-east-1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T220302Z &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210802T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210802T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
DeleteCluster
API 操作只會刪除一個叢集。若要刪除多個叢集,DeleteCluster
請針對您要刪除的每個叢集呼叫 。您不需要等待某個叢集完成刪除,即可刪除另一個叢集。
如需詳細資訊,請參閱DeleteCluster。
後續步驟
現在您已嘗試了入門練習,您可以探索下列章節,以進一步了解 MemoryDB 和可用的工具: