ablog

不器用で落着きのない技術者のメモ

Aurora PostgreSQL に RDS Proxy 経由で IAM 認証で接続する

Aurora PostgreSQL に RDS Proxy 経由で IAM 認証で接続する手順。
f:id:yohei-a:20210212094006p:plain

前提

  • RDS Proxy で [IAM 認証] が [必須] になっていること。
  • AWS CLI がインストールされていること*1
  • psql がインストールされていること*2
$ sudo yum -y install postgresql

手順

同一アカウントから
$ export RDSHOST=aurora-postgres-117.proxy-************.ap-northeast-1.rds.amazonaws.com
$ export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region ap-northeast-1 --username awsuser)"
$ psql -h $RDSHOST -p 5432 -d postgres -U awsuser
クロスアカウントアクセス(VPCピアリング接続、共有VPCなど)
$ cat .aws/config
[default]
region = ap-northeast-1
[profile instancecrossaccount]
region = ap-northeast-1
role_arn = arn:aws:iam::234567890123:role/EC2SwitchRole
credential_source = Ec2InstanceMetadata
sts_regional_endpoints=regional
$ export RDSHOST=aurora-postgres-117.proxy-************.ap-northeast-1.rds.amazonaws.com
$ export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region ap-northeast-1 --username awsuser --profile instancecrossaccount)"
$ psql -h $RDSHOST -p 5432 -d postgres -U awsuser

*1:以下の手順で認証する場合の前提

*2:以下の手順で認証する場合の前提