다음을 통해 공유


사용자 지정 컴퓨터 구성 패키지 아티팩트를 게시하는 방법

시작하기 전에 컴퓨터 구성에 대한 개요 페이지를 읽는 것이 좋습니다.

컴퓨터 구성 사용자 지정 .zip 패키지는 관리되는 컴퓨터에서 HTTPS를 통해 액세스할 수 있는 위치에 저장되어야 합니다. GitHub 리포지토리, Azure 리포지토리, Azure Storage 또는 프라이빗 데이터 센터 내의 웹 서버가 있습니다.

AuditAuditandSet를 지원하는 구성 패키지는 동일한 방식으로 게시됩니다. 패키지 모드를 기반으로 하는 게시 중에는 특별한 작업을 수행할 필요가 없습니다.

구성 패키지 게시

구성 패키지를 저장하는 기본 위치는 Azure Blob Storage입니다. 스토리지 계정에 특별한 요구 사항은 없지만, 컴퓨터 근처 지역에서 파일을 호스트하는 것이 좋습니다. 패키지를 공개로 만들지 않으려는 경우 URL에 SAS 토큰을 포함하거나 개인 네트워크의 컴퓨터에 대해 서비스 엔드포인트를 구현할 수 있습니다.

구성 패키지를 Azure Blob Storage에 게시하려면 Az.Storage 모듈을 사용하는 다음 단계를 따르세요.

스토리지 계정이 없다면 다음 예제에 따라 계정을 만듭니다.

# Creates a new resource group, storage account, and container
$ResourceGroup = '<resource-group-name>'
$Location      = '<location-id>'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

$newAccountParams = @{
    ResourceGroupname = $ResourceGroup
    Location          = $Location
    Name              = '<storage-account-name>'
    SkuName           = 'Standard_LRS'
}
$container = New-AzStorageAccount @newAccountParams |
    New-AzStorageContainer -Name machine-configuration -Permission Blob

다음으로 패키지를 저장하려는 스토리지 계정의 컨텍스트를 가져옵니다. 이전 예에서 스토리지 계정을 만든 경우 $container 변수에 저장된 스토리지 컨테이너 개체에서 컨텍스트를 가져올 수 있습니다.

$context = $container.Context

기존 스토리지 컨테이너를 사용하는 경우 New-AzStorageContext cmdlet과 함께 컨테이너의 연결 문자열을 사용할 수 있습니다.

$connectionString = @(
    'DefaultEndPointsProtocol=https'
    'AccountName=<storage-account-name>'
    'AccountKey=<storage-key-for-the-account>' # ends with '=='
) -join ';'
$context = New-AzStorageContext -ConnectionString $connectionString

다음으로, 스토리지 계정에 구성 패키지를 추가합니다. 이 예에서는 Zip 파일 ./MyConfig.zip을 BLOB 컨테이너 machine-configuration에 업로드합니다.

$setParams = @{
    Container = 'machine-configuration'
    File      = './MyConfig.zip'
    Context   = $context
}
$blob = Set-AzStorageBlobContent @setParams
$contentUri = $blob.ICloudBlob.Uri.AbsoluteUri

참고 항목

Cloudshell에서 이러한 예를 실행하지만 로컬에서 Zip 파일을 만든 경우 파일을 Cloudshell에 업로드할 수 있습니다.

이 다음 단계는 선택 사항이지만 패키지에 대한 보안 액세스를 보장하려면 URL에 SAS(공유 액세스 서명) 토큰을 추가해야 합니다. 아래 예에서는 읽기 권한이 있는 Blob SAS 토큰을 생성하고 공유 액세스 서명 토큰이 있는 전체 Blob URI를 반환합니다. 이 예에서 토큰의 시간 제한은 3년입니다.

$startTime = Get-Date
$endTime   = $startTime.AddYears(3)

$tokenParams = @{
    StartTime  = $startTime
    ExpiryTime = $endTime
    Container  = 'machine-configuration'
    Blob       = 'MyConfig.zip'
    Permission = 'r'
    Context    = $context
    FullUri    = $true
}
$contentUri = New-AzStorageBlobSASToken @tokenParams

Important

SAS 토큰을 만든 후 반환된 URI를 기록해 둡니다. 토큰을 만든 후에는 토큰을 검색할 수 없습니다. 새 토큰만 만들 수 있습니다. SAS 토큰에 대한 자세한 내용은 SAS(공유 액세스 서명)를 사용하여 Azure Storage 리소스에 대한 제한된 액세스 권한 부여를 참조하세요.

다음 단계