

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 设置 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 软件开发工具包或 AWS API 发出的编程请求。 | 按照您希望使用的界面的说明进行操作。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/set-up.html) | 
| 人力身份<br />（在 IAM Identity Center 中管理的用户） | 使用临时证书签署向 AWS CLI、 AWS 软件开发工具包或 AWS API 发出的编程请求。 | 按照您希望使用的界面的说明进行操作。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/set-up.html) | 
| IAM | 使用临时证书签署向 AWS CLI、 AWS 软件开发工具包或 AWS API 发出的编程请求。 | 按照 IAM 用户指南中的将[临时证书与 AWS 资源配合使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)中的说明进行操作。 | 
| IAM | （不推荐使用）使用长期凭证签署向 AWS CLI、 AWS 软件开发工具包或 AWS API 发出的编程请求。 | 按照您希望使用的界面的说明进行操作。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/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 的 Service-Linked 角色 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 基于节点的集群使用端口 6379 来执行 Valkey 和 Redis OSS 命令， ElastiCache 无服务器同时使用端口 6379 和端口 6380。为了从您的 EC2 实例成功连接并执行 Valkey 或 Redis OSS 命令，您的安全组必须根据需要允许访问这些端口。

专门针对 ElastiCache 无服务器：
+ 端@@ **口 6379（主终端节点）：**写入操作和读取需要强一致性所需的端口
+ 端@@ **口 6380（Read-optimized 端点）：**用于从副本读取功能，提供更低的延迟读取和最终一致性

即使不积极使用从副本读取，许多客户端也会与这两个端口建立连接，因此即使您不打算使用从副本读取，也需要使端口 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 使用的安全组，否则该安全组将被命名为 de *fault*。

1. 选择“入站”选项卡，然后：

   1. 选择 **Edit**（编辑）。

   1. 选择**添加规则**。

   1. 在“类型”列中，选择**自定义 TCP 规则**。

   1. 如果使用 Valkey 或 Redis OSS，则在**端口范围**框中键入 `6379`。

      如果使用 Memcached，则在**端口范围**框中键入 `11211`。

   1. 在 “**源**” 框中，选择端口范围为 (0.0.0) **的任何地方**。 0/0) 以便您在亚马逊 VPC 中启动的任何 Amazon EC2 实例都可以连接到您的缓存。

   1. 如果您使用的是 ElastiCache 无服务器，请通过选择添加规则来**添加其他规则**。

   1. 在 **Type** 列中，选择 **Custom TCP rule**。

   1. 如果用 ElastiCache 于 Redis OSS，则在**端口范围**框中键入`6380`。

      如果用 ElastiCache 于 Memcached，则在 “**端口范围**” 框中键入`11212`。

   1. 在 “**源**” 框中，选择端口范围为 (0.0.0) **的任何地方**。 0/0) 以便您在亚马逊 VPC 中启动的任何 Amazon EC2 实例都可以连接到您的缓存。

   1. 选择**保存**

## 下载并设置命令行访问权限
<a name="Download-and-install-cli"></a>

**下载并安装 *valkey-cli* 实用工具。**

如果你用 ElastiCache 于 Valkey，那么你可能会发现 valkey-cli 实用程序很有用。如果你使用的是带有 redis-cli 的 Redis OSS，可以考虑切换到 valkey-cli，因为它也 ElastiCache 适用于 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 提供构建支持。 ElastiCache 只有启用 TLS 后，才能访问无服务器。
如果您要连接到未加密的集群，则不需要 `Build_TLS=yes` 选项。