Azure에서 제공되는 Red Hat Enterprise Linux의 BYOS(사용자 구독 필요) 골드 이미지

적용 대상: ✔️ Linux VM

RHEL(Red Hat Enterprise Linux) 이미지는 종량제 또는 BYOS(사용자 구독 필요)(Red Hat 골드 이미지) 모델을 통해 Azure에서 이용할 수 있습니다. 본 문서에서는 Azure의 Red Hat 골드 이미지에 대한 개요를 제공합니다.

참고 항목

RHEL BYOS 골드 이미지는 Azure 퍼블릭(상업용) 및 Azure Government 클라우드에서 사용할 수 있습니다. 21Vianet 또는 Azure Blackforest 클라우드에서 운영하는 Microsoft Azure에서는 사용할 수 없습니다.

고려할 중요한 사항

  • 본 프로그램에서 제공하는 Red Hat 골드 이미지는 Azure Marketplace의 RHEL 종량제 이미지와 유사한 프로덕션 준비 RHEL 이미지입니다.
  • 해당 이미지는 Azure 상의 Red Hat Enterprise Linux 이미지에서 설명한 현재 정책을 따릅니다.
  • 표준 지원 정책은 해당 이미지에서 만들어 낸 VM에 적용됩니다.
  • Red Hat 골드 이미지에서 프로비저닝한 VM에는 RHEL 종량제 이미지와 관련된 RHEL 요금이 적용되지 않습니다.
  • 이미지에 대한 자격이 없습니다. VM에 등록하고 구독하여 Red Hat에서 직접 업데이트를 받으려면 Red Hat 구독 관리자를 사용해야 합니다.
  • Azure 하이브리드 혜택을 통해 종량제 이미지를 BYOS로 변경할 수 있습니다. RHEL BYOS에서 종량제로 변환하려면 bring-your-own-subscription Linux 가상 머신에 대한 Azure 하이브리드 혜택의 단계를 수행합니다.

Red Hat 골드 이미지에 액세스하기 위한 요구 사항 및 약관

  1. Red Hat Cloud Access 프로그램 약관에 대해 알아봅니다. Red Hat 구독 관리자에서 Cloud Access에 대한 Red Hat 구독을 사용하도록 설정합니다. Cloud Access를 위해 등록하려는 Azure 구독을 보유 중이어야 합니다.

  2. Cloud Access를 위해 사용하도록 설정한 Red Hat 구독이 자격 요구 사항을 만족하는 경우, Azure 구독이 자동적으로 골드 이미지 액세스를 사용할 수 있도록 설정됩니다.

이미지 액세스에 대한 예상 소요 시간

Cloud Access 사용 단계를 완료한 후, Red Hat이 Red Hat 골드 이미지에 대한 자격 유효성을 검사합니다. 유효성 검사가 성공하면 세 시간 이내에 골드 이미지에 액세스할 수 있게 됩니다.

Azure Portal에서 Red Hat 골드 이미지를 사용하기

  1. Azure 구독이 Red Hat 골드 이미지에 대한 액세스를 확보하면, 해당 이미지를 Azure Portal에서 찾을 수 있습니다. 리소스 만들기>마켓플레이스로 이동합니다.

  2. 페이지 맨 위에서 프라이빗 제안을 볼 수 있습니다.

    Marketplace private offers

  3. 자주색 링크를 선택하거나 페이지 맨 아래로 스크롤하여 프라이빗 제안을 확인합니다.

  4. UI 프로비저닝의 나머지 부분은 기존의 Red Hat 이미지와 다르지 않습니다. RHEL 버전을 선택하고 VM 프로비저닝을 위해 표시되는 프롬프트를 따릅니다. 해당 프로세스를 통해서도 최종 단계에서 해당 이미지에 대한 약관에 동의할 수 있습니다.

참고 항목

지금까지의 단계들은 프로그래밍 방식의 배포를 위해 Red Hat 골드 이미지를 사용하도록 설정하지 않습니다. "추가 정보" 섹션에서 설명한 것처럼 추가적인 단계가 필요합니다.

본 문서의 나머지 부분은 이미지의 약관을 프로비저닝하고 허용하도록 하는 CLI 방법을 중점적으로 설명합니다. 최종 결과(프로비저닝된 RHEL 골드 이미지 VM)가 관련되어 있는 한 UI와 CLI는 완벽히 교환할 수 있습니다.

Azure CLI의 Red Hat 골드 이미지 사용

다음 지침은 Azure CLI을 사용하여 RHEL VM에 대한 초기 배포 프로세스를 안내합니다. 해당 지침들은 Azure CLI가 이미 설치된 상황으로 가정합니다.

Important

다음의 모든 명령에 대해 게시자, 제안, 계획, 이미지 참조에서 소문자만을 사용해야 합니다.

  1. 원하는 구독 중인지 확인합니다.

    az account show -o=json
    
  2. Red Hat 골드 이미지 VM에 대한 리소스 그룹을 만듭니다.

    az group create --name <name> --location <location>
    
  3. 해당 이미지의 약관에 동의합니다.

    옵션 1

    az vm image terms accept --publisher redhat --offer rhel-byos --plan <SKU value here> -o=jsonc
    

    예시

    az vm image terms accept --publisher redhat --offer rhel-byos --plan rhel-lvm87 -o=jsonc
    

    옵션 2

    az vm image terms accept --urn <SKU value here>
    

    예시

    az vm image terms accept --urn RedHat:rhel-byos:rhel-lvm87:8.7.2023021503
    

    참고 항목

    해당 약관은 Azure 구독 때마다, 이미지 SKU마다 한 번씩 동의해야 합니다.

  4. (옵션) 다음 명령을 통해 VM 배포의 유효성을 검사합니다.

    az vm create -n <VM name> -g <resource group name> --image <image urn> --validate
    

    예시:

    az vm create -n rhel-byos-vm -g rhel-byos-group --image redhat:rhel-byos:rhel-lvm8:latest --validate
    
  5. 이전 예제와 같이 --validate 인수를 사용하지 않고 동일한 명령을 실행하여 VM을 프로비저닝합니다.

    az vm create -n <VM name> -g <resource group name> --image <image urn>
    

    예시:

    az vm create -n rhel-byos-vm -g rhel-byos-group --image redhat:rhel-byos:rhel-lvm8:latest
    
  6. SSH를 VM에 적용하고 자격 없는 이미지가 있는지 확인합니다. 해당 단계를 수행하려면 sudo yum repolist를 실행합니다. RHEL 8의 경우, sudo dnf repolist를 사용합니다. 출력은 Red Hat를 통한 VM 등록에 구독 관리자를 사용할 것을 요구합니다.

참고 항목

RHEL 8에서는 dnfyum이 교환 가능합니다. RHEL 8 관리자 가이드에서 자세한 내용을 참조하세요.

PowerShell의 Red Hat 골드 이미지 사용

다음 스크립트는 예제입니다. 원하는 구성을 통해 리소스 그룹, 위치, VM 이름, 로그인 정보, 기타 변수를 교체합니다. 게시자와 계획 정보는 소문자로만 작성해야 합니다.

참고 항목

모든 버전의 AzureRM PowerShell 모듈은 오래된 버전입니다. Az PowerShell 모듈은 이제 Azure와의 상호 작용에 권장되는 PowerShell 모듈입니다. 자세한 내용은 AzureRM에서 Az로 Azure PowerShell 마이그레이션을 참조하세요.

    # Variables for common values
    $resourceGroup = "testbyos"
    $location = "canadaeast"
    $vmName = "test01"

    # Define user name and blank password
    $securePassword = ConvertTo-SecureString 'TestPassword1!' -AsPlainText -Force
    $cred = New-Object System.Management.Automation.PSCredential("azureuser",$securePassword)
    Get-AzureRmMarketplaceTerms -Publisher redhat -Product rhel-byos -Name rhel-lvm87 | Set-AzureRmMarketplaceTerms -Accept

    # Create a resource group
    New-AzureRmResourceGroup -Name $resourceGroup -Location $location

    # Create a subnet configuration
    $subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24

    # Create a virtual network
    $vnet = New-AzureRmVirtualNetwork -ResourceGroupName $resourceGroup -Location
    $location `-Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig

    # Create a public IP address and specify a DNS name
    $pip = New-AzureRmPublicIpAddress -ResourceGroupName $resourceGroup -Location
    $location `-Name "mypublicdns$(Get-Random)" -AllocationMethod Static -IdleTimeoutInMinutes 4

    # Create an inbound network security group rule for port 22
    $nsgRuleSSH = New-AzureRmNetworkSecurityRuleConfig -Name
    myNetworkSecurityGroupRuleSSH -Protocol Tcp `
    -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -
    DestinationAddressPrefix * `-DestinationPortRange 22 -Access Allow

    # Create a network security group
    $nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location
    $location `-Name myNetworkSecurityGroup -SecurityRules $nsgRuleSSH

    # Create a virtual network card and associate with public IP address and NSG
    $nic = New-AzureRmNetworkInterface -Name myNic -ResourceGroupName $resourceGroup -
    Location $location `-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id

    # Create a virtual machine configuration
    $vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize Standard_D3_v2 |
    Set-AzureRmVMOperatingSystem -Linux -ComputerName $vmName -Credential $cred |
    Set-AzureRmVMSourceImage -PublisherName redhat -Offer rhel-byos -Skus rhel-lvm87 -Version latest | Add-AzureRmVMNetworkInterface -Id $nic.Id
    Set-AzureRmVMPlan -VM $vmConfig -Publisher redhat -Product rhel-byos -Name "rhel-lvm87"

    # Configure SSH Keys
    $sshPublicKey = Get-Content "$env:USERPROFILE\.ssh\id_rsa.pub"
    Add-AzureRmVMSshPublicKey -VM $vmconfig -KeyData $sshPublicKey -Path "/home/azureuser/.ssh/authorized_keys"

    # Create a virtual machine
    New-AzureRmVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig