AWS EC2와 AWS RDS 연결하기

이주호·2025년 5월 28일
  • 지난 시간에 AWS EC2와 AWS RDS 인스턴스를 각각 생성해주는 작업을 했었다.
    하지만, 스프링 부트 내 프로젝트를 배포하기 전에 EC2 서버와 RDS 연결을 해줘야함.

    ⚠️주의: !! EC2에 DB를 설치해서 사용 가능

    • 하지만, RDS를 연동해서 사용하는 이유:
      • 서비스를 운영하다가 서버에 문제가 발생할 시 서비스를 중단해야 하는 경우
      • RDS를 사용하면, 서버가 제대로 작동X 시 다른 서버로 교체하여 서비스가 중단되지 않게 하기 위함.
      • 접속자의 수에 따라 서버를 늘리고 줄이는 과정에서도 서버와 DB가 분리되어 있기 때문에 DB에 손상되는 일이 없게 해야함
      application.yml
      jdbc:mysql://[rds dns public 주소]:3306/[db이름]?serverTimezone=Asia/Seoul

1. RDS 인스턴스 일시중지

  • 연결이나 수정 하기 전, RDS 인스턴스를 중지 시켜야 보안 그룹 수정 및 편집 가능

    RDS에 접속하여 인스턴스를 일시적으로 중지시켜준다.

2. 연동할 EC2 정보 확인

  • EC2/보안 그룹/서브넷 그룹/ RDS를 같은 네트워크 안에서 사용해야 하기 때문에 확인!!

    VPC ID, 서브넷ID 확인

보안탭으로 이동 후

  • 보안 그룹 확인 (나는 연결 설정을 해놔서 보안그룹이 들어가 있다.)
  1. RDS 보안그룹 생성하기
    1) EC2 왼쪽에서 네트워크 및 보안 -> 보안 그룹 -> 보안 그룹 생성을 눌러준다.

2) 현재 ec2에서 사용하고 있는 VPC를 선택
이름은 자기가 생성하고 싶은 이름으로

  • 인바운드 규칙:
    우리가 사용하는 MySQL을 위해 3306포트를 열기
    뒤에 보안 그룹은 현재 EC2에서 사용하고 있는 보안그룹의 ID
    ⚠️후에, 보안 그룹이 변경 시에 저것도 변경!!

    생성하면 아래 사진과 같이 생성

3. RDS 보안그룹으로 재설정

  • RDS 설정 -> 연결-> 보안그룹
    방금 생성한 보안그룹으로 재설정


    즉시 적용 요청

4. EC2 서버로 접속

그전에, RDS의 엔드 포인트 확인

1) 서버에 MySQL CLI를 설치

$sudo apt install mysql-server

2) 아래의 명령어를 실행하여 계정 비밀번호를 입력

mysql -u [계정] -p -h [host주소]

profile
안녕하세요 공부용 개인 블로그 입니다.

0개의 댓글