访问 Amazon VPC 中 ElastiCache 缓存的访问模式 - Amazon ElastiCache
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

访问 Amazon VPC 中 ElastiCache 缓存的访问模式

亚马逊 ElastiCache 支持以下场景访问亚马逊 VPC 中的缓存:

当 ElastiCache 缓存和亚马逊 EC2 实例位于同一 Amazon VPC 中时访问缓存

最常见的用例是部署在 EC2 实例上的应用程序需要连接到同一 VPC 中的缓存。

下图阐明了此方案。

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

管理同一 VPC 中 EC2 实例和缓存之间访问的最简单方法是执行以下操作:

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

    Memcached 缓存的默认端口为 11211

    Valkey 和 Redis OSS 缓存的默认端口为 6379

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

  3. 在安全组中为您的缓存创建自定义规则,允许来自您为 EC2 实例创建的安全组的连接。这将允许安全组的任何成员访问缓存。

注意

如果您计划使用 Local Zones,请确保已将其启用。当您在该本地区域中创建子网组时,您的 VPC 也会扩展到该本地区域,并且您的 VPC 会将该子网视为任何其他可用区中的任何子网。所有相关网关和路由表都将自动调整。

在 VPC 安全组中创建允许从另一安全组连接的规则
  1. 登录 Amazon 管理控制台并在 https://console.aws.amazon.com/vpc 上打开 Amazon VPC 控制台。

  2. 在导航窗格中,选择安全组

  3. 选择或创建将用于缓存的安全组。在入站规则下,选择编辑入站规则,然后选择添加规则。此安全组将允许访问其他安全组的成员。

  4. Type 中选择 Custom TCP Rule

    1. 对于端口范围,请指定在创建缓存时使用的端口。

      Memcached 缓存的默认端口为 11211

      Valkey 和 Redis OSS 缓存和复制组的默认端口为 6379

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

  5. 完成后选择 Save

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

当 ElastiCache 缓存和 Amazon EC2 实例位于不同的亚马逊时访问缓存 VPCs

当您的缓存与您用来访问缓存的 EC2 实例位于不同的 VPC 中时,可以通过多种方式访问缓存。如果缓存和 EC2 实例位于不同 VPCs 但位于同一区域,则可以使用 VPC 对等互连。如果缓存和 EC2 实例位于不同的区域,则可以在区域之间创建 VPN 连接。

 

当 ElastiCache 缓存和 Amazon EC2 实例位于同一地区的不同亚马逊 VPCs 时,访问缓存

下图说明了亚马逊 EC2 实例使用亚马逊 VPC 对等连接访问同一地区不同 Amazon VPC 中的缓存。

图片:该图显示了应用程序和 ElastiCache 同一区域 VPCs 的不同情况

同一区域内不同 Amazon VPC 中的亚马逊 EC2 实例访问的缓存-VPC 对等连接

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

注意

对等设备的 DNS 名称解析可能会失败 VPCs,具体取决于应用于 ElastiCache VPC 的配置。要解决这个问题, VPCs 必须同时启用 DNS 主机名和 DNS 解析。有关更多信息,请参阅实现对 VPC 对等连接的 DNS 解析

通过对等连接访问不同 Amazon VPC 中的缓存
  1. 请确保两者的 IP 范围 VPCs 不重叠,否则您将无法对等它们。

  2. 将两者同等对待 VPCs。有关更多信息,请参阅创建并接受 Amazon VPC 对等连接

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

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

    图像:VPC 路由表屏幕截图

    VPC 路由表

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

通过对等连接访问缓存会产生额外的数据传输费用。

使用 Transit Gateway

传输网关使您能够在同一 Amazon 区域连接 VPCs 和 VPN 连接,并在它们之间路由流量。公交网关跨 Amazon 账户运行,您可以使用 Resource Acc Amazon ess Manager 与其他账户共享您的公交网关。在您与其他账户共享公交网关后, Amazon 账户所有者可以将其 VPCs 连接到您的公交网关。任一账户的用户都可以随时删除此挂载。

您可以在中转网关上启用多播,然后创建一个中转网关多播域,允许通过与域关联的 VPC 挂载,将多播流量从多播源发送到多播组成员。

您还可以在不同 Amazon 区域的中转网关之间创建对等连接连接。这使您能够跨不同区域在中转网关的挂载之间路由流量。

有关更多信息,请参阅中转网关

当 ElastiCache 缓存和 Amazon EC2 实例位于不同 VPCs 地区的不同亚马逊时,访问缓存

使用 Transit VPC

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

图片:该图显示了不同区域 VPCs 的不同地区之间的连接

跨越不同 VPCs 地区的不同连接

建立 Transit Amazon VPC 后,部署在一个区域的 “分支” VPC 中的应用程序可以连接到另一个区域中 “分支” VPC 中的 ElastiCache 缓存。

访问不同 Amazon 区域内不同 VPC 中的缓存
  1. 部署传输 VPC 解决方案。有关更多信息,请参阅 Amazon Transit Gateway

  2. 更新应用程序和缓存中的 VPC 路由表, VPCs 以通过 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 连接。有关更多信息,请参阅 Di Amazon rect Connect 入门

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

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