⚙️ DevOps

[AWS/RDS] AWS EC2 + RDS + S3 생성하고 배포하기 #2 RDS + S3

별이⭐ 2024. 10. 28. 21:12
EC2 + RDS + S3 + GitHub Actions를 이용해서 배포 및 CI/CD를 하기 위해 하나씩 정리해보자✏️

2024.10.21 - [⚙️ DevOps] - [AWS/EC2] AWS EC2 + RDS + S3 생성하기 #1

 

RDS 생성

t3.micro가 프리티어!
퍼블릭 액세스를 허용하면 퍼블릭 IP 주소가 할당된다.

❗RDS에 퍼블릭 IP 주소를 할당하면 AWS 정책이 바뀌어서 프리티어여도 몇 천원 정도 금액이 부과된다.

2024.11.06 - [⚙️ DevOps] - [AWS] 2024년 2월부터 모든 퍼블릭 IPv4 주소에 대해 요금이 부과되도록 변경 - 프리티어임에도 비용이 발생했다면

 

 

RDS 설정

보안 그룹 인바운드 규칙 설정

EC2와 RDS 간에 접근이 가능하도록 RDS 보안 그룹에 EC2 보안 그룹을 추가해주고, 내 IP를 선택해서 추가해주자.

RDS 생성 시 새로 생성된 보안 그룹

 

파라미터 그룹 생성 및 적용

select now(); 해보면 시간이 안 맞는걸 확인할 수 있다. time zone을 서울로 바꿔주고 character set도 바꾸자.

파라미터 그룹을 생성하자.
만든 파라미터 그룹에서 [편집]을 클릭

아래 항목들을 검색해서 바꿔주자.

  • time_zone
    • Asia/Seoul
  • character_set_client
    • utf8mb4
  • character_set_connection
    • utf8mb4
  • character_set_database
    • utf8mb4
  • character_set_filesystem
    • utf8mb4
  • character_set_results
    • utf8mb4
  • character_set_server
    • utf8mb4
  • collation_connection
    • utf8mb4_general_ci
  • collation_server
    • utf8mb4_general_ci

다 바꿔준 뒤 [변경사항 저장]

 

파라미터 그룹을 RDS에 적용

RDS > 데이터베이스 > DB 인스턴스 수정으로 들어가 아래 옵션을 생성한 파라미터 그룹으로 변경하자.

즉시 적용 선택

수정했으면 RDS 재부팅을 해준다.

프로젝트에 RDS 연결하고 필요한 데이터 입력하기

RDS로 연결 및 생성

Host에는 RDS 엔드포인트를 작성하고 User, Password 작성한다.

연결 후 DB 생성 및 사용하도록 설정한다.

create database [DB명];
USE [DB명];

 

yml 수정

localhost:3306/[DB명] -> RDS 엔드포인트 값:3306/[DB명]으로 알맞게 변경한다.

그리고 테이블 생성 및 insert문으로 필요한 데이터 입력을 완료하자. (나는 JPA를 사용했기 때문에 프로젝트 실행 후 하이버네이트가 알아서 테이블 생성하도록 했다!)

 

S3 생성 및 설정

이미 작성해둔 글이 있어서 링크로 대체한다.

2024.09.27 - [⚙️ DevOps] - [AWS/S3] 이미지 업로드용 S3 버킷 및 IAM 사용자 생성하기

2024.10.01 - [🍃 Spring Boot] - [Spring Boot] AWS S3를 이용한 이미지 업로드 구현하기

 

 

여기까지하면 RDS 설정과 S3 설정이 완료된다.
다음 #3 게시글에서는 EC2에서 프로젝트를 빌드하고 배포해보자!