Mysql 如何允许ECS任务访问RDS

Mysql 如何允许ECS任务访问RDS,mysql,amazon-ec2,amazon-rds,amazon-iam,amazon-ecs,Mysql,Amazon Ec2,Amazon Rds,Amazon Iam,Amazon Ecs,我有一个ECS任务是通过Lambda函数执行的。此任务将在运行MySQL的RDS实例上执行一些基本SQL操作(例如选择、插入、更新)。管理从ECS任务到RDS的访问的正确方式是什么 我目前正在使用安全组规则连接RDS,端口3306允许从特定IP地址(EC2实例所在的位置)进行连接 我正在将此功能从EC2转移到ECS任务。我研究了IAM策略,但这些操作似乎是为了管理AWS CLI RDS操作,并且可能不是这里的解决方案。谢谢 IAM角色和安全组是两个完全不同的东西,用于不同的目的。您必须打开安全组

我有一个ECS任务是通过Lambda函数执行的。此任务将在运行MySQL的RDS实例上执行一些基本SQL操作(例如选择、插入、更新)。管理从ECS任务到RDS的访问的正确方式是什么

我目前正在使用安全组规则连接RDS,端口3306允许从特定IP地址(EC2实例所在的位置)进行连接


我正在将此功能从EC2转移到ECS任务。我研究了IAM策略,但这些操作似乎是为了管理AWS CLI RDS操作,并且可能不是这里的解决方案。谢谢

IAM角色和安全组是两个完全不同的东西,用于不同的目的。您必须打开安全组以允许任何网络流量访问RDS服务器。您应该将入站安全组列入白名单,而不是将IP地址列入白名单


例如,如果RDS服务器在安全组1中,ECS服务器在安全组2中,您可以在安全组1的入站访问规则中输入安全组2的ID。这样,您就不必担心服务器更改IP地址。

当前如何管理来自EC2实例的RDS访问?您必须以某种方式指定MySQL用户名/密码。你是对的,IAM不用于管理对MySQL服务器实例的访问。我有一个mysqlclient(python库)连接,在这里我提供un/pw。这部分连接将在我的ECS任务中保持不变。我还通过其IP地址限制对此EC2实例的访问,这是我在ECS实现中试图解决的部分。不过,如果有什么方法可以通过IAM角色解决这个问题,那就太好了。我遇到了一个问题,我想做同样的事情,但ECS群集位于不同的区域,所有这些群集都连接回ap-2中的主RDS Db实例进行写操作。我已经了解到,您不能将来自其他区域的安全组分配为入站组。你有什么建议可以达到这个目标吗?@Chris如果你使用跨区域VPC对等,那么你可以将私有子网IP范围列为白名单。谢谢Mark,我会调查的。谢谢。