- 인쇄
- PDF
Public/Private Subnet 생성
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
Public Subnet과 Private Subnet을 생성하는 시나리오를 소개합니다. 이 시나리오는 Private 서버(<예시> DB)에 대한 공개적인 접근을 차단하며 Public Web Application을 실행하려는 경우에 권장합니다. 시나리오 구성도는 다음과 같습니다.
시나리오 구현을 위한 순서 및 설명은 다음과 같습니다.
1. VPC 생성
2. Public Subnet과 Private Subnet 생성
3. Network ACL 설정
4. Public Subnet Route Table 설정
5. NAT Gateway 생성
6. Private Subnet Route Table 설정
7. 서버 생성
1. VPC 생성
가장 먼저 네이버 클라우드 플랫폼 콘솔에서 VPC 2개를 생성합니다. 콘솔의 Services > Networking > VPC 메뉴에서 생성할 수 있습니다. 각 VPC의 IPv4 CIDR 블록 크기는 /16(<예시> 10.0.0.0/16)이며 65,536개의 IP를 사용할 수 있습니다.
참조할 수 있는 사용 가이드는 다음과 같습니다.
2. Public Subnet과 Private Subnet 생성
VPC 생성을 완료했다면 실제적으로 네트워크를 사용할 수 있도록 VPC 안에 Subnet을 구축합니다. Subnet은 크게 Public Subnet과 Private Subnet으로 구분됩니다.
- Public Subnet: Subnet의 CIDR을 10.0.0/24로 설정하여 최대 256개 IP를 사용할 수 있으며, 이 공간에 배치되는 서버는 각각 공인 IP를 1개씩 연결할 수 있습니다. (1:1 NAT)
- Private Subnet: Subnet의 CIDR을 10.0.0/24로 설정하여 최대256개 IP를 사용할 수 있으며, 이 공간에 배치되는 서버는 인터넷에서 수신되는 트래픽을 허용하지 않습니다. NAT Gateway를 추가하면 인터넷으로 트래픽 송신이 가능합니다.
참조할 수 있는 사용 가이드는 다음과 같습니다.
3. Network ACL 설정
Subnet 생성을 완료했다면 보안을 위해 Network ACL(Access Control List)을 설정하여 Subnet의 Inbound와 Outbound 트래픽을 제어합니다. 시나리오에서 권장하는 Inbound 규칙, Outbound 규칙 설정값은 다음과 같습니다.
- Public Subnet
- Inbound 규칙
우선순위 프로토콜 접근 소스 포트 허용 여부 설명 1 TCP 0.0.0.0/0 80 허용 Inbound HTTP 트래픽 허용 2 TCP 0.0.0.0/0 443 허용 Inbound HTTPS 트래픽 허용 3 TCP 접속 IP 22 허용 접속 IP로부터 Internet Gateway를 통해 들어오는 SSH 트래픽 허용 4 TCP 접속 IP 3389 허용 접속 IP로부터 Internet Gateway를 통해 들어오는 RDP 트래픽 허용 5 TCP 0.0.0.0/0 32768~65535 허용 Subnet에서 발신되는 요청에 대한 Inbound 리턴 트래픽 허용(해당 입력값은 예시) 197 TCP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 198 UDP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 199 ICMP 0.0.0.0/0 - 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 - Outbound 규칙
우선순위 프로토콜 접근 소스 포트 허용 여부 설명 1 TCP 0.0.0.0/0 80 허용 Outbound HTTP 트래픽 허용 2 TCP 0.0.0.0/0 443 허용 Outbound HTTPS 트래픽 허용 3 TCP 0.0.0.0/0 32768~65535 허용 인터넷에서 클라이언트에 대한 Outbound 응답 허용(해당 입력값은 예시) 4 TCP Private 서버의 Private IP Private 서버 포트
<예시> DB허용 Private 서버와 통신하기 위한 트래픽 허용 197 TCP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 198 UDP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 199 ICMP 0.0.0.0/0 - 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단
- Inbound 규칙
- Private Subnet
- Inbound 규칙
우선순위 프로토콜 접근 소스 포트 허용 여부 설명 1 TCP Public Subnet 서버의 Private IP Private 서버 포트
<예시> DB허용 Public 서버와 통신하기 위한 트래픽 허용 2 TCP 0.0.0.0/0 32768~65535 허용 인터넷으로 발신되는 요청에 대한 Inbound 리턴 트래픽 허용(해당 입력값은 예시) 197 TCP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 198 UDP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 199 ICMP 0.0.0.0/0 - 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 - Outbound 규칙
우선순위 프로토콜 접근 소스 포트 허용 여부 설명 1 TCP Public Subnet 서버의 Private IP 32768~65535 허용 Public 서버에서 Private 서버에 대한 Outbound 응답 허용(해당 입력값은 예시) 197 TCP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 198 UDP 0.0.0.0/0 1~65535 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단 199 ICMP 0.0.0.0/0 - 차단 위의 규칙 제외한 나머지는 모두 트래픽 차단
- Inbound 규칙
서버의 Inbound/Outbound를 제어하는 ACG(Access Control Group)도 Network ACL과 같은 규칙으로 설정하는 것을 권장합니다. ACG는 콘솔의 Services > Compute > Server > ACG에서 설정할 수 있습니다.
참조할 수 있는 사용 가이드는 다음과 같습니다.
- Network ACL 사용 방법
- ACG 사용 방법
- Network ACL와 AGC 개념 이해
4. Public Subnet Route Table 설정
Network ACL 설정을 완료했다면 네트워크 경로를 설정하는 라우팅 테이블을 설정합니다. 이 시나리오에서 Public Subnet의 Route Table은 다음과 같이 자동 설정되어 서버가 VPC의 다른 인스턴스 또는 인터넷과 통신할 수 있습니다.
목적지 | Target 유형 | Target 이름 |
---|---|---|
0.0.0.0/0 | IGW | INTERNET GATEWAY |
10.0.0.0/16 | LOCAL | LOCAL |
참조할 수 있는 사용 가이드는 다음과 같습니다.
5. NAT Gateway 생성
Private Subnet 내의 서버에 인터넷을 연결하기 위해 NAT Gateway를 생성합니다. 참조할 수 있는 사용 가이드는 다음과 같습니다.
6. Private Subnet Route Table 설정
Private Subnet의 Route Table은 local 항목만 자동으로 설정되기 때문에 NAT Gateway 네트워크 경로를 별도로 설정해야 합니다. 인터넷 사이트 전체와의 통신이 필요한 경우 목적지를 0.0.0.0/0으로 입력하여 다음과 같이 설정할 수 있습니다.
목적지 | Target 유형 | Target 이름 |
---|---|---|
0.0.0.0/0 | NATGW | 설정한 NAT Gateway 이름 |
10.0.0.0/16 | LOCAL | LOCAL |
참조할 수 있는 사용 가이드는 다음과 같습니다.
7. 서버 생성
Route Table 설정까지 완료했다면 생성된 VPC 안에 배치할 서버를 생성합니다. 서버 생성 시 앞서 생성한 VPC와 Subnet을 선택하고 위에서 언급된 ACG를 입력해야 합니다. 서버 생성을 완료하면 해당 서버에 접속한 후 웹 서버를 생성하여 HTTP 통신이 되는지 확인합니다.
참조할 수 있는 사용 가이드는 다음과 같습니다.