PostgreSQL 데이터베이스 생성 및 연결
Amazon RDS 사용
소개
이 자습서에서는 PostgreSQL 데이터베이스를 실행하기 위한 환경을 생성하고(AWS에서는 이 환경을 인스턴스라고 부름), 데이터베이스에 연결하고, DB 인스턴스를 삭제하는 방법을 배웁니다. Amazon Relational Database Service(Amazon RDS)를 사용하여 이를 수행하며, 이 자습서에서 하는 모든 작업은 프리 티어에 해당합니다.
구현
-
RDS 콘솔 진입
여기를 클릭하면 AWS 관리 콘솔이 새 브라우저 창에서 열리므로 이 단계별 안내서를 계속 열어 놓을 수 있습니다. 이 화면이 로드되면 데이터베이스 아래에서 RDS를 찾아 클릭하여 Amazon RDS 콘솔을 엽니다.
-
PostgreSQL DB 인스턴스 생성
이 단계에서는 Amazon RDS를 사용하여 db.t2.micro DB 인스턴스 클래스, 20GB의 스토리지, 그리고 보존 기간이 1일로 지정된 자동 백업이 적용된 PostgreSQL DB 인스턴스를 생성합니다. 참고로 이 모든 항목은 프리 티어에 해당합니다.
a. Amazon RDS 콘솔의 오른쪽 위 모서리에서 DB 인스턴스를 생성할 리전을 선택합니다.
참고: AWS 클라우드 리소스는 전 세계 여러 지역의 가용성이 뛰어난 데이터 센터 시설에 위치합니다. 사용자는 Amazon RDS 활동을 호스팅할 리전을 선택할 수 있습니다.
b. 데이터베이스 생성 섹션에서 데이터베이스 생성을 선택합니다.
c. 이제 엔진을 선택할 수 있는 옵션이 표시됩니다. 이 자습서에서는 PostgreSQL 아이콘을 선택하고 엔진 버전(Engine Version)을 선택한 다음 프리 티어(Free Tier) 템플릿을 선택합니다.
d. 이제 DB 인스턴스를 구성합니다. 아래 목록은 이 자습서에서 사용할 수 있는 설정의 예를 보여줍니다.
설정(Settings):
- DB 인스턴스 식별자(DB instance identifier): 선택한 리전의 계정에 대해 고유한 DB 인스턴스 이름을 입력합니다. 이 자습서에서는 이름을 rds-postgresql-10minTutorial로 지정합니다.
- 마스터 사용자 이름(Master username): DB 인스턴스에 로그인할 때 사용할 사용자 이름을 입력합니다. 본 예제에서는 masterUsername을 사용합니다.
- 마스터 암호: 마스터 사용자 암호에 8~41개의 인쇄용 ASCII 문자(/, " 및 @ 제외)가 포함된 암호를 입력합니다.
- 암호 확인(Confirm password): 암호를 다시 입력합니다.
인스턴스 사양(Instance specifications):
- DB 인스턴스 클래스(DB instance class): 기본값인 db.t2.micro --- 1vCPU, 1GIB RAM을 선택합니다. 이는 1GB 메모리 및 1vCPU와 동일합니다. 지원되는 인스턴스 클래스 목록을 보려면 Amazon RDS 요금을 참조하세요.
- 스토리지 유형: 범용(SSD)을 선택합니다. 스토리지에 대한 자세한 내용은 Amazon RDS용 스토리지를 참조하세요.
- 할당된 스토리지(Allocated storage): 기본값인 20을 선택하여 데이터베이스에 20GB의 스토리지를 할당합니다. Amazon RDS에서는 최대 64TB까지 확장할 수 있습니다.
- 스토리지 자동 크기 조정 활성화(Enable storage autoscaling): 워크로드가 주기적이거나 예측할 수 없는 경우 스토리지 자동 크기 조정을 사용하면 필요할 때 RDS가 스토리지를 자동으로 확장할 수 있습니다. 이 자습서에서는 이 옵션을 적용하지 않습니다.
- 다중 AZ 배포(Multi-AZ deployment): 다중 AZ 배포에 대해서는 비용이 부과됩니다. 다중 AZ 배포를 사용하면 다른 가용 영역에 동기식 예비 복제본이 자동으로 프로비저닝되어 유지됩니다. 자세한 내용은 고가용성 배포를 참조하세요.
e. 이제 연결(Connectivity) 섹션입니다. 여기에서 RDS가 PostgreSQL DB 인스턴스를 시작하는 데 필요한 추가 정보를 제공합니다. 아래 목록은 예제 DB 인스턴스에 대한 설정을 보여줍니다.
네트워크 및 보안(Network & Security)
- Virtual Private Cloud (VPC): Default VPC를 선택합니다. VPC에 대한 자세한 내용은 Amazon RDS 및 Amazon Virtual Private Cloud(VPC)를 참조하세요.
추가 연결 구성(Additional connectivity configurations)
- 서브넷 그룹(Subnet group): 기본 서브넷 그룹을 선택합니다. 서브넷 그룹에 대한 자세한 내용은 DB 서브넷 그룹을 사용한 작업을 참조하세요.
- 퍼블릭 액세스 기능: 예를 선택합니다. 이렇게 하면 데이터베이스 인스턴스에 대한 IP 주소가 할당되므로 사용자 디바이스에서 데이터베이스에 직접 연결할 수 있습니다.
- 가용 영역: 기본 설정 없음을 선택합니다. 자세한 내용은 리전 및 가용 영역을 참조하세요.
- VPC 보안 그룹(VPC security groups): 새 VPC 보안 그룹 생성(Create new VPC security group)을 선택합니다. 이렇게 하면 현재 사용하고 있는 디바이스의 IP 주소에서, 생성된 데이터베이스로 연결할 수 있는 보안 그룹이 생성됩니다.
- 포트(Port): 기본값인 5432를 유지합니다.
추가 구성 섹션 설정:
데이터베이스 옵션(Database options)
- 데이터베이스 이름(Database name): 데이터베이스 이름으로 1~64자의 영숫자 문자를 입력합니다. 이름을 입력하지 않으면 지금 생성하고 있는 DB 인스턴스에 Amazon RDS가 자동으로 데이터베이스를 생성하지 않습니다. 이 자습서에서는 myDatabase를 사용합니다.
- DB 파라미터 그룹(DB parameter group): 기본값을 사용합니다. 자세한 내용은 DB 파라미터 그룹 작업을 참조하세요.
- 옵션 그룹(Option group): 이 옵션은 프리 티어에서 제공하지 않습니다. Amazon RDS는 옵션 그룹을 사용하여 추가 기능을 활성화하고 구성합니다. 자세한 내용은 옵션 그룹 작업을 참조하세요.
암호화
이 옵션은 프리 티어에서 제공하지 않습니다. 자세한 내용은 Amazon RDS 리소스 암호화를 참조하세요.백업
- 백업 보존 기간: 생성한 백업을 보관할 일수를 선택할 수 있습니다. 본 자습서의 경우 이 값을 1일로 설정합니다.
- 백업 창(Backup window): 기본값인 기본 설정 없음(No preference)을 사용합니다.
성능 개선 도우미
이 자습서에서는 성능 개선 도우미 사용 안 함(Disable Performance Insights)을 선택합니다. 성능 개선 도우미, 데이터베이스 성능 및 모니터링 기능에 대한 자세한 내용은 성능 개선 도우미 웹페이지를 참조하세요.모니터링(Monitoring)
향상된 모니터링(Enhanced monitoring): 향상된 모니터링 활성화(Enable enhanced monitoring)를 선택합니다. 향상된 모니터링 기능을 활성화하면 DB 인스턴스가 실행되는 운영 체제(OS)에 대한 지표가 실시간으로 제공됩니다. 자세한 내용은 DB 인스턴스 지표 보기를 참조하세요.
유지 관리
- 자동 마이너 버전 업그레이드: 자동 마이너 버전 업드레이드 활성화를 선택하여 자동 업데이트가 제공될 때 이를 수신합니다.
- 유지 관리 창: 기본 설정 없음을 선택합니다.
삭제 보호
본 자습서에서는 삭제 보호 활성화 선택을 취소합니다. 이 옵션이 활성화되면 데이터베이스를 삭제할 수 없습니다.데이터베이스 생성을 클릭합니다.
f. 이제 DB 인스턴스가 생성되고 있습니다. DB 인스턴스 보기를 클릭합니다.
참고: 할당된 DB 인스턴스 클래스와 스토리지에 따라 새 DB 인스턴스를 사용할 수 있을 때까지 몇 분 정도 걸릴 수 있습니다.
새 DB 인스턴스는 RDS 콘솔의 DB 인스턴스 목록에 표시됩니다. DB 인스턴스가 생성되고 사용할 준비가 될 때까지는 DB 인스턴스의 상태가 생성 중(creating)으로 표시됩니다. 상태가 사용 가능(available)으로 변경되면 DB 인스턴스의 데이터베이스에 연결할 수 있습니다.
DB 인스턴스가 사용할 수 있는 상태가 될 때까지 기다리는 동안 다음 단계로 이동해도 좋습니다.
-
SQL 클라이언트 다운로드
데이터베이스 인스턴스 생성이 완료되고 상태가 사용 가능으로 변경되면 원하는 표준 SQL 클라이언트를 사용하여 DB 인스턴스의 데이터베이스에 연결할 수 있습니다. 이 단계에서는 널리 사용되는 SQL 클라이언트인 SQL Workbench를 다운로드합니다.
참고: DB 인스턴스를 생성했던 것과 동일한 네트워크의 동일한 디바이스에서 SQL Workbench를 실행해야 합니다. 데이터베이스가 배치된 보안 그룹은 DB 인스턴스를 생성했던 디바이스로부터의 연결만 허용하도록 구성되어 있습니다. 다른 네트워크 또는 디바이스에서 연결을 시도하면 IP 주소가 바뀌게 됩니다. 어느 IP 주소에서나 액세스할 수 있도록 데이터베이스를 구성할 수 있지만(자세한 내용은 여기 참조) 이 자습서에서는 구성을 단순하게 유지하겠습니다.
a. SQL Workbench 웹 사이트로 이동하여 모든 선택 사항 라이브러리를 포함하는 모든 시스템에 대한 일반 패키지(Generic package for all systems including all optional libraries)를 클릭합니다.
b. 그런 다음 여기를 클릭하여 PostgreSQL 웹 사이트에서 최신 JDBC 드라이버를 다운로드합니다. 나중에 쉽게 찾을 수 있는 위치에 파일을 저장합니다. 이 파일은 다음 단계에 필요합니다.
-
PostgreSQL 데이터베이스에 연결
이 단계에서는 SQL Workbench를 사용하여 생성한 데이터베이스에 연결합니다.
a. 다운로드가 완료되면 SQL Workbench를 설치합니다.
참고: 다운로드 폴더에 포함된 .exe 파일(Windows) 또는 셸 스크립트(macOS, Linux)를 사용하여 이 애플리케이션을 시작할 수 있습니다. 자세한 내용은 다운로드에 포함된 PDF 파일을 참조하세요.
b. 프로그램을 엽니다. 대화 상자가 표시되면 다음과 같이 입력합니다.
- Driver: PostgreSQL(org.postgresql.Driver)
참고: 드롭다운 메뉴에서 드라이버를 선택하면 드라이버 정의를 수정하라는 메시지가 표시됩니다. [Yes]를 선택합니다. 다음 대화 상자에서 폴더 아이콘을 클릭하고 이전 단계에서 다운로드한 드라이버를 선택합니다.
- URL: 오른쪽 스크린샷과 같이 Amazon RDS 콘솔에서 JDBC URL을 확인할 수 있습니다. ‘jdbc:postgresql://’ 다음에 DB 인스턴스의 엔드포인트(포트 포함)를 입력하거나 붙여 넣습니다. 마지막으로, URL 끝에 슬래시와 데이터베이스 인스턴스 이름을 추가합니다. 예를 들어 URL은 jdbc:postgresql://postgresql-instance1.cg034hpkmmjt.us-east-1.rds.amazonaws.com/myDatabase와 같은 형태가 됩니다.
- Username: Amazon RDS 데이터베이스용으로 생성한 사용자 이름을 입력합니다. 이 자습서의 경우에는 'masterUsername'입니다.
- 암호(Password): Amazon RDS 데이터베이스를 생성할 때 사용한 암호를 입력합니다.
확인(OK)을 클릭합니다.
c. 이제 데이터베이스에 연결되었습니다. Amazon RDS 콘솔의 데이터베이스(Database) 목록에서 인스턴스를 선택하면 현재 활동(Current activity) 제목 아래에 데이터베이스에 대한 ‘1개의 연결’이 있는 것으로 표시됩니다.
참고: 이 시점에서는 데이터베이스가 사용할 준비가 된 상태입니다. SQL Workbench 클라이언트에서 테이블 생성을 시작하고, 데이터를 삽입하고, 쿼리를 실행할 수 있습니다.
-
DB 인스턴스 삭제
Amazon RDS 콘솔에서 손쉽게 PostgreSQL DB 인스턴스를 삭제할 수 있습니다. 사용하지 않는 인스턴스를 삭제하여 더는 비용이 부과되지 않도록 하는 것이 모범 사례입니다.
a. Amazon RDS 콘솔로 돌아갑니다. 데이터베이스(Database)를 선택하고, 삭제할 인스턴스를 선택한 다음, 작업(Actions) 드롭다운 메뉴에서 삭제(Delete)를 선택합니다.
b. 최종 스냅샷을 생성하고 삭제를 확인하라는 메시지가 표시됩니다. 본 예제에서는 최종 스냅샷을 생성하지 않고, 인스턴스를 삭제하겠다고 확인한 다음, 삭제를 클릭합니다.
참고: DB 인스턴스를 삭제하는 데는 몇 분 정도 걸릴 수 있습니다
축하합니다!
Amazon RDS를 사용하여 PostgreSQL 데이터베이스 인스턴스를 생성, 연결 및 삭제하였습니다. Amazon RDS를 사용하면 클라우드에서 관계형 데이터베이스를 손쉽게 설정, 운영 및 확장할 수 있습니다. Amazon RDS는 시간 소모적인 데이터베이스 관리 작업을 관리하는 한편, 효율적인 비용으로 크기를 조정할 수 있는 용량을 제공하므로 고객은 애플리케이션과 비즈니스에 좀 더 집중할 수 있습니다.