Azure CLI를 사용하여 리소스를 관리하고 Azure Stack Hub에 배포Manage and deploy resources to Azure Stack Hub with Azure CLI

적용 대상: Azure Stack 허브 통합 시스템Applies to: Azure Stack Hub integrated systems

이 문서의 단계에 따라 Linux, Mac 및 Windows 클라이언트 플랫폼에서 Azure Stack 허브 리소스를 관리 하도록 CLI (Azure Command-Line Interface)를 설정 합니다.Follow the steps in this article to set up the Azure Command-Line Interface (CLI) to manage Azure Stack Hub resources from Linux, Mac, and Windows client platforms.

Azure CLI 준비Prepare for Azure CLI

가상 컴퓨터 별칭 끝점은 "UbuntuLTS" 또는 "Win2012Datacenter"와 같은 별칭을 제공 합니다.The virtual machine aliases endpoint provides an alias, like "UbuntuLTS" or "Win2012Datacenter." 이 별칭은 Vm을 배포할 때 이미지 게시자, 제품, SKU 및 버전을 단일 매개 변수로 참조 합니다.This alias references an image publisher, offer, SKU, and version as a single parameter when deploying VMs.

다음 섹션에서는 가상 컴퓨터 별칭 끝점을 설정 하는 방법을 설명 합니다.The following section describes how to set up the virtual machine aliases endpoint.

가상 컴퓨터 별칭 끝점 설정Set up the virtual machine aliases endpoint

VM 별칭 파일을 호스트 하는 공개적으로 액세스할 수 있는 끝점을 설정할 수 있습니다.You can set up a publicly accessible endpoint that hosts a VM alias file. VM 별칭 파일은 이미지에 대 한 일반 이름을 제공 하는 JSON 파일입니다.The VM alias file is a JSON file that provides a common name for an image. VM을 Azure CLI 매개 변수로 배포할 때이 이름을 사용 합니다.You use the name when you deploy a VM as an Azure CLI parameter.

  1. 사용자 지정 이미지를 게시 하는 경우 게시 하는 동안 지정한 게시자, 제품, SKU 및 버전 정보를 기록해 둡니다.If you publish a custom image, make note of the publisher, offer, SKU, and version information that you specified during publishing. Marketplace의 이미지인 경우 cmdlet을 사용 하 여 정보를 볼 수 있습니다 Get-AzureVMImage .If it's an image from the Marketplace, you can view the information by using the Get-AzureVMImage cmdlet.

  2. GitHub에서 샘플 파일 을 다운로드 합니다.Download the sample file from GitHub.

  3. Azure Stack 허브에서 저장소 계정을 만듭니다.Create a storage account in Azure Stack Hub. 완료 되 면 blob 컨테이너를 만듭니다.When that's done, create a blob container. 액세스 정책을 "공용"으로 설정 합니다.Set the access policy to "public."

  4. 새 컨테이너에 JSON 파일을 업로드 합니다.Upload the JSON file to the new container. 이 작업이 완료 되 면 blob의 URL을 볼 수 있습니다.When that's done, you can view the URL of the blob. Blob 이름을 선택 하 고 blob 속성에서 URL을 선택 합니다.Select the blob name and then selecting the URL from the blob properties.

CLI 설치 또는 업그레이드Install or upgrade CLI

개발 워크스테이션에 로그인 하 여 CLI를 설치 합니다.Sign in to your development workstation and install CLI. Azure Stack 허브에는 Azure CLI 버전 2.0 이상이 필요 합니다.Azure Stack Hub requires version 2.0 or later of Azure CLI. 최신 버전의 API 프로필에는 현재 버전의 CLI가 필요 합니다.The latest version of the API Profiles requires a current version of the CLI. Azure CLI 설치 문서에 설명 된 단계를 사용 하 여 CLI를 설치 합니다.You install the CLI by using the steps described in the Install the Azure CLI article.

설치가 성공적으로 수행 되었는지 여부를 확인 하려면 터미널 또는 명령 프롬프트 창을 열고 다음 명령을 실행 합니다.To verify whether the installation was successful, open a terminal or command prompt window and run the following command:

az --version

컴퓨터에 설치 된 Azure CLI 및 기타 종속 라이브러리의 버전이 표시 되어야 합니다.You should see the version of Azure CLI and other dependent libraries that are installed on your computer.

Azure Stack 허브 Python 위치의 Azure CLI

Windows/Linux (Azure AD)Windows/Linux (Azure AD)

이 섹션에서는 id 관리 서비스로 Azure AD를 사용 하 고 Windows/Linux 컴퓨터에서 CLI를 사용 하는 경우 CLI를 설정 하는 과정을 안내 합니다.This section walks you through setting up CLI if you're using Azure AD as your identity management service, and are using CLI on a Windows/Linux machine.

Azure Stack 허브에 연결Connect to Azure Stack Hub

  1. 명령을 실행 하 여 Azure Stack 허브 환경을 등록 az cloud register 합니다.Register your Azure Stack Hub environment by running the az cloud register command.

  2. 환경을 등록합니다.Register your environment. 을 실행 하는 경우 다음 매개 변수를 사용 합니다 az cloud register .Use the following parameters when running az cloud register:

    Value 예제Example DescriptionDescription
    환경 이름Environment name AzureStackUserAzureStackUser AzureStackUser사용자 환경에 사용 합니다.Use AzureStackUser for the user environment. 연산자 인 경우을 지정 AzureStackAdmin 합니다.If you're operator, specify AzureStackAdmin.
    Resource Manager 엔드포인트Resource Manager endpoint https://management.local.azurestack.external 통합 시스템의 ResourceManagerUrl : https://management.<region>.<fqdn>/ 통합 시스템 끝점에 대 한 질문이 있는 경우 클라우드 운영자에 게 문의 하세요.The ResourceManagerUrl in integrated systems is: https://management.<region>.<fqdn>/ If you have a question about the integrated system endpoint, contact your cloud operator.
    스토리지 엔드포인트Storage endpoint 로컬 azurestack. externallocal.azurestack.external 통합 시스템의 경우 시스템의 끝점을 사용 합니다.For an integrated system, use an endpoint for your system.
    Keyvault 접미사Keyvault suffix . vault. azurestack. external.vault.local.azurestack.external 통합 시스템의 경우 시스템의 끝점을 사용 합니다.For an integrated system, use an endpoint for your system.
    VM 이미지 별칭 문서 끝점-VM image alias doc endpoint- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json VM 이미지 별칭을 포함 하는 문서의 URI입니다.URI of the document, which contains VM image aliases. 자세한 내용은 VM 별칭 설정 끝점을 참조 하세요.For more info, see Set up the VM aliases endpoint.
    az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>
    
  3. 다음 명령을 사용 하 여 활성 환경을 설정 합니다.Set the active environment by using the following commands.

    az cloud set -n <environmentname>
    
  4. Azure Stack 허브 특정 API 버전 프로필을 사용 하도록 환경 구성을 업데이트 합니다.Update your environment configuration to use the Azure Stack Hub specific API version profile. 구성을 업데이트 하려면 다음 명령을 실행 합니다.To update the configuration, run the following command:

    az cloud update --profile 2019-03-01-hybrid
    
  5. 명령을 사용 하 여 Azure Stack 허브 환경에 로그인 az login 합니다.Sign in to your Azure Stack Hub environment by using the az login command. 사용자 또는 서비스 주체로 Azure Stack 허브 환경에 로그인 합니다.Sign in to the Azure Stack Hub environment either as a user or as a service principal.

    • 사용자 로 로그인:Sign in as a user:

      az login 명령 내에 직접 사용자 이름과 암호를 지정하거나 브라우저를 사용하여 인증할 수 있습니다.You can either specify the username and password directly within the az login command, or authenticate by using a browser. 계정에 multi-factor authentication을 사용 하도록 설정한 경우에는 후자를 사용 해야 합니다.You must do the latter if your account has multi-factor authentication enabled:

      az login -u <Active directory global administrator or user account. For example: username@<aadtenant>.onmicrosoft.com> --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com>
      

      참고

      사용자 계정에 multi-factor authentication을 사용 하는 경우 az login 매개 변수를 제공 하지 않고 명령을 사용 합니다 -u .If your user account has multi-factor authentication enabled, use the az login command without providing the -u parameter. 이 명령을 실행 하면 인증을 위해 사용 해야 하는 URL 및 코드가 제공 됩니다.Running this command gives you a URL and a code that you must use to authenticate.

    • 서비스 주체로 로그인 합니다.Sign in as a service principal:

      로그인 하기 전에 Azure Portal 또는 CLI를 통해 서비스 주체를 만들고 역할을 할당 합니다.Before you sign in, create a service principal through the Azure portal or CLI and assign it a role. 이제 다음 명령을 사용 하 여 로그인 합니다.Now, sign in by using the following command:

      az login --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com> --service-principal -u <Application Id of the Service Principal> -p <Key generated for the Service Principal>
      

연결 테스트Test the connectivity

모든 설정이 설정 된 상태에서 CLI를 사용 하 여 Azure Stack 허브 내에 리소스를 만듭니다.With everything set up, use CLI to create resources within Azure Stack Hub. 예를 들어 앱에 대 한 리소스 그룹을 만들고 VM을 추가할 수 있습니다.For example, you can create a resource group for an app and add a VM. 다음 명령을 사용 하 여 "MyResourceGroup" 이라는 리소스 그룹을 만듭니다.Use the following command to create a resource group named "MyResourceGroup":

az group create -n MyResourceGroup -l local

리소스 그룹이 성공적으로 만들어지면 이전 명령은 새로 만든 리소스의 다음 속성을 출력 합니다.If the resource group is created successfully, the previous command outputs the following properties of the newly created resource:

리소스 그룹 만들기 출력

Windows/Linux (AD FS)Windows/Linux (AD FS)

이 섹션에서는 AD FS (Active Directory 페더레이션된 서비스)를 id 관리 서비스로 사용 하 고 Windows/Linux 컴퓨터에서 CLI를 사용 하는 경우 CLI를 설정 하는 과정을 안내 합니다.This section walks you through setting up CLI if you're using Active Directory Federated Services (AD FS) as your identity management service, and are using CLI on a Windows/Linux machine.

Azure Stack 허브에 연결Connect to Azure Stack Hub

  1. 명령을 실행 하 여 Azure Stack 허브 환경을 등록 az cloud register 합니다.Register your Azure Stack Hub environment by running the az cloud register command.

  2. 환경을 등록합니다.Register your environment. 을 실행 하는 경우 다음 매개 변수를 사용 합니다 az cloud register .Use the following parameters when running az cloud register:

    Value 예제Example DescriptionDescription
    환경 이름Environment name AzureStackUserAzureStackUser AzureStackUser사용자 환경에 사용 합니다.Use AzureStackUser for the user environment. 연산자 인 경우을 지정 AzureStackAdmin 합니다.If you're operator, specify AzureStackAdmin.
    Resource Manager 엔드포인트Resource Manager endpoint https://management.local.azurestack.external 통합 시스템의 ResourceManagerUrl : https://management.<region>.<fqdn>/ 통합 시스템 끝점에 대 한 질문이 있는 경우 클라우드 운영자에 게 문의 하세요.The ResourceManagerUrl in integrated systems is: https://management.<region>.<fqdn>/ If you have a question about the integrated system endpoint, contact your cloud operator.
    스토리지 엔드포인트Storage endpoint 로컬 azurestack. externallocal.azurestack.external 통합 시스템의 경우 시스템의 끝점을 사용 합니다.For an integrated system, use an endpoint for your system.
    Keyvault 접미사Keyvault suffix . vault. azurestack. external.vault.local.azurestack.external 통합 시스템의 경우 시스템의 끝점을 사용 합니다.For an integrated system, use an endpoint for your system.
    VM 이미지 별칭 문서 끝점-VM image alias doc endpoint- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json VM 이미지 별칭을 포함 하는 문서의 URI입니다.URI of the document, which contains VM image aliases. 자세한 내용은 VM 별칭 설정 끝점을 참조 하세요.For more info, see Set up the VM aliases endpoint.
    az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>
    
  3. 다음 명령을 사용 하 여 활성 환경을 설정 합니다.Set the active environment by using the following commands.

    az cloud set -n <environmentname>
    
  4. Azure Stack 허브 특정 API 버전 프로필을 사용 하도록 환경 구성을 업데이트 합니다.Update your environment configuration to use the Azure Stack Hub specific API version profile. 구성을 업데이트 하려면 다음 명령을 실행 합니다.To update the configuration, run the following command:

    az cloud update --profile 2019-03-01-hybrid
    
  5. 명령을 사용 하 여 Azure Stack 허브 환경에 로그인 az login 합니다.Sign in to your Azure Stack Hub environment by using the az login command. 사용자 또는 서비스 주체로 Azure Stack 허브 환경에 로그인 할 수 있습니다.You can sign in to the Azure Stack Hub environment either as a user or as a service principal.

    • 사용자 로 로그인:Sign in as a user:

      az login 명령 내에 직접 사용자 이름과 암호를 지정하거나 브라우저를 사용하여 인증할 수 있습니다.You can either specify the username and password directly within the az login command, or authenticate by using a browser. 계정에 multi-factor authentication을 사용 하도록 설정한 경우에는 후자를 사용 해야 합니다.You must do the latter if your account has multi-factor authentication enabled:

      az cloud register  -n <environmentname>   --endpoint-resource-manager "https://management.local.azurestack.external"  --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>   --profile "2019-03-01-hybrid"
      

      참고

      사용자 계정에 multi-factor authentication을 사용 하는 경우 az login 매개 변수를 제공 하지 않고 명령을 사용 합니다 -u .If your user account has multi-factor authentication enabled, use the az login command without providing the -u parameter. 이 명령을 실행 하면 인증을 위해 사용 해야 하는 URL 및 코드가 제공 됩니다.Running this command gives you a URL and a code that you must use to authenticate.

    • 서비스 주체로 로그인 합니다.Sign in as a service principal:

      서비스 사용자 로그인에 사용할 pem 파일을 준비 합니다.Prepare the .pem file to be used for service principal login.

      보안 주체가 만들어진 클라이언트 컴퓨터에서에 있는 개인 키를 사용 하 여 서비스 주체 인증서를 pfx로 내보냅니다 cert:\CurrentUser\My .On the client machine where the principal was created, export the service principal certificate as a pfx with the private key located at cert:\CurrentUser\My. 인증서 이름이 주 서버 이름과 동일 합니다.The cert name has the same name as the principal.

      Pfx를 pem (OpenSSL 유틸리티 사용)로 변환 합니다.Convert the pfx to pem (use the OpenSSL utility).

      CLI에 로그인 합니다.Sign in to the CLI:

      az login --service-principal \
      -u <Client ID from the Service Principal details> \
      -p <Certificate's fully qualified name, such as, C:\certs\spn.pem>
      --tenant <Tenant ID> \
      --debug 
      

연결 테스트Test the connectivity

모든 설정이 설정 된 상태에서 CLI를 사용 하 여 Azure Stack 허브 내에 리소스를 만듭니다.With everything set up, use CLI to create resources within Azure Stack Hub. 예를 들어 앱에 대 한 리소스 그룹을 만들고 VM을 추가할 수 있습니다.For example, you can create a resource group for an app and add a VM. 다음 명령을 사용 하 여 "MyResourceGroup" 이라는 리소스 그룹을 만듭니다.Use the following command to create a resource group named "MyResourceGroup":

az group create -n MyResourceGroup -l local

리소스 그룹이 성공적으로 만들어지면 이전 명령은 새로 만든 리소스의 다음 속성을 출력 합니다.If the resource group is created successfully, the previous command outputs the following properties of the newly created resource:

리소스 그룹 만들기 출력

알려진 문제Known issues

Azure Stack 허브에서 CLI를 사용 하는 경우 알려진 문제가 있습니다.There are known issues when using CLI in Azure Stack Hub:

  • CLI 대화형 모드입니다.The CLI interactive mode. 예를 들어 az interactive 명령은 Azure Stack 허브에서 아직 지원 되지 않습니다.For example, the az interactive command, isn't yet supported in Azure Stack Hub.
  • Azure Stack Hub에서 사용할 수 있는 VM 이미지 목록을 가져오려면 az vm image list --all 명령 대신 명령을 사용 az vm image list 합니다.To get the list of VM images available in Azure Stack Hub, use the az vm image list --all command instead of the az vm image list command. 옵션을 지정 하면 --all 응답이 Azure Stack 허브 환경에서 사용할 수 있는 이미지만 반환 합니다.Specifying the --all option ensures that the response returns only the images that are available in your Azure Stack Hub environment.
  • Azure에서 사용할 수 있는 VM 이미지 별칭 Azure Stack 허브에는 적용 되지 않을 수 있습니다.VM image aliases that are available in Azure may not be applicable to Azure Stack Hub. VM 이미지를 사용 하는 경우 이미지 별칭 대신 전체 URN 매개 변수 (정식: UbuntuServer: 14.04.3-LTS: 1.0.0)를 사용 해야 합니다.When using VM images, you must use the entire URN parameter (Canonical:UbuntuServer:14.04.3-LTS:1.0.0) instead of the image alias. 이 URN은 명령에서 파생 된 이미지 사양과 일치 해야 합니다 az vm images list .This URN must match the image specifications as derived from the az vm images list command.

다음 단계Next steps