

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

# 自动连接 EC2 实例和 ElastiCache 缓存
<a name="compute-connection"></a>

您可以使用 ElastiCache 控制台来简化在 Amazon Elastic Compute Cloud（Amazon EC2）实例和 ElastiCache 缓存之间设置连接的过程。通常，缓存位于私有子网中，EC2 实例位于 VPC 内的公有子网中。您可以在 EC2 实例上使用 SQL 客户端连接到 ElastiCache 缓存。EC2 实例还可以运行访问私有 ElastiCache 缓存的 Web 服务器或应用程序。

![\[自动连接 ElastiCache 缓存和 EC2 实例\]](http://docs.amazonaws.cn/AmazonElastiCache/latest/dg/images/ec2-elasticache-connect-network_diagram.png)


**Topics**
+ [自动连接 EC2 实例](#ec2-elc-connect-overview)
+ [查看连接的计算资源](#ec2-elc-connect-viewing)

## 自动连接 EC2 实例
<a name="ec2-elc-connect-overview"></a>

当您在 EC2 实例和 ElastiCache 缓存之间设置连接时，ElastiCache 会自动为您的 EC2 实例和 ElastiCache 缓存配置 VPC 安全组。

以下是连接 EC2 实例和 ElastiCache 缓存的要求：
+ EC2 实例必须与 ElastiCache 缓存位于同一 VPC 中。

  如果同一 VPC 中不存在任何 EC2 实例，则控制台将提供创建一个此类实例的链接。
+ 设置连接的用户必须具有执行以下 Amazon EC2 操作的权限。这些权限通常在创建 EC2 账户时添加。有关 EC2 权限的更多信息，请参阅[授予针对 Amazon EC2 资源的必需权限](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/ec2-api-permissions.html)。
  + `ec2:AuthorizeSecurityGroupEgress` 
  + `ec2:AuthorizeSecurityGroupIngress` 
  + `ec2:CreateSecurityGroup` 
  + `ec2:DescribeInstances` 
  + `ec2:DescribeNetworkInterfaces` 
  + `ec2:DescribeSecurityGroups` 
  + `ec2:ModifyNetworkInterfaceAttribute` 
  + `ec2:RevokeSecurityGroupEgress` 

当您设置与 EC2 实例的连接时，ElastiCache 会根据与 ElastiCache 缓存和 EC2 实例关联的安全组的当前配置采取操作，如下表所述。


****  

| 当前 ElastiCache 安全组配置 | 当前 EC2 安全组配置 | ElastiCache 操作 | 
| --- | --- | --- | 
|  有一个或多个安全组与 ElastiCache 缓存（名称与模式 `elasticache-ec2-${cacheId}:${ec2InstanceId}` 匹配）关联。尚未修改与此模式匹配的安全组。该安全组只具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。  |  有一个或多个安全组与 EC2 实例（名称与模式 `elasticache-ec2-${cacheId}:${ec2InstanceId}` 匹配）关联。尚未修改与此模式匹配的安全组。该安全组只有一条以 ElastiCache 缓存的 VPC 安全组作为源的出站规则。  |  ElastiCache 不会执行任何操作。 已在 EC2 实例和 ElastiCache 缓存之间自动配置了连接。由于 EC2 实例和 ElastiCache 缓存之间已经存在连接，因此不会修改安全组。  | 
|  以下任一条件适用： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AmazonElastiCache/latest/dg/compute-connection.html)  |  以下任一条件适用： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AmazonElastiCache/latest/dg/compute-connection.html)  |  [ELC action: create new security groups](#elc-action-create-new-security-groups)  | 
|  有一个或多个安全组与 ElastiCache 缓存（名称与模式 `elasticache-ec2-${cacheId}:${ec2InstanceId}` 匹配）关联。尚未修改与此模式匹配的安全组。该安全组只具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。  |  有一个或多个安全组与 EC2 实例（名称与模式 `elasticache-ec2-${cacheId}:${ec2InstanceId}` 匹配）关联。但是，ElastiCache 不能使用这些安全组中的任何一个来连接 ElastiCache 缓存。如果安全组没有一条以 ElastiCache 缓存的 VPC 安全组作为源的出站规则，则 ElastiCache 无法使用该安全组。ElastiCache 也无法使用经过修改的安全组。  |  [ELC action: create new security groups](#elc-action-create-new-security-groups)  | 
|  有一个或多个安全组与 ElastiCache 缓存（名称与模式 `elasticache-ec2-${cacheId}:${ec2InstanceId}` 匹配）关联。尚未修改与此模式匹配的安全组。该安全组只具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。  |  存在用于连接的有效 EC2 安全组，但它与 EC2 实例不关联。此安全组的名称与模式 `ec2-elasticache-${ec2InstanceId}:${cacheId}` 相匹配。尚未修改它。它只有一条以 ElastiCache 缓存的 VPC 安全组作为源的出站规则。  |  [ELC action: associate EC2 security group](#elc-action-associate-ec2-security-group)  | 
|  以下任一条件适用： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AmazonElastiCache/latest/dg/compute-connection.html)  |  有一个或多个安全组与 EC2 实例（名称与模式 `ec2-elasticache-${ec2InstanceId}:${cacheId}` 匹配）关联。尚未修改与此模式匹配的安全组。该安全组只有一条以 ElastiCache 缓存的 VPC 安全组作为源的出站规则。  |  [ELC action: create new security groups](#elc-action-create-new-security-groups)  | 

**ElastiCache 操作：创建新的安全组**  
ElastiCache 会执行以下操作：
+ 创建与模式 `elasticache-ec2-${cacheId}:${ec2InstanceId}` 匹配的新安全组。该安全组具有一条以 EC2 实例的 VPC 安全组作为源的入站规则。该安全组与 ElastiCache 缓存相关联，并允许 EC2 实例访问此缓存。
+ 创建与模式 `elasticache-ec2-${cacheId}:${ec2InstanceId}` 匹配的新安全组。该安全组具有一条以 ElastiCache 缓存的 VPC 安全组作为目标的出站规则。该安全组与 EC2 实例相关联，并允许 EC2 实例向 ElastiCache 缓存发送流量。

**ElastiCache 操作：关联 EC2 安全组**  
ElastiCache 会将有效的现有 EC2 安全组与 EC2 实例关联起来。该安全组允许 EC2 实例向 ElastiCache 缓存发送流量。

## 查看连接的计算资源
<a name="ec2-elc-connect-viewing"></a>

您可以使用 Amazon Web Services 管理控制台查看连接到 ElastiCache 缓存的计算资源。显示的资源包括自动设置的计算资源连接。例如，您可以通过手动向与缓存关联的 VPC 安全组添加规则来允许计算资源访问该缓存。这些资源不会出现在连接的计算资源列表中。

要列出计算资源，必须满足自动连接 EC2 实例和 ElastiCache 缓存时相同的条件。

**查看连接到 ElastiCache 缓存的计算资源**

1. 登录 Amazon Web Services 管理控制台并打开 ElastiCache 控制台

1. 在导航窗格中，选择**缓存**，然后选择 Valkey 或 Redis OSS 缓存。

1. 在**连接和安全性**选项卡上，查看**设置计算连接**中的计算资源。  
![\[连接的计算资源。\]](http://docs.amazonaws.cn/AmazonElastiCache/latest/dg/images/ec2-elasticache-connected_resources.png)