AWS 安全组不允许入站流量

Posted

技术标签:

【中文标题】AWS 安全组不允许入站流量【英文标题】:AWS Security Group Not Permitting Inbound Traffic 【发布时间】:2012-10-24 05:08:03 【问题描述】:

我想让app-server 组中的节点与database 组中的mysql 和redis 机器通信。但是,我只能使显式 IP 用于入口规则。当我尝试定义组时,为了使自动缩放更容易,流量被阻止。

这是我的设置

当我跑步时

ec2-describe-group database

我明白了

PERMISSION      890752071609    database        ALLOWS  tcp     3306    3306    FROM    USER    890752071609    NAME default    ID sg-5ce3766c  ingress
PERMISSION      890752071609    database        ALLOWS  tcp     3306    3306    FROM    USER    890752071609    NAME app-server ID sg-b81b8088  ingress
PERMISSION      890752071609    database        ALLOWS  tcp     6379    6379    FROM    USER    890752071609    NAME default    ID sg-5ce3766c  ingress
PERMISSION      890752071609    database        ALLOWS  tcp     6379    6379    FROM    USER    890752071609    NAME app-server ID sg-b81b8088  ingress
PERMISSION      890752071609    database        ALLOWS  tcp     0       65535   FROM    USER    890752071609    NAME database   ID sg-d262f1e2  ingress
PERMISSION      890752071609    database        ALLOWS  tcp     22      22      FROM    CIDR    0.0.0.0/0       ingress

但是,当我尝试使用 redis-cli 从 app-server 组中的机器连接到端口 6379 时,我收到了 redis 超时错误。

如果我明确添加要连接的服务器的弹性 IP,像这样

PERMISSION      890752071609    database        ALLOWS  tcp     3306    3306    FROM    CIDR    111.snip.25/32        ingress
PERMISSION      890752071609    database        ALLOWS  tcp     6379    6379    FROM    CIDR    222.snip.25/32        ingress

redis-cli 调用有效。但是,我希望更加灵活,而是添加整个安全组。

amazon docs 状态

通过将安全组指定为源,您允许来自属于源安全组的所有实例的传入流量。您允许的传入流量基于源安全组中实例的私有 IP 地址。如果您正在创建三层 Web 服务(请参阅创建三层 Web 服务),您可以在您的帐户中指定另一个安全组。

这应该可行,不是吗?我做错了什么?

【问题讨论】:

【参考方案1】:

检查/尝试的一些建议:

    AWS sec 组允许跨区域规则。不知道你们的Redis机器是不是在同一个地区。 尝试从 AWS Web Interface 或 Dome9 控制台 (www.dome9.com) 创建此设置,以确保没有未显示的隐藏设置。

不要失去希望 - 这种设置应该有效 - AWS sec 组是为此用例设计的。

【讨论】:

谢谢 Froyke,原来是我的地区问题。

以上是关于AWS 安全组不允许入站流量的主要内容,如果未能解决你的问题,请参考以下文章

入站流量的 AWS 安全组

AWS考证方向:AWS实例安全组设置

AWS 安全组设置指南

自引用 aws 安全组

在 AWS EC2 中,没有入站规则的安全组是啥意思?

AWS 安全组包括另一个安全组