TOPIC/Cloud

Azure Route Table 공부하기 (3)

H-Y-E-N 2024. 5. 2. 15:50

안녕하세요. HYEN입니다.

드디어 시나리오 별 UDR을 구성하는 테스트에 대한 글을 쓰게 되었습니다. 🦄🦄

물론, 이 글도 길어져서 시나리오를 두, 세 개씩 쪼개어 시리즈 물로 작성할 예정입니다. 😅

 

지난 글 : https://with-cloud.tistory.com/49

 

Azure Route Table 공부하기 (2)

안녕하세요. HYEN입니다. 지난 글에서는 Azure Route Table의 개념과 동작 로직에 대해 알아보았습니다.  지난 글 : https://with-cloud.tistory.com/47 Azure Route Table 공부하기 (1)안녕하세요. HYEN입니다.어제,

with-cloud.tistory.com


Contents

     

    3. 시나리오 

    테스트할 시나리오는 총 6개로 하기와 같습니다.

    1. Local PC → Azure Firewall → Hub VM (DNAT Rule)
    2. Hub VM → Azure Firewall → Spoke VM  
    3. Hub VM → Azure Firewall → PostgreSQL (VNet Integration)
    4. Hub VM → Azure Firewall → PostgreSQL (Private Endpoint)
    5. Spoke VM → Azure Firewall → Spoke 대역의 PostgreSQL
    6. Spoke VM → Spoke 대역의 PostgreSQL 

     

    3.1 Local PC → Azure Firewall → Hub VM (DNAT Rule)

    시나리오 아키텍처 및 구성하고자 하는 트래픽 플로우는 다음과 같습니다.

     

    이를 위해서는 Azure Firewall에서 DNAT 규칙을 생성해 주어야 합니다. 

    즉, Local PC에서 Hub VM에 접근하기 위해 Azure Firewall의 공인 IP 주소를 입력하면 해당 주소가 Hub 가상 머신의 사설 IP로 DNAT 될 수 있도록 규칙을 생성해야 하는 것이죠. 

     

    먼저, 가상 머신과 공인 IP를 분리합니다. 

    [가상 머신] > [네트워킹] 블레이드 > [네트워크 설정] 탭에서 네트워크 인터페이스를 클릭합니다. 

     

    그 후 [IP 구성] 탭에서 IP 구성 편집을 위해 ipconfig1을 클릭합니다.

     

    하기와 같이 [공용 IP 주소 설정] 섹션의 "공용 IP 주소 연결" 항목의 체크 박스를 해제하거나, 해제가 되어 있는지 확인합니다. 

     

    이 과정이 완료되면 가상 머신의 [개요] 탭에서 공용 IP 주소에 대한 값이 "-"인 것을 확인할 수 있습니다. 

     

     

    다음으로, Azure Firewall과 연결된 방화벽 정책으로 이동하여 DNAT 규칙을 생성합니다. 

    규칙 컬렉션이 없다면 규칙 컬렉션을 먼저 생성해 주어야 합니다. 

    상기 스크린샷과 같이 규칙 컬렉션과 규칙을 생성합니다. 

    • 원본 : Local PC의 공인 IP 주소 
    • 대상 포트 : 22 (원하는 포트를 지정해 줘도 됩니다.)
    • 대상 (방화벽 IP 주소) : Azure Firewall의 공인 IP 주소
    • 변환된 주소 또는 FQDN : Hub 가상 머신의 사설 IP 주소 
    • 번역된 포트 : 실제로 해당 서버에 접근하기 위해 열려 있는 포트 

     

    실제로 접근이 되는지 테스트해 보겠습니다. (ssh hyein@{Azure Firewall의 공인 IP 주소})

    상기 스크린샷과 같이 방화벽의 공인 IP 주소를 사용하여 Hub 가상 머신에 접속할 수 있는 것을 알 수 있습니다. 

     

    3.2 Hub VM → Azure Firewall → Spoke VM  

    시나리오 아키텍처 및 구성하고자 하는 트래픽 플로우는 다음과 같습니다.

    다음은 Hub 가상 머신에서 Azure Firewall을 지나 Spoke 가상 머신에 접근하는 테스트를 해보겠습니다.

    현재 Hub 가상 네트워크와 Spoke 가상 네트워크에는 VNet Peering이 구성되어 있습니다.

    그렇기 때문에 Hub 가상 머신과 Spoke 가상 머신이 배포되어 있는 각 서브넷의 경로 테이블에는 상대 서브넷에 대해, 다음 홉이 VNet Peering인 경로를 가지고 있습니다. 

    따라서 가상 네트워크 간 직접 통신이 아닌, Azure Firewall 쪽으로 트래픽이 꺾이는 사용자 지정 경로를 구성해야 합니다. 

     

    지금부터는 사용자 지정 경로를 구성해 보겠습니다.

     

    [Hub 대역의 경로 테이블]

    • [설정] 블레이드 > [서브넷] 탭 > [+ 연결]

    Hub 가상 머신이 배포되어 있는 서브넷을 선택하여 경로 테이블과 연결합니다. 

     

    • [설정] 블레이드 > [경로] 탭 > [+ 추가] 

    Hub 가상 머신이 Spoke 가상 머신으로 가기 위한 경로를 생성해 줍니다. 

    대상 주소는 Spoke 가상 머신이 배포되어 있는 서브넷 대역을 입력해 주면 됩니다. 

    다음 홉 형식을 [가상 어플라이언스]로 지정하고 다음 홉 주소에는 Azure Firewall의 사설 IP 주소를 입력합니다. 

     

     

    [Spoke 대역의 경로 테이블]

    • [설정] 블레이드 > [서브넷] 탭 > [+ 연결]

    Spoke 가상 머신이 배포되어 있는 서브넷을 선택하여 경로 테이블과 연결합니다. 

     

    • [설정] 블레이드 > [경로] 탭 > [+ 추가] 

    Spoke 가상 머신이 Hub 가상 머신으로 가기 위한 경로를 생성해 줍니다. 

    대상 주소는 Hub 가상 머신이 배포되어 있는 서브넷 대역을 입력해 주면 됩니다. 

    다음 홉 형식을 [가상 어플라이언스]로 지정하고 다음 홉 주소에는 Azure Firewall의 사설 IP 주소를 입력합니다. 

     

    또한 Spoke 가상 네트워크 대역을 대상 주소로 가지는 경로를 하나 더 추가해 줍니다. 

    이 경로 또한 다음 홉 형식을 "가상 어플라이언스"로 선택하고 다음 홉 주소를 Azure Firewall의 사설 IP로 지정해 줍니다. 

    이 역시 Longest Prefix Match 알고리즘을 따르는 Azure 경로 테이블의 동작 방식으로 인해 추가가 필요합니다. 

     

    경로를 추가하였으니 접근이 제대로 되는지 확인해 보겠습니다. (Hub 가상 머신 → Spoke 가상 머신)

     

     Hub 가상 머신에서 ssh hyein@10.100.0.4를 입력하여 Spoke 가상 머신에 접근합니다. 

    그 결과, 하기와 같이 접근이 불가한 것을 알 수 있습니다. 

     

    왜 그런 걸까요?

     

    현재 Hub 가상 머신은 Spoke 가상 머신에 도달하기 위해 Azure Firewall로 이동합니다. 

    이때 Azure Firewall은 Spoke 가상 머신에 해당 트래픽을 보낼 수 있을까요?

     

    답은 NO입니다. 

     

    그 이유는 아직 Azure Firewall에 해당 트래픽에 대한 네트워크 규칙이 생성되어 있지 않기 때문입니다. 

    트래픽이 Azure Firewall까지 도착했지만 Spoke 가상 머신으로 트래픽이 도달하기 위한 규칙이 현재 Azure Firewall에는 없습니다. 

     

    지금부터는 방화벽 정책에서 네트워크 규칙을 생성해 보도록 하겠습니다. 

    상기 스크린샷과 같이 규칙 컬렉션과 규칙을 생성합니다. 

    Hub 대역을 원본(Source)으로 하는 규칙과 Spoke 대역을 원본(Source)으로 하는 규칙, 이렇게 두 가지의 규칙을 생성합니다.

    (이렇게 해야 Spoke 가상 머신에서 Hub 가상 머신으로도 접근이 가능하기 때문입니다.)

     

    규칙 생성이 완료된 후, 다시 한번 Hub 가상 머신에서 Spoke 가상 머신에 접속해 보겠습니다. 

    이전과 다르게 Spoke 가상 머신에 접근이 가능한 것을 확인할 수 있습니다. 

     

    [경로 테이블] > [도움말] > [유효 경로] 탭에서도 하기 스크린샷과 같이 사용자 지정 경로가 생성된 것을 확인할 수 있습니다. 


    나머지 시나리오에 대한 테스트 글도 후다닥 정리해서 돌아오겠습니다. 😆🤩

    728x90
    320x100
    SMALL