Azure CLI를 사용하여 리소스를 관리하고 Azure Stack Hub에 배포

적용 대상: Azure Stack Hub 통합 시스템

이 문서의 단계에 따라 Linux, Mac 및 Windows 클라이언트 플랫폼에서 Azure Stack Hub 리소스를 관리하도록 Azure CLI(Command-Line Interface)를 설정합니다.

Azure CLI 준비

가상 머신 별칭 엔드포인트는 "UbuntuLTS" 또는 "Win2012Datacenter"와 같은 별칭을 제공합니다. 이 별칭은 VM을 배포할 때 이미지 게시자, 제품, SKU 및 버전을 단일 매개 변수로 참조합니다.

다음 섹션에서는 가상 머신 별칭 엔드포인트를 설정하는 방법을 설명합니다.

가상 머신 별칭 엔드포인트 설정

VM 별칭 파일을 호스트하는 공개적으로 액세스할 수 있는 엔드포인트를 설정할 수 있습니다. VM 별칭 파일은 이미지의 일반 이름을 제공하는 JSON 파일입니다. VM을 Azure CLI 매개 변수로 배포할 때 이 이름을 사용합니다.

  1. 사용자 지정 이미지를 게시하는 경우 게시 중에 지정한 게시자, 제품, SKU 및 버전 정보를 기록해 둡다. Marketplace의 이미지인 경우 cmdlet을 사용하여 Get-AzureVMImage 정보를 볼 수 있습니다.

  2. GitHub 샘플 파일을 다운로드합니다.

  3. Azure Stack Hub에서 스토리지 계정을 만듭니다. 완료되면 Blob 컨테이너를 만듭니다. 액세스 정책을 "public"으로 설정합니다.

  4. JSON 파일을 새 컨테이너에 업로드. 완료되면 Blob의 URL을 볼 수 있습니다. Blob 이름을 선택한 다음 Blob 속성에서 URL을 선택합니다.

CLI 설치 또는 업그레이드

개발 워크스테이션에 로그인하고 CLI를 설치합니다. Azure Stack Hub에는 Azure CLI 버전 2.0 이상이 필요합니다. 최신 버전의 API 프로필에는 현재 버전의 CLI가 필요합니다. Azure CLI 설치 문서에 설명된 단계를 사용하여 CLI를 설치 합니다.

설치에 성공했는지 확인하려면 터미널 또는 명령 프롬프트 창을 열고 다음 명령을 실행합니다.

az --version

컴퓨터에 설치된 Azure CLI 및 기타 종속 라이브러리의 버전이 표시됩니다.

Azure CLI on Azure Stack Hub Python location

Windows/Linux(Azure AD)

이 섹션에서는 ID 관리 서비스로 Azure AD를 사용하고 Windows/Linux 컴퓨터에서 CLI를 사용하는 경우 CLI를 설정하는 방법에 대해 설명합니다.

Azure Stack Hub에 커넥트

  1. 명령을 실행하여 Azure Stack Hub 환경을 등록합니다 az cloud register .

  2. 환경을 등록합니다. 실행할 az cloud register때 다음 매개 변수를 사용합니다.

    예제 Description
    환경 이름 AzureStackUser 사용자 환경에 사용합니다 AzureStackUser . 연산 AzureStackAdmin자인 경우 .
    Resource Manager 엔드포인트 https://management.local.azurestack.external 통합 시스템의 ResourceManagerUrl 은 다음과 https://management.<region>.<fqdn>/ 같습니다. 통합 시스템 엔드포인트에 대한 질문이 있는 경우 클라우드 운영자에게 문의하세요.
    스토리지 엔드포인트 local.azurestack.external 통합 시스템의 경우 시스템에 엔드포인트를 사용합니다.
    Keyvault 접미사 .vault.local.azurestack.external 통합 시스템의 경우 시스템에 엔드포인트를 사용합니다.
    VM 이미지 별칭 문서 엔드포인트- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json VM 이미지 별칭을 포함하는 문서의 URI입니다. 자세한 내용은 VM 별칭 엔드포인트 설정을 참조하세요.
    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. 다음 명령을 사용하여 활성 환경을 설정합니다.

    az cloud set -n <environmentname>
    
  4. Azure Stack Hub 특정 API 버전 프로필을 사용하도록 환경 구성을 업데이트합니다. 구성을 업데이트하려면 다음 명령을 실행합니다.

    az cloud update --profile 2019-03-01-hybrid
    
  5. 명령을 사용하여 Azure Stack Hub 환경에 로그인합니다 az login . 사용자 또는 서비스 주체로 Azure Stack Hub 환경에 로그인합니다.

    • 사용자로 로그인:

      az login 명령 내에 직접 사용자 이름과 암호를 지정하거나 브라우저를 사용하여 인증할 수 있습니다. 계정에 다단계 인증이 사용하도록 설정된 경우 후자를 수행해야 합니다.

      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>
      

      참고

      사용자 계정에 다단계 인증이 사용하도록 설정된 경우 매개 변수를 az login-u 제공하지 않고 명령을 사용합니다. 이 명령을 실행하면 인증하는 데 사용해야 하는 URL과 코드를 제공합니다.

    • 서비스 주체로 로그인합니다.

      로그인하기 전에 Azure Portal 또는 CLI를 통해 서비스 주체를 만들고 역할을 할당합니다. 이제 다음 명령을 사용하여 로그인합니다.

      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>
      

연결 테스트

모든 항목이 설정되면 CLI를 사용하여 Azure Stack Hub 내에서 리소스를 만듭니다. 예를 들어 앱에 대한 리소스 그룹을 만들고 VM을 추가할 수 있습니다. 다음 명령을 사용하여 "MyResourceGroup"이라는 리소스 그룹을 만듭니다.

az group create -n MyResourceGroup -l local

리소스 그룹을 성공적으로 만든 경우 이전 명령은 새로 만든 리소스의 다음 속성을 출력합니다.

Resource group create output

Windows/Linux(AD FS)

이 섹션에서는 AD FS(Active Directory Federated Services)를 ID 관리 서비스로 사용하고 Windows/Linux 컴퓨터에서 CLI를 사용하는 경우 CLI를 설정하는 방법에 대해 설명합니다.

Azure Stack Hub에 커넥트

  1. 명령을 실행하여 Azure Stack Hub 환경을 등록합니다 az cloud register .

  2. 환경을 등록합니다. 실행할 az cloud register때 다음 매개 변수를 사용합니다.

    예제 Description
    환경 이름 AzureStackUser 사용자 환경에 사용합니다 AzureStackUser . 연산 AzureStackAdmin자인 경우 .
    Resource Manager 엔드포인트 https://management.local.azurestack.external 통합 시스템의 ResourceManagerUrl 은 다음과 https://management.<region>.<fqdn>/ 같습니다. 통합 시스템 엔드포인트에 대한 질문이 있는 경우 클라우드 운영자에게 문의하세요.
    스토리지 엔드포인트 local.azurestack.external 통합 시스템의 경우 시스템에 엔드포인트를 사용합니다.
    Keyvault 접미사 .vault.local.azurestack.external 통합 시스템의 경우 시스템에 엔드포인트를 사용합니다.
    VM 이미지 별칭 문서 엔드포인트- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json VM 이미지 별칭을 포함하는 문서의 URI입니다. 자세한 내용은 VM 별칭 엔드포인트 설정을 참조하세요.
    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. 다음 명령을 사용하여 활성 환경을 설정합니다.

    az cloud set -n <environmentname>
    
  4. Azure Stack Hub 특정 API 버전 프로필을 사용하도록 환경 구성을 업데이트합니다. 구성을 업데이트하려면 다음 명령을 실행합니다.

    az cloud update --profile 2019-03-01-hybrid
    
  5. 명령을 사용하여 Azure Stack Hub 환경에 로그인합니다 az login . Azure Stack Hub 환경에 사용자 또는 서비스 주체로 로그인할 수 있습니다.

    • 사용자로 로그인:

      az login 명령 내에 직접 사용자 이름과 암호를 지정하거나 브라우저를 사용하여 인증할 수 있습니다. 계정에 다단계 인증이 사용하도록 설정된 경우 후자를 수행해야 합니다.

      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"
      

      참고

      사용자 계정에 다단계 인증을 사용하도록 설정한 경우 매개 변수를 az login-u 제공하지 않고 명령을 사용합니다. 이 명령을 실행하면 인증에 사용해야 하는 URL과 코드를 제공합니다.

    • 서비스 주체로 로그인합니다.

      서비스 주체 로그인에 사용할 .pem 파일을 준비합니다.

      보안 주체가 만들어진 클라이언트 컴퓨터에서 프라이빗 키가 있는 cert:\CurrentUser\Mypfx로 서비스 주체 인증서를 내보냅니다. 인증서 이름은 보안 주체와 이름이 같습니다.

      pfx를 pem으로 변환합니다(OpenSSL 유틸리티 사용).

      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 
      

연결 테스트

모든 항목이 설정되면 CLI를 사용하여 Azure Stack Hub 내에서 리소스를 만듭니다. 예를 들어 앱에 대한 리소스 그룹을 만들고 VM을 추가할 수 있습니다. 다음 명령을 사용하여 "MyResourceGroup"이라는 리소스 그룹을 만듭니다.

az group create -n MyResourceGroup -l local

리소스 그룹이 성공적으로 만들어지면 이전 명령은 새로 만든 리소스의 다음 속성을 출력합니다.

Resource group create output

알려진 문제

Azure Stack Hub에서 CLI를 사용할 때 알려진 문제가 있습니다.

  • CLI 대화형 모드입니다. 예를 들어 az interactive 이 명령은 Azure Stack Hub에서 아직 지원되지 않습니다.
  • Azure Stack Hub에서 사용할 수 있는 VM 이미지 목록을 얻으려면 명령 대신 az vm image list 명령을 사용합니다az vm image list --all. 옵션을 지정하면 --all 응답이 Azure Stack Hub 환경에서 사용할 수 있는 이미지만 반환합니다.
  • Azure에서 사용할 수 있는 VM 이미지 별칭은 Azure Stack Hub에 적용되지 않을 수 있습니다. VM 이미지를 사용하는 경우 이미지 별칭 대신 전체 URN 매개 변수(Canonical:UbuntuServer:14.04.3-LTS:1.0.0)를 사용해야 합니다. 이 URN은 명령에서 az vm images list 파생된 이미지 사양과 일치해야 합니다.

다음 단계