[테스트 목적]
Azure에서는 가상 네트워크(Virtual Network, VNet)를 생성할 때, 기본적으로 모든 서브넷(subnet)이 인터넷과의 연결이 가능한 상태로 설정됩니다. Azure에서 제공하는 기본 네트워크 아키텍처는 사용자가 명시적으로 설정하지 않더라도 외부 인터넷에 접근할 수 있도록 되어 있습니다.
AWS에서는 VPC(가상 사설 클라우드)를 생성할 때, 퍼블릭 서브넷과 프라이빗 서브넷을 구분하여 관리합니다. 퍼블릭 서브넷에 속한 리소스가 인터넷과 통신하기 위해서는 반드시 인터넷 게이트웨이(Internet Gateway)를 VPC에 연결하고 라우팅 테이블에 해당 경로를 설정해야 합니다. 반면, 프라이빗 서브넷의 리소스는 인터넷 게이트웨이 없이 외부와 직접 통신할 수 없습니다.
AWS의 경우 서버 생성 시 기본적으로 Public IP를 제공해 외부 통신이 가능합니다.
AWS와 Azure 모두 별도의 공인IP (AWS:EIP)가 없어도 외부통신이 되는 것을 확인했은데 네이버 클라우드의 경우 Public Subnet에 서버를 생성했을 때 외부와 통신이 되는지 알아보고자 합니다.
[테스트 방법]
1. 네이버 클라우드 Public Subnet을 생성한다
2. Public Sunet에 2개의 서버를 생성한다.
3. 1개의 서버엔 공인IP를 설정하고, 1개의 서버엔 공인IP 를 설정하지 않는다. (ACG : ICMP ALL OPEN)
4. 2개의 서버에서 접속해 ping 테스트로 외부 통신이 되는지 테스트 한다.
왼쪽 이미지는 네이버 클라우드 Subnet 생성 버튼을 클릭하면 나타나는 창입니다.
네이버 클라우드에선 Subnet 생성 시 "Internet Gateway 전용 여부"에 따라 Public/Private를 구분하며, Public 으로 생성 시 "[VPC명]-default-public-table"이란 Route Table에 연관 Subnet으로 추가됩니다.
제 경우엔 "test-vpc-default-public-table"이라는 기본 Public Route Table엔 오른쪽 이미지와 같이 INTERNET GATEWAY가 추가 되어 있었으며, 제가 생성한 Subnet이 Route Table에 적용되어 있었습니다.
Public Subnet 에 2개의 서버를 만들어서 Ping 테스트를 진했습니다. 왼쪽 서버는 공인 IP가 없는 서버이며, 오른쪽 서버는 공인iP을 설정한 서버입니다.
네이버 클라우드에선 공인 IP 없인 외부 통신이 불가능한 것을 확인할 수 있었습니다.
[결론]
네이버 클라우드의 경우 AWS와 비슷한 구조를 갖고 있지만 Public Subnet에 서버를 생성하더라도, Public IP를 제공하지 않기 때문에 공인 IP를 추가로 설정해주지 않으면 외부통신이 불가능 합니다.