【问题标题】:AWS ElasticBeanstalk Security GroupsAWS ElasticBeanstalk 安全组
【发布时间】:2018-03-05 09:07:01
【问题描述】:

我有一个使用带有负载均衡器的 ElasticBeanstalk (EB) 启动的 Web 应用程序,可以根据触发器添加/删除哪些实例。 现在我有一个托管在 EC2 上的 Redis 服务器,端口为 6379,我只希望这个 EB 实例(由这个 EB 启动的所有实例)可以访问该端口。 EB 有一个名为sg-eb 的安全组(SG),Redis 有一个名为sg-redis 的SG。

所有这些都部署在同一个 VPC 下,但可能是也可能不是同一个子网。

如何配置sg-redis,让EB下的所有实例都可以访问redis?我尝试将 sg-eb 添加到 sg-redis 允许端口 6379 但没有运气。我让它工作的唯一方法是将每个实例的公共 IP 添加到 sg-redis 以便他们可以访问。不过,如果负载均衡器添加/删除实例,我需要再次手动配置 sg-redis

更新 #1

【问题讨论】:

  • 您能否分享一些您的设置图片以便我们提供帮助?到目前为止,您提到的内容理论上应该可行:)
  • “我尝试将 sg-eb 添加到 sg-redis 允许端口 6379 但没有运气”这就是您在安全组中应该做的所有事情。确保 EB 服务器通过其私有 IP 地址引用 EC2 Redis 服务器。
  • EB环境和redis box在同一个VPC里面吗?
  • @mostafazh 请查看更新后的图片。
  • redis ec2 实例将有 2 个 ip,一个公有,一个私有。您可以在 ec2 管理控制台上选择实例时找到它们。确保您通过此内部 ip 连接到该 ec2 实例

标签: amazon-web-services amazon-ec2 redis amazon-vpc aws-security-group


【解决方案1】:

Redis EC2 实例将有 2 个 IP,一个公共 IP 和一个私有 IP。您可以在 EC2 管理控制台上选择实例时找到它们。确保您通过此内部 IP 连接到该 EC2 实例。

【讨论】:

  • @lancelot 如果尝试连接到公共 IP,mongodb 会接受连接吗?确保 mongodb 服务器没有监听(绑定)本地主机,而是监听所有网络接口。您可以在这里找到更多关于 mongodb 配置的信息stackoverflow.com/a/18413175
  • 是的,它没有收听 locolhost 并使用公共 IP 进行连接。这是私有 IP 无法正常工作,错误提示“身份验证失败”
  • 如果 mongodb 回复身份验证失败,这看起来不像是安全组问题。我的建议是在您确认用户密码或其他类似的愚蠢问题没有问题后,针对此问题发布一个新问题?
猜你喜欢
  • 2020-12-06
  • 1970-01-01
  • 2020-09-02
  • 2020-11-01
  • 2021-06-02
  • 2016-06-07
  • 2016-09-14
  • 2018-04-14
相关资源
最近更新 更多