미스터 역마살

AWS 네트워크 #08 - RDS (2/2) 본문

IT/AWS

AWS 네트워크 #08 - RDS (2/2)

Mr. YeokMaSsal 2021. 7. 28. 23:04
728x90
반응형

지난 이야기

AWS 네트워크 #01 - VPC

AWS 네트워크 #02 - Subnet

AWS 네트워크 #03 - ROUTE TABLE, NAT GATEWAY

AWS 네트워크 #04 - Security Group

AWS 네트워크 #05 - EC2 생성 (Batstion host, private ec2)

AWS 네트워크 #06 - bastion host를 통한 private ec2 접속

AWS 네트워크 #07 - ELB

AWS 네트워크 #08 - RDS

RDS를 DBeaver로 접속 & MULTI-AZ FAILOVER 테스트

이번에는 RDS를 DBeaver로 접속하고 RDS의 MULTI-AZ를 테스트 해볼 것이다.

RDS는 내부적으로 EC2 인스턴스와 EBS로 구성되어 있어 Bastion host를 통해서도 접속이 가능하지만   db 클라이언트 툴인 dbeaver로 접속하는것이 좀더 편리하다. 

접속을 위해서는 먼저 dbeaver를 먼저 설치 해야 한다.
아래 링크로 들어가 Community edition을 설치하면 된다.

https://dbeaver.io/download/

 

Download | DBeaver Community

Download Tested and verified for MS Windows, Linux and Mac OS X. Install: Windows installer – run installer executable. It will automatically upgrade version (if needed). MacOS DMG – just run it and drag-n-drop DBeaver into Applications. Debian package

dbeaver.io

 

그럼 이제 dbeaver 연결을 해보자

 

RDS dbeaver 연결

이전시간까지 만들었던 RDS는 Private subnet에 위치해있다. 만약 public 망에 있었다면 간단하게 접속 정보만을 가지고도 접속할수 있었겠지만 private 망에 있기에 bastion host를 통해서만 접근이 가능하다.

dbeaver 실행 및 connection 생성

dbeaver를 실행하고 좌측 상단에 새 데이터베이스 연결을 클릭한다.

 

mysql을 선택 한다.

 

dbeaver ssh 설정 정보 입력

RDS는 Private 망에 있어 bastion host를 통해야 한다.
dbeaver로 접속하여 ssh 터널링을 통해 rds로 접속한다.

아래와 같이 진행하자

  • connection 화면 에서 SSH 탭을 클릭한다.
  • USE SSH 터널 체크박스를 체크한다.
  • Host/IP : Bastion host의 퍼블릭 IP 입력 후 22번 포트를 입력한다.
  • user name : ec2-user를 입력한다.
  • Authentication method : Public key 항목을 선택한다.
  • Private key : bastion host 접속시 사용된 .perm 파일을 선택한다.
  • Test tunnel configuration 클릭한다.

 

RDS 접속 정보 입력

ssh 설정 정보를 작성하고 테스트를 끝냈다면 이제 rds 정보를 입력해보자

  • main 탭을 선택한다.
  • server host에 RDS의 엔드포인트 정보를 입력한다.
  • Database 부분은 비워둔다.
  • UserName : admin
  • Password : RDS 생성시 만든 패스워드 정보 입력
  • TestConnection 클릭

 

그런다음 완료를 클릭하면 접속이 완료 됩니다.

이렇게 좌측에 연결된것을 확인 할 수 있다.

 

* RDS 엔드포인트 찾는방법

RDS를 클릭하고 연결&보안 탭을 선택하면 엔트포인트 정보가 나온다.

 

 

MULTI-AZ Failover 테스트

RDS는 MULTI-AZ 구성이 아주 손쉽게 된다. MULTI-AZ는 RDS에서 제공하는 이중화 기능으로써 각기 다른 AZ에 Primary와 Standby 구성되어 평상시에는 Primary만 서비스 되다가 장애 발생시 Failover 된다. 아래는 Failover가 되는 경우 이다.

  • RDS의 패치 작업시
  • RDS 다중 AZ 인스턴스의 기본 호스트가 비정상
  • 네트워크 연결 손실로 인해 RDS 다중 AZ 인스턴스의 기본 호스트에 연결할 수 없는 경우
  • RDS 인스턴스를 수정한 경우
  • RDS Primary가 응답하지 않을 경우
  • RDS Primary 스토리지 볼륨에 오류가 발생한 경우
  • 사용자가 db 인스턴스에 장애 조치를 요청 한 경우

아래는 FAILOVER 되기 전 RDS의 상태이다.

  • 현재 RDS의 AZ는 2a다.
  • 다중 AZ는 활성화 되어있고 보조 영역은 2c 이다.

 

이제 Failover를 진행하겠다.

RDS의 우측 상단에 작업 메뉴를 선택하고 재부팅을 클릭한다.

그리고 재부팅시 장애조치로 재부팅 하시겠습니까? 라는 질문에 체크 후 확인 버튼을 누른다.

재부팅이 완료 되면 AZ가 변경 된것을 확인 할 수 있다.

 

 

 

마지막으로

이번엔 RDS 연결과 MULTI-AZ 테스트를 해보았다. 실제 실무에서는 MULTI-AZ는 필수일 것이므로 MULTI-AZ와 FAILOVER에 대한 개념을 완전히 숙지할 필요가 있을것이다.

 

 

 

728x90
Comments