Compartir a través de


New-AzCloudService

Cree o actualice un servicio en la nube. Tenga en cuenta que algunas propiedades solo se pueden establecer durante la creación del servicio en la nube.

Syntax

New-AzCloudService
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-AllowModelOverride]
   [-Configuration <String>]
   [-ConfigurationUrl <String>]
   [-ExtensionProfile <ICloudServiceExtensionProfile>]
   [-NetworkProfile <ICloudServiceNetworkProfile>]
   [-OSProfile <ICloudServiceOSProfile>]
   [-PackageUrl <String>]
   [-RoleProfile <ICloudServiceRoleProfile>]
   [-StartCloudService]
   [-Tag <Hashtable>]
   [-UpgradeMode <CloudServiceUpgradeMode>]
   [-Zone <String[]>]
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzCloudService
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-ExtensionProfile <ICloudServiceExtensionProfile>]
   -PackageUrl <String>
   [-StartCloudService]
   [-Tag <Hashtable>]
   [-UpgradeMode <CloudServiceUpgradeMode>]
   -ConfigurationFile <String>
   -DefinitionFile <String>
   [-DnsName <String>]
   [-KeyVaultName <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzCloudService
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-ExtensionProfile <ICloudServiceExtensionProfile>]
   [-StartCloudService]
   [-Tag <Hashtable>]
   [-UpgradeMode <CloudServiceUpgradeMode>]
   -ConfigurationFile <String>
   -DefinitionFile <String>
   -PackageFile <String>
   -StorageAccount <String>
   [-DnsName <String>]
   [-KeyVaultName <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Cree o actualice un servicio en la nube. Tenga en cuenta que algunas propiedades solo se pueden establecer durante la creación del servicio en la nube.

Ejemplos

Ejemplo 1: Creación de un nuevo servicio en la nube con un solo rol

# Create role profile object
$role = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role)}

# Create network profile object
$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}

# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String

# Create cloud service
$cloudService = New-AzCloudService                                              `
                          -Name ContosoCS                                               `
                          -ResourceGroupName ContosOrg                                  `
                          -Location EastUS                                              `
                          -PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"    `
                          -Configuration $cscfgContent                                  `
                          -UpgradeMode 'Auto'                                           `
                          -RoleProfile $roleProfile                                     `
                          -NetworkProfile $networkProfile

El conjunto anterior de comandos crea un servicio en la nube con un solo rol

Ejemplo 2: Creación de un nuevo servicio en la nube con un solo rol y extensión RDP

# Create role profile object
$role = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role)}

# Create network profile object
$publicIp = Get-AzPublicIpAddress -ResourceGroupName ContosoOrg -Name ContosIp
$feIpConfig = New-AzCloudServiceLoadBalancerFrontendIPConfigurationObject -Name 'ContosoFe' -PublicIPAddressId $publicIp.Id
$loadBalancerConfig = New-AzCloudServiceLoadBalancerConfigurationObject -Name 'ContosoLB' -FrontendIPConfiguration $feIpConfig
$networkProfile = @{loadBalancerConfiguration = $loadBalancerConfig}

# Create RDP extension object
$credential = Get-Credential
$expiration = (Get-Date).AddYears(1)
$extension = New-AzCloudServiceRemoteDesktopExtensionObject -Name 'RDPExtension' -Credential $credential -Expiration $expiration -TypeHandlerVersion '1.2.1'
$extensionProfile = @{extension = @($extension)}

# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String

# Create cloud service
$cloudService = New-AzCloudService                                              `
                          -Name ContosoCS                                               `
                          -ResourceGroupName ContosOrg                                  `
                          -Location EastUS                                              `
                          -PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"    `
                          -Configuration $cscfgContent                                  `
                          -UpgradeMode 'Auto'                                           `
                          -RoleProfile $roleProfile                                     `
                          -NetworkProfile $networkProfile                               `
                          -ExtensionProfile $extensionProfile

El conjunto anterior de comandos crea un servicio en la nube con un solo rol y extensión RDP

Ejemplo 3: Creación de un nuevo servicio en la nube con un solo rol y certificado desde el almacén de claves

# Create role profile object
$role = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role)}

# Create OS profile object
$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 network profile object
$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}

# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String

# Create cloud service
$cloudService = New-AzCloudService                                              `
                          -Name ContosoCS                                               `
                          -ResourceGroupName ContosOrg                                  `
                          -Location EastUS                                              `
                          -PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"    `
                          -Configuration $cscfgContent                                  `
                          -UpgradeMode 'Auto'                                           `
                          -RoleProfile $roleProfile                                     `
                          -NetworkProfile $networkProfile                               `
                          -OSProfile $osProfile

El conjunto anterior de comandos crea un servicio en la nube con un solo rol y certificado desde el almacén de claves.

Ejemplo 4: Creación de un nuevo servicio en la nube con varios roles y extensiones

# Create role profile object
$role1 = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$role2 = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoBackend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role1, $role2)}

# Create network profile object
$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 RDP extension object
$credential = Get-Credential
$expiration = (Get-Date).AddYears(1)
$rdpExtension = New-AzCloudServiceRemoteDesktopExtensionObject -Name 'RDPExtension' -Credential $credential -Expiration $expiration -TypeHandlerVersion '1.2.1'

# Create Geneva extension object
$genevaExtension = New-AzCloudServiceExtensionObject -Name GenevaExtension -Publisher Microsoft.Azure.Geneva -Type GenevaMonitoringPaaS -TypeHandlerVersion "2.14.0.2"
$extensionProfile = @{extension = @($rdpExtension, $genevaExtension)}

# Add tags
$tag=@{"Owner" = "Contoso"}

# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String

# Create cloud service
$cloudService = New-AzCloudService                                              `
                          -Name ContosoCS                                               `
                          -ResourceGroupName ContosOrg                                  `
                          -Location EastUS                                              `
                          -PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"    `
                          -Configuration $cscfgContent                                  `
                          -UpgradeMode 'Auto'                                           `
                          -RoleProfile $roleProfile                                     `
                          -NetworkProfile $networkProfile                               `
                          -ExtensionProfile $extensionProfile                           `
                          -Tag $tag

El conjunto anterior de comandos crea un servicio en la nube con un solo rol y certificado desde el almacén de claves.

Ejemplo 5: Creación de un nuevo servicio en la nube con archivos CsCfg, CsDef y Cspkg mediante el conjunto de parámetros "quickCreateParameterSetWithStorage".

# Set up a storage account if you have not
$storageAccount = New-AzStorageAccount -ResourceGroupName ContosoOrg -Name ContosoStorAcc -Location "East US" -SkuName "Standard_RAGRS" -Kind "StorageV2"

# Create cloud service
$cloudService = New-AzCloudService                                              `
                          -Name ContosoCS                                               `
                          -ResourceGroupName ContosOrg                                  `
                          -Location EastUS                                              `
                          -ConfigurationFile C:\files\CS.cscfg                          `
                          -DefinitionFile C:\files\CS.csdef                             `
                          -PackageFile C:\CS.cspkg                                      `
                          -StorageAccount ContosoStorAcc                                `
                          -KeyVaultName ContosoKV

El conjunto anterior de comandos crea un servicio en la nube mediante la extracción de información de NetworkProfile y RoleProfile de . CsCfg y . Archivos CsDef.

Esos archivos también proporcionarán información de OSProfile junto con los certificados del almacén de claves proporcionado en el parámetro "-KeyVaultName". Este conjunto de parámetros también carga el . Archivo CsPkg en storageAccount proporcionado.

Ejemplo 6: Crear un nuevo servicio en la nube con archivos CsCfg, CsDef y Cspkg mediante el conjunto de parámetros "quickCreateParameterSetWithoutStorage".

# getting Package URL
$tokenStartTime = Get-Date 
$tokenEndTime = $tokenStartTime.AddYears(1) 
$storAcc = Get-AzStorageAccount -ResourceGroupName ContosoOrg -Name ContosoStorAcc
$csPkgBlob = Get-AzStorageBlob -Container Contoso-Container -Blob ContosoBlob.cspkg -Context $storAcc.Context
$csPkgToken = New-AzStorageBlobSASToken -Container Contoso-Container -Blob ContosoBlob.cspkg -Permission rwd -StartTime $tokenStartTime -ExpiryTime $tokenEndTime -Context $storAcc.Context
$cspkgUrl = $csPkgBlob.ICloudBlob.Uri.AbsoluteUri + $csPkgToken 

# Create cloud service
$cloudService = New-AzCloudService                                              `
                          -Name ContosoCS                                               `
                          -ResourceGroupName ContosOrg                                  `
                          -Location EastUS                                              `
                          -ConfigurationFile C:\files\CS.cscfg                          `
                          -DefinitionFile C:\files\CS.csdef                             `
                          -packageUrl $cspkgUrl                                         `

El conjunto anterior de comandos crea un servicio en la nube mediante la extracción de información de NetworkProfile y RoleProfile de . CsCfg y . Archivos CsDef.

Esos archivos también proporcionarán información de OSProfile junto con los certificados del almacén de claves proporcionado en el parámetro "-KeyVaultName".

Parámetros

-AllowModelOverride

(Opcional) Indica si las propiedades de SKU de rol (roleProfile.roles.sku) especificadas en el modelo o plantilla deben invalidar el número de instancias de rol y el tamaño de máquina virtual especificados en .cscfg y .csdef respectivamente. El valor predeterminado es false.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Ejecución del comando como trabajo

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Configuration

Especifica la configuración del servicio XML (.cscfg) para el servicio en la nube.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConfigurationFile

Especifica la configuración del servicio XML (.cscfg) para el servicio en la nube.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ConfigurationUrl

Especifica una dirección URL que hace referencia a la ubicación de la configuración del servicio en Blob service. La dirección URL del paquete de servicio puede ser URI de firma de acceso compartido (SAS) desde cualquier cuenta de almacenamiento. Se trata de una propiedad de solo escritura y no se devuelve en las llamadas GET.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

El parámetro DefaultProfile no es funcional. Use el parámetro SubscriptionId cuando esté disponible si ejecuta el cmdlet en otra suscripción.

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefinitionFile

Ruta de acceso al archivo .csdef.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DnsName

Nombre de Dns que se va a usar para el recurso CloudService.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExtensionProfile

Describe un perfil de extensión de servicio en la nube. Para construir, consulte la sección NOTES de las propiedades EXTENSIONPROFILE y cree una tabla hash.

Type:ICloudServiceExtensionProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultName

Nombre de KeyVault que se va a usar para el recurso CloudService.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

Ubicación de recursos.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

Nombre del servicio en la nube.

Type:String
Aliases:CloudServiceName
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NetworkProfile

Perfil de red para el servicio en la nube. Para construir, consulte la sección NOTES de las propiedades NETWORKPROFILE y cree una tabla hash.

Type:ICloudServiceNetworkProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoWait

Ejecutar el comando de forma asincrónica

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OSProfile

Describe el perfil del sistema operativo para el servicio en la nube. Para construir, consulte la sección NOTES de las propiedades de OSPROFILE y cree una tabla hash.

Type:ICloudServiceOSProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PackageFile

Ruta de acceso al archivo .cspkg. Se cargará en un blob.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PackageUrl

Especifica una dirección URL que hace referencia a la ubicación del paquete de servicio en Blob service. La dirección URL del paquete de servicio puede ser URI de firma de acceso compartido (SAS) desde cualquier cuenta de almacenamiento. Se trata de una propiedad de solo escritura y no se devuelve en las llamadas GET.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Nombre del grupo de recursos.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RoleProfile

Describe el perfil de rol para el servicio en la nube. Para construir, consulte la sección NOTES de las propiedades ROLEPROFILE y cree una tabla hash.

Type:ICloudServiceRoleProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartCloudService

(Opcional) Indica si se debe iniciar el servicio en la nube inmediatamente después de crearlo. El valor predeterminado es true. Si es false, el modelo de servicio se sigue implementando, pero el código no se ejecuta inmediatamente. En su lugar, el servicio es PoweredOff hasta que se llama a Start, en cuyo momento se iniciará el servicio. Un servicio implementado todavía incurre en cargos, incluso si está apagado.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StorageAccount

Nombre de la cuenta de almacenamiento que almacenará el archivo package.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

Credenciales de suscripción que identifican de forma única la suscripción de Microsoft Azure. El identificador de suscripción forma parte del URI para cada llamada al servicio.

Type:String
Position:Named
Default value:(Get-AzContext).Subscription.Id
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

Etiquetas del recurso.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UpgradeMode

Modo de actualización para el servicio en la nube. Las instancias de rol se asignan a dominios de actualización cuando se implementa el servicio. Novedades se puede iniciar manualmente en cada dominio de actualización o iniciarse automáticamente en todos los dominios de actualización. Los valores posibles son br /br />auto<br /><br />manual<br /br /><br />simultaneous<br /br /><>If not specified, el valor predeterminado es Auto.><< Si se establece en Manual, se debe llamar a PUT UpdateDomain para aplicar la actualización. Si se establece en Automático, la actualización se aplica automáticamente a cada dominio de actualización en secuencia.

Type:CloudServiceUpgradeMode
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Zone

Lista de la zona de disponibilidad lógica del recurso. La lista solo debe contener 1 zona en la que se debe aprovisionar el servicio en la nube. Este campo es opcional.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Salidas

ICloudService