본문 바로가기
  • 실행력이 모든걸 결정한다
AWS/RDS

[RDS] 데이터베이스 접속하기

by 김코더 김주역 2021. 12. 22.
반응형

1. Public 방식으로 접속

1) DB 인스턴스 접속

※ 이전 포스팅에서는 DB 식별자가 mydb였는데, 모종의 이유로 DB 인스턴스를 다시 생성하게 되었다.

 

 

2) 인바운드 규칙 추가

인바운드 규칙 : 외부에서 EC2 인스턴스로 들어오는 트래픽에 대한 규칙

아웃바운드 규칙 : EC2 인스턴스에서 외부로 내보내는 트래픽에 대한 규칙

 

- 먼저, VPC 보안 그룹에 들어간다.

 

- 아래쪽을 보면 인바운드 규칙이라는 메뉴가 보이는데, 인바운트 규칙 편집을 클릭하여 아래와 같이 0.0.0.0/0(모든 IP)에 대한 접근을 허용하도록 규칙을 추가한다. 물론, 이 방식이 위험하다고 느껴진다면 여러분의 공인 IP만 허용하도록 해도 좋다.

 

3) 엔드포인트 확인

- 빨간 상자로 표시한 엔드포인트가 DB의 주소이다.

 

4) 접속 테스트

- cmd를 실행하여 다음과 같이 명령어를 입력한다. 마스터 ID는 여러분이 데이터베이스를 생성할 때 기입했던 내용으로, 기본값은 admin이다. 필자는 root으로 설정했었다.

mysql -h [엔드포인트] -u [마스터 ID] -p

 

- 마스터 암호까지 입력하고, 아래와 같은 문구가 나온다면 성공적으로 접속된 것이다.

 

 

2. 비공개 상태로 접속

- VPC 보안그룹에서는 동일 VPC상에서 DB 접근을 허용할 EC2 서버들을 지정할 수 있다. 그래서 이 방식은 더 안전하다.

 

1) 외부 접근 허용 취소

- 먼저, DB 인스턴스의 [수정]에 들어가서 public access를 불가능으로 체크한다.

 

그리고 아까 설정했던 인바운드 규칙도 제거한다.

 

이러면 당연히 cmd로는 접속할 수 없게 될 것이다.

 

 

2) EC2 인스턴스 생성

- EC2 콘솔의 인스턴스 메뉴에서 [인스턴스 시작]을 누른다.

 

- AMI로는 우분투로 결정했고, 인스턴스 유형으로는 프리 티어를 선택했다.

 

- 네트워크의 VPC IDRDS의 VPC ID와 일치한지 반드시 확인하고 넘어간다.

 

- 단계 6으로 넘어가서, 22번 포트가 잘 열려 있는지 체크한다.

- 22번 포트가 잘 열려 있다면 commad line을 통하여 Unix, Linux, MacOS와 같은 운영체제를 원격 제어할 수 있을 것이다.

- EC2에서는 접속이 허용되어야 하므로 소스는 0.0.0.0/0으로 설정해준다. 

 

- 마지막으로, 단계 7에서 우측 하단에 있는 [시작]을 누르면 Key pair을 생성하거나 선택하라는 창이 나올 것이다.

- key pair가 없다면 새로 생성하고 다운로드 하면 된다.

 

- 인스턴스가 잘 생성되었고, 드디어 해당 인스턴스의 Public IP DNS와 Public IP 주소를 배정받았다.

 

 

3) RDS Security Group에 EC2 인스턴스 등록

- 이제 RDS 보안 그룹에 EC2의 Public IP 주소를 등록할 차례이다.

- EC2 대시보드의 보안 그룹에 접속해보면 보안 그룹이 2개가 된 것을 확인할 수 있는데, 나중에 헷갈리지 않도록 Name도 지정해주었다.

 

- 마지막으로, RDS 보안 그룹의 인바운드 규칙EC2 보안 그룹의 ID를 추가해주면 된다.

 

 

4) 접속 테스트

- cmd를 실행하여 다음과 같이 명령어를 입력한다. 

ssh ubuntu@[Public IP DNS or Address] -i [key pair 저장 위치]

 

그리고 yes를 입력하면 접속이 시작된다.

 

- 접속이 완료된 모습이다. 이제 우분투 컴퓨터에서 원격으로 명령어를 사용할 수 있게 되었다.

 

- 이제 우분투 컴퓨터에 mysql을 설치해야 하는데, 설치하기 전에 우분투의 고급 패키징 도구인 apt를 최신 상태로 만든다.

 

그리고 mysql 명령어를 입력하면 mysql을 설치하기 위한 명령어를 친절히 알려준다. 이 명령어들을 모두 입력해서 설치를 완료하자.

 

- mysql을 설치했다면 접속을 시도해보자. 접속 명령어는 Public 접속 때와 동일하다.

- 아래와 같은 문구가 출력되었다면, 성공적으로 접속이 된 것이다.

 

이 방법을 이용하면 외부에서 직접적으로 RDS DB에 접속할 수 없고, 방금 지정한 EC2를 경유해서 접속할 수 있기 때문에 더 안전해졌다고 할 수 있다.

반응형

'AWS > RDS' 카테고리의 다른 글

[RDS] 데이터베이스 관리하기  (0) 2021.12.22
[RDS] 데이터베이스 생성하기  (0) 2021.12.21

댓글