本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
MemoryDB 入門
此練習會引導您完成使用 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。
若要授與使用者程式設計存取權,請選擇下列其中一個選項。
哪個使用者需要程式設計存取權? | 到 | By |
---|---|---|
人力身分 (在 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執行個體 (網路和應用程式伺服器) 建立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 執行個體執行此操作時,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 和可用的工具: