메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

PostgreSQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기

Amazon RDS가 DB 인스턴스를 프로비저닝한 후에는 표준 SQL 클라이언트 애플리케이션을 사용하여 인스턴스에 연결할 수 있습니다. DB 인스턴스를 만들 때 여기에 할당한 보안 그룹에서는 DB 인스턴스에 대한 액세스를 허용해야 합니다. DB 인스턴스에 연결하는 데 문제가 발생할 경우 그 원인은 대부분 DB 인스턴스에 할당한 보안 그룹에서 설정한 액세스 규칙에 있습니다.

엔드포인트를 포함한 Amazon RDS DB 인스턴스의 세부 정보는 AWS Management Console, AWS CLI describe-db-instances 명령, 또는 Amazon RDS API DescribeDBInstances 작업을 사용하여 조회할 수 있습니다. 예를 들어 엔드포인트 값이 myinstance.123456789012.us-east-1.rds.amazonaws.com:5432이라면 PostgreSQL 연결 문자열에 다음과 같이 값을 지정합니다.

  • 호스트 또는 호스트 이름은 으로 지정합니다.

    Copy
    myinstance.123456789012.us-east-1.rds.amazonaws.com
  • 포트는 으로 지정합니다.

    Copy
    5432

새로운 DB 인스턴스의 연결 오류가 발생하는 두 가지 공통 원인은 다음과 같습니다.

  • 보안 그룹을 사용하여 DB 인스턴스를 만들었지만, 이 보안 그룹이 PostgreSQL 애플리케이션 또는 유틸리티를 실행 중인 디바이스나 Amazon EC2 인스턴스에서 연결할 수 있는 권한을 부여하지 않은 경우. DB 인스턴스가 VPC 내부에서 만들어진 경우에는 이 인스턴스의 VPC 보안 그룹이 연결 권한을 부여해야 합니다. DB 인스턴스가 VPC 외부에서 만들어진 경우에는 이 인스턴스의 DB 보안 그룹이 연결 권한을 부여해야 합니다.

  • 포트 5432을 사용해 DB 인스턴스를 만들었는데 기업 방화벽 규칙에 따라 기업 네트워크의 디바이스에서 해당 포트에 연결하는 것이 차단된 경우. 이 오류를 수정하려면 다른 포트를 사용하도록 인스턴스를 수정해야 합니다.

이 섹션에서는 PostgreSQL DB 인스턴스에 연결하는 두 가지 방법을 보여 줍니다. 첫 번째 예에서는 PostgreSQL의 잘 알려진 오픈 소스 관리 및 개발 도구인 pgAdmin을 사용합니다. 클라이언트 컴퓨터에 PostgreSQL의 로컬 인스턴스가 없어도 pgAdmin을 다운로드하고 사용할 수 있습니다. 두 번째 예에서는 PostgreSQL 설치에 속하는 명령행 유틸리티인 psql을 사용합니다. psql을 사용하려면 클라이언트 컴퓨터에 PostgreSQL을 설치하거나 시스템에 psql 클라이언트를 설치해야 합니다.

이 예에서는 pgAdmin을 사용해 PostgreSQL DB 인스턴스에 연결합니다.

pgAdmin을 사용해 PostgreSQL DB 인스턴스에 연결

pgAdmin을 사용해 PostgreSQL DB 인스턴스에 연결하는 방법

  1. 클라이언트 컴퓨터에서 pgAdmin 애플리케이션을 실행합니다. pgAdminhttp://www.pgadmin.org/에서 설치할 수 있습니다.

  2. File 메뉴에서 Add Server를 선택합니다.

  3. [New Server Registration] 대화 상자의[Host] 텍스트 상자에 DB 인스턴스 엔드포인트(예: mypostgresql.c6c8dntfzzhgv0.us-west-2.rds.amazonaws.com)를 입력합니다. Amazon RDS 콘솔(mypostgresql.c6c8dntfzzhgv0.us-west-2.)에 나와 있는 대로 콜론이나 포트 번호를 포함하지 마십시오.rds.amazonaws.com:5432).

    DB 인스턴스에 할당한 포트를 Port 텍스트 상자에 입력합니다. DB 인스턴스를 만들 떄 입력한 사용자 이름과 사용자 암호를 UsernamePassword 텍스트 상자에 각각 입력합니다.

     Postgres 연결
  4. OK를 클릭합니다.

  5. Object browser에서 Server Groups를 확장합니다. 만든 서버(DB 인스턴스)를 선택한 다음 데이터베이스 이름을 선택합니다.

     Postgres 연결
  6. 플러그인 아이콘을 클릭하고 PSQL Console을 클릭합니다. 만든 기본 데이터베이스에 대해 psql 명령 창이 열립니다.

     Postgres 연결
  7. 명령 창을 사용해 SQL 또는 psql 명령을 입력합니다. \q를 입력해 창을 닫습니다.

psql을 사용해 PostgreSQL DB 인스턴스에 연결

클라이언트 컴퓨터에 PostgreSQL이 설치되어 있으면 psql의 로컬 인스턴스를 사용해 PostgreSQL DB 인스턴스에 연결할 수 있습니다. psql을 사용해 PostgreSQL DB 인스턴스에 연결하려면 호스트 정보 및 액세스 자격 증명을 제공해야 합니다.

다음 형식을 사용해 Amazon RDS에서 PostgreSQL DB 인스턴스에 연결합니다. 암호를 입력하라는 메시지가 표시됩니다. 따라서 배치 작업 또는 스크립트에서는 [--no-password] 옵션을 사용하십시오.

Linux, OS X, Unix의 경우:

Copy
psql \ --host=<DB instance endpoint> \ --port=<port> \ --username <master user name> \ --password \ --dbname=<database name>

Windows의 경우:

Copy
psql ^ --host=<DB instance endpoint> ^ --port=<port> ^ --username <master user name> ^ --password ^ --dbname=<database name>

예를 들어 다음 명령은 가상 자격 증명을 사용해 mypostgresql이라는 PostgreSQL DB 인스턴스에서 mypgdb라는 데이터베이스에 연결합니다.

Copy
psql --host=mypostgresql.c6c8mwvfdgv0.us-west-2.rds.amazonaws.com --port=5432 --username=awsuser --password --dbname=mypgdb

연결 문제 해결

DB 인스턴스의 데이터베이스에 연결하려 할 때 가장 일반적으로 발생하는 문제는 DB 인스턴스에 할당된 보안 그룹의 액세스 규칙입니다. DB 인스턴스를 만들 때 기본 DB 보안 그룹을 사용한 경우 보안 그룹에 인스턴스에 액세스할 수 있도록 허용하는 규칙이 없을 확률이 큽니다. Amazon RDS 보안 그룹에 대한 자세한 내용은 Amazon RDS 보안 그룹 단원을 참조하십시오.

가장 일반적인 오류는 서버에 연결할 수 없습니다. 연결이 시간 초과되었습니다.입니다. 이 오류가 발생할 경우 호스트 이름이 DB 인스턴스 엔드포인트이고 포트 번호가 올바른지 확인하십시오. DB 인스턴스에 할당된 DB 보안 그룹에 모든 연결이 통과할 수 있는 방화벽을 통해 액세스를 허용하는 데 필요한 규칙이 있는지 확인하십시오.

관련 주제