Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Od 31. března 2025 jsou cloudové služby (rozšířená podpora) zastaralé a budou plně vyřazeny 31. března 2027. Learn more about this deprecation and how to migrate.
V tomto článku se dozvíte, jak pomocí modulu Az.CloudService Azure PowerShell vytvořit nasazení azure Cloud Services (rozšířená podpora), které má více rolí (Role WebRole a WorkerRole).
Požadavky
Podle požadavků na vytvoření nasazení pomocí Azure PowerShellu proveďte následující kroky.
Projděte si požadavky na nasazení cloudových služeb (rozšířená podpora) a vytvořte požadované prostředky.
Nainstalujte modul Az.CloudService PowerShell:
Install-Module -Name Az.CloudServiceCreate a new resource group. Tento krok je nepovinný, pokud používáte existující skupinu prostředků.
New-AzResourceGroup -ResourceGroupName “ContosOrg” -Location “East US”Vytvořte v Azure účet úložiště a kontejner pro uložení souboru a konfigurace balíčku (.cspkg nebo .zip) pro nasazení cloudových služeb (rozšířená podpora). Pro název účtu úložiště musíte použít jedinečný název. Tento krok je volitelný, pokud používáte existující účet úložiště.
$storageAccount = New-AzStorageAccount -ResourceGroupName “ContosOrg” -Name “contosostorageaccount” -Location “East US” -SkuName “Standard_RAGRS” -Kind “StorageV2” $container = New-AzStorageContainer -Name “contosocontainer” -Context $storageAccount.Context -Permission Blob
Nasazení Cloud Services (rozšířená podpora)
K nasazení Cloud Services (rozšířená podpora) použijte některou z následujících možností rutin PowerShellu:
Quick-create a deployment by using a storage account
- Tato sada parametrů zadá soubor balíčku (.cspkg nebo .zip), konfigurační soubor (.cscfg) a soubor definice (.csdef) pro nasazení jako vstupy s účtem úložiště.
- Příkaz PowerShell vytvoří profil role Cloud Services (rozšířená podpora), profil sítě a profil operačního systému s minimálními požadavky na vstup.
- Pokud chcete zadat certifikát, musíte zadat název trezoru klíčů. Kryptografické otisky certifikátu v trezoru klíčů se ověřují vůči certifikátům zadaným v souboru konfigurace (.cscfg) pro nasazení.
Quick-create a deployment by using a shared access signature URI
- Tato sada parametrů zadá identifikátor URI sdíleného přístupového podpisu (SAS) souboru balíčku (.cspkg nebo .zip) s místními cestami k souboru konfigurace (.cscfg) a souboru definice (.csdef). Není potřeba žádné zadání účtu úložiště.
- Cmdlet vytvoří profil role cloudové služby, profil sítě a minimální vstup profilu operačního systému.
- Pokud chcete zadat certifikát, musíte zadat název trezoru klíčů. Kryptografické otisky certifikátu v trezoru klíčů se ověřují vůči certifikátům zadaným v souboru konfigurace (.cscfg) pro nasazení.
Create a deployment by using a role profile, OS profile, network profile, and extension profile with shared access signature URIs
- Tato sada parametrů zadá identifikátory URI SAS souboru balíčku (.cspkg nebo .zip) a konfiguračního souboru (.cscfg).
- Je nutné zadat objekty profilu: profil role, profil sítě, profil operačního systému a profil rozšíření. Profily musí odpovídat hodnotám, které jste nastavili v souboru konfigurace (.cscfg) a souboru definice (.csdef).
Quick-create a deployment by using a storage account
Vytvořte nasazení cloudových služeb (rozšířená podpora) pomocí souboru balíčku (.cspkg nebo .zip), konfiguračního souboru (.cscfg) a definice (.csdef):
$cspkgFilePath = "<Path to .cspkg file>"
$cscfgFilePath = "<Path to .cscfg file>"
$csdefFilePath = "<Path to .csdef file>"
# Create a Cloud Services (extended support) deployment
New-AzCloudService
-Name "ContosoCS" `
-ResourceGroupName "ContosOrg" `
-Location "EastUS" `
-ConfigurationFile $cscfgFilePath `
-DefinitionFile $csdefFilePath `
-PackageFile $cspkgFilePath `
-StorageAccount $storageAccount `
[-KeyVaultName <string>]
Quick-create a deployment by using an SAS URI
Nahrajte soubor balíčku (.cspkg nebo .zip) pro nasazení do účtu úložiště:
$tokenStartTime = Get-Date $tokenEndTime = $tokenStartTime.AddYears(1) $cspkgBlob = Set-AzStorageBlobContent -File “./ContosoApp/ContosoApp.cspkg” -Container “contosocontainer” -Blob “ContosoApp.cspkg” -Context $storageAccount.Context $cspkgToken = New-AzStorageBlobSASToken -Container “contosocontainer” -Blob $cspkgBlob.Name -Permission rwd -StartTime $tokenStartTime -ExpiryTime $tokenEndTime -Context $storageAccount.Context $cspkgUrl = $cspkgBlob.ICloudBlob.Uri.AbsoluteUri + $cspkgToken $cscfgFilePath = "<Path to cscfg file>" $csdefFilePath = "<Path to csdef file>"Vytvořte nasazení cloudových služeb (rozšířená podpora) pomocí balíčku (.cspkg nebo .zip), konfiguračního souboru (.cscfg) a souboru definice (.csdef) pomocí URI služby SAS.
New-AzCloudService -Name "ContosoCS" ` -ResourceGroupName "ContosOrg" ` -Location "EastUS" ` -ConfigurationFile $cspkgFilePath ` -DefinitionFile $csdefFilePath ` -PackageURL $cspkgUrl ` [-KeyVaultName <string>]
Create a deployment by using profile objects and SAS URIs
Nahrajte soubor konfigurace služby Cloud Services (rozšířená podpora) (.cscfg) do účtu úložiště:
$cscfgBlob = Set-AzStorageBlobContent -File “./ContosoApp/ContosoApp.cscfg” -Container contosocontainer -Blob “ContosoApp.cscfg” -Context $storageAccount.Context $cscfgToken = New-AzStorageBlobSASToken -Container “contosocontainer” -Blob $cscfgBlob.Name -Permission rwd -StartTime $tokenStartTime -ExpiryTime $tokenEndTime -Context $storageAccount.Context $cscfgUrl = $cscfgBlob.ICloudBlob.Uri.AbsoluteUri + $cscfgTokenNahrajte soubor balíčku Cloud Services (rozšířená podpora) (.cspkg nebo .zip) do účtu úložiště:
$tokenStartTime = Get-Date $tokenEndTime = $tokenStartTime.AddYears(1) $cspkgBlob = Set-AzStorageBlobContent -File “./ContosoApp/ContosoApp.cspkg” -Container “contosocontainer” -Blob “ContosoApp.cspkg” -Context $storageAccount.Context $cspkgToken = New-AzStorageBlobSASToken -Container “contosocontainer” -Blob $cspkgBlob.Name -Permission rwd -StartTime $tokenStartTime -ExpiryTime $tokenEndTime -Context $storageAccount.Context $cspkgUrl = $cspkgBlob.ICloudBlob.Uri.AbsoluteUri + $cspkgTokenVytvořte virtuální síť a podsíť. Tento krok je volitelný, pokud používáte existující síť a podsíť. Tento příklad používá jednu virtuální síť a podsíť pro role Cloud Services (rozšířená podpora) (WebRole i WorkerRole).
$subnet = New-AzVirtualNetworkSubnetConfig -Name "ContosoWebTier1" -AddressPrefix "10.0.0.0/24" -WarningAction SilentlyContinue $virtualNetwork = New-AzVirtualNetwork -Name “ContosoVNet” -Location “East US” -ResourceGroupName “ContosOrg” -AddressPrefix "10.0.0.0/24" -Subnet $subnetVytvořte veřejnou IP adresu a nastavte hodnotu popisku DNS pro veřejnou IP adresu. Cloud Services (rozšířená podpora) podporuje pouze veřejnou IP adresu skladové položky Basic . Standard SKU public IP addresses don't work with Cloud Services (extended support).
Pokud používáte statickou IP adresu, musíte na ni odkazovat jako na vyhrazenou IP adresu v souboru konfigurace (.cscfg) pro nasazení.
$publicIp = New-AzPublicIpAddress -Name “ContosIp” -ResourceGroupName “ContosOrg” -Location “East US” -AllocationMethod Dynamic -IpAddressVersion IPv4 -DomainNameLabel “contosoappdns” -Sku BasicVytvořte objekt profilu sítě a přidružte veřejnou IP adresu k front-endu nástroje pro vyrovnávání zatížení. Platforma Azure automaticky vytvoří prostředek pro vyrovnávání zatížení Classic SKU ve stejném předplatném jako prostředek Cloud Services (rozšířená podpora). Nástroj pro vyrovnávání zatížení je prostředek jen pro čtení v Azure Resource Manageru. Prostředky můžete aktualizovat pouze prostřednictvím souboru konfigurace cloudových služeb (.cscfg) a souboru nasazení (.csdef).
$publicIP = Get-AzPublicIpAddress -ResourceGroupName ContosOrg -Name ContosIp $feIpConfig = New-AzCloudServiceLoadBalancerFrontendIPConfigurationObject -Name 'ContosoFe' -PublicIPAddressId $publicIP.Id $loadBalancerConfig = New-AzCloudServiceLoadBalancerConfigurationObject -Name 'ContosoLB' -FrontendIPConfiguration $feIpConfig $networkProfile = @{loadBalancerConfiguration = $loadBalancerConfig}Vytvořte trezor klíčů. Trezor klíčů ukládá certifikáty přidružené k rolím Cloud Services (rozšířená podpora). The key vault must be in the same region and subscription as the Cloud Services (extended support) deployment and have a unique name. Další informace najdete v tématu Použití certifikátů se službou Cloud Services (rozšířená podpora).
New-AzKeyVault -Name "ContosKeyVault” -ResourceGroupName “ContosOrg” -Location “East US”Aktualizujte zásady přístupu trezoru klíčů a udělte oprávnění certifikátu k vašemu uživatelskému účtu:
Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -EnabledForDeployment Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -UserPrincipalName 'user@domain.com' -PermissionsToCertificates create,get,list,deletePřípadně nastavte zásadu přístupu pomocí
ObjectIdhodnoty. To get theObjectIdvalue, runGet-AzADUser:Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -ObjectId 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' -PermissionsToCertificates create,get,list,deleteNásledující příklad přidá certifikát podepsaný svým držitelem do trezoru klíčů. Kryptografický otisk certifikátu musíte přidat prostřednictvím souboru konfigurace (.cscfg) pro role Cloud Services (rozšířená podpora).
$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal Add-AzKeyVaultCertificate -VaultName "ContosKeyVault" -Name "ContosCert" -CertificatePolicy $PolicyVytvořte paměťový objekt profilu OS. Profil operačního systému určuje certifikáty přidružené k rolím Cloud Services (rozšířená podpora), což je certifikát, který jste vytvořili v předchozím kroku.
$keyVault = Get-AzKeyVault -ResourceGroupName ContosOrg -VaultName ContosKeyVault $certificate = Get-AzKeyVaultCertificate -VaultName ContosKeyVault -Name ContosCert $secretGroup = New-AzCloudServiceVaultSecretGroupObject -Id $keyVault.ResourceId -CertificateUrl $certificate.SecretId $osProfile = @{secret = @($secretGroup)}Create a role profile in-memory object. Profil role definuje vlastnosti specifické pro SKU role, jako je název, kapacita a úroveň. V tomto příkladu jsou definovány dvě role: frontendRole a back-endRole. Informace o profilu role musí odpovídat konfiguraci role definované v souboru konfigurace nasazení (.cscfg) a souboru definice (.csdef).
$frontendRole = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2 $backendRole = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoBackend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2 $roleProfile = @{role = @($frontendRole, $backendRole)}(Volitelné) Vytvořte objekt profilu rozšíření v paměti, který se přidá do nasazení cloudových služeb (rozšířená podpora). Tento příklad přidá rozšíření RDP (Remote Desktop Protocol):
$credential = Get-Credential $expiration = (Get-Date).AddYears(1) $rdpExtension = New-AzCloudServiceRemoteDesktopExtensionObject -Name 'RDPExtension' -Credential $credential -Expiration $expiration -TypeHandlerVersion '1.2.1' $storageAccountKey = Get-AzStorageAccountKey -ResourceGroupName "ContosOrg" -Name "contosostorageaccount" $configFile = "<WAD public configuration file path>" $wadExtension = New-AzCloudServiceDiagnosticsExtension -Name "WADExtension" -ResourceGroupName "ContosOrg" -CloudServiceName "ContosCS" -StorageAccountName "contosostorageaccount" -StorageAccountKey $storageAccountKey[0].Value -DiagnosticsConfigurationPath $configFile -TypeHandlerVersion "1.5" -AutoUpgradeMinorVersion $true $extensionProfile = @{extension = @($rdpExtension, $wadExtension)}Soubor konfigurace (.cscfg) by měl obsahovat pouze
PublicConfigznačky a měl by obsahovat obor názvů, jak je znázorněno v následujícím příkladu:<?xml version="1.0" encoding="utf-8"?> <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> ............... </PublicConfig>(Volitelné) V tabulce hodnot hash PowerShellu můžete definovat značky, které chcete přidat do nasazení:
$tag=@{"Owner" = "Contoso"}Vytvořte nasazení cloudových služeb (rozšířená podpora) pomocí objektů profilu a identifikátorů URI SAS, které jste definovali:
$cloudService = New-AzCloudService ` -Name “ContosoCS” ` -ResourceGroupName “ContosOrg” ` -Location “East US” ` -PackageUrl $cspkgUrl ` -ConfigurationUrl $cscfgUrl ` -UpgradeMode 'Auto' ` -RoleProfile $roleProfile ` -NetworkProfile $networkProfile ` -ExtensionProfile $extensionProfile ` -OSProfile $osProfile ` -Tag $tag
Související obsah
- Projděte si nejčastější dotazy ke cloudovým službám (rozšířená podpora).
- Nasaďte službu Cloud Services (rozšířenou podporu) pomocí webu Azure Portal, šablony ARM nebo sady Visual Studio.
- Navštivte úložiště ukázek cloudových služeb (rozšířená podpora).