Amazon Relational Database Service
사용 설명서 (API 버전 2014-10-31)

명령줄 :AWS CLI 및 psql 클라이언트에서 DB 인스턴스 에 연결

아래 설명과 같이 AWS CLI 및 psql 명령줄 도구를 사용하여 PostgreSQL용 Amazon RDS DB 인스턴스에 연결할 수 있습니다.

IAM 인증 토크 생성

인증 토큰은 수백 자의 문자로 구성되므로 명령줄에서는 다루기 불편할 수 있습니다. 이러한 문제를 해결하기 위해 토큰을 환경 변수로 저장한 후 연결할 때 이 변수를 사용하는 것도 한 가지 방법입니다. 다음 예제는 AWS CLI에서 generated-db-auth-token 명령을 사용하여 서명된 인증 토큰을 받고 이를 PGPASSWORD 환경 변수에 저장하는 방법을 보여 줍니다.

export RDSHOST="rdspostgres.cdgmuqiadpid.us-west-2.rds.amazonaws.com" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region us-west-2 --username jane_doe )"

예제에서 generate-db-auth-token 명령에 대한 파라미터는 다음과 같습니다.

  • --hostname – 액세스할 DB 인스턴스 의 호스트 이름입니다.

  • --port – DB 인스턴스에 연결할 때 사용할 포트 이름입니다.

  • --region – DB 인스턴스 가 실행되는 AWS 리전입니다.

  • --username – 액세스할 데이터베이스 계정입니다.

생성된 토큰에서 처음 몇 글자는 다음과 같은 모습입니다.

rdspostgres.cdgmuqiadpid.us-west-2.rds.amazonaws.com:5432/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...

Amazon RDS PostgreSQL 인스턴스에 연결

psql을 사용한 일반적인 연결 형식은 다음과 같습니다.

psql "host=hostName port=portNumber sslmode=verify-full sslrootcert=certificateFile dbname=DBName user=userName"

파라미터는 다음과 같습니다.

  • host – 액세스할 DB 인스턴스 의 호스트 이름입니다.

  • port – DB 인스턴스에 연결할 때 사용할 포트 이름입니다.

  • sslmode - 사용할 SSL 모드입니다. sslmode=verify-full을 사용하면 SSL 연결에서 SSL 인증서의 엔드포인트와 비교하여 DB 인스턴스 엔드포인트를 확인합니다.

  • sslrootcert – 퍼블릭 키를 포함하는 SSL 인증서 파일입니다. 자세한 내용은 PostgreSQL DB 인스턴스와 함께 SSL 사용을 참조하십시오.

  • dbname - 액세스할 데이터베이스 계정입니다.

  • user – 액세스할 데이터베이스 계정입니다.

다음 예제는 명령을 사용하여 연결하는 것을 보여 줍니다. 이 예제는 이전 단원에서 토큰이 생성될 때 설정된 환경 변수를 사용합니다.

psql "host=$RDSHOST port=5432 sslmode=verify-full sslrootcert=/sample_dir/rds-combined-ca-bundle.pem dbname=DBName user=jane_doe"