Skip to main content

13D. RDS DB 인스턴스 생성하기

About 2 minAWScrashcoursepyrasisawsamazon-web-services

13D. RDS DB 인스턴스 생성하기 관련

목차

아마존 웹 서비스를 다루는 기술

13장 - 4. RDS DB 인스턴스 생성하기

아마존 웹 서비스를 다루는 기술

RDS 인스턴스를 생성하고 사용해보겠습니다. 데이터베이스 엔진은 가장 손쉽게 사용할 수 있는 MySQL로 하겠습니다.

AWS 콘솔로 접속한 뒤 메인 화면에서 Database의 <FontIcon icon="iconfont icon-select"/>를 클릭합니다.
AWS 콘솔로 접속한 뒤 메인 화면에서 Database의 [RDS]를 클릭합니다.

오른쪽 위에서 RDS의 리전을 변경할 수 있습니다.

이 책에서는 우리나라에서 가장 가까운 Tokyo 리전을 사용하겠습니다.
이 책에서는 우리나라에서 가장 가까운 Tokyo 리전을 사용하겠습니다.

왼쪽 메뉴에서 [Instances]를 선택합니다.

이 메뉴가 RDS DB 인스턴스 목록이며 생성 한 온 디맨드 인스턴스(On Demand Instance)와 예약 인스턴스(Reserved Instance)의 목록이 표시됩니다.
이 메뉴가 RDS DB 인스턴스 목록이며 생성 한 온 디맨드 인스턴스(On Demand Instance)와 예약 인스턴스(Reserved Instance)의 목록이 표시됩니다.
위쪽의 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭하여 RDS DB 인스턴스를 생성합니다.
위쪽의 [Launch DB Instance] 버튼을 클릭하여 RDS DB 인스턴스를 생성합니다.

RDS DB 인스턴스에 사용할 데이터베이스 엔진을 선택합니다.

MySQL Community Edition의 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
MySQL Community Edition의 [Select] 버튼을 클릭합니다.

장애에 대응할 수 있는 이중화를 위한 다중 가용 영역Multi-AZ 복제와 고성능 I/O를 제공하는 Provisioned IOPS Storage를 사용할 것인지 선택합니다. Multi-AZ와 Provisioned IOPS Storage를 사용하면 추가 요금이 발생합니다.

<FontIcon icon="iconfont icon-select"/>를 선택하여 이 두 가지 기능을 사용하지 않는 프리 티어용 인스턴스를 생성하겠습니다.
[No]를 선택하여 이 두 가지 기능을 사용하지 않는 프리 티어용 인스턴스를 생성하겠습니다.

RDS DB 인스턴스 세부 설정입니다(그림 13-8).

  • License Model: MySQL은 general-public-license만 선택할 수 있습니다.
  • DB Engine Version: 사용할 MySQL의 버전입니다. 특정 버전을 사용해야 하는 환경이 아니라면 기본값 그대로 사용합니다.
  • DB Instance Class: 생성할 DB 인스턴스 클래스입니다. 프리 티어에서 무료로 사용할 수 있는 마이크로 인스턴스(db.t1.micro)를 선택합니다.
  • Multi-AZ Deployment: 장애에 자동으로 대처하는 Failover 기능을 위한 다중 가용 영역(Multi Availability Zone) 복제 옵션입니다. No를 선택합니다.
  • Allocated Storage: DB에서 데이터를 저장할 스토리지의 용량입니다. 최소 5GB에서 3072GB(3TB)까지 설정 할 수 있습니다. 5GB로 설정합니다.
  • Use Provisioned IOPS: 고성능 I/O 옵션입니다. 이 옵션을 사용하면 스토리지의 읽기/쓰기 성능을 원하는 대로 조절할 수 있습니다. 단 추가비용을 지불해야 합니다. 기본값 그대로 사용합니다.
  • DB Instance Identifier: DB 인스턴스의 이름입니다(이름은 같은 리전 안에서 중복되면 안됩니다). exampledbinstance로 설정합니다.
  • Master Username: MySQL DB 관리자 계정입니다. admin으로 설정합니다.
  • Master Password, Confirm Password: MySQL DB 관리자 계정의 비밀번호입니다. 여러분이 사용하고 싶은 비밀번호를 설정합니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Next Step] 버튼을 클릭합니다.

DB 인스턴스 추가 설정입니다

  • VPC: DB 인스턴스가 위치할 네트워크(VPC)입니다. 기본값 그대로 사용합니다.
  • DB Subnet Group: DB 인스턴스가 위치할 서브넷입니다. 위에서 Default VPC이외의 VPC를 선택했을 때 이 서브넷을 설정할 수 있습니다. 기본값 그대로 사용합니다.
  • Publicly Accessible: DB를 외부에서 접근할 수 있게 하는 옵션입니다. No로 설정하면 VPC 내부에서만 접근할 수 있습니다. 기본값 그대로 사용합니다.
  • Availability Zone: DB 인스턴스가 생성될 가용 영역(Availability Zone)입니다. EC2 인스턴스에서 DB에 접속한다면 같은 AZ에 있는 것이 좋습니다. 기본값 그대로 사용합니다.
  • VPC Security Group: 방화벽 설정인 Security Group입니다. 기본값 그대로 사용합니다. 이 Security Group은 나중에 DB 인스턴스 전용으로 따로 생성해야 합니다.
  • Database Name: 생성할 DB 이름입니다. ExampleDB로 설정합니다. 아무것도 입력하지 않으면 DB 인스턴스에서 MySQL 서버만 실행되고 DB는 생성되지 않습니다.
  • Database Port: DB 접속 포트 번호입니다. 기본값 그대로 사용합니다.
  • Parameter Group: MySQL을 실행할 때 필요한 파라미터 집합입니다. DB 인스턴스 생성 후 Parameter Group을 추가할 수 있습니다(my.cnf 파일을 생성하는 것과 동일합니다.) 기본값 그대로 사용합니다.
  • Option Group: DB 옵션입니다. MySQL은 특별히 지정하지 않아도 됩니다. 기본값 그대로 사용합니다.
RDS DB 인스턴스 추가 설정
RDS DB 인스턴스 추가 설정

이어지는 DB 인스턴스 추가 설정입니다

  • Backup: 자동 백업 옵션입니다. 이 자동 백업을 사용하면 원하는 시점으로 데이터를 복구할 수 있는 PIT(Point in Time) 복구를 사용할 수 있습니다. PIT 복구는 최근 5분 전 상태로 되돌릴 수 있으며 1초 단위로 설정이 가능합니다.
  • Backup Retention Period: 백업 데이터 유지 기간입니다. 최대 35일까지 설정할 수 있습니다. 여기서 지정한 날짜 이전까지 되돌릴 수 있습니다.
  • Backup Window: 백업 시간입니다. 기본값은 No Preference입니다. 여기서는 Select Window를 선택하고 Start Time을 00:00, Duration을 0.5로 설정합니다. UTC 기준으로 00시 00분에 백업을 시작하며 백업 시간은 0.5시간(30분)입니다. 데이터의 용량이 크면 설정한 백업 시간을 넘길 수도 있습니다. 이 Duration을 설정하는 이유는 아래 Maintenance Window의 시간과 겹치지 않게 하기 위해서 입니다.
  • Auto Minor Version Upgrade: 자동으로 마이너 버전을 업데이트하는 옵션입니다. 보안 패치나 버그가 수정된 버전을 자동으로 업데이트합니다. 예를 들면 MySQL의 경우 5.6.13을 사용하고 있는데 5.6.14가 나오면 5.6.14 버전으로 업데이트하게 됩니다. 기본값 그대로 사용합니다.
  • Maintenance Window: 점검 시간입니다. 기본값은 No Preference입니다. 여기서는 Select Window를 선택하고 Start Day를 Monday, Start Time을 03:00, Duration을 0.5로 설정합니다. UTC 기준으로 03시 00분에 점검이 시작되며 시간은 0.5시간(30분)입니다. Duration을 설정하는 이유는 위 Backup Window의 시간과 겹치지 않게 하기 위해서 입니다. 점검은 Duration에 설정한 시간보다 일찍 끝날 수 있습니다.
    • 이 시간에 Auto Minor Version Upgrade를 설정했다면 DB 버전 업데이트 또는 패치가 적용됩니다. DB 버전 업데이트 또는 패치는 필수적인 것(보안 패치)만 적용되며 자주 발생하지 않고 몇 달에 한 번 발생합니다. DB 업데이트 또는 패치가 적용되는 시간 동안에는 DB 인스턴스의 실행이 중지됩니다.
    • DB 인스턴스 클래스를 변경했다면 이 시간에 적용됩니다. DB 인스턴스 클래스를 변경하는 동안에는 DB 인스턴스의 실행이 중지됩니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Launch DB Instance] 버튼을 클릭합니다.

Multi-AZ 복제와 백업

Multi-AZ 복제를 사용했을 때에는 예비 인스턴스Standby에서 백업을 진행하게 되므로 메인 인스턴스의 I/O 성능에 영향을 주지 않습니다.

MySQL에서 자동 백업

설정 화면에 나와 있는 것처럼 MySQL에서 자동 백업을 사용하려면 스토리지 엔진으로 InnoDB를 사용해야 합니다. MyISAM은 지원하지 않습니다.

이제 RDS DB 인스턴스 생성이 시작되었습니다. <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
이제 RDS DB 인스턴스 생성이 시작되었습니다. [Close] 버튼을 클릭합니다.

RDS DB 인스턴스 목록(Instances)으로 돌아왔습니다. 방금 설정한 DB 인스턴스가 생성되고 있습니다.

완전히 생성되기까지 약 10분 정도 소요됩니다.
완전히 생성되기까지 약 10분 정도 소요됩니다.
RDS DB 인스턴스가 완전히 생성되었으면 를 선택합니다. 그리고 <FontIcon icon="iconfont icon-play"/>를 클릭하면 DB 인스턴스의 세부 내용이 표시되며 Endpoint 부분에 <FontIcon icon="fas fa-globe"/>처럼 DB에 접속할 수 있는 주소가 표시됩니다. 이후 이 주소를 통해 DB에 접속하면 됩니다.
RDS DB 인스턴스가 완전히 생성되었으면 exampledbinstance를 선택합니다. 그리고 를 클릭하면 DB 인스턴스의 세부 내용이 표시되며 Endpoint 부분에 exampledbinstance.cnlconsezo7y.ap-northeast-1.rds.amazonaws.com:3306처럼 DB에 접속할 수 있는 주소가 표시됩니다. 이후 이 주소를 통해 DB에 접속하면 됩니다.

Multi-AZ 복제와 Failover

Multi-AZ 복제를 사용하도록 설정한 뒤, 메인 DB 인스턴스에 장애(AZ 장애, 인스턴스 중단, 네트워크 장애, 스토리지 장애)가 발생하면 자동으로 예비 인스턴스가 메인 인스턴스로 승격됩니다. 이 기능을 Failover라고 하며 Failover가 완료되는 데 걸리는 시간은 약 3~6분입니다. Failover 기능이 동작하면 Endpoint 주소가 가리키는 DB 인스턴스가 메인 인스턴스에서 예비 인스턴스로 바뀌므로 Endpoint를 사용하는 측에서는 Failover를 위해 따로 설정을 해줄 필요가 없습니다. 이 Multi-AZ 복제는 MySQL과 Oracle 데이터베이스 엔진에서만 지원합니다.

RDS DB 인스턴스 정지(Stop)

EC2 인스턴스와는 달리 RDS DB 인스턴스는 정지 개념이 없습니다. 따라서 DB 인스턴스를 정지하고 싶으면 삭제(Delete)해야 합니다. 단 DB 인스턴스를 삭제(Delete)할 때 최종(Final) DB 스냅샷을 생성할 수 있습니다. 이후 이 최종 DB 스냅샷으로 DB 인스턴스를 다시 생성하여 이전 데이터 그대로 시작할 수 있습니다.


이찬희 (MarkiiimarK)
Never Stop Learning.