연습 - SSH를 사용하여 Azure Virtual Machines 간의 가상 네트워크 피어링 확인

완료됨

이전 단원에서는 리소스가 서로 통신할 수 있도록 가상 네트워크 간에 피어링 연결을 구성했습니다. 구성에서 허브 및 스포크 토폴로지를 사용했습니다. MarketingVNet은 허브였고, SalesVNet 및 ResearchVNet은 스포크였습니다.

Diagram of a hub and spoke topology for virtual networks.

피어링 연결은 비전이적임을 기억하세요. 중간 가상 네트워크는 연결을 통해 연결된 가상 네트워크로 흐르도록 허용하지 않습니다. SalesVNetMarketingVNet과 통신할 수 있습니다. ResearchVNetMarketingVNet과 통신할 수 있습니다. MarketingVNetSalesVNetResearchVNet과 통신할 수 있습니다. SalesVNetResearchVNet 간의 통신만 허용되지 않습니다. SalesVNetResearchVNet이 모두 MarketingVNet에 연결되어 있는 경우에도 서로 직접 피어링하지 않으므로 서로 통신할 수 없습니다.

피어링 연결을 통해 연결을 확인해보겠습니다. 그러려면 먼저 Azure Cloud Shell에서 대상 VM의 공용 IP 주소까지의 연결을 만들어야 합니다. 그런 다음, 대상 VM의 프라이빗 IP 주소를 사용하여 대상 VM에서 대상 VM으로 연결합니다.

중요

가상 네트워크 피어링 연결을 테스트하려면 각 VM에 할당된 프라이빗 IP 주소에 연결합니다.

  1. VM에 연결하려면 Cloud Shell에서 직접 SSH(Secure Shell)를 사용합니다. SSH를 사용하는 경우 먼저 테스트 VM에 할당된 공용 IP 주소를 찾습니다.

  2. Cloud Shell에서 다음 명령을 실행하여 VM에 연결하는 데 사용할 IP 주소를 나열합니다.

    az vm list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --query "[*].{Name:name, PrivateIP:privateIps, PublicIP:publicIps}" \
        --show-details \
        --output table
    
  3. 출력을 기록합니다. 이 단원의 연습에서 사용할 IP 주소가 필요합니다.

테스트를 시작하기 전에 이 모듈에서 학습한 내용을 생각해봅시다. 어떤 결과를 예상하나요? 서로 통신할 수 있는 VM과 서로 통신할 수 없는 VM은 무엇일까요?

SalesVM에서 연결 테스트

첫 번째 테스트에서는 Cloud Shell에서 SSH를 사용하여 SalesVM의 공용 IP 주소로 연결하겠습니다. 그런 다음, SalesVM에서 MarketingVMResearchVM으로 연결을 시도하겠습니다.

  1. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 SalesVM의 공용 IP 주소로 연결합니다. 명령에서 <SalesVM public IP>를 VM의 공용 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<SalesVM public IP>
    

    A diagram showing connection to the public IP address of SalesVM.

  2. VM을 만드는 데 사용한 암호로 로그인합니다. SalesVM에 로그인되었다는 메시지가 표시됩니다.

  3. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 MarketingVM의 프라이빗 IP 주소로 연결합니다. 명령에서 <MarketingVM private IP>를 VM의 프라이빗 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
    

    Diagram showing connection from SalesVM to the private IP address of MarketingVM.

    SalesVNetMarketingVNet 가상 네트워크 간에 피어링 연결이 있기 때문에 연결에 성공합니다.

  4. VM을 만드는 데 사용한 암호를 사용하여 로그인합니다.

  5. exit를 입력하여 이 SSH 세션을 닫고, SalesVM 프롬프트로 돌아갑니다.

  6. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 ResearchVM의 프라이빗 IP 주소로 연결합니다. 명령에서 <ResearchVM private IP>를 VM의 프라이빗 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
    
  7. SalesVNetResearchVNet 가상 네트워크 간에 피어링 연결이 없기 때문에 연결에 실패합니다. 연결 시도는 시간이 초과될 때까지 최대 60초가 소요됩니다. 시도를 강제로 중지하려면 Ctrl + C를 사용합니다.

    Diagram showing the attempt failing to connect from SalesVM to the private IP address of ResearchVM.

  8. exit를 입력하여 SSH 세션을 닫고 Cloud Shell로 돌아갑니다.

ResearchVM에서 연결 테스트

두 번째 테스트에서는 Cloud Shell에서 SSH를 사용하여 ResearchVM의 공용 IP 주소로 연결하겠습니다. 그런 다음, ResearchVM에서 MarketingVMSalesVM으로 연결을 시도하겠습니다.

  1. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 ResearchVM의 공용 IP 주소로 연결합니다. 명령에서 <ResearchVM public IP>를 VM의 공용 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM public IP>
    

    Diagram showing connection to the public IP address of ResearchVM.

  2. VM을 만드는 데 사용한 암호를 사용하여 로그인합니다. ResearchVM에 로그인되었다는 메시지가 표시됩니다.

  3. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 MarketingVM의 프라이빗 IP 주소로 연결합니다. 명령에서 <MarketingVM private IP>를 VM의 프라이빗 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
    

    Diagram showing connection to the private IP address of MarketingVM.

    ResearchVNetMarketingVNet 가상 네트워크 간에 피어링 연결이 있기 때문에 연결 시도가 성공합니다.

  4. VM을 만드는 데 사용한 암호를 사용하여 로그인합니다.

  5. exit를 입력하여 이 SSH 세션을 닫고, ResearchVM 프롬프트로 돌아갑니다.

  6. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 SalesVM의 프라이빗 IP 주소로 연결합니다. 명령에서 <SalesVM private IP>를 VM의 프라이빗 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
    
  7. ResearchVNetSalesVNet 가상 네트워크 간에 피어링 연결이 없기 때문에 연결에 실패합니다. 연결 시도는 시간이 초과될 때까지 최대 60초가 소요됩니다. 시도를 강제로 중지하려면 Ctrl + C를 사용합니다.

    Diagram showing the attempt failing to connect ResearchVM to the private IP address of SalesVM.

  8. exit를 입력하여 SSH 세션을 닫고 Cloud Shell로 돌아갑니다.

MarketingVM에서 연결 테스트

마지막 테스트에서는 Cloud Shell에서 SSH를 사용하여 MarketingVM의 공용 IP 주소로 연결하겠습니다. 그런 다음, MarketingVM에서 ResearchVMSalesVM으로 연결을 시도하겠습니다.

  1. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 MarketingVM의 공용 IP 주소로 연결합니다. 명령에서 <MarketingVM public IP>를 VM의 공용 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM public IP>
    

    Diagram that shows connection to the public IP address of MarketingVM.

  2. VM을 만드는 데 사용한 암호를 사용하여 로그인합니다. MarketingVM에 로그인되었다는 메시지가 표시됩니다.

  3. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 ResearchVM의 프라이빗 IP 주소로 연결합니다. 명령에서 <ResearchVM private IP>를 VM의 프라이빗 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
    

    Diagram that shows Azure Cloud Shell connecting to the Marketing V Net and the Research V Net virtual networks, using a peering connection.

    MarketingVNetResearchVNet 가상 네트워크 간에 피어링 연결이 있기 때문에 연결에 성공합니다.

  4. VM을 만드는 데 사용한 암호를 사용하여 로그인합니다.

  5. exit를 입력하여 이 SSH 세션을 닫고, MarketingVM 프롬프트로 돌아갑니다.

  6. Cloud Shell에서 다음 명령을 실행하고, SSH를 사용하여 SalesVM의 프라이빗 IP 주소로 연결합니다. 명령에서 <SalesVM private IP>를 VM의 프라이빗 IP 주소로 바꿉니다.

    ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
    

    MarketingVNetSalesVNet 가상 네트워크 간에 피어링 연결이 있기 때문에 연결 시도가 성공합니다.

    Diagram that shows Azure Cloud Shell connecting to the Marketing V Net and the Sales V Net virtual machines, using a peering connection.

  7. VM을 만드는 데 사용한 암호를 사용하여 로그인합니다.

  8. exit를 입력하여 이 SSH 세션을 닫고, MarketingVM 프롬프트로 돌아갑니다.

  9. exit를 입력하여 SSH 세션을 닫고 Cloud Shell로 돌아갑니다.

SSH를 사용한 간단한 테스트입니다. 피어링된 가상 네트워크 간의 네트워크 연결을 설명합니다. 또한 전이적 연결에 대한 네트워크 연결 문제를 설명합니다.

이러한 서버가 애플리케이션 서비스를 실행하는 경우 서버 연결을 통해 VM에서 실행되는 서비스 간의 통신이 가능합니다. 연결을 통해 사업체는 필요에 따라 부서 전반에 걸쳐 데이터를 공유할 수 있습니다.