Share via


Azure PowerShell을 사용하여 Bastion 배포

이 문서에서는 PowerShell을 사용하여 표준 SKU에서 Azure Bastion을 배포하는 방법을 보여 줍니다. Azure Bastion은 VM에 설치하고 직접 유지 관리하는 베스천 호스트가 아니라 유지 관리되는 PaaS 서비스입니다. Azure Bastion 배포는 구독/계정 또는 가상 머신이 아니라 가상 네트워크별로 수행됩니다. Azure Bastion에 대한 자세한 내용은 Azure Bastion이란?을 참조하세요.

Bastion이 가상 네트워크에 배포되면 개인 IP 주소를 통해 VM에 연결할 수 있습니다. 이 원활한 RDP/SSH 환경은 동일한 가상 네트워크의 모든 VM에서 사용할 수 있습니다. 다른 항목에 필요하지 않은 공용 IP 주소가 VM에 있는 경우 제거할 수 있습니다.

Diagram showing Azure Bastion architecture.

이 문서에서는 가상 네트워크를 만들고(아직 없는 경우), PowerShell을 사용하여 Azure Bastion을 배포하고, VM에 연결합니다. 또한 다음과 같은 다른 방법을 사용하여 Bastion을 배포할 수 있습니다.

참고 항목

Azure 프라이빗 DNS 영역과 함께 Azure Bastion을 사용할 수 있습니다. 그러나 제한 사항이 있습니다. 자세한 내용은 Azure Bastion FAQ를 참조하세요.

시작하기 전에

Azure 구독이 있는지 확인합니다. Azure 구독이 아직 없는 경우 MSDN 구독자 혜택을 활성화하거나 무료 계정에 등록할 수 있습니다.

PowerShell

이 문서에서는 PowerShell cmdlet을 사용합니다. cmdlet을 실행하려면 Azure Cloud Shell을 사용할 수 있습니다. Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다. 공용 Azure 도구가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다.

Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 Cloudshell 열기를 선택하기만 하면 됩니다. 또한 https://shell.azure.com/powershell로 이동하여 별도의 브라우저 탭에서 Cloud Shell을 열 수도 있습니다. 복사를 선택하여 코드 블록을 복사하고 Cloud Shell에 붙여넣고 Enter 키를 선택하여 실행합니다.

또한 Azure PowerShell cmdlet을 컴퓨터에 로컬로 설치하고 실행할 수도 있습니다. PowerShell cmdlet은 자주 업데이트됩니다. 최신 버전을 설치하지 않은 경우 지침에 지정된 값이 실패할 수 있습니다. 컴퓨터에 설치된 Azure PowerShell 버전을 찾으려면 Get-Module -ListAvailable Az cmdlet을 사용하세요. 설치하거나 업데이트하려면 Azure PowerShell 모듈 설치를 참조하세요.

예제 값

이 구성을 만들 때 다음 예제 값을 사용해도 되고 자체적인 값으로 바꿔도 됩니다.

** VNet 및 VM 값 예제:**

이름
가상 머신 TestVM
Resource group TestRG1
지역 미국 동부
가상 네트워크 VNet1
주소 공간 10.1.0.0/16
서브넷 FrontEnd: 10.1.0.0/24

Azure Bastion 값:

이름
속성 VNet1-bastion
서브넷 이름 FrontEnd
서브넷 이름 AzureBastionSubnet
AzureBastionSubnet 주소 서브넷 마스크가 /26 이상인 VNet 주소 공간 내의 서브넷입니다.
예를 들어 10.1.1.0/26입니다.
계층/SKU Standard
공용 IP 주소 새로 만들기
공용 IP 주소 이름 VNet1-ip
공용 IP 주소 SKU Standard
양도 정적

Bastion 배포

이 섹션은 Azure PowerShell을 사용하여 가상 네트워크, 서브넷을 만들고 Azure Bastion을 배포하는 데 도움이 됩니다.

Important

시간당 가격은 아웃바운드 데이터 사용량에 관계없이 Bastion이 배포되는 순간부터 시작됩니다. 자세한 내용은 가격 책정SKU를 참조하세요. 자습서 또는 테스트의 일부로 Bastion을 배포하는 경우 이 리소스는 사용을 마친 후 삭제하는 것이 좋습니다.

  1. Bastion을 통해 연결할 VM을 배포할 리소스 그룹, 가상 네트워크 및 프런트 엔드 서브넷을 만듭니다. PowerShell을 로컬로 실행하는 경우 상승된 권한으로 PowerShell 콘솔을 열고 Connect-AzAccount 명령을 사용하여 Azure에 연결합니다.

    New-AzResourceGroup -Name TestRG1 -Location EastUS ` 
    $frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name FrontEnd `
    -AddressPrefix "10.1.0.0/24" ` 
    $virtualNetwork = New-AzVirtualNetwork `
    -Name TestVNet1 -ResourceGroupName TestRG1 `
    -Location EastUS -AddressPrefix "10.1.0.0/16" `
    -Subnet $frontendSubnet ` 
    $virtualNetwork | Set-AzVirtualNetwork
    
  2. 가상 네트워크에 대한 Azure Bastion 서브넷을 구성하고 설정합니다. 이 서브넷은 Azure Bastion 리소스 전용으로 예약됩니다. 이름 값 AzureBastionSubnet을 사용하여 이 서브넷을 만들어야 합니다. 이 값을 통해 Azure에서 Bastion 리소스를 배포할 서브넷을 인식할 수 있습니다. 다음 섹션의 예제는 기존 VNet에 Azure Bastion 서브넷을 추가하는 데 도움이 됩니다.

    • 만들 수 있는 가장 작은 서브넷 AzureBastionSubnet 크기는 /26입니다. 그러나 호스트 스케일링을 수용할 수 있도록 /26 이상 크기를 만드는 것이 좋습니다.
    • 경로 테이블 또는 위임 없이 AzureBastionSubnet을 만듭니다.
    • AzureBastionSubnet의 네트워크 보안 그룹을 사용하는 경우 NSG 사용 문서를 참조하세요.

    변수를 설정합니다.

    $vnet = Get-AzVirtualNetwork -Name "TestVNet1" -ResourceGroupName "TestRG1"
    

    서브넷을 추가합니다.

    Add-AzVirtualNetworkSubnetConfig `
    -Name "AzureBastionSubnet" -VirtualNetwork $vnet `
    -AddressPrefix "10.1.1.0/26" | Set-AzVirtualNetwork
    
  3. Azure Bastion의 공용 IP 주소를 만듭니다. 공용 IP는 RDP/SSH에 액세스할 Bastion 리소스의 공용 IP 주소입니다(포트 443을 통해). 공용 IP 주소는 만드는 Bastion 리소스와 동일한 지역에 있어야 합니다.

    $publicip = New-AzPublicIpAddress -ResourceGroupName "TestRG1" `
    -name "VNet1-ip" -location "EastUS" `
    -AllocationMethod Static -Sku Standard
    
  4. New-AzBastion 명령을 사용하여 AzureBastionSubnet에서 새 Azure Bastion 리소스를 만듭니다. 다음 예제에서는 기본 SKU사용합니다. 그러나 -Sku 값을 "표준"으로 변경하여 표준 SKU를 사용하여 Bastion을 배포할 수도 있습니다. 표준 SKU를 사용하면 더 많은 Bastion 기능을 구성하고 더 많은 연결 형식을 사용하여 VM에 연결할 수 있습니다. 개발자 SKU를 사용하여 Bastion을 자동으로 배포할 수도 있습니다. 자세한 내용은 Bastion SKU를 참조하세요.

    New-AzBastion -ResourceGroupName "TestRG1" -Name "VNet1-bastion" `
    -PublicIpAddressRgName "TestRG1" -PublicIpAddressName "VNet1-ip" `
    -VirtualNetworkRgName "TestRG1" -VirtualNetworkName "TestVNet1" `
    -Sku "Basic"
    
  5. Bastion 리소스를 배포하는 데 약 10분이 걸립니다. Bastion에서 가상 네트워크에 배포하는 동안 다음 섹션에서 VM을 만들 수 있습니다.

VM 만들기

VM은 빠른 시작: PowerShell을 사용하여 VM 만들기 또는 빠른 시작: 포털을 사용하여 VM 만들기 문서를 사용하여 만들 수 있습니다. Bastion을 배포한 동일한 가상 네트워크에 VM을 배포해야 합니다. 이 섹션에서 만드는 VM은 Bastion 구성의 일부가 아니며 베스천 호스트가 되지 않습니다. 이 자습서의 뒷부분에서 Bastion을 통해 이 VM에 연결합니다.

리소스에 필요한 역할은 다음과 같습니다.

  • 필요한 VM 역할:

    • 가상 머신에 대한 읽기 권한자 역할
    • 가상 머신의 개인 IP를 사용하는 NIC에 대한 읽기 권한자 역할
  • 필요한 인바운드 포트:

    • Windows VMS의 경우 - RDP(3389)
    • Linux VM의 경우 - SSH(22)

VM에 연결

다음 섹션의 커넥트ion 단계를 사용하여 VM에 연결할 수 있습니다. 또한 다음 문서 중 하나를 사용하여 VM에 연결할 수 있습니다. 일부 연결 형식에는 Bastion 표준 SKU가 필요합니다.

연결 단계

  1. Azure Portal에서 연결하려는 가상 머신으로 이동합니다.

  2. 창 상단에서 연결>Bastion을 선택하여 Bastion 창으로 이동합니다. 왼쪽 메뉴를 사용하여 Bastion 창으로 이동할 수도 있습니다.

  3. Bastion 창에서 사용할 수 있는 옵션은 Bastion SKU에 따라 다릅니다. 기본 SKU를 사용하는 경우 RDP 및 포트 3389를 사용하여 Windows 컴퓨터에 연결합니다. 또한 기본 SKU의 경우 SSH 및 포트 22를 사용하여 Linux 컴퓨터에 연결합니다. 포트 번호 또는 프로토콜을 변경할 수 있는 옵션이 없습니다. 그러나 연결 설정을 확장하여 RDP의 키보드 언어를 변경할 수 있습니다.

    Screenshot of Azure Bastion connection settings.

    표준 SKU를 사용하는 경우 더 많은 연결 프로토콜 및 포트 옵션을 사용할 수 있습니다. 옵션을 보려면 연결 설정을 펼칩니다. 일반적으로 VM에 대해 다른 설정을 구성하지 않는 한 RDP 및 포트 3389를 사용하여 Windows 컴퓨터에 연결합니다. SSH 및 포트 22를 사용하여 Linux 컴퓨터에 연결합니다.

    Screenshot of expanded connection settings.

  4. 인증 유형의 경우 드롭다운 목록에서 선택합니다. 프로토콜은 사용 가능한 인증 형식을 결정합니다. 필수 인증 값을 완료합니다.

    Screenshot that shows the dropdown list box for authentication type.

  5. 새 브라우저 탭에서 VM 세션을 열려면 새 브라우저 탭에서 열기를 선택된 상태로 둡니다.

  6. 연결을 선택하여 VM에 연결합니다.

  7. 포트 443 및 Bastion 서비스를 사용하여 가상 머신에 대한 연결이 HTML5를 통해 Azure Portal에서 직접 열리는지 확인합니다.

    Screenshot of a computer desktop with an open connection over port 443.

    참고 항목

    연결하면 VM의 데스크톱이 스크린샷 예와 다르게 보입니다.

VM에 연결되어 있는 동안 바로 가기 키를 사용하면 로컬 컴퓨터의 바로 가기 키와 동일한 동작이 발생하지 않을 수 있습니다. 예를 들어 Windows 클라이언트에서 Windows VM에 연결된 경우 Ctrl+Alt+End는 로컬 컴퓨터에서 Ctrl+Alt+Delete의 바로 가기 키입니다. Windows VM에 연결된 동안 Mac에서 이 작업을 수행하려면 바로 가기 키는Fn+Ctrl+Alt+Backspace입니다.

오디오 출력을 사용하도록 설정하려면

VM에 대한 원격 오디오 출력을 사용하도록 설정할 수 있습니다. 일부 VM에서는 이 설정을 자동으로 사용하도록 설정하는 반면 다른 VM에서는 오디오 설정을 수동으로 사용하도록 설정해야 합니다. 설정은 VM 자체에서 변경됩니다. Bastion 배포에는 원격 오디오 출력을 사용하도록 설정하기 위해 특별한 구성 설정이 필요하지 않습니다.

참고 항목

오디오 출력은 인터넷 연결의 대역폭을 사용합니다.

Windows VM에서 원격 오디오 출력을 사용하도록 설정하려면 다음을 수행합니다.

  1. VM에 연결되면 도구 모음의 오른쪽 하단에 오디오 단추가 나타납니다. 오디오 단추를 마우스 오른쪽 단추로 클릭한 다음 사운드를 선택합니다.
  2. Windows 오디오 서비스를 사용하도록 설정할지 묻는 팝업 메시지가 나타납니다. 를 선택합니다. 소리 기본 설정에서 더 많은 오디오 옵션을 구성할 수 있습니다.
  3. 사운드 출력을 확인하려면 도구 모음의 오디오 단추를 마우스로 가리킵니다.

VM 공용 IP 주소 제거

Azure Bastion은 공용 IP 주소를 사용하여 클라이언트 VM에 연결하지 않습니다. VM에 대한 공용 IP 주소가 필요하지 않은 경우 공용 IP 주소를 분리할 수 있습니다. Azure VM에서 공용 IP 주소 분리를 참조하세요.

다음 단계