问题标签 [aws-security-group]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 如何为内部和外部请求配置面向 AWS Internet 的 LB ScurityGroup
我很难弄清楚如何为我的 LoadBalancer 设置正确的 SecurityGroup 规则。我做了一个图表来尝试说明这个问题,请看下图:
我有一个面向 Internet 的 LoadBalancer(图中的“Service A LoadBalancer”),它是从“内部”和我们的一个 ECS 服务(图中的“Task B”)请求的。对于内部请求,我可以为“Service A LoadBalancer”配置一个 SecurityGroup 规则,该规则允许从我们的内部 IP 的 CIDR 向端口 80 上的 LoadBalancer 传入请求。那里没问题。但是对于其他 ECS 服务任务 B,我将如何添加仅允许来自任务 B 的请求的规则(对于图中的“服务 A 安全组”)?(或仅来自 ECS 集群中的任务)。由于它是面向互联网的负载均衡器,因此请求来自机器 EC2 的公共 IP,而不是私有 IP(据我所知?)。
我显然可以制定一个规则,允许来自 0.0.0.0/0 的端口 80 上的请求,这会起作用,但这还远远不够严格。并且由于它是面向 Internet 的 LoadBalancer,因此添加一条允许来自“Cluster SecurityGroup”(在图中)的请求的规则不会削减它。我认为这是因为 LB 无法推断请求来自哪个 SecurityGroup,因为它是面向互联网的 - 如果它是内部 LoadBalancer,这将起作用。但我不能使用内部 LoadBalancer,因为它也是从外部 AWS(内部)请求的。
任何帮助都将不胜感激。
谢谢弗雷德里克
amazon-web-services - AWS:允许从私有实例访问面向 Internet 的负载均衡器的安全组
我的问题是这个的扩展版本。
在我的情况下,安全组必须限制对负载均衡器 1 的访问。它必须有一些列入白名单的 IP。那么,我可以在此处放置哪些 IP 以允许从 Auto Scaling Group 2 私有实例访问负载均衡器 1?
我尝试将 NAT 网关的弹性 IP 作为列入白名单的 IP 并且它可以工作。我想了解为什么绝对有必要将此 IP 放在安全组中以从同一 VPC的私有子网实例访问面向 Internet 的 ALB 。
amazon-web-services - AWS:如何允许同一 VPC 中所有实例之间的所有 TCP 流量?
我正在按需设置 EMR 集群,并将 Windows EC2 服务器作为工作站,将 linux EC2 服务器作为辅助服务器。都在同一个 VPC 中。我想避免每次实例出现新 IP 时都必须设置安全组规则。
我如何简单地允许任何流量在同一 VPC 中的所有服务器之间自由流动?
谢谢!
编辑-感谢您的答复,我知道这在生产中不是很好的做法,但是我们正在处理一些问题,以追踪我们认为是由端口引起的功能,这只是一个探索阶段,这将对我们有所帮助。谢谢!
amazon-web-services - AWS,需要将一个特定的安全组分配给一个 RDS DB
我在 RDS 中创建了 3 个数据库实例(一个 Postgres、一个 MySQL、一个 SQL Server)。我能够在家中使用我的 Mac 连接并使用所有 3 个组件,因此所有组件似乎都已就位并正常工作。
我创建了 3 个安全组 (VPC),每个数据库一个...
...并希望将每个安全组分配给其关联的数据库(PG_DB_SECGRP => Postgres 等...)。当我使用 Instance Modify 屏幕(RDS -> Instances -> [pick a DB instance] -> Instance Actions -> Modify)查看列表时,我看到所有安全组,包括默认组,分配给所有数据库。似乎在创建新安全组时,它会自动与所有数据库关联。
首先,我为每个数据库创建一个安全组(上面列出)来保护每个数据库的计划是否合理?同样,我是 AWS 新手,不确定自己的立足点。如果这是一件合理的事情,我怎样才能将所有不需要的组与数据库解除关联?IOW,我怎样才能将它们从列表中删除?似乎没有办法通过 gui 做到这一点。
我相信我获得的访问权限是通过启动数据库实例时创建的默认安全组。如果我成功解除默认安全组与数据库的关联,然后删除默认安全组,将通过我为数据库创建的剩余安全组(列表中剩余的安全组)获取对数据库实例的访问?
ssl - 请求 https:// 连接时网站不加载
我有一个托管在 AWS [EC2 实例 + nginx 服务器] 上的网站。我使用 AWS 证书管理器生成了 SSL 证书。证书已添加到负载均衡器和其中的 HTTPS 条目。443端口也在安全组中开放。
当我访问该站点时,没有加载“https://..”并抛出消息“连接被拒绝..”。
当我尝试连接/telnet 到端口 443 时,它说unable to connect to remote host
。
nginx.conf
文件 :
并且在 nginx.conf 中包含的“sites-enabled”文件夹中还有一个“默认文件”。如下:
amazon-web-services - 安全组不使用不在 vpc 中的 ec2
我有一个实例 m3 大,实例和安全组都在 vpc 之外。我在端口 5674 上运行一个简单的服务器应用程序。端口 5674 对安全组中的所有人开放。给定公共 IP 后,我的客户端代码仍然无法访问该端口。它给出的错误是EHOSTUNREACH
在服务器端,这是响应
网络统计-atn
tcp6 0 0 :::5674 :::* LISTEN
在客户端
netcat -v myPublicIp 5674
connect to myPublicIp port 5674 (tcp) failed: No route to host
可能是什么原因 ?如果我将localhost作为主机,则相同的客户端程序可以工作。
它甚至不能在同一个系统上工作。
amazon-web-services - 如何允许特定访问 AWS 上的 EC2 实例?
我喜欢只为来自另一个国家的 ip 打开 ssh 入站规则。我在越南有开发商。我喜欢允许访问我的实例以获取他在越南的 ip。
例如,他的 ip 是 192.108.0.14。
所以我为ip地址192.108.0.14/32设置了入站规则SSH端口22但是他说不能访问。
所以现在我改为0.0.0.0/0。那不是保存,我不喜欢它。
为什么我不能让他的 ip 地址访问我的 EC 实例?我的入站规则有什么问题?
emr - 用于创建默认 EMR 托管安全组的 aws cli 命令是什么?
使用 EMR Web 控制台时,您可以创建集群,AWS 会自动创建名为“ElasticMapReduce-master”和“ElasticMapReduce-slave”的 EMR 托管安全组。您如何通过aws
cli 创建它们?
我找到了aws emr create-default-roles
,但是没有aws emr create-default-security-groups
。
amazon-web-services - AWS EC2 CLI 为 describe-security-groups 提供不一致的结果
我有两个不同的安全组要查询,让我们调用它们sg-xxx
和sg-yyy
. 我正在运行以下命令以获取有关每个组中哪些 IP 的详细信息:
当我使用 运行命令行时sg-xxx
,我得到类似于以下内容的输出:
但是,当我使用 运行相同的命令行时sg-yyy
,它包含不使用端口的条目22
:
任何人都遇到过与此命令行类似的问题,并且有人知道如何解决这个问题吗?
如果这是预期的行为,有没有办法获得匹配的规则tcp port 22
?
security - 您可以将 AWS 安全组配置为具有子组或嵌套组吗?
TLDR
我们在单个安全组中有很长的 IP 地址列表,很难管理。AWS 让您感觉您可以拥有嵌套组,但您不能。我对吗?
背景
我在配置和使用安全组方面没有任何问题。问题更加微妙,这设置了背景。
我们将安全组配置为对开发实例/服务的访问列入白名单。由于我们的配置模式是白名单,因此我们必须一直添加新的 IP 地址,具体取决于团队成员的工作地点。以及没有静态 IP 地址的蹩脚 ISP。
这不是问题。但是想象一下越来越多的 IP 地址。
问题
有时我们喜欢删除这个白名单(因为糟糕的 ISP),并确保 IP 地址是相关的、最新的并且应该仍然在白名单上。
我们发现自己不愿意这样做,因为目前有效“清理”白名单的唯一方法是分箱并重新开始。
AWS 似乎没有提供一种在安全组规则中标记记录或允许嵌套安全组的简洁方法。
当前的解决方法
拥有大量(可能数百个)独立的安全组,并确保它们始终连接到相关服务。
优点:易于标记/识别 IP 地址(例如 Bob 的家庭 IP),因此 Bob 可以删除旧 IP 地址并替换为新 IP 地址。
缺点:必须将每个安全组附加到相关实例,并且此列表可能会变得很长。
保留单独的 IP/查找列表,并拥有一个安全组
Pro:意味着您只需要一个安全组。
缺点:必须保持两个列表是最新的,这不是很实用,而且会出现不匹配的情况。
某种自动化。构建一个定期检查安全组的服务,并将这些 IP 与一些基本的 geo-ip/ISP 信息一起存储在 DynamoDB 中。用作参考。
优点:与#2 类似,但自动化。不是 100% 准确,因为地理 IP 查找从来都不是。
缺点:必须为感觉应该已经存在的东西编写和维护实用程序。
有希望的解决方案
子/嵌套安全组。AWS 配置界面实际上暗示您可以做到这一点 - 但它没有按预期工作。EG 主安全组具有允许来自其他安全组的入站流量的规则——这些安全组又将 IP 地址逻辑分组在一起。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
当您将安全组指定为规则的源时,这将允许与源安全组关联的实例访问该安全组中的实例。(请注意,这不会将来自源安全组的规则添加到此安全组。)
我发现该文档有点矛盾。从实验来看,它不起作用。
标记每条记录。这显然不存在,将是 AWS 的功能请求。
我错过了什么吗?其他人如何管理大型安全组?