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

时间:2014-10-01 06:40:16

标签: amazon-web-services amazon-ec2 redis

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

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

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

这应该让你最初去。