REGION_CODE="ap-northeast-2"
SECRETS_MANAGER_NAME="demo-rds-secrets"
DB_USER=$(aws secretsmanager get-secret-value --secret-id $SECRETS_MANAGER_NAME --query "SecretString" --output text --region $REGION_CODE | jq -r ".username")
DB_PASSWORD=$(aws secretsmanager get-secret-value --secret-id $SECRETS_MANAGER_NAME --query "SecretString" --output text --region $REGION_CODE | jq -r ".password")
DB_HOST=$(aws secretsmanager get-secret-value --secret-id $SECRETS_MANAGER_NAME --query "SecretString" --output text --region $REGION_CODE | jq -r ".host")
DB_PORT=$(aws secretsmanager get-secret-value --secret-id $SECRETS_MANAGER_NAME --query "SecretString" --output text --region $REGION_CODE | jq -r ".port")
DB_NAME=$(aws secretsmanager get-secret-value --secret-id $SECRETS_MANAGER_NAME --query "SecretString" --output text --region $REGION_CODE | jq -r ".dbname")
mysql -h $DB_HOST -P $DB_PORT -u $DB_USER -p$DB_PASSWORD -D $DB_NAME

일반적으로 DataBase에 접근된 것을 확인할 수 있다.

일반적으로 DataBase에 접근된 것을 확인할 수 있다.

TOKEN=$(aws rds generate-db-auth-token --hostname $DB_HOST --port 3306 --username rds_iam)
mysql -h $DB_HOST -P $DB_PORT -u rds_iam -p$TOKEN -D $DB_NAME --ssl-ca=./global-bundle.pem --enable-cleartext-plugin

IAM을 통해 DataBase에 접근된 것을 확인할 수 있다.

IAM을 통해 DataBase에 접근된 것을 확인할 수 있다.