티스토리 뷰

내용 순서

  1. 상황 설명
  2. NAT 게이트웨이용 서브넷 생성
  3. NAT 게이트웨이 생성
  4. Private 서버의 ACG 수정
  5. Private Route Table 수정
  6. Private Server에 ping 날리기
  7. 데이터베이스 (MySQL) 설치
  8. 마무리

1. 상황 설명

현재 구조

 

Ncloud VPC 환경에서 Public Subnet과 Private Subnet이 존재합니다. Public Subnet의 WAS에서 SSH를 통해 Private 서버에 접속할 수 있습니다. 같은 VPC 안에서는 아무 설정을 하지 않아도 Public Subnet과 Private Subnet이 통신할 수 있기 때문입니다. 그러나 VPC 외부 인터넷과의 통신은 Public Subnet만 가능합니다. Public Subnet엔 IGW (인터넷 게이트웨이)가 있지만, Private Subnet은 없어서 인터넷과 연결되어 있지 않기 때문이죠.

 

그러면 Private 서버에 데이터베이스를 어떻게 설치할까요?

 

바로 NAT 게이트웨이를 통해 설치할 수 있습니다. 참고로 NAT 게이트웨이는 꽤 비싼 서비스이기 때문에 인터넷 통신이 필요한 데이터베이스를 설치하거나 업데이트 시에만 잠시 붙이고, 그 외엔 NAT 게이트웨이를 삭제해 놓는 편이 좋습니다.

 

따라서 이 글은 NAT 게이트웨이를 통해 Private Subnet과 인터넷이 통신함으로써 데이터베이스를 설치하는 과정을 기술합니다.

 

 

 

2. NAT 게이트웨이용 서브넷 생성

 

IP 주소 범위는 Public/Private Subnet이 있는 VPC 내의 범위로 설정합니다. 그리고 인터넷 게이트웨이 전용 여부를 Y로 선택합니다. 인터넷과 통신하기 위한 NAT 게이트웨이는 Public Subnet에 있어야 하기 때문입니다. 용도는 일반 대신 NatGateway를 선택합니다.

 

 

 

 

3. NAT 게이트웨이 생성

 

간단하죠.

 

 

 

4. Private 서버의 ACG 수정

 

기존 Private 서버의 Outbound에는 아무런 규칙이 없었습니다. 그러나 이제 데이터베이스(MySQL)을 설치하기 위해서 http나 https 요청을 전달할 수 있도록 허용해줍니다. ICMP는 인터넷 통신이 되고 있는지 ping으로 확인해보기 위해 등록했습니다.

 

 

 

5. Private Route Table 수정

 

기존 Private Subnet의 Route Table에는 LOCAL만 있습니다. 이곳에 NATGW를 추가합니다.

 

 

 

6. Private Server에서 ping 날리기

Pirvate Server에 접속하려면 Public Server에서 ssh로 접속해야 합니다.

 

 

8.8.8.8은 구글입니다. Private Server에서 구글로 ping 요청을 날리니, 정상적으로 인터넷과 연결됐네요 :)

 

 

 

7. 데이터베이스(MySQL) 설치

# 설치
apt update
apt upgrade
apt install mysql-server
mysql_secure_installation

 

 

잘 설치 됐습니다.

 

 

 

8. 마무리

 

Private 서버에 데이터베이스를 설치했습니다. 위와 같은 아키텍처가 완성된 것이죠.

 

불편한 점은 Private Server에 접속하기 위해선 Public Server에서 ssh 연결을 해야 한다는 점입니다. 다음에는 이 문제를 해결하기 위한 SSH 터널링을 설정해보겠습니다.

728x90