[AWS] EC2와 RDS 연동

yedi·2024년 12월 2일

EC2와 RDS를 연동한 뒤, SSH를 사용해 RDS에 접속해보자.



EC2와 RDS 연동

1. 연동할 EC2 정보 확인하기

네트워크 통신 및 보안 설정이 서로 호환되어야 하므로 연동할 EC2의 VPC ID, 서브넷 ID, 보안 그룹 정보를 확인한다.

VPC ID
: VPC는 EC2와 RDS가 속한 가상 네트워크 환경입니다.
: 같은 VPC 안에 있어야 EC2와 RDS가 서로 통신할 수 있습니다.

서브넷 ID
: 서브넷은 VPC 내에서 네트워크를 세분화한 영역입니다.
: EC2와 RDS가 동일한 VPC에 있더라도, 서브넷 설정에 따라 통신이 차단될 수 있습니다.

보안 그룹
: 보안 그룹은 EC2와 RDS 간의 인바운드/아웃바운드 네트워크 트래픽을 제어합니다.


2. RDS 보안 그룹 설정

EC2 왼쪽 메뉴에서 네트워크 및 보안 > 보안 그룹을 선택한 후, RDS 생성 시 만든 보안 그룹을 클릭합니다.
먼저 해당 보안 그룹의 VPC ID와 EC2의 VPC ID가 동일한지 확인한다.

다음으로, 인 바운드 규칙 편집을 클릭한다.

인바운드 규칙에서 유형은 MySQL/Aurora, 프로토콜은 TCP, 포트 범위는 3306으로 설정하고, 소스로 EC2 보안 그룹 ID를 입력한 후 규칙 저장 버튼을 클릭한다.



EC2에서 SSH를 사용한 RDS 연결

1. EC2 SSH 접속

EC2 생성 시 만든 Key Pair 파일(.pem 또는 .ppk)이 있는 경로로 이동한 뒤, 아래 명령어를 사용해 EC2에 접속한다.

ssh -i <Key pair 파일> ec2-user@<EC2 PUBLIC IP 주소>

2. TCP 연결 확인

nc 명령어로 포트 3306이 열려 있는지 확인한다.

Netcat
: Netcat은 RDS와의 네트워크 연결을 점검하는 데 유용합니다
: Netcat 설치 sudo yum install -y nc
: 설치 확인 nc --version

nc -zv <RDS-ENDPOINT> 3306


3. RDS 연결 확인

mysql 클라이언트를 사용하여 RDS에 접근할 수 있는지 확인한다.

MySQL 클라이언트 설치
: Amazon Linux에서 mariadb는 MySQL 클라이언트를 대신합니다.
: MySQL 클라이언트는 RDS 데이터베이스 관리와 쿼리 실행에 필수적입니다.
: 설치 sudo yum install -y mariadb

mysql -h <RDS 엔드포인트> -P <Port 번호> -u <사용자 이름> -p


4. 데이터베이스 확인

SHOW DATABASES;

정상적으로 데이터베이스 목록이 나오면 연결이 완료된 것입니다.


5. 종료

EXIT;

0개의 댓글