Amazon web services 访问ec2的fargate任务的安全组配置不工作
我对AWS的设置有非常严重的问题,我认为这将是一个全新的设置 我有一个从lambda函数运行的fargate任务。 此fargate任务的awsvpc配置如下:Amazon web services 访问ec2的fargate任务的安全组配置不工作,amazon-web-services,amazon-ec2,aws-security-group,aws-fargate,Amazon Web Services,Amazon Ec2,Aws Security Group,Aws Fargate,我对AWS的设置有非常严重的问题,我认为这将是一个全新的设置 我有一个从lambda函数运行的fargate任务。 此fargate任务的awsvpc配置如下: 'awsvpcConfiguration': { 'subnets': [ 'subnet-toing', 'subnet-xxxx', 'subnet-yyyy'
'awsvpcConfiguration': {
'subnets': [
'subnet-toing',
'subnet-xxxx',
'subnet-yyyy'
],
'securityGroups': [
'sg-toing'
],
'assignPublicIp': 'ENABLED'
}
fargate任务运行一个docker映像,该映像连接到一个EC2实例(其IP映射到db.toing.kp),该实例在上运行一个db,比如说端口n。我的ec2实例的安全组配置为允许从sg到端口n上的的请求。ec2实例在子网toing
子网上运行。所有子网均来自同一VPC
正如额外信息:在我的EC2实例中,hosts文件有一行代码来解析其子网上的请求。假设实例本地ip为172.x.y.z。有一句话:
172.x.y.z. db.toing.kp
这基本上是用于复制任务的,因此数据库数据不会通过internet连接到副本
所以问题是,当我尝试运行fargate任务时,它无法连接到EC2实例,连接超时
但是,如果我从sg toing
安全组中删除连接的防火墙规则并允许所有连接,那么一切都会按预期工作。有人能解释一下为什么EC2实例不接受来自fargate任务的连接吗?提前谢谢 您的sg toing
配置为接受来自端口n
的请求。但您的主机条目将请求发送到172.x.y.z
,而不是172.x.y.z:n
如果您可以使用ip:port
连接到数据库,而不使用主机条目,则不会出现问题
我希望这有帮助。我们无法在主机文件中定义端口。实际上,问题出在hosts文件上,在我删除了条目并通过本地子网IP直接访问之后,一切正常。我不知道服务器本地主机文件会如何影响安全组,但AWS也不支持,显然:)是的,我们不能在主机文件中定义端口。在我的回答中,我说过:“如果您可以使用ip:port连接到数据库,而不需要主机条目”。这不是你为解决问题所做的吗?基本上是的!但是我很确定EC2实例甚至拒绝了本地IP,因为我为AWS代理重新创建了这个问题。但是,当我删除hosts文件时,情况很好,问题是hosts文件与AFAIK传入的请求无关。总之,是的,我找到了一个解决方案,但不是我想要的,因为我必须更改整个replicaset配置:(也许我在什么地方做了傻事,我不知道,但不管怎样,谢谢你的帮助!PS:关于你的回答,我不能同意前两句话。