‘Cloud’란 개념이 도입되기 전 모든 기업들은 온프래미스(On-premise)환경, 즉 IDC환경에 인프라를 구성하고 서버를 올려 서비스를 해왔다. 하지만 이러한 IDC환경은 초기 구축의 비용과 H/W 배치를 위한 상면 비용, 지속적인 S/W의 관리 비용 및 유지 보수 비용 등 비용적인 측면에서 많은 부담이 있다. 또한 서비스가 확장됨에 따라 리소스를 확장시키는 데에도 많은 시간과 노력이 필요했다. 그러나 알리바바클라우드에서 제공하는 VPC(Virtual Private Cloud)를 사용하면 보다 효율적이며 확장성 있게 인프라를 구축하고 서비스를 운영하는 것이 가능하다.
VPC 구성도
-VPC란?
VPC(Virtual Private Cloud)란 논리적으로 격리된 공간을 사용하는 알리바바클라우드 전용 가상 네트워크 솔루션이다.
서버리스 제품을 제외한 사실상 거의 모든 알리바바 클라우드 서비스가 VPC에서 동작하며, 사용자 임의의 VPC대역을 설정하여 구성 및 Peering역할을 하는 알리바바클라우드의 CEN(Cloud Enterprise Network)을 사용하여 서로 다른 VPC의 서비스끼리 통신 또한 가능하다.
앞서 언급했듯, VPC는 알리바바 클라우드의 가장 기본이 되는 Private Network(사설 네트워크망) 이며 일반적인 사설 네트워크망인 ‘10.0.0.0/8 172.16.0.0/12, 192.168.0.0/16’대역은 물론, 사용자가 원하는 임의의 IP대역도 개인 사설망으로 설정하여 사용 가능하다. 단, 임의의 IP대역이 공용(Public)망일 경우, 알리바바클라우드에 요청하여 변경이 필요하다.
이렇게 생성한 VPC의 subnet을 원하는 서비스에 맞게 나누어 사용할 수 있게 해주는 것이 vSwich 이다. 데이터베이스, 서버 등 각각의 서비스에 맞게 필요한 만큼 IP대역을 나누어주는 역할을 하며, 이렇게 나누어준 대역을 상황에 맞게 관리를 하는 용도로 사용된다. 간단하게 L2 switch라고 생각하면 보다 쉽게 이해할 수 있다.
Subneting 개념도
하나의 VPC는 하나의 Region 내에서만 생성이 가능하지만, 여러개의 Availavility Zone(AZ/가용영역)에 걸쳐서 생성할 수 있다. 이렇게 생성한 VPC는 2^16=65,535개의 IP주소를 갖게 되며, 이 IP대역을 여러 개로 쪼개어 나눈 것을 Subnet이라고 한다. Subnet은 하나의 VPC안에서 하나의 가용 영역에만 생성이 가능하다.
-VPC생성 시 주의사항
VPC를 생성할 때 한가지 주의사항이 있는데, 클라우드의 특성상 언제든지 리소스를 자유롭게 확장이 가능하다. 따라서 언제든지 알리바바클라우드의 다른 VPC대역 또는 기존 IDC환경의 인프라와의 연동을 고려하여 설계하여야 한다.
만약 CIDR블록을 고려하지 않고 설계한다면, 추후 리소스의 확장 시 네트워크 충돌문제로 인하여 서비스에 지장이 있을 수 있으니 꼭 이점을 유의하여 구축해야 한다.
–외부통신 & 내부통신
위와 같이 VPC내에 생성된 Subnet은 기본적으로 외부와의 통신이 불가능한 사설(Private)망 형태로 구성되게 된다. 사설망에 구축된 서버들은 인터넷과의 통신이 불가능한 Private IP를 갖게 되고, Subnet내에서만 통신이 가능하다.
EIP와 Bastion Host를 사용한 내부접속
만약 외부에서 내부 서버로 접속이 필요할 경우, 인스턴스 생성 시 Public IP를 할당 받아 접속을 할 수 있다. 하지만 임의로 생성된 Public IP의 경우, 인스턴스 중지 시 IP주소가 변경되기 때문에 고정 IP서비스인 EIP(Elastic IP)를 구매하여 보다 유연한 공용 IP 사용이 가능하다.
하지만 서버에 직접적으로 Public IP를 할당하여 사용할 경우, 서버가 외부로 노출되는 보안상의 위험이 따른다. 따라서 일종의 Proxy역할을 하는 Jump Server인 Bastion Host를 사용하여 보안을 강화할 수 있다.
NAT Gateway를 사용한 외부통신
반대로 내부에 있는 서버가 다른 서버와 connection을 하거나 패치를 읽어오는 등 외부시스템으로의 접속이 필요한 경우가 종종 있을 수 있다. 외부와의 Outbound Connection이 필요한 경우, 알리바바의 NAT(Network Address Translation) Gateway솔루션을 사용하여 내부에 있는 서버들의 Outbound Traffic을 지원해준다.
[EIP]
https://www.alibabacloud.com/help/doc-detail/32321.htm
[Bastion Host]
https://www.alibabacloud.com/help/doc-detail/52922.htm
[NAT Gateway]
https://www.alibabacloud.com/help/doc-detail/32322.htm
-Network ACL
알리바바클라우드는 Network Access Control List(NACL)을 사용하여, VPC에 대한 액세스 제어를 규제할 수 있다.
Network ACL 사용예시
Network ACL 규칙을 생성하고 생성한 규칙을 vSwitch에 연결함으로써 Subnet단에서, 즉 내부에 있는 인스턴스들의 Inbound 및 Outbound 트래픽을 제어할 수 있다.
이를 통해 보다 안정적으로 인프라를 보호하여 원활한 서비스를 제공한다.
-Security Group
Security Group(보안그룹)은 SPI(Stateful Packet Inspection) 및 패킷 필터링 기능을 제공하여, 알리바바 클라우드에서 가상 방화벽 역할을 제공한다.
간단히 말해, IDC환경에서 사용하는 방화벽인 Firewall이라 생각할 수 있다.
보안그룹은 서버단에서 동작하며, 서버로 향하는 Inbound 또은 Outbound 트래픽에 대해서 port별로 접근을 제어할 수 있는 기능을 제공한다.
각 서버의 용도에 맞게 보안 그룹을 편집/설정하여 안정적인 클라우드 인프라 환경을 구축할 수 있다.
https://www.alibabacloud.com/help/doc-detail/25412.htm?
트래픽 흐름에 따른 Security Group과 NACL적용도
트래픽 흐름에 따른 Security Group과 NACL적용도
-VPC를 이용한 다양한 사용 사례
VPC는 생성 후 기본적으로 외부(인터넷)와의 통신이 차단되어 있다. 만약 내부에 있는 특정 리소스들이 인터넷에 액세스가 필요한 경우 또는 내부 리소스에 접근이 필요한 경우, 알리바바 클라우드 NAT Gateway와 공용 IP서비스인 EIP(Elastic IP)를 사용하여 네트워크 트래픽을 외부로 라우팅 할 수 있다.
VPC의 다양한 활용 방법
“NAT Gateway와 EIP(Elastic IP)를 사용함으로써 내부에 있는 사설 IP주소를 외부로 노출할 필요 없이 트래픽을 전달하고 인터넷 액세스에 사용되는 공용 IP주소를 필요에 의해 변경하여, 인터넷 공격을 방지하고 보다 안정적으로 서비스를 운영하는 것이 가능”하다.
VPC는 서로 논리적으로 격리된다. 따라서 망분리를 통해 외부와의 접근이 필요한 리소스들과, 외부의 접근 필요하지 않은 데이터베이스 같은 서비스들을 구분하여 VPC를 구성할 수 있다.
또한 peering연결을 통해 여러 VPC에 배포된 서비스들이 서로 통신할 수 있도록 네트워크 환경을 설정 할 수도 있다.