Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
31 Mart 2025 itibarıyla bulut Hizmetleri (genişletilmiş destek) kullanımdan kaldırılmıştır ve 31 Mart 2027'de tamamen kullanımdan kaldırılacaktır. Bu özelliğin kullanım dışı kalması ve geçiş süreçleri hakkında daha fazla bilgi edinin.
Bu makalede az.CloudService Azure PowerShell modülünü kullanarak birden çok rolü (WebRole ve WorkerRole) olan bir Azure Cloud Services (genişletilmiş destek) dağıtımı oluşturma işlemi gösterilmektedir.
Önkoşullar
Azure PowerShell kullanarak dağıtımınızı oluşturmanın önkoşulları olarak aşağıdaki adımları tamamlayın.
Cloud Services (genişletilmiş destek) için dağıtım önkoşullarını gözden geçirin ve gerekli kaynakları oluşturun.
Az.CloudService PowerShell modülünü yükleyin:
Install-Module -Name Az.CloudServiceYeni bir kaynak grubu oluşturma. Mevcut bir kaynak grubunu kullanıyorsanız bu adım isteğe bağlıdır.
New-AzResourceGroup -ResourceGroupName “ContosOrg” -Location “East US”Cloud Services (genişletilmiş destek) dağıtımı için paket (.cspkg veya .zip) dosya ve yapılandırma (.cscfg) dosyasını depolamak için Azure'da bir depolama hesabı ve kapsayıcı oluşturun. Depolama hesabı adı için benzersiz bir ad kullanmanız gerekir. Mevcut bir depolama hesabı kullanıyorsanız bu adım isteğe bağlıdır.
$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'ı dağıtma (genişletilmiş destek)
Cloud Services'ı (genişletilmiş destek) dağıtmak için aşağıdaki PowerShell cmdlet seçeneklerinden birini kullanın:
Depolama hesabı kullanarak hızlı dağıtım oluşturma
- Bu parametre kümesi paket (.cspkg veya .zip) dosyasını, yapılandırma (.cscfg) dosyasını ve dağıtımın tanım (.csdef) dosyasını depolama hesabıyla giriş olarak girişler.
- Cmdlet, minimum girişle Cloud Services (genişletilmiş destek) rol profilini, ağ profilini ve işletim sistemi profilini oluşturur.
- Sertifika giriş yapmak için bir anahtar kasası adı belirtmeniz gerekir. Anahtar kasasındaki sertifika parmak izleri, dağıtım için yapılandırma (.cscfg) dosyasında belirttiğiniz sertifikalarla doğrulanır.
Paylaşılan erişim imzası URI'si kullanarak hızlı dağıtım oluşturma
- Bu parametre kümesi, yapılandırma (.cscfg) dosyası ve tanım (.csdef) dosyasının yerel yolları ile paket (.cspkg veya .zip) dosyasının paylaşılan erişim imzası (SAS) URI'sini girdi. Depolama hesabı girişi gerekmez.
- Cmdlet, bulut hizmeti rol profili, ağ profili ve işletim sistemi profili için asgari girdi gereksinimlerini oluşturur.
- Sertifika giriş yapmak için bir anahtar kasası adı belirtmeniz gerekir. Anahtar kasasındaki sertifika parmak izleri, dağıtım için yapılandırma (.cscfg) dosyasında belirttiğiniz sertifikalarla doğrulanır.
Paylaşılan erişim imzası URI'lerini kullanarak rol profili, işletim sistemi profili, ağ profili ve uzantı profili ile bir dağıtım oluşturun.
- Bu parametre kümesi, paket (.cspkg veya .zip) dosyası ve yapılandırma (.cscfg) dosyasının SAS URI'lerini girdi.
- Profil nesnelerini belirtmelisiniz: rol profili, ağ profili, işletim sistemi profili ve uzantı profili. Profillerin yapılandırma (.cscfg) dosyası ve tanım (.csdef) dosyasında ayarladığınız değerlerle eşleşmesi gerekir.
Depolama hesabı kullanarak hızlı dağıtım oluşturma
Paket (.cspkg veya .zip) dosyası, yapılandırma (.cscfg) dosyası ve tanım (.csdef) dosyalarını kullanarak bir Cloud Services (genişletilmiş destek) dağıtımı oluşturun:
$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>]
SAS URI'si kullanarak hızlı dağıtım oluşturma
Dağıtım için paket (.cspkg veya .zip) dosyasını depolama hesabına yükleyin:
$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>"Paket (.cspkg veya .zip) dosyası, yapılandırma (.cscfg) dosyası ve tanım (.csdef) dosyası SAS URI'sini kullanarak Cloud Services (genişletilmiş destek) dağıtımı oluşturun:
New-AzCloudService -Name "ContosoCS" ` -ResourceGroupName "ContosOrg" ` -Location "EastUS" ` -ConfigurationFile $cspkgFilePath ` -DefinitionFile $csdefFilePath ` -PackageURL $cspkgUrl ` [-KeyVaultName <string>]
Profil nesnelerini ve SAS URI'lerini kullanarak dağıtım oluşturma
Cloud Services (genişletilmiş destek) yapılandırma (.cscfg) dosyanızı depolama hesabına yükleyin:
$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 + $cscfgTokenCloud Services (genişletilmiş destek) paketi (.cspkg veya .zip) dosyanızı depolama hesabına yükleyin:
$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 + $cspkgTokenSanal ağı ve alt ağı oluşturun. Mevcut bir ağ ve alt ağ kullanıyorsanız bu adım isteğe bağlıdır. Bu örnekte hem Cloud Services (genişletilmiş destek) rolleri (WebRole hem de WorkerRole) için tek bir sanal ağ ve alt ağ kullanılır.
$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 $subnetBir genel IP adresi oluşturun ve genel IP adresi için bir DNS etiketi değeri ayarlayın. Cloud Services (genişletilmiş destek) yalnızca Temel SKU genel IP adresini destekler. Standart SKU genel IP adresleri Cloud Services (genişletilmiş destek) ile çalışmaz.
Statik bir IP adresi kullanıyorsanız, yapılandırma (.cscfg) dosyasında dağıtım için ayrılmış IP adresi olarak tanımlamanız gerekir.
$publicIp = New-AzPublicIpAddress -Name “ContosIp” -ResourceGroupName “ContosOrg” -Location “East US” -AllocationMethod Dynamic -IpAddressVersion IPv4 -DomainNameLabel “contosoappdns” -Sku BasicBir ağ profili nesnesi oluşturun ve genel IP adresini yük dengeleyicinin ön ucuyla ilişkilendirin. Azure platformu, Cloud Services (genişletilmiş destek) kaynağıyla aynı abonelikte otomatik olarak bir Klasik SKU yük dengeleyici kaynağı oluşturur. Yük dengeleyici, Azure Resource Manager'da salt okunur bir kaynaktır. Kaynakları yalnızca Cloud Services (genişletilmiş destek) yapılandırması (.cscfg) dosyası ve dağıtım (.csdef) dosyası aracılığıyla güncelleştirebilirsiniz.
$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}Create a key vault. Anahtar kasası, Cloud Services (genişletilmiş destek) rolleri ile ilişkili sertifikaları depolar. The key vault must be in the same region and subscription as the Cloud Services (extended support) deployment and have a unique name. Daha fazla bilgi için bkz. Cloud Services ile sertifikaları kullanma (genişletilmiş destek).
New-AzKeyVault -Name "ContosKeyVault” -ResourceGroupName “ContosOrg” -Location “East US”Update the key vault access policy and grant certificate permissions to your user account:
Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -EnabledForDeployment Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -UserPrincipalName 'user@domain.com' -PermissionsToCertificates create,get,list,deleteAlternatif olarak,
ObjectIddeğerini kullanarak erişim ilkesini ayarlayın.ObjectIddeğerini almak içinGet-AzADUserkomutunu çalıştırın.Set-AzKeyVaultAccessPolicy -VaultName 'ContosKeyVault' -ResourceGroupName 'ContosOrg' -ObjectId 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' -PermissionsToCertificates create,get,list,deleteAşağıdaki örnek, bir anahtar kasasına kendi imzaladığı bir sertifika ekler. Cloud Services (genişletilmiş destek) rolleri için yapılandırma (.cscfg) dosyası aracılığıyla sertifika parmak izini eklemeniz gerekir.
$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal Add-AzKeyVaultCertificate -VaultName "ContosKeyVault" -Name "ContosCert" -CertificatePolicy $PolicyBellek içi bir işletim sistemi profili nesnesi oluşturun. İşletim sistemi profili, önceki adımda oluşturduğunuz sertifika olan Cloud Services (genişletilmiş destek) rolleri ile ilişkili sertifikaları belirtir.
$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)}Bellek içi bir rol profili nesnesi oluşturun. Rol profili, bir rolün ad, kapasite ve katman gibi SKU'ya özgü özelliklerini tanımlar. Bu örnekte iki rol tanımlanmıştır: frontendRole ve backendRole. Rol profili bilgileri, dağıtım yapılandırması (.cscfg) dosyası ve tanım (.csdef) dosyasında tanımlanan rol yapılandırmasıyla eşleşmelidir.
$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)}(İsteğe bağlı) Cloud Services (genişletilmiş destek) dağıtımınıza eklemek için bellek içi bir uzantı profili nesnesi oluşturun. Bu örnek bir Uzak Masaüstü Protokolü (RDP) uzantısı ekler:
$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)}Yapılandırma (.cscfg) dosyası yalnızca
PublicConfigetiketlere sahip olmalı ve aşağıdaki örnekte gösterildiği gibi bir ad alanı içermelidir:<?xml version="1.0" encoding="utf-8"?> <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> ............... </PublicConfig>(İsteğe bağlı) PowerShell karma tablosunda, dağıtımınıza eklenecek etiketleri tanımlayabilirsiniz:
$tag=@{"Owner" = "Contoso"}Tanımladığınız profil nesnelerini ve SAS URI'lerini kullanarak Cloud Services (genişletilmiş destek) dağıtımı oluşturun:
$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
İlgili içerik
- Cloud Services (genişletilmiş destek) için sık sorulan soruları gözden geçirin.
- Azure portalını, ARM şablonunu veya Visual Studio'yu kullanarak Cloud Services'ı (genişletilmiş destek) dağıtın.
- Cloud Services (genişletilmiş destek) örnekleri deposunu ziyaret edin.