You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过IAM角色从EC2连接RDS Proxy的无密码配置咨询

从EC2通过IAM角色无密码连接RDS Proxy配置方案

一、EC2实例的IAM角色权限配置

给EC2实例附加的IAM角色添加以下权限策略,替换占位符为你的实际信息:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "rds-db:connect",
            "Resource": "arn:aws:rds-db:<区域ID>:<AWS账号ID>:dbuser:<RDS Proxy ID>/<数据库用户名>"
        },
        {
            "Effect": "Allow",
            "Action": "sts:GetCallerIdentity",
            "Resource": "*"
        }
    ]
}

占位符说明:

  • <区域ID>:例如us-east-1
  • <AWS账号ID>:你的12位AWS账号数字ID
  • <RDS Proxy ID>:RDS Proxy控制台详情页中的“Proxy ID”值
  • <数据库用户名>:允许通过IAM认证连接的数据库账号

二、RDS Proxy与数据库配套配置

  1. 确认RDS Proxy已开启IAM Authentication = Required(你已完成此步骤)
  2. 给目标数据库用户配置IAM认证权限:
    • MySQL:
      ALTER USER '<数据库用户名>' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
      
    • PostgreSQL:
      CREATE USER <数据库用户名> WITH LOGIN;
      GRANT rds_iam TO <数据库用户名>;
      
  3. 确保RDS Proxy的安全组允许EC2实例所在安全组访问数据库端口(如3306、5432)

三、EC2上的客户端连接操作

命令行示例(以MySQL为例)

  1. 生成临时认证令牌:
    TOKEN=$(aws rds generate-db-auth-token --hostname <Proxy端点地址> --port <数据库端口> --username <数据库用户名> --region <区域ID>)
    
  2. 使用令牌作为密码连接:
    mysql -h <Proxy端点地址> -P <数据库端口> -u <数据库用户名> --password=$TOKEN --ssl-ca=/path/to/rds-combined-ca-bundle.pem
    
    注:RDS CA证书可下载到EC2实例本地使用

代码层示例(以PHP为例)

通过AWS SDK生成令牌后传入PDO连接:

require 'vendor/autoload.php';

use Aws\Rds\RdsClient;

$rdsClient = new RdsClient([
    'region' => '<区域ID>',
    'version' => 'latest'
]);

$token = $rdsClient->generateDbAuthToken([
    'DBHostname' => '<Proxy端点地址>',
    'Port' => <数据库端口>,
    'DBUsername' => '<数据库用户名>'
]);

$dsn = "mysql:host=<Proxy端点地址>;port=<数据库端口>;dbname=<目标数据库名>";
$pdo = new PDO($dsn, '<数据库用户名>', $token);

四、常见排查点

  • 检查IAM角色策略中的Resource ARN是否完全匹配,尤其是Proxy ID和数据库用户名不能出错
  • 确认EC2实例已正确附加目标IAM角色,可通过aws sts get-caller-identity验证当前身份
  • 确保数据库用户已正确配置IAM认证插件,可通过数据库客户端查询用户权限确认
  • 检查RDS Proxy的日志,排查连接失败的具体原因

内容的提问来源于stack exchange,提问作者Reece

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:45:40