

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 ElastiCache
<a name="set-up"></a>

若要使用 ElastiCache Web 服務，請遵循下列步驟。

**Topics**
+ [註冊 AWS 帳戶](#sign-up-for-aws)
+ [授與程式設計存取權](#elasticache-set-up-access-key)
+ [設定許可](#elasticache-set-up-permissions)
+ [設定 EC2](#elasticache-install-configure-ec2)
+ [授予網路存取權](#elasticache-install-grant-access-VPN)
+ [設定命令列存取](#Download-and-install-cli)

## 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

若要開始使用 AWS，您需要 AWS 帳戶。如需建立 的相關資訊 AWS 帳戶，請參閱《 *AWS 帳戶管理 參考指南*》中的 [入門 AWS 帳戶](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html)。

## 授與程式設計存取權
<a name="elasticache-set-up-access-key"></a>

如果使用者想要與 AWS 外部互動，則需要程式設計存取權 AWS 管理主控台。授予程式設計存取權的方式取決於正在存取的使用者類型 AWS。

若要授予使用者程式設計存取權，請選擇下列其中一個選項。


****  

| 哪個使用者需要程式設計存取權？ | 到 | 根據 | 
| --- | --- | --- | 
| IAM | （建議） 使用主控台登入資料做為臨時登入資料，以簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 請依照您要使用的介面所提供的指示操作。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/set-up.html) | 
| 人力資源身分<br />(IAM Identity Center 中管理的使用者) | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 請依照您要使用的介面所提供的指示操作。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/set-up.html) | 
| IAM | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 遵循《IAM 使用者指南》中[將臨時登入資料與 AWS 資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)搭配使用的指示。 | 
| IAM | (不建議使用)使用長期憑證簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 請依照您要使用的介面所提供的指示操作。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/set-up.html) | 

**相關主題:**
+ *IAM 使用者指南*中的[什麼是 IAM？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。
+ *AWS 一般參考*中的[AWS 安全登入](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)資料。

## 設定許可 (僅限新 ElastiCache 使用者)
<a name="elasticache-set-up-permissions"></a>

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

Amazon ElastiCache 會建立和使用服務連結角色來佈建資源，以及代表您存取其他 AWS 資源和服務。若要讓 ElastiCache 為您建立服務連結角色，請使用名為 的 AWS受管政策`AmazonElastiCacheFullAccess`。此角色隨附了預先佈建、服務代表您建立服務連結角色所需的許可。

您可能決定不使用預設的政策，而是改為使用自訂的受管政策。在此情況下，請確定您擁有呼叫 `iam:createServiceLinkedRole` 的許可，或是已建立 ElastiCache 服務連結角色。

如需詳細資訊，請參閱下列內容：
+ [建立新政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) (IAM)
+ [AWS Amazon ElastiCache 的 受管政策](security-iam-awsmanpol.md)
+ [為 Amazon ElastiCache 使用服務連結角色](using-service-linked-roles.md)

## 設定 EC2
<a name="elasticache-install-configure-ec2"></a>

您需要設定 EC2 執行個體，以便從中連線至您的快取。
+ 如果您還沒有 EC2 執行個體，請在此處了解如何設定 EC2 執行個體：[Amazon EC2 入門指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)。
+ EC2 執行個體必須與快取位於相同的 VPC 中，並且具有相同的安全群組設定。根據預設，Amazon ElastiCache 會在您預設的 VPC 中建立快取，並使用預設安全群組。若要依照本教學課程進行，請確認您的 EC2 執行個體位於預設 VPC 中，並且具有預設安全群組。

## 授予從 Amazon VPC 安全群組透過網路存取快取的權限
<a name="elasticache-install-grant-access-VPN"></a>

ElastiCache 節點型叢集針對 Valkey 和 Redis OSS 命令使用連接埠 6379，而 ElastiCache Serverless 同時使用連接埠 6379 和連接埠 6380。為了從 EC2 執行個體成功連接和執行 Valkey 或 Redis OSS 命令，您的安全群組必須允許視需要存取這些連接埠。

對於 ElastiCache 無伺服器，具體而言：
+ **連接埠 6379 （主要端點）：**寫入操作和讀取需要強式一致性時需要
+ **連接埠 6380 （讀取最佳化端點）：**用於從複本讀取功能，提供具有最終一致性的低延遲讀取

即使未主動使用僅供讀取複本，許多用戶端仍會建立與兩個連接埠的連線，因此即使您不打算使用僅供讀取複本，也需要讓連接埠 6380 可存取。

ElastiCache for Memcached 使用 11211 和 11212 連接埠來接受 Memcached 命令。為了從 EC2 執行個體成功連線和執行 Memcached 命令，您的安全群組必須允許存取這些連接埠。

1. 登入 AWS Command Line Interface 並開啟 [Amazon EC2 主控台](https://console.aws.amazon.com/ec2/)。

1. 在導覽窗格中，在 **Network & Security (網路與安全)** 下，選擇 **Security Groups (安全群組)**。

1. 從安全群組的清單中，選擇要用於 Amazon VPC 的安全群組。除非您建立了安全群組供 ElastiCache 使用，否則此安全群組將會命名為 *default*。

1. 選擇「傳入」索引標籤，然後：

   1. 選擇**編輯**。

   1. 選擇**新增規則**。

   1. 在「類型」欄中，選擇**自訂 TCP 規則**。

   1. 如果使用 Valkey 或 Redis OSS，請在**連接埠範圍**方塊中輸入 `6379`。

      如果使用 Memcached，請在**連接埠範圍**方塊中輸入 `11211`。

   1. 在**來源**方塊中，選擇具有連接埠範圍 (0.0.0.0/0) 的**隨處**，讓任何您在 Amazon VPC 內啟動的 Amazon EC2 執行個體都能連線至您的快取。

   1. 如果您使用的是 ElastiCache 無伺服器，請選擇新增規則來**新增另一個規則**。

   1. 在 **Type (類型)** 欄中，選擇 **Custom TCP rule (自訂 TCP 規則)**。

   1. 如果使用 ElastiCache for Redis OSS，請在**連接埠範圍**方塊中輸入 `6380`。

      如果使用 ElastiCache for Memcached，請在**連接埠範圍**方塊中輸入 `11212`。

   1. 在**來源**方塊中，選擇具有連接埠範圍 (0.0.0.0/0) 的**隨處**，讓任何您在 Amazon VPC 內啟動的 Amazon EC2 執行個體都能連線至您的快取。

   1. 選擇**儲存**

## 下載並設定命令列存取
<a name="Download-and-install-cli"></a>

**下載並安裝 *valkey-cli* 公用程式。**

如果您使用 ElastiCache for Valkey，您可能會發現 valkey-cli 公用程式很有用。如果您使用 ElastiCache for Redis OSS 搭配 redis-cli，請考慮切換到 valkey-cli，因為它也適用於 Redis OSS。

1. 使用您選擇的連線公用程式連線到 Amazon EC2 執行個體。如需如何連線到 Amazon EC2 執行個體的說明，請參閱 [Amazon EC2 入門指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)。

1. 為您的設定執行適當的命令，以下載並安裝 valkey-cli 公用程式。

   **Amazon Linux 2023**

   ```
   sudo dnf install gcc jemalloc-devel openssl-devel tcl tcl-devel -y
   wget -O valkey-8.0.0.tar.gz https://github.com/valkey-io/valkey/archive/refs/tags/8.0.0.tar.gz
   tar xvzf valkey-8.0.0.tar.gz
   cd valkey-8.0.0
   make valkey-cli BUILD_TLS=yes
   sudo install -m 755 src/valkey-cli /usr/local/bin/
   ```

   **Amazon Linux 2**

   ```
   sudo amazon-linux-extras install epel -y
   sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y
   wget -O valkey-8.0.0.tar.gz https://github.com/valkey-io/valkey/archive/refs/tags/8.0.0.tar.gz
   tar xvzf valkey-8.0.0.tar.gz
   cd valkey-8.0.0
   make valkey-cli BUILD_TLS=yes
   sudo install -m 755 src/valkey-cli /usr/local/bin/
   ```

**注意**  
當您安裝 redis6 套件時，它會安裝 redis6-cli 並提供預設加密支援。
安裝 valkey-cli 或 redis-cli 時，請務必擁有 TLS 的建置支援。只有在 TLS 已啟用的情況下，才能存取 ElastiCache Serverless。
如果您要連線至未加密的叢集，則不需要 `Build_TLS=yes` 選項。