Mysql 使用本地客户端连接到VPC中的AWS RDS实例
我有一个运行在EC2实例上的应用程序,它将数据存储在RDS实例中。所有这些实例都位于AWS VPC中,安全组配置为允许它们相互连接 出于报告目的,我想从笔记本电脑连接到RDS实例(例如使用SQLAlchemy)以运行简单查询。每次我尝试使用EC2应用程序使用的连接字符串进行连接时,连接都会超时 对于谷歌来说,可以使用云SQL代理来实现这一点,但我找不到类似的AWS产品。相反,我应该做的似乎是将一个internet网关连接到VPC,并配置安全组以允许从我的机器连接。但是,除了允许所有入站连接或允许静态IP之外,这些文档还不清楚如何做到这一点。不幸的是,我的笔记本电脑没有静态IP,我不喜欢允许所有入站连接,因为这似乎不安全,而且会引发攻击。我还无法找到一种方法来配置安全组以允许基于IAM凭据的连接,例如使用AWS CLI。由于我将定期生成报告,因此每当我想要连接时,涉及更新安全组(即允许我的当前IP)的解决方案似乎不太理想 我尝试了以下文档,但到目前为止没有找到一个不允许所有连接的解决方案:Mysql 使用本地客户端连接到VPC中的AWS RDS实例,mysql,amazon-web-services,amazon-rds,amazon-vpc,aws-security-group,Mysql,Amazon Web Services,Amazon Rds,Amazon Vpc,Aws Security Group,我有一个运行在EC2实例上的应用程序,它将数据存储在RDS实例中。所有这些实例都位于AWS VPC中,安全组配置为允许它们相互连接 出于报告目的,我想从笔记本电脑连接到RDS实例(例如使用SQLAlchemy)以运行简单查询。每次我尝试使用EC2应用程序使用的连接字符串进行连接时,连接都会超时 对于谷歌来说,可以使用云SQL代理来实现这一点,但我找不到类似的AWS产品。相反,我应该做的似乎是将一个internet网关连接到VPC,并配置安全组以允许从我的机器连接。但是,除了允许所有入站连接或允许
*
*我的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)
有什么我不理解或忽视的吗?由于DB实例仍然由DB用户凭据保护,因此允许从所有IP连接不是一件大事吗?
根据屏幕截图选择此连接。然后填写所有详细信息,使用nat instance.pem文件进行连接。这就像你是通过Nat网关或互联网网关绕过这个连接到VPC
在VPC上安装VPN并连接的另一个选项
根据屏幕截图选择此连接。然后填写所有详细信息,使用nat instance.pem文件进行连接。这就像你是通过Nat网关或互联网网关绕过这个连接到VPC
在VPC上安装VPN并连接的另一个选项 VPC内是否有既有公共IP又能访问RDS的机器?如果是这样的话,我通常使用ssh隧道来完成这类工作。我没有想到这个想法。我当然可以添加一个,看看它是否适合我的需要。你能澄清一下你目前的设置吗?RDS实例是在公共子网中还是在私有子网中?我相信它在公共子网中(这不是我所期望的,但据我所知是这样的)。我对AWS云堆栈和我们正在运行的系统有点陌生,它主要是自动提供VPC、EKS群集和设置各种策略等。但是,RDS实例是手工创建的,我承认是新手。VPC内有任何既有公共IP又能访问RDS的机器吗?如果是这样的话,我通常使用ssh隧道来完成这类工作。我没有想到这个想法。我当然可以添加一个,看看它是否适合我的需要。你能澄清一下你目前的设置吗?RDS实例是在公共子网中还是在私有子网中?我相信它在公共子网中(这不是我所期望的,但据我所知是这样的)。我对AWS云堆栈和我们正在运行的系统有些陌生,它主要是自动提供VPC、EKS群集和设置各种策略等。但是,RDS实例是手工创建的,我承认是新手。