일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 혼공파
- Android
- 스터디
- 인프런
- select
- 오블완
- 알고리즘
- Kotlin
- Til
- 정보처리기사
- SQL
- groupby
- 혼공단
- java
- 티스토리챌린지
- 정처기
- doitandroid
- 혼공챌린지
- 안드로이드스튜디오
- MySQL
- 자바
- join
- 프로그래머스
- 자료구조
- 코테
- 안드로이드
- 기술면접
- 카카오코테
- 코틀린
- CS
- Today
- Total
Welcome! Everything is fine.
[AWS] RDS 가볍게 시작해보기! 본문
스파르타코딩클럽 AWS의 모든 것 (All about AWS) 강의를 듣고 정리한 내용입니다.
RDS란?
- Relational Database Service(RDS) : AWS에서 제공하는 관리형 관계형 데이터베이스 서비스. Postgres, MySQL, MariaDB, Oracle, Microsoft SQL Server 등 다양한 엔진을 선택할 수 있으며, EC2에 직접 DB를 설치·운영하는 방식보다 운영 부담이 적다.
RDS 특징
- 자동 인프라 구축 및 관리
- DB 설치, 패치, 유지보수 작업을 AWS가 수행한다.
- 자동 백업과 복구
- 지속적인 자동 백업 지원
- 지정한 기간 내 언제든 복구 가능
- 모니터링 지원
- 성능 모니터링과 대시보드 제공
- 확장성
- 스토리지 자동 확장 지원
- 보안성
- VPC, IAM, KMS로 데이터 보안 강화
- SSH 접근 불가
- EC2처럼 SSH로 접근하지 않고 DB 툴 또는 애플리케이션에서 연결한다.
Storage Auto Scaling
- DB 용량의 한계치까지 왔을 때 자동으로 용량을 늘려준다.
- 사용을 위해 Maximum Storage Threshold를 지정해줘야 한다.
- 예측 불가능한 트래픽이 있을때 유용하다.
RDS Read Replicas

- 읽기 전용 복제본으로 읽기 부하를 분산시킬 수 있다.
- 특징
- 비동기 복제로 운영된다.
- SELECT 쿼리만 가능하다.
- INSERT, UPDATE, DELETE는 불가능하다.
- 사용 사례
- 조회가 많은 서비스에서 성능 향상용으로 사용한다.
RDS Multi-AZ

- 고가용성 확보를 위한 기능으로, 장애 발생 시 자동으로 대기 인스턴스로 전환한다.
- 특징
- 수동 설정 없이 옵션 선택만으로 구성 가능하다.
- 가용성을 높이지만 확장성에는 영향을 주지 않는다.
- Read Replica 역시 Multi-AZ로 구성할 수 있다.
- Failover 발생 시
- DNS가 자동으로 대기 인스턴스로 연결 전환한다.
RDS 시작하기
AWS에서 RDS를 검색해 들어간다. 바로 Create database를 눌러 데이터베이스를 만들어보자.

제일 먼저 Standard create와 Easy create 중에서 고르면 되는데, 나는 강의를 따라 하느라 Standard로 골랐다. 그래서인지 옵션이 아주 많았는데 상황에 따라 맞게 고르면 될 것 같다.

그 다음은 어떤 DB를 쓸건지 고르는데, 나는 MySQL로 했다.

Templates은 Free Tire로 했다. 개인 프로젝트라면 거의 Free Tire로 하면 될 것이다.

Settings에서는 내 DB 인스턴스 이름과 master username, password를 정한다.

Storage에서는 다음과 같이 설정했고, 만약 DB가 20GB에 가깝게 차면 autoscaling해서 1000GB까지 늘린다는 것이다.

만약 로컬에서 RDS에 접근하고자 한다면 Public access를 Yes로 해줘야 한다.

보안 그룹은 db-mysql-security라는 이름으로 새로 만들어줬다.

Database port가 3366으로 되어있는데, MySQL의 포트 번호가 3366이기 때문에 그대로 둔다. 포트 번호는 DB에 따라 바뀔 수 있다.

Initial database name을 정하고 꼭 기억해둬야 한다. 그리고 자동 백업을 켜고 Backup retention period을 7로 설정해 7일 동안 자동 백업을 가지고 있도록 설정했다.

다 만들고 조금 기다리면 Avaliable이 뜨면서 성공적으로 RDS가 만들어진 것을 볼 수 있다.

sqlectron 이용해 RDS 사용하기
먼저 아래 링크에서 sqlectron을 설치한다.
sqlectron 설치하기
아까 기억해둔 db name과 password를 적는다.

여기서 Server Address는 RDS에 들어가면 나오는 Endpoint를 복사해 넣으면 된다.

저장 후 Connect를 누르면 다음과 같이 뜬다. 이곳이 RDS에 있는 MySQL이다.

간단한 SQL문을 작성해 Excute하니 user 테이블이 만들어진 것을 볼 수 있다.

옆 user 테이블을 우클릭하면 다음과 같이 Insert, Update, Delete 등을 할 수 있다. 나는 Insert Statement를 눌러 데이터를 추가해봤다.

다음과 같이 데이터를 넣고 Excute를 눌렀다.

정상적으로 데이터가 들어간 모습을 확인할 수 있다.

RDS Monitoring에 들어와서 보면 변화가 생긴 것을 볼 수 있다.

'TIL' 카테고리의 다른 글
[AWS] 🪣S3 시작하기 - bucket 만들기, bucket policy 설정, 정적 웹 사이트 호스팅, EC2에 S3 권한 주기 (0) | 2025.03.21 |
---|---|
[Java/Spring] 인터페이스 vs enum 클래스 vs final 클래스 - 상수 관리하는 법 (0) | 2025.03.19 |
[Spring] Spring Security 도입 후 NullPointException 해결(@AuthenticationPrincipal) (3) | 2025.03.14 |
[Spring] application.yml에 시크릿 키 넣지 말아주세요...(.env 파일 만들고 설정하기) (0) | 2025.03.10 |
프로젝트를 시작할 때 생각해볼 것들 💭 (0) | 2025.03.08 |