在Amazon ec2实例上托管redis服务器的最佳实践?

sai*_*hna 2 amazon-ec2 amazon-web-services redis

我是redis的新手,现在我正试图在亚马逊EC2实例上主持redis.我的问题是我们需要一个完整的新EC2实例来托管redis,还是我们可以在托管服务器的地方使用相同的实例.哪个是最好的做法,请建议我.提前致谢

and*_*scu 5

这取决于您期望的服务器负载以及扩展基础架构的计划.

答:如果您希望水平扩展(添加越来越多的EC2实例),那么您应该将Redis移动到它自己的机器上,以便您可以将Web服务器实例与数据库分离

B.如果您只是想垂直扩展(越来越多地升级您的EC2实例),或者您不希望流量超过当前分配的资源,那么您可以继续将Redis托管在与Web相同的计算机上服务器.在这种情况下,您应确保每个服务器(DB和WebServer)至少获得一个核心.

C.如果您使用redis进行缓存,而不是所有Web服务器实例的数据库,您可以继续进行设置,其中每个Web服务器都有自己的Redis缓存实例.此外,在这种情况下,请确保每个服务器都有足够的RAM和CPU资源.

编辑:对于案例A,这是典型场景的样子

  • 创建两个安全组,一个用于Web服务器(secWeb),一个用于DB层(secDB)
  • secWeb只打开端口80和443(http/s)
  • secDB仅为来自secWeb的流量(或您定义的redis运行端口)打开端口6379
  • 设置两个初始EC2实例(一个用于Web服务器,一个用于DB)并在其上安装所有内容
  • 将弹性IP分配给Redis实例,并将Web服务器配置为通过此IP:端口连接到redis
  • 在Web服务器实例前创建一个ELB实例,并使用ELB端点作为主流量(您可以从主域DNS区域分配指向它的CNAME)
  • 根据您的首选项为EC2 Web服务器设置自动调节策略

这应该让你最初去.