영어로 봐서 낯설 수는 있는데, 우리가 익히 잘 알고 있는 방화벽을 의미한다.
이는 침입차단시스템으로 부르기도 하는데, 우선 사전적 정의로는
'미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템이다. 방화벽은 일반적으로 신뢰할 수 있는 내부 네트워크, 신뢰할 수 없는 외부 네트워크(예: 인터넷) 간의 장벽을 구성한다.'
쉽게 설명하자면, 외부 네트워크(악의적인 해커, 공격자 등)로부터 내부 네트워크 혹은 내부자산(PC, 서버, DB 등)을 보호하는 보안장비와 같은 역할을 한다고 생각하면 될 것 같다.
DMZ란 Demilitarized Zone의 약자로, 말그대로 네트워크 상의 비무장지대를 뜻하며 아래의 그림과 같이 외부망과 내부망의 중간 경계에 위치한다.
DMZ 설명 전, 내부망, 외부망이 무엇을 뜻하는지 먼저 알아보자!
내부망
일정한 조직(회사내, 영업장 내) 내부 네트워크 (ex. 공유기 등)을 통해 자원을 공유하거나 내부 솔루션을 LAN(Local Area Network)을 통해 사용하는 것을 의미한다. 이 내부망 IP는 외부망의 반대 개념으로써 각 조직, 회사 등 내부망이 존재할 수 있으며, 해당 내부 IP의 경우 외부에서 확인 할 수 없다. 내부 통신을 목적으로 사용되므로 외부 통신을 위해서는 외부IP 와 매칭되는 NAT 등의 기능을 활용하여 웹서핑 등을 하게 된다.
외부망
내부망의 반대 개념으로 써 일정 구역(area)를 넘어 정보 및 자원을 교환하는 구간으로 써 Internet 을 통한 통신을 지칭하며, 개인정보 처리 시스템과 인터넷이 직접적으로 연결이 되어있는 구간을 말한다.
DMZ 구간이란 웹서비스, 메일 서비스,DNS 등 외부에 서비스를 운영함에 따라 불가피하게 Open 되어야 하는 Well-known Port 를 통한 공격에 대비하며, 이 공격을 통해 내부자원의 탈취, 훼손등을 예방하고자 내부와 외부 간 접근제한을 수행한다.
이를 통해 내부망 사용자들은 안전하게 외부 인터넷에 접근하여 정보를 공유하고 외부 이용자는 해당 서비스를 운영은 하되 내부 정보에 도달하여 수정하거나 탈취하는것이 불가능하게끔 구성할 수 있다.
내부의 트래픽이 외부로 나가는 Outbound 설정은 allow 하며 외부사용자의 접근은 DMZ 영역까지만 허용하는 보안정책을 수립하는 방화벽 Acess Control List 등 설정하여 구성할 수 있다.
Virtual Private Cloud의 약자로, 한글로는 가상 개인 network 망이라고 직역할 수 있다. VPC(Virtual Private Cloud)는 일종의 가상 네트워크 센터다.
IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 의미한다.
클라우드내 인스턴스를 구성할 때, VPC가 없다면 인스턴스들이 서로 거미줄처럼 연결되고 인터넷과 연결된다. 이런 구조는 시스템의 복잡도를 엄청나게 끌어올릴뿐만 아니라 하나의 인스턴스만 추가되도 모든 인스턴스를 수정해야하는 불편함을 초래한다.
하지만 VPC를 적용하면 아래 그림과 같이 VPC별로 네트워크를 구성할 수 있고 각각의 VPC에따라 다르게 네트워크 설정을 줄 수 있다. 또한 각각의 VPC는 완전히 독립된 네트워크처럼 작동한다.
각각의 VPC는 완전히 독립적이기 때문에 만약 VPC간 통신을 원한다면 VPC 피어링 서비스를 이용하면 된다.
서로 다른 VPC간 통신이 가능하도록 연결하는 것을 의미.
데이터 베이스를 외부 IP를 이용하는 것은 위험하기 때문에, 아래 사진처럼 백엔드와 데이터 베이스 간의 통신만 이루어지면서, 더 안전하게 내부 IP만 사용하게 하고 싶을 때! 위와 같이 VPC 피어링을 해주면 된다.
같은 VPC 내에서는 접속이 가능하기 때문에, VPC 피어링을 해주면 안정성을 더욱 높일 수 있다!
참고자료
: https://jwprogramming.tistory.com/273
: https://m.blog.naver.com/innoviss/222246852119
: https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098