当前位置: 首页 > 知识库问答 >
问题:

EC2实例如何连接到同一VPC中的ElastiCache集群?

宰父深
2023-03-14

我有一个专有网络,在每个AZ为我的EC2提供专用子网。在专有网络中,我的ElastiCache(Redis)实例也有专用子网。设置是这样的
我还有安全组和NACL来控制对子网中资源的访问
当我想从运行在其中一个EC2实例上的程序访问ElastiCache群集时,我必须指定群集endpoint-例如:

Primary Endpoint: CLUSTER_NAME.uepak9.ng.0001.euw1.cache.amazonaws.com:6379
Reader Endpoint: CLUSTER_NAME-ro.uepak9.ng.0001.euw1.cache.amazonaws.com:6379

我知道,使用读卡器endpoint可以实现读卡器实例之间的负载平衡,但由于所有资源都位于同一VPC中(并且ElastiCache实例基于EC2),因此理论上可以(但不是最佳实践)通过其专用IP直接访问ElastiCache实例
从我对文档的了解来看,没有关于ElastiCacheendpoint如何工作的更详细的解释
我假设AWS将一条DNS记录指向主要endpoint的网络负载平衡器(因为Redis使用TCP连接),将另一条记录指向读卡器endpoint的另一个网络负载平衡器。我假设这些负载平衡器指向ElastiCache实例。但所有这些都只是一组假设。

这种通过读卡器endpoint的连接是如何工作的?

主/读卡器endpoint的DNS记录是否存储在VPC之外的中央AWS DNS服务器中?

如果VPC包含ElastiCache群集,则VPC的DNS(位于*.*.2)是否有直接指向专用IP的记录-以便EC2和ElastiCache之间的流量可以留在VPC内部?

从EC2到ElastiCache的流量是否曾经通过公共互联网传输,还是始终保持在AWS的基础设施内?

共有1个答案

淳于俊迈
2023-03-14

AWS技术如何在引擎盖后面工作的内部工作原理一般不会公开,但在多个节点之间会有一些分布。

您可以在VPC之外解析ElastiCache主机,您可以通过在VPC之外运行DIG命令来重现它。

这些主机将始终解析为专有网络内的专用IP地址,因此从不存在任何公共连接。事实上,每个节点都会在VPC中启动一个ENI。

向0.0.0.0/0开放ElastiCache群集不会将群集暴露给Internet,因为它没有公共IP地址,因此无法从VPC外部访问。

除了使用VPN之外,没有直接的方式与节点通信。

有关更多信息,请参阅访问群集文档。

 类似资料:
  • 问题内容: 我们有许多应用程序使用一个位于VPC外部(经典实例)的ElasticCache实例(Redis)。一些应用程序位于VPC中,而某些应用程序位于VPC外部(经典实例)。我们如何将所有应用程序连接到缓存? 我们将VPC外部的应用程序连接到缓存没有问题,因为缓存也位于VPC外部。VPC内部的应用程序数量较少,无法连接到缓存。 谢谢。 问题答案: 无法从VPC实例直接访问经典群集。解决方法是在

  • 背景: 我有一个具有 2 个私有子网的自定义 VPC,其中包含一个位于美国西部 2 区域内的 Postgres RDS 实例,以及一个包含美国西部 2 区域内 EC2 实例的公有子网。 专用子网ACL: < li >允许端口5432上的所有入站IPv4流量 RDS 实例安全组: < li >允许端口5432上的所有入站IPv4流量 公有子网 ACL: 允许所有端口上的所有入站/出站流量 公共子网在

  • 问题内容: 我们知道不建议在Amazon实例外部访问ElastiCache,因此我们仅在Amazon EC2实例内部进行尝试。 我们有一个具有9个节点的ElastiCache Redis集群 。当我们尝试使用常规redis实现连接到它时,它会引发一些Moved错误 根据@Miller尝试了重试策略方法。还尝试过使用不稳定和稳定(可怜的人)实现的RedisCluster。 这些实现均无作用。有什么建

  • 我正在通过Redisson从Amazon EC2实例连接到AWS Elasticache Redis。在多次请求redis连接后,我遇到了以下问题,使我的程序无法执行。对于很少的redis交互请求,问题不会出现,但在大量请求之后,问题最终会发生。

  • 我已经创建了AWS ec2实例并关联到一个安全组。在关联的安全组中,我已经向所有人开放了HTTP(HTTP, TCP,80,0.0.0.0/0)、SSH(SSH, TCP,22,0.0.0.0/0)和ICMP(All ICMP, All, N/A,0.0.0.0/0)。 但当我尝试ping到实例时,它失败了;给出请求超时。入站规则设置 此外,使用PuTTY或openssh连接到实例也会失败。它给出

  • 我用默认子网和VPC创建了一个EC2实例。我还向它添加了入站和出站规则(允许从任何地方使用端口22,出站流量可以到任何地方)。< br >互联网网关也连接到VPC,路由被定义为0.0.0.0/0。 但是当尝试从我的ubuntu机器ssh时,我得到以下错误 ssh:连接到主机 ec2-13-233-87-56.ap-south-1.compute.amazonaws.com 端口 22:连接超时 但