标签: aws-security-group

负载均衡器无法得到良好的健康检查

我对 AWS 负载均衡器的工作原理感到困惑。我有一个非常简单的设置...

我有一个基于 REST 的 API,需要通过我的负载均衡器暴露到互联网(端口 80)。我只希望负载均衡器暴露于互联网流量。我为我的实例设置了一个安全组,仅出于测试目的限制对我的 IP 地址的直接访问。

负载均衡器在 http 上不受 IP 限制,它只开放端口 80(在端口 3001 上监听我的 api 服务)。问题是,如果我对相关实例设置任何 IP 限制,负载均衡器将无法看到我的实例。一旦我删除了对实例的这些限制,运行状况检查就会开始工作,我可以通过负载均衡器访问该服务。问题是我的实例现在开放了我不想要的互联网端口。

在使用 IP 限制时,我是否需要执行其他操作才能允许负载均衡器访问我的实例?

最后一点,我的健康检查工作正常,直到我添加实例级 IP 限制,所以我知道健康检查不是问题。我认为如果我将负载均衡器的 IP 添加到我的白名单中,它会起作用,但该 IP 是动态的并且不适用于此目的。

load-balancing amazon-web-services aws-security-group

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

适用于 RDS 的 AWS 安全组 - 出站规则

我有一个分配给 RDS 实例的安全组,它允许来自我们的 EC2 实例的端口 5432 流量。

但是,此安全组为所有 IP 的所有流量启用了所有出站流量。

这是安全风险吗?理想的出站安全规则应该是什么?在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?

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

4
推荐指数
2
解决办法
4493
查看次数

EC2实例'花了太长时间才回应'

我有一个基于NodeJS的站点,我目前正在尝试在AWS上的免费层上部署.

到目前为止,我已经创建了一个实例,启动它,我可以通过SSH(控制台)连接到我的实例,并成功从我的Git存储库中提取我的文件.但是,当我尝试浏览我的公共DNS时,我得到:ec2-54-252-151-208.ap-southeast-2.compute.amazonaws.com : 8080花了太长时间才回应.

我还查看了安全组的设置(根据不同帖子的建议),并确保允许入站和出站"HTTP"和"HTTPS"流量(截图如下):

入站设置: 入站设置

出站设置: 在此输入图像描述

关于还有什么可能导致这个问题的任何想法?非常感谢你的帮助.谢谢.

git amazon-ec2 amazon-web-services node.js aws-security-group

4
推荐指数
2
解决办法
4343
查看次数

为什么 Elastic Beanstalk 创建两个安全组?

我正在尝试使用 AWS Elastic Beanstalk 部署 Spring Boot 应用程序。我没有使用环境的默认设置,而是修改了“VPC”下的某些内容。在为 VPC 选择可用区域和安全组之一后,我创建了环境。 在此输入图像描述

但是,当我在创建实例后查看实例详细信息时,我注意到它与两个安全组相关联。除了我选择的安全组之外sg-98c031f3,它还有另一个新生成的安全组sg-72b94919

当我只选择一个安全组时,为什么它会为环境创建两个安全组?有没有办法删除其中一个,因为一个安全组足以处理所有规则。

amazon-web-services amazon-vpc amazon-elastic-beanstalk aws-security-group

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

为什么我们需要 AWS VPC NAT 实例?

AWS初学者在这里。这个问题是关于 AWS VPC NAT 实例的。

根据文档“您可以在 VPC 的公有子网中使用网络地址转换 (NAT) 实例来启用私有子网中的实例来启动到 Internet 或其他 AWS 服务的出站 IPv4 流量,但阻止实例接收入站由某人在 Internet 上发起的流量。”

但这不能通过使用具有出站规则的安全组:“0.0.0.0/0:所有流量”并将入站规则限制为仅从 VPC 内部接收来实现吗?

我在这里缺少什么?

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

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

AWS Cloudformation !Ref SecurityGroup 返回无效 ID

我想通过 cloudformation 部署具有 SecurityGroup 入口规则的 SecurityGroup。

我目前在 yaml 文件中使用它:

Security
  Type: AWS::EC2::SecurityGroup
  Properties:
    GroupDescription: Securitygroup with access to itself
SecurityIngress:
  Type: AWS::EC2::SecurityGroupIngress
  Properties:
    GroupId: !Ref Security
    SourceSecurityGroupId: !Ref Security
    IpProtocol: tcp
    FromPort: -1
Run Code Online (Sandbox Code Playgroud)

这会给我一个错误,指出 SucurityGroupId 格式错误。创建 SecurityIngress 时会发生该错误。请注意,我已将堆栈名称更改为“Stackname”。

无效 ID:“Stackname-Security-N12M8127812”(需要“sg-”)

所以我猜 !Ref 不会返回 SecurityGroup 的 ID,而是返回名称。有没有办法获取id?

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

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

连接到与 EC2 实例不同区域的 RDS

所以我在 中有一个主 RDS us-east-1,在 中有一个副本us-west-1。两者均位于各自区域的 VPC 内。我想让我的 EC2 实例之一连接us-east-1到副本实例。

一个简单的解决方案是启用 RDS 副本的公共访问并将 EC2 的 IP 添加到其安全组并且它可以工作。

但我不想允许静态 IP,而是希望允许访问我的us-east-1VPC 的整个 CIDR 范围,而且我也不希望我的实例可供公共访问。

为此,我在两个区域之间设置了 VPC 对等连接,并在两个 VPC 的路由表中添加了条目,以将彼此 CIDR 范围的流量转发到对等连接。

EC2实例的CIRD范围是172.31.0.0/16,我已将其添加到该区域中的RDS副本的安全组中us-west-1。但由于某种原因,我的 EC2 无法访问 RDS。

我还错过了什么吗?谢谢!

总结一下我的设置:

美国东部

  • 专有网络网段:172.31.0.0/16
  • 路由表条目: VPC10.0.0.0/16对等连接的目标路由us-west-1
  • EC2 IP:172.31.5.234

美国西部

  • 专有网络网段:10.0.0.0/16

  • 路由表条目: VPC172.31.0.0/16对等连接的目标路由us-east-1

  • RDDS:

    • 公众可访问:是
    • 安全组:允许来自172.31.0.0/16

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

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

RDS安全组 - 默认仅工作

我是AWS和RDS的新手.我已经梳理了帮助文件和其他stackflow问题,但似乎无法找出我是否做错了什么.当我转到我的RDS实例时,我看到 安全组:默认(活动) 我单击默认,它将我带到SG页面,在那里我创建新组.但是,我在这些新组中添加的任何规则都不起作用,只有我在默认组中放置的规则才有效.在某些文档中,我看到了实例页面上的屏幕截图和安全组旁边,它没有列出默认值,而是列出了用户创建的组.

那么是否有某种方法可以使所有新组处于活动状态,或者有哪种方法可以更改哪个组在该"实例"页面上具有优先权?或者我是否必须将所有规则都放在默认组中?

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

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

如何描述VPC的安全组?

有没有办法在特定的VPC中描述安全组?

这是我想要运行的:

aws ec2 describe-security-groups --group-name "<group-name>" --filter Name=vpc-id,Values=<my-vpc-id>
Run Code Online (Sandbox Code Playgroud)

但是它返回了这个错误:

A client error (VPCIdNotSpecified) occurred when calling the DescribeSecurityGroups operation: No default VPC for this user
Run Code Online (Sandbox Code Playgroud)

我感谢您的帮助,

谢谢

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

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

如何在CloudFormation模板中为Elastic Beanstalk启动配置指定安全组?

我在CloudFormation模板中定义了以下安全组:

"APIInstanceSG": {
  "Type": "AWS::EC2::SecurityGroup",
  "Properties": {
    "GroupDescription": "Security Group for Application EC2 Instances,
    "VpcId": "vpc-10a75377",
    "Tags": [{
      "Key": "Name",
      "Value": "APIInstanceSG" }
    }]
  }
}
Run Code Online (Sandbox Code Playgroud)

我还定义了一个Elastic Beanstalk环境,其中包含OptionSettings中的以下内容:

{
  "Namespace": "aws:autoscaling:launchconfiguration",
  "OptionName": "SecurityGroups",
  "Value": { "Ref": "APIInstanceSG" }
}
Run Code Online (Sandbox Code Playgroud)

当我使用此模板创建堆栈时,安全组是在CloudFormation尝试创建EB环境之前创建的,但是当它尝试创建EB环境时,它会因以下错误而崩溃:

配置验证异常:无效的选项值:'sg-994fcbe4'(命名空间:'aws:autoscaling:launchconfiguration',OptionName:'SecurityGroups'):安全组'sg-994fcbe4'不存在

sg-994fcbe4是已创建的安全组的ID 在此输入图像描述

Elastic Beanstalk Environment配置如下:

"AspectAPIEnv": {
  "Type": "AWS::ElasticBeanstalk::Environment",
  "Properties": {
    "ApplicationName": "application-name",
    "EnvironmentName": "environment-name",
    "SolutionStackName": "64bit Amazon Linux 2016.09 v3.1.0 running Node.js",
    "Tier": {
      "Name": "WebServer",
      "Type": "Standard"
    },
    "OptionSettings": [
      {
        "Namespace": "aws:autoscaling:launchconfiguration",
        "OptionName": "EC2KeyName",
        "Value": "ec2-key"
      }, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation amazon-elastic-beanstalk aws-security-group

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