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

PostgreSQL DB 인스턴스 생성 및 PostgreSQL DB 인스턴스의 데이터베이스에 연결

DB 인스턴스를 만드는 가장 쉬운 방법은 RDS 콘솔을 사용하는 것입니다. DB 인스턴스를 만든 후에는 pgAdmin 유틸리티 같은 표준 SQL 클라이언트 유틸리티를 사용해 DB 인스턴스에 연결할 수 있습니다. 이 예에서는 db.m1.small DB 인스턴스 클래스, 10GB의 스토리지 및 하루 동안의 보존 기간으로 활성화된 자동화된 백업을 사용해 west2-postgres1이라는 PostgreSQL 데이터베이스 엔진을 실행하는 DB 인스턴스를 만듭니다.

중요

DB 인스턴스를 생성하거나 DB 인스턴스에 연결하려면 먼저 Amazon RDS 설정 섹션의 작업을 완료해야 합니다.

PostgreSQL DB 인스턴스 만들기

PostgreSQL DB 엔진을 실행하는 DB 인스턴스를 만드는 방법

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. AWS Management Console의 오른쪽 위 모서리에서 DB 인스턴스를 만들 리전을 선택합니다.

  3. 탐색 창에서 [Instances]를 선택합니다.

  4. [Launch DB Instance]를 선택해 [DB Instance Wizard]를 시작합니다.

    [Select Engine] 페이지에서 마법사가 열립니다.

     엔진 선택
  5. [Select Engine] 페이지에서 PostgreSQL 아이콘을 선택하고 [Select]를 선택합니다.

  6. 다음으로 Production? 페이지에 현재 만들고 있는 DB 인스턴스를 프로덕션에 사용할 것인지 묻는 메시지가 나타납니다. 그러면 [PostgreSQL]([Production] 하단)을 선택하십시오. 이 옵션을 선택하면 장애 조치 옵션인 [Multi-AZ]와 스토리지 옵션인 [Provisioned IOPS]가 다음 단계에서 사전 선택됩니다. 마쳤으면 [Next Step]을 선택합니다.

  7. [Specify DB Details] 페이지에서 DB 인스턴스 정보를 지정합니다. 마쳤으면 [Next Step]을 선택합니다.

    이 파라미터의 경우... 수행할 작업

    License Model

    PostgreSQL에는 라이선스 모델이 하나밖에 없습니다. [postgresql-license]를 선택하여 PostgreSQL 일반 라이선스 계약을 사용합니다.

    DB Engine Version

    사용할 PostgreSQL 버전을 선택합니다.

    DB 인스턴스 클래스

    2GB 메모리, 1 ECU(1 ECU의 1 가상 코어), 64비트 플랫폼 및 보통 I/O 용량과 동일한 구성에 해당하는 [db.t2.small]을 선택합니다. 모든 DB 인스턴스 클래스 옵션에 대한 자세한 내용은 DB 인스턴스 클래스 단원을 참조하십시오.

    다중 AZ 배포

    장애 조치를 위해 다른 가용 영역에 DB 인스턴스의 예비 복제본을 생성하려면 Yes를 선택합니다. 이때 고가용성을 유지하려면 프로덕션 워크로드를 위한 다중 AZ를 권장합니다. 개발 및 테스팅을 위해 No를 선택할 수 있습니다.

    자세한 내용은 고가용성(다중 AZ) 단원을 참조하십시오.

    [Storage Type]

    스토리지 유형으로 [General Purpose (SSD)]를 선택합니다. 스토리지에 대한 자세한 정보는 Amazon RDS 스토리지 단원을 참조하십시오.

    Allocated Storage

    데이터베이스에 대해 스토리지 5GB를 할당하려면 5를 입력합니다. 경우에 따라 DB 인스턴스에 대해 데이터베이스의 크기보다 많은 양의 스토리지를 할당하면 I/O 성능을 개선할 수 있습니다. 스토리지 할당에 대한 자세한 내용은 Amazon Relational Database Service 기능을 참조하십시오.

    DB Instance Identifier

    선택한 리전의 계정에 대해 고유한 DB 인스턴스의 이름을 입력합니다. 선택한 리전 및 DB 엔진을 포함(예: [postgreSQL-test])하는 등 알기 쉬운 이름을 지정할 수 있습니다.

    Master Username

    영숫자 문자를 사용해 DB 인스턴스에 로그온하기 위해 마스터 사용자 이름으로 사용할 이름을 입력합니다. 마스터 사용자 이름에 부여된 기본 권한에 대한 자세한 내용은 Amazon RDS PostgreSQL 계획 정보 단원을 참조하십시오.

    [Master Password] 및 [Confirm Password]

    마스터 암호에 인쇄 가능한 ASCII 문자(/," 및 @ 제외)로 구성된 암호(8~128자)를 입력하고 [Confirm Password] 상자에 해당 암호를 다시 입력합니다.

     DB 인스턴스 세부 정보
  8. [Configure Advanced Settings] 페이지에서 Amazon RDS가 PostgreSQL DB 인스턴스를 시작하는 데 필요한 추가 정보를 입력합니다. 표는 예제 DB 인스턴스의 설정을 보여 줍니다. DB 인스턴스 정보를 지정한 후 [Launch DB Instance]를 선택합니다.

    이 파라미터의 경우... 수행할 작업

    VPC

    이 설정은 현재 사용 중인 플랫폼에 따라 다릅니다. AWS를 처음 사용하는 경우에는 기본 VPC를 선택합니다. 이전 E2-Classic 플랫폼에서 VPC를 사용하지 않는 DB 인스턴스를 만드는 경우에는 [Not in VPC]를 선택합니다. VPC에 대한 자세한 내용은 Amazon Virtual Private Cloud(VPC) 및 Amazon RDS 단원을 참조하십시오.

    [Subnet Group]

    이 설정은 현재 사용 중인 플랫폼에 따라 다릅니다. AWS를 처음 사용하는 고객은 [default]를 선택합니다. 이 DB 서브넷 그룹은 계정에 대해 생성된 기본 DB 서브넷 그룹입니다. 이전 E2-Classic 플랫폼에서 DB 인스턴스를 만들어서 특정 VPC에 배포하려면 해당 VPC로 생성된 DB 서브넷 그룹을 선택합니다. VPC에 대한 자세한 내용은 Amazon Virtual Private Cloud(VPC) 및 Amazon RDS 단원을 참조하십시오.

    Publicly Accessible

    [Yes]를 선택하여 VPC 외부에서도 액세스할 수 있게 DB 인스턴스에 퍼블릭 IP 주소를 할당합니다. VPC 내부에서만 DB 인스턴스에 액세스할 수 있게 하려면 [No]를 선택합니다. 퍼블릭 액세스가 불가능하도록 DB 인스턴스를 숨기는 방법에 대한 자세한 내용은 VPC에 있는 DB 인스턴스를 인터넷에서 숨기기 단원을 참조하십시오.

    가용 영역

    가용 영역을 지정하지 않으려면 기본값으로 No Preference를 사용합니다.

    [VPC Security Group]

    AWS를 처음 사용하는 경우에는 기본 VPC를 선택합니다. 이전에 VPC 보안 그룹을 만들었으면 해당 VPC 보안 그룹을 선택합니다.

    Database Name

    데이터베이스의 이름을 최대 63자의 영숫자 문자로 입력합니다. 이름을 제공하지 않으면 기본 "postgres" 데이터베이스가 생성됩니다.

    추가 데이터베이스를 생성하려면, DB 인스턴스에 연결한 다음 SQL 명령어 CREATE DATABASE를 사용하십시오. DB 인스턴스 연결에 대한 자세한 내용은 PostgreSQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기 단원을 참조하십시오.

    Database Port

    데이터베이스에 액세스하는 데 사용할 포트를 지정합니다. PostgreSQL 설치의 기본값은 포트 5432로 설정됩니다.

    DB 파라미터 그룹

    고유한 파라미터 그룹을 만들지 않았다면 기본값을 사용합니다.

    Option Group

    고유한 옵션 그룹을 만든 경우가 아니면 기본값을 사용합니다.

    [Copy Tags To Snapshots]

    스냅샷을 생성할 때 DB 인스턴스 태그를 DB 스냅샷에 복사하려면 이 옵션을 선택합니다. 자세한 내용은 Amazon RDS 리소스에 태그 지정 단원을 참조하십시오.

    [Enable Encryption]

    이 DB 인스턴스에 대해 비활성화되어 있는 암호화를 활성화하려면 [Yes]를 선택합니다. 자세한 내용은 Amazon RDS 리소스 암호화 단원을 참조하십시오.

    [Backup Retention Period]

    데이터베이스에서 자동 백업을 지속할 일수를 설정합니다. 테스트를 위해 이 값을 1로 설정할 수 있습니다.

    [Backup Window]

    데이터베이스를 백업할 특정 시간을 지정하지 않으려면 기본값으로 No Preference를 사용합니다.

    Enable Enhanced Monitoring

    [Yes]를 선택하여 실시간 OS 모니터링을 활성화합니다. Amazon RDS는 DB 인스턴스가 실행되는 운영 체제(OS)에 대한 측정치를 실시간으로 제공합니다. Amazon CloudWatch Logs이 제공하는 프리 티어를 초과하는 Enhanced Monitoring에 대해서만 비용이 청구됩니다.

    역할 모니터링

    기본값 IAM 역할을 사용하려면 [Default]를 선택합니다.

    Granularity

    매분마다 인스턴스를 모니터링하려면 [60]을 선택합니다.

    Auto Minor Version Upgrade

    DB 엔진의 마이너 DB 엔진 버전 업그레이드가 제공되면 자동으로 이를 수신하도록 DB 인스턴스를 활성화하려면 [Yes]를 선택합니다.

    유지 관리 기간

    대기 중인 DB 인스턴스의 설정 변경을 적용하려면 30분으로 선택합니다. 이 시간이 중요하지 않은 경우 [No Preference]를 선택합니다.

     Additional Configuration 패널
  9. 마법사 마지막 페이지에서 [View Your DB Instances]를 선택합니다.

  10. Amazon RDS 콘솔의 DB 인터페이스 목록에 새 DB 인스턴스가 나타납니다. DB 인스턴스를 만들고 사용할 준비가 될 때까지 DB 인스턴스의 상태는 [creating]입니다. 상태가 available로 변경되면 DB 인스턴스에 연결할 수 있습니다. DB 인스턴스 클래스와 할당된 저장소에 따라 새 인스턴스를 사용할 수 있을 때까지 몇 분 정도 걸릴 수 있습니다.

     나의 DB 인스턴스 목록

PostgreSQL DB 인스턴스에 연결

Amazon RDS가 DB 인스턴스를 프로비저닝한 후에는 표준 SQL 클라이언트 애플리케이션을 사용해 인스턴스에 연결할 수 있습니다. DB 인스턴스를 만들 때 여기에 할당한 보안 그룹에서는 DB 인스턴스에 대한 액세스를 허용해야 합니다. DB 인스턴스에 연결하는 데 문제가 발생할 경우 그 원인은 대부분 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 인스턴스를 만들 떄 입력한 사용자 이름과 사용자 암호를 [Username] 및 [Password] 상자에 각각 입력합니다.

     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 인스턴스에 연결합니다.

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 인스턴스 삭제

만든 샘플 DB 인스턴스에 연결한 후에는 이에 대한 요금이 더 이상 부과되지 않도록 DB 인스턴스를 삭제해야 합니다.

최종 DB 스냅샷이 없는 DB 인스턴스를 삭제하는 방법

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. [Instances] 목록에서 삭제할 DB 인스턴스를 선택합니다.

  3. [Instance Actions]를 선택한 다음 [Delete]를 선택합니다.

  4. [Create final Snapshot?]에서 [No]를 선택합니다.

  5. Yes, Delete를 선택합니다.