我对 AWS 负载均衡器的工作原理感到困惑。我有一个非常简单的设置...
我有一个基于 REST 的 API,需要通过我的负载均衡器暴露到互联网(端口 80)。我只希望负载均衡器暴露于互联网流量。我为我的实例设置了一个安全组,仅出于测试目的限制对我的 IP 地址的直接访问。
负载均衡器在 http 上不受 IP 限制,它只开放端口 80(在端口 3001 上监听我的 api 服务)。问题是,如果我对相关实例设置任何 IP 限制,负载均衡器将无法看到我的实例。一旦我删除了对实例的这些限制,运行状况检查就会开始工作,我可以通过负载均衡器访问该服务。问题是我的实例现在开放了我不想要的互联网端口。
在使用 IP 限制时,我是否需要执行其他操作才能允许负载均衡器访问我的实例?
最后一点,我的健康检查工作正常,直到我添加实例级 IP 限制,所以我知道健康检查不是问题。我认为如果我将负载均衡器的 IP 添加到我的白名单中,它会起作用,但该 IP 是动态的并且不适用于此目的。
我有一个分配给 RDS 实例的安全组,它允许来自我们的 EC2 实例的端口 5432 流量。
但是,此安全组为所有 IP 的所有流量启用了所有出站流量。
这是安全风险吗?理想的出站安全规则应该是什么?在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?
我有一个基于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
我正在尝试使用 AWS Elastic Beanstalk 部署 Spring Boot 应用程序。我没有使用环境的默认设置,而是修改了“VPC”下的某些内容。在为 VPC 选择可用区域和安全组之一后,我创建了环境。

但是,当我在创建实例后查看实例详细信息时,我注意到它与两个安全组相关联。除了我选择的安全组之外sg-98c031f3,它还有另一个新生成的安全组sg-72b94919。
当我只选择一个安全组时,为什么它会为环境创建两个安全组?有没有办法删除其中一个,因为一个安全组足以处理所有规则。
amazon-web-services amazon-vpc amazon-elastic-beanstalk aws-security-group
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
我想通过 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?
所以我在 中有一个主 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/1610.0.0.0/16对等连接的目标路由us-west-1。172.31.5.234美国西部:
专有网络网段:10.0.0.0/16
路由表条目: VPC172.31.0.0/16对等连接的目标路由us-east-1。
RDDS:
172.31.0.0/16amazon-web-services amazon-rds amazon-vpc aws-security-group
我是AWS和RDS的新手.我已经梳理了帮助文件和其他stackflow问题,但似乎无法找出我是否做错了什么.当我转到我的RDS实例时,我看到 安全组:默认(活动) 我单击默认,它将我带到SG页面,在那里我创建新组.但是,我在这些新组中添加的任何规则都不起作用,只有我在默认组中放置的规则才有效.在某些文档中,我看到了实例页面上的屏幕截图和安全组旁边,它没有列出默认值,而是列出了用户创建的组.
那么是否有某种方法可以使所有新组处于活动状态,或者有哪种方法可以更改哪个组在该"实例"页面上具有优先权?或者我是否必须将所有规则都放在默认组中?
有没有办法在特定的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
我在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'不存在
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