Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Vanaf 31 maart 2025 wordt cloudservices (uitgebreide ondersteuning) afgeschaft en wordt deze volledig buiten gebruik gesteld op 31 maart 2027. Meer informatie over deze veroudering en hoe u kunt migreren.
In dit artikel leest u hoe u de Azure PowerShell-module Az.CloudService gebruikt om een Azure Cloud Services-implementatie (uitgebreide ondersteuning) te maken met meerdere rollen (WebRole en WorkerRole).
Prerequisites
Voer de volgende stappen uit als vereisten voor het maken van uw implementatie met behulp van Azure PowerShell.
Controleer de implementatievereisten voor Cloud Services (uitgebreide ondersteuning) en maak de vereiste resources.
Installeer de Az.CloudService PowerShell-module:
Install-Module -Name Az.CloudServiceEen nieuwe resourcegroep maken. Deze stap is optioneel als u een bestaande resourcegroep gebruikt.
New-AzResourceGroup -ResourceGroupName “ContosOrg” -Location “East US”Maak een opslagaccount en container in Azure om het pakketbestand (.cspkg of .zip) en configuratiebestand (.cscfg) op te slaan voor de cloudservicesimplementatie (uitgebreide ondersteuning). U moet een unieke naam gebruiken voor de naam van het opslagaccount. Deze stap is optioneel als u een bestaand opslagaccount gebruikt.
$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
Cloud Services implementeren (uitgebreide ondersteuning)
Als u Cloud Services (uitgebreide ondersteuning) wilt implementeren, gebruikt u een van de volgende Opties voor PowerShell-cmdlets:
Een implementatie snel maken met behulp van een opslagaccount
- Met deze parameterset wordt het pakketbestand (.cspkg of .zip), het configuratiebestand (.cscfg) en het definitiebestand (.csdef) voor de implementatie als invoer voor het opslagaccount gebruikt.
- De cmdlet maakt met minimale invoer het rolprofiel voor Cloud Services (uitgebreide ondersteuning), het netwerkprofiel en het besturingssysteemprofiel.
- Als u een certificaat wilt invoeren, moet u een sleutelkluisnaam opgeven. De vingerafdruk van het certificaat in de sleutelkluis wordt gevalideerd op basis van de certificaten die u opgeeft in het configuratiebestand (.cscfg) voor de implementatie.
Een implementatie snel maken met behulp van een handtekening-URI voor gedeelde toegang
- Met deze parameterset wordt de SAS-URI (Shared Access Signature) van het pakketbestand (.cspkg of .zip) ingevoerd met de lokale paden naar het configuratiebestand (.cscfg) bestand en definitiebestand (.csdef). Er is geen invoer van het opslagaccount vereist.
- Met minimale invoer maakt de cmdlet het cloudservicerolprofiel, het netwerkprofiel en het besturingssysteemprofiel aan.
- Als u een certificaat wilt invoeren, moet u een sleutelkluisnaam opgeven. De vingerafdruk van het certificaat in de sleutelkluis wordt gevalideerd op basis van de certificaten die u opgeeft in het configuratiebestand (.cscfg) voor de implementatie.
Een implementatie maken met behulp van een rolprofiel, besturingssysteemprofiel, netwerkprofiel en extensieprofiel met handtekening-URI's voor gedeelde toegang
- Met deze parameterset worden de SAS-URI's van het pakketbestand (.cspkg of .zip) en configuratiebestand (.cscfg) ingeslagen.
- U moet profielobjecten opgeven: rolprofiel, netwerkprofiel, besturingssysteemprofiel en extensieprofiel. De profielen moeten overeenkomen met de waarden die u hebt ingesteld in het configuratiebestand en definitiebestand (.csdef).
Een implementatie snel maken met behulp van een opslagaccount
Maak een cloudservicesimplementatie (uitgebreide ondersteuning) met behulp van het pakketbestand (.cspkg of .zip), configuratiebestand (.cscfg) en definitiebestanden (.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>]
Een implementatie snel maken met behulp van een SAS-URI
Upload het pakketbestand (.cspkg of .zip) voor de implementatie naar het opslagaccount:
$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>"Maak de implementatie van Cloud Services (uitgebreide ondersteuning) met behulp van het pakketbestand (.cspkg of .zip), het configuratiebestand (.cscfg), en het definitiebestand (.csdef) SAS-URI:
New-AzCloudService -Name "ContosoCS" ` -ResourceGroupName "ContosOrg" ` -Location "EastUS" ` -ConfigurationFile $cspkgFilePath ` -DefinitionFile $csdefFilePath ` -PackageURL $cspkgUrl ` [-KeyVaultName <string>]
Een implementatie maken met behulp van profielobjecten en SAS-URI's
Upload het configuratiebestand (.cscfg) van cloudservices (uitgebreide ondersteuning) naar het opslagaccount:
$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 + $cscfgTokenUpload uw Cloud Services-pakket (uitgebreide ondersteuning) (.cspkg of .zip) naar het opslagaccount:
$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 + $cspkgTokenMaak een virtueel netwerk en subnet. Deze stap is optioneel als u een bestaand netwerk en subnet gebruikt. In dit voorbeeld worden één virtueel netwerk en subnet gebruikt voor zowel Cloud Services-rollen (uitgebreide ondersteuning) (WebRole en 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 $subnetMaak een openbaar IP-adres en stel een DNS-labelwaarde in voor het openbare IP-adres. Cloud Services (uitgebreide ondersteuning) ondersteunt alleen een openbaar IP-adres van de Basic-SKU . Openbare IP-adressen van de standard-SKU werken niet met Cloud Services (uitgebreide ondersteuning).
Als u een statisch IP-adres gebruikt, moet u ernaar verwijzen als een gereserveerd IP-adres in het configuratiebestand (.cscfg) voor de implementatie.
$publicIp = New-AzPublicIpAddress -Name “ContosIp” -ResourceGroupName “ContosOrg” -Location “East US” -AllocationMethod Dynamic -IpAddressVersion IPv4 -DomainNameLabel “contosoappdns” -Sku BasicMaak een netwerkprofielobject en koppel vervolgens het openbare IP-adres aan de front-end van de load balancer. Het Azure-platform maakt automatisch een klassieke SKU-load balancer-resource in hetzelfde abonnement als de Cloud Services-resource (uitgebreide ondersteuning). The load balancer is a read-only resource in Azure Resource Manager. U kunt resources alleen bijwerken via het configuratiebestand en implementatiebestand (.csdef) van Cloud Services (uitgebreide ondersteuning).
$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}Maak een sleutelkluis aan. In de sleutelkluis worden certificaten opgeslagen die zijn gekoppeld aan Cloud Services-rollen (uitgebreide ondersteuning). De sleutelkluis moet zich in dezelfde regio en hetzelfde abonnement bevinden als de implementatie van Cloud Services (uitgebreide ondersteuning) en een unieke naam hebben. Zie Certificaten gebruiken met Cloud Services (uitgebreide ondersteuning) voor meer informatie.
New-AzKeyVault -Name "ContosKeyVault” -ResourceGroupName “ContosOrg” -Location “East US”Werk het toegangsbeleid voor de sleutelkluis bij en ververleent certificaatmachtigingen aan uw gebruikersaccount:
Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -EnabledForDeployment Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -UserPrincipalName 'user@domain.com' -PermissionsToCertificates create,get,list,deleteU kunt ook het toegangsbeleid instellen met behulp van de
ObjectIdwaarde. VoerObjectIduit om deGet-AzADUserwaarde op te halen:Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -ObjectId 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' -PermissionsToCertificates create,get,list,deleteIn het volgende voorbeeld wordt een zelfondertekend certificaat toegevoegd aan een sleutelkluis. U moet de vingerafdruk van het certificaat toevoegen via het configuratiebestand (.cscfg) voor Cloud Services-rollen (uitgebreide ondersteuning).
$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal Add-AzKeyVaultCertificate -VaultName "ContosKeyVault" -Name "ContosCert" -CertificatePolicy $PolicyMaak een besturingssysteemprofiel in het geheugenobject. Een besturingssysteemprofiel geeft de certificaten op die zijn gekoppeld aan Cloud Services-rollen (uitgebreide ondersteuning). Dit is het certificaat dat u in de vorige stap hebt gemaakt.
$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)}Maak een rolprofiel in het geheugenobject. Een rolprofiel definieert de SKU-specifieke eigenschappen van een rol, zoals naam, capaciteit en laag. In dit voorbeeld zijn twee rollen gedefinieerd: frontendRole en backendRole. Informatie over het rolprofiel moet overeenkomen met de rolconfiguratie die is gedefinieerd in het bestand en definitiebestand (.cscfg) van de implementatieconfiguratie (.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)}(Optioneel) Maak een extensieprofielobject in het geheugen om toe te voegen aan uw Cloud Services-implementatie (uitgebreide ondersteuning). In dit voorbeeld wordt een RDP-extensie (Remote Desktop Protocol) toegevoegd:
$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)}Het configuratiebestand (.cscfg) mag alleen
PublicConfigtags bevatten en mag een naamruimte bevatten, zoals wordt weergegeven in het volgende voorbeeld:<?xml version="1.0" encoding="utf-8"?> <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> ............... </PublicConfig>(Optioneel) In een PowerShell-hashtabel kunt u tags definiëren die u aan uw implementatie wilt toevoegen:
$tag=@{"Owner" = "Contoso"}Maak de implementatie van Cloud Services (uitgebreide ondersteuning) met behulp van de profielobjecten en SAS-URI's die u hebt gedefinieerd:
$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
Gerelateerde inhoud
- Bekijk veelgestelde vragen over Cloud Services (uitgebreide ondersteuning).
- Implementeer Cloud Services (uitgebreide ondersteuning) met behulp van Azure Portal, een ARM-sjabloon of Visual Studio.
- Ga naar de opslagplaats met voorbeelden van Cloud Services (uitgebreide ondersteuning).