정의
- AWS에서 제공하는 관계형 데이터베이스(RDB) 서비스
- 주로 백엔드 서버와 연결할 DB를 생성하고 관리하기 위해 사용
- EC2 인스턴스에 RDB를 설치하여 운용 가능하지만 예기치 못한 에러로 인하여 인스턴스가 죽을 경우 DB의 데이터가 날아갈 위험성이 존재
※ GCP 기준 SQL
기본 세팅
DB 인스턴스 생성
1. AWS 로그인 후 RDS 대시보드 접속 - 데이터베이스 생성 클릭 → 원하는 DB 종류 선택
2. 마스터(admin) ID, 비밀번호 설정
※ 편리하게 마스터 로그인 정보를 관리할 수 있는 AWS Secrets Manager도 있으나 비용이 더 청구됨
(백엔드의 yml 파일이나 properties 파일에 DB 정보를 하드코딩하는 대신 다음과 같은 형식으로 입력)
datasource:
driver-class-name: com.amazonaws.secretsmanager.sql.AWSSecretsManagerMySQLDriver
url: jdbc-secretsmanager:mysql://HOST:3306/dbname
username: AWSSecretsManager의 username
3. 스토리지 유형 gp3로 선택
4. 연결 설정에서 퍼블릭 엑세스 허용 선택
5. 모니터링 활성화 해제 후 데이터베이스 생성 클릭 → DB 인스턴스 생성
보안 그룹 적용
1. EC2 대시보드의 네트워크 및 보안 설정에서 다음과 같이 설정 후 보안 그룹 생성
(인바운드 규칙 유형 - 연동할 RDB 유형, 아웃바운드 규칙 - 모든 트래픽)
2. RDS 대시보드에서 생성했던 DB 인스턴스 선택 후 수정 클릭 → 연결 설정에서 보안 그룹을 6번에서 생성한 보안 그룹을 적용한 뒤 맨 밑의 계속 버튼 클릭 → 수정 예약 옵션에서 즉시 적용 선택 후 DB 인스턴스 수정
파라미터 그룹 적용
1. RDS 대시보드에서 파라미터 그룹 선택 → 파라미터 그룹 생성 클릭
2. 엔진 유형으로 활용할 DB 인스턴스의 유형 선택 → 파라미터 그룹 패밀리로 DB 버전에 맞추어 선택 → 파라미터 그룹 생성
3. 생성한 파라미터 그룹 클릭 → 편집 클릭 → 다음 파라미터에 대한 값을 utf8mb4로 설정 (for 한글+이모티콘 인코딩)
- character_set_client
- character_set_connection
- character_set_database
- character_set_results
- character_set_server
4. 다음 파라미터에 대한 값을 utf8mb4_unicode_ci로 설정 (for 한글 정렬 방식 적용)
- collation_connection
- collation_server
5. time_zone 파라미터에 대한 값을 Asia/Seoul로 설정
6. RDS 대시보드에서 생성했던 DB 인스턴스 선택 → 수정 → 추가 구성 설정에서 데이터베이스 옵션의 DB 파라미터 그룹을 생성한 파라미터 그룹으로 설정 후 맨 밑의 계속 버튼 클릭 → 수정 예약 옵션에서 즉시 적용 선택 후 DB 인스턴스 수정
7. 수정 사항 반영을 위해 DB 인스턴스 재부팅
DB 인스턴스 연결(MySQL Workbench 기준)
각 파라미터에 다음과 같이 입력 후 연결
- Hostname = DB 인스턴스 엔드포인트 입력
- Username = 마스터 ID 입력
- Password = 마스터 비밀번호 입력
Reference
[AWS] 📚 RDS 개념 & 아키텍쳐 정리 [이론편]
RDS (Relational Database Service) 란? AWS RDS란 관계형 데이터베이스를 간편하게 클라우드에서 설정, 운영, 확장이 가능하도록 지원하는 웹 서비스이다. RDS는 MySQL이나 오라클 같은 데이터베이스의 설치,
inpa.tistory.com
AWS Secret Manager를 이용하여 보안성 향상!
1. intro 기존에는 비밀번호나 키 값을 사용하기 위해 .yml에 값을 넣고 .gitignore를 사용하여 안보이게 하거나 github actions를 이용하여 프로젝트 빌드 전 github에 있는 secrets에 값을 이용해 빈 yml파일
velog.io
'DevOps > AWS' 카테고리의 다른 글
IAM(Identity and Access Management) (0) | 2024.09.15 |
---|---|
S3(Simple Storage Service) (0) | 2024.09.14 |
EC2(Elastic Compute Cloud) (0) | 2024.09.12 |
댓글