네트워크 구분을 위한 솔루션 설계

완료됨

구분을 위한 Azure 기능

Azure에서 작업할 때 많은 구분 옵션이 있습니다.

Diagram showing different segmentation options on Microsoft Azure.

  1. 구독: 엔터티 간에 플랫폼 기반 분리를 제공하는 상위 수준 구성입니다. 회사 내의 대규모 조직 간의 경계를 구분하기 위한 것이며 서로 다른 구독의 리소스 간의 통신은 명시적으로 프로비전되어야 합니다.
  2. VNet(Virtual Network): 프라이빗 주소 공간의 구독 내에서 만들어집니다. 두 가상 네트워크 간에 기본적으로 허용되는 트래픽이 없는 네트워크 수준의 리소스 포함을 제공합니다. 구독과 마찬가지로 가상 네트워크 간의 모든 통신은 명시적으로 프로비전해야 합니다.
  3. NSG(네트워크 보안 그룹): 가상 네트워크 내의 리소스 간 트래픽과 인터넷, 기타 가상 네트워크와 같은 외부 네트워크와의 트래픽을 제어하기 위한 액세스 제어 메커니즘입니다. NSG는 서브넷, VM 또는 VM 그룹에 대한 경계를 만들어 구분 전략을 세분화 수준으로 끌어올 수 있습니다. Azure에서 서브넷으로 가능한 작업에 대한 자세한 내용은 서브넷(Azure Virtual Network)을 참조하세요.
  4. ASG(애플리케이션 보안 그룹): NSG와 유사하지만 애플리케이션 컨텍스트로 참조됩니다. 이를 통해 애플리케이션 태그 아래에 VM 집합을 그룹화하고 각 기본 VM에 적용되는 트래픽 규칙을 정의할 수 있습니다.
  5. Azure Firewall: 클라우드 리소스, 인터넷 및 온-프레미스 간에 흐르는 트래픽을 필터링하기 위해 VNet 또는 Azure Virtual WAN 허브 배포에 배포할 수 있는 클라우드 네이티브 상태 저장 방화벽 서비스입니다. Azure Firewall 또는 Azure Firewall Manager를 사용하여 계층 3에서 계층 7 컨트롤로 트래픽을 허용/거부하도록 지정하는 규칙 또는 정책을 만듭니다. 고급 필터링 및 사용자 보호를 위해 타사 보안 공급자를 통해 일부 또는 모든 트래픽을 전달하여 Azure Firewall 및 타사 모두를 사용하여 인터넷으로 가는 트래픽을 필터링할 수도 있습니다.

구분 패턴

다음은 네트워킹 관점에서 Azure의 워크로드를 구분하기 위한 몇 가지 일반적인 패턴입니다. 각 패턴은 서로 다른 유형의 격리 및 연결을 제공합니다. 조직의 요구 사항에 따라 패턴을 선택합니다.

패턴 1: 단일 VNet

워크로드의 모든 구성 요소는 단일 VNet에 있습니다. 이 패턴은 VNet이 여러 지역에 걸쳐 있을 수 없기 때문에 단일 지역에서 작업하는 데 적합합니다.

서브넷 또는 애플리케이션 그룹과 같은 세그먼트를 보호하는 일반적인 방법은 NSG 및 ASG를 사용하는 것입니다. Azure Marketplace 또는 Azure Firewall의 NVA(네트워크 가상화된 어플라이언스)를 사용하여 이 구분을 적용하고 보호할 수도 있습니다.

이 이미지에서 Subnet1에는 데이터베이스 워크로드가 있습니다. Subnet2에는 웹 워크로드가 있습니다. Subnet1이 Subnet2와 통신하고 Subnet2가 인터넷과만 통신할 수 있도록 NSG를 구성할 수 있습니다.

Diagram showing a segmentation pattern with a single virtual network.

별도의 서브넷에 배치된 여러 워크로드가 있는 사용 사례를 고려합니다. 한 워크로드가 다른 워크로드의 백 엔드와 통신할 수 있도록 제어할 수 있습니다.

패턴 2: 피어링을 통해 통신하는 여러 VNet

리소스는 여러 VNet에 분산되거나 복제됩니다. VNet은 피어링을 통해 통신할 수 있습니다. 이 패턴은 애플리케이션을 별도의 VNet으로 그룹화해야 하는 경우에 적합합니다. 또는 여러 Azure 지역이 필요합니다. 한 가지 이점은 한 VNet을 다른 VNet에 명시적으로 피어링해야 하기 때문에 기본 제공 구분입니다. 가상 네트워크 피어링은 전이적이지 않습니다. 패턴 1에 표시된 대로 NSG 및 ASG를 사용하여 VNet 내에서 추가로 구분할 수 있습니다.

Diagram showing a segmentation pattern with multiple virtual networks.

패턴 3: 허브 및 스포크 모델의 여러 VNet

VNet은 해당 지역의 스포크로 다른 모든 VNet에 대해 지정된 지역의 허브로 지정됩니다. 허브와 해당 스포크는 피어링을 통해 연결됩니다. 모든 트래픽은 다른 지역의 다른 허브에 대한 게이트웨이 역할을 할 수 있는 허브를 통과합니다. 이 패턴에서 보안 제어는 허브에 설정되어 확장 가능한 방식으로 다른 VNet 간의 트래픽을 구분하고 제어합니다. 이 패턴의 한 가지 이점은 네트워크 토폴로지가 성장해도 보안 태세 오버헤드가 증가하지 않는다는 것입니다(새 지역으로 확장하는 경우 제외).

Diagram showing a segmentation pattern with a hub and spoke topology.

권장되는 기본 옵션은 Azure Firewall입니다. 이 옵션은 VNet과 구독 모두에서 작동하여 계층 3에서 계층 7 컨트롤을 사용하여 트래픽 흐름을 제어합니다. 통신 규칙을 정의하고 일관되게 적용할 수 있습니다. 몇 가지 예제는 다음과 같습니다.

  • VNet 1은 VNet 2와 통신할 수 없지만 VNet 3과 통신할 수 있습니다.
  • VNet 1은 *.github.com을 제외한 공용 인터넷에 액세스할 수 없습니다.

Azure Firewall Manager 미리 보기를 사용하면 여러 Azure Firewall에서 정책을 중앙에서 관리하고 DevOps 팀이 로컬 정책을 추가로 사용자 지정할 수 있습니다.

패턴 비교

고려 사항 패턴 1 패턴 2 패턴 3
연결/라우팅: 각 세그먼트가 서로 통신하는 방법 시스템 라우팅은 모든 서브넷의 모든 워크로드에 대한 기본 연결을 제공합니다. 패턴 1과 동일합니다. 스포크 네트워크 간에 기본 연결이 없습니다. 연결을 사용하도록 설정하려면 허브의 Azure Firewall과 같은 계층 3 라우터가 필요합니다.
네트워크 수준 트래픽 필터링 기본적으로 트래픽이 허용됩니다. NSG, ASG를 사용하여 트래픽을 필터링합니다. 패턴 1과 동일합니다. 스포크 가상 네트워크 간의 트래픽은 기본적으로 거부됩니다. Azure Firewall 구성을 통한 트래픽을 허용하려면 선택한 경로를 엽니다.
중앙 집중식 로깅 NSG, ASG는 가상 네트워크에 대한 로그입니다. 모든 가상 네트워크에서 NSG, ASG 로그를 집계합니다. Azure Firewall은 허브를 통해 전송된 모든 허용/거부 트래픽을 기록합니다. Azure Monitor에서 로그를 봅니다.
원치 않는 오픈 퍼블릭 엔드포인트 DevOps는 잘못된 NSG, ASG 규칙을 통해 실수로 퍼블릭 엔드포인트를 열 수 있습니다. 패턴 1과 동일합니다. 스포크에서 실수로 열린 퍼블릭 엔드포인트는 반환 패킷이 상태 저장 방화벽(비대칭 라우팅)을 통해 삭제되기 때문에 액세스를 사용하도록 설정할 수 없습니다.
애플리케이션 수준 보호 NSG 또는 ASG는 네트워크 계층 지원만 제공합니다. 패턴 1과 동일합니다. Azure Firewall은 아웃바운드 트래픽과 가상 네트워크 간에 HTTP/S 및 MSSQL에 대한 FQDN 필터링을 지원합니다.