标签: aws-security-group

从AWS Lambda发送https到AWS Elastic beantalk服务器

我正在努力使AWS lambda能够将HTTPS POST请求发送到AWS Elastic beantalk服务。弹性beantalk提供Web和Web服务,并且运行良好。lambda正在使用AWS elasticache进行一些计算(效果很好),然后决定是否将HTTPS POST发送到beantalk URL。

Lambda用编写node.js。POST尝试后大约2分钟,我收到以下超时消息:

[Error: connect ETIMEDOUT X.Y.Z.W:443] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect', address: 'X.Y.Z.W', port: 443 
Run Code Online (Sandbox Code Playgroud)

我在弹性bean nginx访问日志中没有看到请求的指示。

因此,我的理解是安全组设置不正确。

我排除了使用弹性beantalk阻止此类连接的选项-lambda使用的URL具有外部域名,可以从任何浏览器使用该URL,并且可以正常工作。

因此,我得出的结论是,lambda安全性阻止了这种连接。因此-我完全打开了lambda安全组,可以从任何地方进行“所有流量”操作-我仍然遇到此问题。

有任何想法吗?

amazon-elastic-beanstalk aws-lambda aws-security-group

1
推荐指数
1
解决办法
791
查看次数

您是否可以将AWS安全组配置为具有子组或嵌套组?

TLDR

我们在一个安全组中有很长的IP地址列表,很难管理.AWS使您感觉可以拥有嵌套组,但您不能.我对吗?

背景

配置和使用安全组时没有任何问题.这个问题更加微妙,这就是背景.

我们将安全组配置为将访问开发实例/服务列入白名单.由于我们的配置模式是白名单,我们必须始终不断添加新的IP地址,具体取决于团队成员的工作地点.没有静态IP地址的蹩脚ISP.

这不是问题.但想象一下IP地址日益混乱.

问题

有时我们希望删除此白名单(因为蹩脚的ISP)并确保IP地址是相关的,最新的并且仍然应该在白名单上.

我们发现自己不愿意这样做,因为目前有效"清理"白名单的唯一方法就是装箱并重新开始.

AWS似乎没有提供一种简洁的方法来标记安全组规则中的记录,或者允许嵌套安全组.

目前的工作

  1. 拥有许多(可能是数百个)单独的安全组,并确保它们始终附加到相关服务.

    Pro:易于标记/识别IP地址(例如Bob的家庭IP),因此Bob可以删除旧IP地址并替换为新IP地址.

    Con:每个安全组必须附加到相关实例,此列表可能会很长.

  2. 保留单独的IP /查找列表,并拥有一个安全组

    Pro:意味着您只需要一个安全组.

    骗局:必须保持两个列表是最新的,不太实际,你会得到不匹配.

  3. 某种自动化.构建定期检查安全组的服务,并将这些IP与一些基本的geo-ip/ISP信息一起存储在DynamoDB中.用作参考.

    Pro:喜欢#2但是自动化.不是100%准确,因为geo-ip查找永远不会.

    Con:必须编写和维护该实用程序,使其感觉应该已经存在.

希望解决方案

  1. 子/嵌套安全组.AWS配置界面实际上意味着您可以执行此操作 - 但它无法按预期工作.EG主安全组具有允许来自其他安全组的入站流量的规则 - 这些规则又将IP地址逻辑分组在一起.

    http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html

    指定安全组作为规则的源时,这允许与源安全组关联的实例访问安全组中的实例.(请注意,这不会将源安全组中的规则添加到此安全组.)

    我发现文档有点矛盾.从实验来看,它不起作用.

  2. 标记每条记录.这显然不存在,并且将成为AWS的功能请求.

我错过了什么吗?其他人如何管理大型安全组?

security amazon-web-services aws-security-group

1
推荐指数
1
解决办法
4082
查看次数

无法通过公共IP地址在同一安全组中的两个ec2实例之间进行通信?

我无法使用public ip连接到同一安全组中的另一个ec2实例.如果我尝试使用公共DNS名称和私人IP连接,它是工作精细.到目前为止我做了什么:*创建了两个ec2公共实例.*将两个实例附加到安全组sg-12345*添加入站规则 - 所有流量,source = sg-12345 - SSH端口= 22,source = MY ip(这是从我的桌面登录到我的ec2实例)在此先感谢.

amazon-ec2 amazon-web-services aws-security-group

1
推荐指数
1
解决办法
1663
查看次数

AWS安全组出口上的-1协议是什么意思?

我了解egressAWS安全组上的属性控制出站流量,但是没有人知道-1协议的含义吗?

resource "aws_security_group" "elb" {
  name = "example-elb”
  ingress {
    from_port = 80
    to_port = 80
    protocol = "tcp”
    cidr_blocks = [" 0.0.0.0/ 0”]
  }
  egress {
    from_port = 0
    to_port = 0
    protocol = "-1"
    cidr_blocks = [" 0.0.0.0/ 0"] }
}
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-security-group

1
推荐指数
1
解决办法
900
查看次数

AWS EC2 Security组通过HTTP访问自身

默认的AWS安全组在Source字段中引用自身,这表明实例可以与其自身进行通信:

在此处输入图片说明

但是,通过SSH登录到实例并尝试通过DNS名称将其卷曲以解析为公共实例的IP会导致卷曲超时错误。

我想出的唯一解决方案是将实例的公共IP而不是sec组ID添加到安全组中,但是它不灵活-我不希望有任何高度关注的安全组。

为什么分配给实例的默认安全组不允许来自实例本身的所有流量?

amazon-ec2 amazon-web-services aws-security-group

1
推荐指数
1
解决办法
478
查看次数

AWS实例仅允许来自负载均衡器的流量

我有一个负载均衡器和自动伸缩组。负载平衡器将流量发送到我的自动伸缩组。我有两个实例:实例7000(正在侦听端口7000,它是自动扩展组的一部分,并从负载均衡器获取其流量)和实例8545(正在侦听端口8545,只是一个单独的实例,即(不属于负载均衡器或Auto-Scaling组)。

我有一个负载平衡器安全组(“ LB-SG”)和实例8545(“ App-SG”)的安全组。我希望实例8545仅允许来自属于负载均衡器/自动扩展组的实例的流量。因此,我将“ LB-SG”作为端口8545上“ App-SG”的入站规则包括在内,但它不起作用。但是,如果我只是将端口8545上的实例7000的IP地址作为入站规则包含在“ LB-SG”中,则效果很好。但这不能解决我的问题,因为如果自动扩展组添加了更多实例或更改了IP地址,则它将无法正常工作。

编辑:为清楚起见改写

load-balancing amazon-ec2 amazon-web-services aws-security-group elastic-load-balancer

1
推荐指数
2
解决办法
2805
查看次数

安全组的使用与角色

我有一个创建用于访问RDS postgresql实例和Elasticcache集群的AWS Lambda。为了访问RDS实例,我相信RDS和Elasticache都需要打开然后进入端口以供lambda访问。我还看到了允许lambda访问elasticache和RDS的策略。这些策略适用于分配给AWS lambda的角色。在这种情况下角色和安全组的目的是什么?

amazon-web-services amazon-rds amazon-iam aws-lambda aws-security-group

1
推荐指数
1
解决办法
379
查看次数

AWS CloudFormation:SecurityGroup 指的是另一个安全组

当该部分已满时,此代码会抛出“组描述为空”。

Resources:
  FormulationSG:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      Tags:
        - Key: 'Name'
          Value: 'FormulationSG'
      VpcId: 'vpc-yyy00yyy'
      GroupDescription: 'Port Rules for Formulation and on Port 11.'
      SecurityGroupIngress:
        - IpProtocol: tcp
          CidrIp: 192.168.0.0/8
          FromPort: '11'
          ToPort: '11'
        - IpProtocol: tcp
          FromPort: '91'
          ToPort: '91'
          SourceSecurityGroupName: 'sg-1234567'
Run Code Online (Sandbox Code Playgroud)

忽略所有已更改的数字,但我遇到的问题是,一旦我尝试获取现有安全组“sg-1234567”,它就会给我一条错误消息,指出组描述已在引号中时无效。

yaml amazon-web-services aws-cloudformation aws-security-group

1
推荐指数
1
解决办法
3050
查看次数

为什么 AWS NACL 是无状态的?

据我所知,无状态防火墙更多地用于数据包过滤。为什么 AWS NACL 是无状态的?

NACL 强制为临时端口打开的端口范围太大。

除了安全组,还有其他方法可以在 AWS 上创建有状态防火墙吗?安全组感觉过于细化,可能会被错误地忽略。

amazon-web-services amazon-vpc aws-security-group aws-nacl

1
推荐指数
1
解决办法
2064
查看次数

为什么要在 aws 安全组的入站 IP 地址中指定 cidr 范围

例如,在AWS安全组中,我们指定了一个可以登录的IP地址,然后我们把/24或/32作为IPv6

这是指定cidr范围的唯一原因,还是我们可以做更多配置?

例如来自来源:32.232.232.11/24。为什么里面有24个?

networking amazon-web-services aws-security-group

1
推荐指数
1
解决办法
936
查看次数