Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

DOing

[AWS] RDS 인스턴스 생성하기 본문

AWS

[AWS] RDS 인스턴스 생성하기

mangdo 2021. 4. 16. 17:16

RDS(Relational Databse Service)

관계형 데이터베이스 서비스

 RDS는 MySQL이나 오라클 같은 데이터베이스의 설치, 모니터링, 백업, 알람 등 관리를 대신해주는 서비스이다.

 정보가 유출되거나 유실되지 않도록 데이터베이스를 관리하는 것은 상당한 비용과 노력이 필요하다. 특히 커지는 규모에 따라 데이터베이스 시스템을 안정적으로 운영하는것은 숙련된 DBA들이 필요한 일이다.  AWS에서는 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하며 비용 효율적이고 크기 조정 가능한 DB서비스를 지원한다. RDS를 통해 개발자는 개발이라는 본질적인 작업에 집중할 수 있게된다.

 

 RDS에서는 Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, MS SQLServer 총 6개의 데이터베이스 엔진 중에서 원하는 DBMS를 선택할 수 있다. 또한 AWS Databae Migration Services를 사용하여 기존 데이터베이스를 Amazon RDS로 손쉽게 마이그레이션 또는 복제 할 수 있다. 

 

AWS 프리티어로는 RDS를 12개월동안 단일AZ db.t2.micro 인스턴스를 750시간 무료 사용할 수 있다. 

 

[ 주요 특징 ]

- 관리 용이성

   : DB설치 및 유지 관리 불필요

- 뛰어난 확장성

   : 서비스 중단없이 서버 및 스토리지 확장 가능

- 가용성 및 내구성

  : 멀티 AZ를 통해서 어느 한 AZ(가용구역, 데이터베이스센터의 집합)이 자연재해와 같은 이유로 불능이 되어도 서비스가 계속 가능하게 끔 지원한다.

- 빠른속도

- 보안

   : VPC를 통한 데이터베이스와 네트워크에 대한 액세스를 손쉽게 제어

- 백업, 복원

   : 자동 백업을 지원하여 특정 시점으로 복구가능하며, 스냅샷을 통해 DB를 저장하고 생성할 수 있다.

 

가용성?

더보기

가용성이란 해당 시스템이나 서비스가 가동, 실행되는 시간의 비율을 말한다.

가용성이 높다는 것은 서비스가 끊기는 시간이 없다는 뜻이다.

매우 중요한 업무시스템이나 서비스 중지를 가져갈 수 없는 시스템 설계시 인프라의 가용성을 극대화할 수 있는 아키텍처로 고가용성 인프라를 구성해야한다.

내구성?

더보기

내구성이란 durability 물질이 원래상태에서 변질되거나 변형없이 오래 견디는 성질이다.

즉, 데이터가 유실되거나 손상되지않는 것을 말한다.

 

확장성?

더보기

확장성이란 응용 프로그램이 증가하는 성능 요구에 맞게 향상될 수 있는 정도를 뜻한다.

이러한 확장성은 Scale up / Scale out이라는 두가지 전략으로 구현될 수 있다.

Scale up은 기존 HW를 업그레이드하여 대체시키는 것이고

Scale out은 서버를 여러대 추가하는 방법이다.

AWS의 Auto Scaling은 클라우드의 이점을 살려 인프라의 증설/축소를 손쉽게 구현하여 확장성, 탄력성 높은 시스템을 구축한다.

 

1. 데이터베이스 생성 클릭

 

2. DBMS 선택

 

아마존 오로라는 AWS에서 MySQL과 PostgreSQL을 클라우드 기반에 맞게 재구성한 데이터베이스이다. 공식자료에 의하면 RDS MuSQL 대비 5배, FDS PostgreSQL보다 3배 성능을 제공한다. 클라우드 서비스에 가장 적합한 데이터베이스이지만 프리티어 대상이 아니고 최저비용이 월 10만원으로 비싼편이다.

 

대신에 MariaDB를 선택하였다.

마리아는  MySQL이 오라클과 합병되면서 나온 MySQL개발자들이 새로 만들어낸 데이터베이스이다. MySQL을 기반으로 만들어졌기 때문에 전바적인 사용법은 MySQL과 비슷하지만 MySQL보다 장점을 가진다.

1. 동일 HW 사양으로 MySQL보다 향상된 성능

2. 활성화된 커뮤니티

3. 다양한 기능과 스토리지 엔진

 

3. 사용자 설정 등록

DB에 접근할 아이디, 비밀번호 지정

4. 스토리지

저장장치의 용량

범용 SSD는 스토리지가 클수록 속도가 빨라진다.
프로비저닝 IOPS는 속도와 용량을 별도로 자유롭게 지정할 수 있다.

프리티어로는 바꿀 수 있는게 없으니 패스

 

5. 다중 AZ

서로 다른 AZ(가용 구역, 데이터베이스센터의 집합)에 저장한다.

multi-AZ(가용구역서비스)를 선택하면 데이터을 서로 다른 AZ에 동시에 저장이된다.
어느 한쪽 AZ에 문제가 생겨도 나머지를 사용해서 서비스를 할 수 있다는 방법이다. 서비스 중지와 데이터 유실 막는다.
컴퓨터를 두개를 사용해서 가격이 두배다. 프리티어는 사용할 수 없으니 패스

 

6. VPC설정

VPC부분에서 publicly accessible No를 하면 같은 VPC안에 있는 서비스만 RDS에 접근할 수 있다.
Yes하면 다른 VPC에 있는 서비스도 접근 가능해진다.

 

VPC(Virtual Private Cloud)란 AWS에서 지원해주는 가상 네트워크 서비스이다.

 AWS안에서 외부로 부터 독립된 안전한 가상 네트워크를 생성하여 외부 통신과 내부 통신영역을 구분한다.

VPC를 생성하고 그안에 RDS를 만들게 되면 외부에서 직접적으로 RDS에 접속하는 것을 막는다. 같은 VPC내부에 있는 EC2만이 접근할 수 있게된다. 이런 EC2에 파이썬 자바와 같은 애플리케이션을 설치하면 이 애플리케이션만은 RDS에 접근할수있게 하는 것이다. 이런 방법으로 해킹으로부터 안전해질 수 있다.

 

퍼블릭 액세스를 허용하지 않으면 데이터베이스에 직접 접근하지 못하고 같은 VPC안에 있는 EC2에서 우회 접속해야한다. 지금은 그냥 허용하기로 했다. 나중에 변경할 수 있다.

 

7. 추가기능

 

초기 데이터 베이스 이름을 지정한다.

AWS에는 자동 백업을 해준다. 7일 백업하면 8일 넘은 데이터는 삭제하게된다. 백업 보존 기간을 올릴 수록 안전하겠지만 가격도 올라간다.

백업기간을 선택하면 특정시간에 백업을 하게 할 수 있다. 백업을 하는 동안은 일시적으로 DB 접근이 느려질 수도 있으니, 사용자가 없는 야심한 시간에 하는게 좋을 것이다.

RDS에서는 기본 모니터링을 지원해주는데 Enhanced 모니터링을 활성화하게되면 훨씬 디테일적인 모니터링까지 지원해준다. 물론 유료다.

자동 백업 활성화를 시키면 AWS에서 데이터베이스의 작은 업그레이드는 알아서 처리한다.

여기서는 기본설정 그대로 두었다.

6. 데이터 베이스 생성

 

월별 추정요금에 아무것도 없는 것을 확인하고 데이터 베이스 생성!!
생성중,, 데이터베이스를 생성하는것은 EC2보다 오래 걸린다.

7. 생성 완료

 

 

 

여기서 끝내면 안되고 파라미터 그룹을 설정해줘야한다.

2021.04.16 - [AWS] - RDS에 맞는 파라미터 설정하기

 

RDS에 맞는 파라미터 설정하기

RDS를 처음 생성하면 필수로 해야할 설정들이 있다. 1. 타임존 2. Character Set 1. 파라미터 그룹 생성 2. 파라미터 그룹 패밀리 주의해야할 것은 파라미터 그룹 패밀리이다. 연결할 RDB 인스턴스의 데

doing7.tistory.com

 

참고 출처:

스프링부트와 AWS로 혼자 구현하는 웹서비스(이동욱 저)

youtu.be/FWaIhiolgLU