我有一个在EC2实例上运行的应用程序,该实例将数据存储在RDS实例中。所有这些实例都在AWS VPC中,并且将安全组配置为允许它们彼此连接。
出于报告目的,我想从笔记本电脑连接到RDS实例(例如,使用SQLAlchemy)以运行简单查询。每次我尝试使用EC2应用程序使用的连接字符串进行连接时,连接都会超时。
对于Google,可以为此使用Cloud SQL代理,但是我找不到适用于AWS的类似产品。相反,似乎我应该做的是将Internet网关连接到VPC并配置安全组以允许从我的计算机进行连接。但是,除了允许 all 入站连接或允许使用静态IP外,文档尚不清楚如何执行此操作。不幸的是,我的笔记本电脑没有静态IP,我不愿意允许所有入站连接,因为这似乎不安全,并且容易受到攻击。我还无法找到一种方法来配置安全组以允许基于IAM凭据进行连接,例如使用AWS CLI。由于我将定期生成报告,因此每次我想连接时都要更新安全组(即允许我的当前IP)的解决方案似乎不是最佳选择。
我尝试了以下文档,但到目前为止,未能找到不允许所有连接的解决方案均未成功:
Allow users to connect to RDS using IAM *
Connecting to RDS instance from command line
Connecting to RDS on VPC from internet
*我的RDS实例配置不允许我启用IAM身份验证,我不确定为什么
IAM Database Authentication is not supported for the configuration in the DB Instance db.
Modify your Db Instance to another instance class and try again.
(Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterCombination;
Request ID: a6194fb8-2ab9-4a6a-a2be-63835e6e0184)
有什么我不了解或忽略的东西吗?因为数据库实例仍由数据库用户凭据保护,所以允许来自所有IP的连接不是一件大事吗?