☁️ Tencent Cloud/☁️ Hands-on Tencent cloud

[Tencent Cloud] 간단한 Tencent cloud 3-tier 아키텍처 구현하기 (1)

just in here

 

 

 

3-tier architecture

3-tier 아키텍쳐란 일반적으로 비즈니스 로직을 프레젠테이션 계층 , 애플리케이션 계층 , 데이터베이스 계층으로 물리적/논리적으로 분리하여 구현하는 설계를 뜻한다. 이러한 계층 구성을 통해 고가용성 보장과 유연한 서비스 설계가 가능하다. 보통 프론트엔드, 백엔드, 데이터베이스의 기본 구성으로 이해해도 좋다. 글에는 Tencent cloud 클라우드 상품들로 간단한 3-tier 아키텍쳐를 만들어보는 과정을 담았다.

 

아키텍처

 

일반적인 클라우드의 N-tier 아키텍처와 다르지 않다. 1개의 VPC 2개의 가용영역을 구성하여 각각 4개의 서브넷으로 분리하고 (Public subnet x 1 , Private subnet x 3) Private subnet Web server , WAS , DB 서버를 배치한다. DB TencentDB for MySQL 사용한다. public subnet 1대는 bastion host 역할을 한다.

 

트래픽 전달 과정

 

 인바운드 트래픽

  • 클라이언트의 요청 트래픽은 첫 번째 CLB로 전달되어 서로 다른 가용영역에 있는 웹 서버에 로드밸런싱 되고 동적 콘텐츠에 대한 요청은 다시 내부 CLB로 전달하여 WAS에서 나눠서 처리한다. DB는 TencentDB for MySQL의 멀티 AZ 구성을 이용하여 마스터 DB와 슬레이브 DB로 분리 설계한다.

아웃 바운드 트래픽

  • 내부 프라이빗 리소스가 외부로 트래픽을 전달하는 경우 NAT gateway를 통하여 공인 IP를 부여받아 외부와 통신한다.

Tencent cloud에서는 AWS와 달리 별도의 Internet gateway 설정 없이 EIP(혹은 Public IP) 만으로 외부 퍼블릭 서브넷 리소스의 외부 인터넷 연결이 가능하다. 프라이빗 서브넷의 경우 NAT Gateway를 통해야 하므로 (EIP가 할당된 CVM을 public gateway로 하여 외부 인터넷으로 라우팅 하는 방법도 있긴 하다. 이에 대한 내용은 이후에 다른 글에서 자세히 설명하기로 한다.) 퍼블릭 서브넷에 NAT Gateway를 두고 내부 프라이빗 서브넷의 외부 인터넷 트래픽 요청을 라우팅 한다.

 

해야 할 것들

다음과 같은 순서로 실습을 진행한다.

1) VPC & Subnet 설정
2) 라우팅 설정 (NAT & Security group & Routing table)
3) CVM 세팅 및 Web server , WAS 설치
4) CLB 설정
5) TencentDB for MysQL 설정

 

VPC & Subnet 설정

 

VPC

 

Tencent cloud console에서 Virtual Private Cloud 메뉴로 이동하여 ap-seoul 리전에 VPC를 생성한다.

이때 Tencent cloud에서 생성가능한 VPC IP의 범위는 아래와 같다. 

10.0.0.0 - 10.255.255.255 (/12 ~ /28)
172.16.0.0 - 172.31.255.255 (/12 ~ /28)
192.168.0.0 - 192.168.255.255 (/16 ~ /28)

 

모두 RFC1918에서 정의한 사설 IP 영역으로, 원하는 CIDR Block을 선택하여 VPC 생성을 완료한다.

 

 

Subnet

 

VPC콘솔 subnet 메뉴에서 방금 생성한 VPC 내부에 8개의 서브넷을 생성한다.

 

Seoul zone1, Seoul zone2 두 개의 가용영역에 4개의 서브넷을 배치한다.

완성~

 

 

 

서브넷 생성까지 무사히 마쳤다면 위와 같은 구조가 된다.

이제 퍼블릭 서브넷을 위한 NAT Gateway 생성과 라우팅 테이블 설정을 해보도록 하자.

 

 

NAT gateway

 

VPC콘솔 NAT gateway 메뉴에서 새로운 NAT gateway를 생성한다.

 

 

NAT라우팅을 통해 변환될 publicIP는 보유하고 있는 EIP에서 선택해도 되고, 새로 생성해도 된다.  bandwidth cap 제한의 경우 NAT gateway를 통해 나가는 트래픽의 대역폭의 최대 값을 제한하는 옵션인데,

 

NAT와 EIP의 bandwidth cap 중 낮은 값이 우선적용된다.  

(NAT gateway Outbound bandwidth cap이 20 Mbps , EIP bandwidth cap이 30 Mbps인 경우, 아웃바운드 트래픽의 최대 대역폭은 둘 중 낮은 값인 20 Mbps를 기준으로 제한을 받게 된다.)

 

 

Routing table 생성하기

 

두 개의 라우팅 테이블이 필요하다. 편의상 public routing table , private routing table 이라 하자.

public routing table에는 VPC로컬 트래픽에 대한 방향을 안내하는 룰만 설정한다.
(Tencent cloud의 경우 나머지 외부 인터넷으로 나가는 트래픽에 대해서는 별도의 라우팅 룰이 필요하지 않다.)

 

private routing table에는 목적지가 VPC 로컬 이외의 트래픽의 경우 NAT gateway로 보내는 룰을 추가한다.

 

 

NAT gateway에서 새로운 라우팅 룰이 적용된 것을 확인할 수 있다.

 

 

 

>> 다음글에 계속