Amazon ElastiCache
用户指南 (API Version 2015-02-02)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

用于访问 Amazon VPC 中的 ElastiCache 群集的访问模式

Amazon ElastiCache 支持以下访问 Amazon VPC 中的群集的方案:

当 ElastiCache 群集与 Amazon EC2 实例在同一 Amazon VPC 中时访问 ElastiCache 群集

最常见的用例是,当 EC2 实例上部署的应用程序需要连接到同一 VPC 中的集群时。

下图阐明了此方案

图像:显示同一 VPC 中的应用程序和 ElastiCache 的示意图

要管理相同的 VPC 中 EC2 实例与数据库实例之间的访问的最简单方法是执行以下操作:

  1. 为群集创建 VPC 安全组。此安全组可用于限制对群集实例的访问权限。例如,可为此安全组创建自定义规则,允许使用您创建群集时分配给该群集的端口以及将用来访问群集的 IP 地址进行 TCP 访问。

    默认端口

    • Memcached:11211

    • Redis:6379

  2. 为 EC2 实例 (Web 和应用程序服务器) 创建 VPC 安全组。如果需要,此安全组可允许通过 VPC 的路由表从 Internet 访问 EC2 实例。例如,您可设置此安全组的规则以允许通过端口 22 对 EC2 实例进行 TCP 访问。

  3. 在群集的安全组中创建自定义规则,允许从为 EC2 实例创建的安全组连接。这将允许安全组的任何成员均可访问数据库实例。

在 VPC 安全组中创建允许从另一安全组连接的规则

  1. 登录 AWS 管理控制台,并通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc

  2. 在导航窗格中,选择 Security Groups

  3. 选择或创建一个要用于群集实例的安全组。选择 Add Rule。此安全组将允许访问其他安全组的成员。

  4. Type 中选择 Custom TCP Rule

    1. 对于 Port Range,指定在创建群集时使用的端口。

      默认端口

      • Memcached:11211

      • Redis:6379

    2. Source 框中,开始键入安全组的 ID。从列表中选择要用于 Amazon EC2 实例的安全组。

  5. 完成后选择 Save

    图像:入站 VPC 规则编辑屏幕

当 ElastiCache 群集与 Amazon EC2 实例在不同 Amazon VPC 中时访问 ElastiCache 群集

当您的集群与您用来访问它的 EC2 实例位于不同 VPC 中时,可通过多种方式访问数据库实例。如果集群和 EC2 实例位于不同的 VPC 中但位于相同区域中,则可使用 VPC 对等。如果集群和 EC2 实例位于不同的区域中,您可以在两个区域之间创建 VPN 连接。

 

当 ElastiCache 群集与 Amazon EC2 实例在同一区域的不同 Amazon VPC 中时访问 ElastiCache 群集

下图说明同一区域中不同 Amazon VPC 中的 Amazon EC2 实例使用 Amazon VPC 对等连接访问群集的情况。

图像:显示同一区域中不同 VPC 中的应用程序和 ElastiCache 的示意图

同一区域中不同 Amazon VPC 中的 Amazon EC2 实例访问集群 - VPC 对等连接

VPC 对等连接是两个 VPC 之间的网络连接,通过此连接,您可以使用私有 IP 地址在这两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。您可以在自己的 Amazon VPC 之间创建 VPC 对等连接,或与同一区域内其他 AWS 账户中的 Amazon VPC 创建这种连接。要了解有关 Amazon VPC 对等的更多信息,请参阅 VPC 文档

通过对等连接访问不同 Amazon VPC 中的群集

  1. 确保两个 VPC 的 IP 范围不重叠,否则无法使其对等。

  2. 使两个 VPC 对等。有关更多信息,请参阅创建并接受 Amazon VPC 对等连接

  3. 更新路由表。有关更多信息,请参阅为 VPC 对等连接更新路由表

    下面是上图中示例的路由表的形式。请注意,pcx-a894f1c1 是对等连接。

    图像:VPC 路由表屏幕截图

    VPC 路由表

  4. 修改 ElastiCache 群集的安全组,以允许来自对等 VPC 中的应用程序安全组的入站连接。有关更多信息,请参阅引用对等 VPC 安全组

通过对等连接访问集群将产生额外的数据传输费用。

 

当 ElastiCache 群集与 Amazon EC2 实例在不同区域的不同 Amazon VPC 中时访问 ElastiCache 群集

一种连接地理位置不同的多个 VPC 和远程网络的常见策略是,创建一个可充当全球网络传输中心的传输 VPC。传输 VPC 可简化网络管理,并最大程度地减少连接多个 VPC 和远程网络时所需的连接数。此设计可以节省时间和工作量并降低成本,因为它的实施几乎消除了在托管传输中心建立实体办事处或部署物理网络设备时所需的传统费用。

图像:显示跨不同区域中的不同 VPC 进行连接的示意图

跨不同区域中的不同 VPC 进行连接

建立传输 Amazon VPC 后,在一个区域中的“辐射型”VPC 中部署的应用程序可以连接到另一个区域中的“辐射型”VPC 中的 ElastiCache 集群。

访问在不同区域的不同 VPC 中的群集

  1. 部署传输 VPC 解决方案。有关更多信息,请参阅如何在 AWS 上构建全球传输网络?

  2. 更新应用和缓存 VPC 中的路由表,以通过 VGW (虚拟专用网关) 和 VPN 设备路由流量。对于使用边界网关协议 (BGP) 的动态路由,可自动传播您的路由。

  3. 修改 ElastiCache 群集的安全组,以允许来自该应用程序实例 IP 范围的入站连接。请注意,这种情况下,无法引用该应用程序服务器安全组。

跨区域访问集群将造成网络连接延迟并产生其他跨区域数据传输费用。

从在客户的数据中心中运行的应用程序访问 ElastiCache 群集

另一种可能的方案是混合架构,客户数据中心内的客户端或应用程序可能需要访问 VPC 中的 ElastiCache 集群。此方案也受支持,前提是客户的 VPC 和数据中心之间已通过 VPN 或 Direct Connect 建立连接。

 

使用 VPN 连接从在客户的数据中心中运行的应用程序访问 ElastiCache 群集

下图说明如何使用 VPN 连接从企业网络中运行的应用程序访问 ElastiCache 集群。

图像:显示从数据中心或通过 VPN 连接到 ElastiCache 的示意图

从数据中心或通过 VPN 连接到 ElastiCache

通过 VPN 连接从本地应用程序中访问 VPC 中的群集

  1. 通过向 VPC 中添加硬件虚拟专用网关来建立 VPN 连接。有关更多信息,请参阅在您的 VPC 中添加硬件虚拟专用网关

  2. 更新部署 ElastiCache 群集所在子网的 VPC 路由表,以允许来自本地应用程序服务器的流量。对于使用 BGP 的动态路由,可自动传播您的路由。

  3. 修改 ElastiCache 群集的安全组,以允许来自本地应用程序服务器的入站连接。

通过 VPN 连接访问集群将造成网络连接延迟并产生其他数据传输费用。

 

使用 Direct Connect 从在客户的数据中心中运行的应用程序访问 ElastiCache 群集

下图说明如何使用 Direct Connect 从企业网络中运行的应用程序访问 ElastiCache 集群。

图像:显示从数据中心或通过 Direct Connect 连接到 ElastiCache 的示意图

从数据中心或通过 Direct Connect 连接到 ElastiCache

使用 Direct Connect 从在您的网络中运行的应用程序访问 ElastiCache 群集

  1. 建立 Direct Connect 连接。有关更多信息,请参阅 AWS Direct Connect 入门

  2. 修改 ElastiCache 群集的安全组,以允许来自本地应用程序服务器的入站连接。

通过 DX 连接访问集群可能会造成网络连接延迟并产生其他数据传输费用。