Administración de Azure Content Delivery Network con PowerShell

PowerShell proporciona uno de los métodos más flexibles para administrar los perfiles y puntos de conexión de Azure Content Delivery Network. Puede usar PowerShell interactivamente o mediante la escritura de scripts para automatizar tareas de administración. En este tutorial se muestran varias de las tareas más comunes que puede realizar con PowerShell para administrar los perfiles y puntos de conexión de Azure Content Delivery Network.

Requisitos previos

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Para usar PowerShell para administrar los perfiles y puntos de conexión de Azure Content Delivery Network, debe tener instalado el módulo de Azure PowerShell. Para obtener información sobre cómo instalar Azure PowerShell y conectarlo a Azure mediante el cmdlet Connect-AzAccount consulte Cómo instalar y configurar Azure PowerShell.

Importante

Debe iniciar sesión con Connect-AzAccount para poder ejecutar los cmdlets de Azure PowerShell.

Enumeración de los cmdlets de Azure Content Delivery Network

Puede enumerar todos los cmdlets de Azure Content Delivery Network mediante el cmdlet Get-Command.

PS C:\> Get-Command -Module Az.Cdn

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Confirm-AzCdnEndpointProbeURL                      2.1.0      Az.Cdn
Cmdlet          Disable-AzCdnCustomDomain                          2.1.0      Az.Cdn
Cmdlet          Disable-AzCdnCustomDomainHttps                     2.1.0      Az.Cdn
Cmdlet          Enable-AzCdnCustomDomain                           2.1.0      Az.Cdn
Cmdlet          Enable-AzCdnCustomDomainHttps                      2.1.0      Az.Cdn
Cmdlet          Get-AzCdnCustomDomain                              2.1.0      Az.Cdn
Cmdlet          Get-AzCdnEdgeNode                                  2.1.0      Az.Cdn
Cmdlet          Get-AzCdnEndpoint                                  2.1.0      Az.Cdn
Cmdlet          Get-AzCdnEndpointResourceUsage                     2.1.0      Az.Cdn
Cmdlet          Get-AzCdnOrigin                                    2.1.0      Az.Cdn
Cmdlet          Get-AzCdnProfile                                   2.1.0      Az.Cdn
Cmdlet          Get-AzCdnProfileResourceUsage                      2.1.0      Az.Cdn
Cmdlet          Get-AzCdnProfileSupportedOptimizationType          2.1.0      Az.Cdn
Cmdlet          Get-AzCdnSubscriptionResourceUsage                 2.1.0      Az.Cdn
Cmdlet          New-AzCdnCustomDomain                              2.1.0      Az.Cdn
Cmdlet          New-AzCdnDeliveryPolicy                            2.1.0      Az.Cdn
Cmdlet          New-AzCdnDeliveryRule                              2.1.0      Az.Cdn
Cmdlet          New-AzCdnDeliveryRuleAction                        2.1.0      Az.Cdn
Cmdlet          New-AzCdnDeliveryRuleCondition                     2.1.0      Az.Cdn
Cmdlet          New-AzCdnEndpoint                                  2.1.0      Az.Cdn
Cmdlet          New-AzCdnProfile                                   2.1.0      Az.Cdn
Cmdlet          Remove-AzCdnCustomDomain                           2.1.0      Az.Cdn
Cmdlet          Remove-AzCdnEndpoint                               2.1.0      Az.Cdn
Cmdlet          Remove-AzCdnProfile                                2.1.0      Az.Cdn
Cmdlet          Set-AzCdnProfile                                   2.1.0      Az.Cdn
Cmdlet          Start-AzCdnEndpoint                                2.1.0      Az.Cdn
Cmdlet          Stop-AzCdnEndpoint                                 2.1.0      Az.Cdn

Ayuda

Puede obtener ayuda para cualquiera de estos cmdlets mediante el cmdlet Get-Help . Get-Help proporciona el uso y la sintaxis y, opcionalmente, muestra ejemplos.

PS C:\> Get-Help Get-AzCdnProfile

NAME
    Get-AzCdnProfile

SYNOPSIS
    Gets an Azure CDN profile.

SYNTAX
    Get-AzCdnProfile [-ProfileName <String>] [-ResourceGroupName <String>] [-InformationAction
    <ActionPreference>] [-InformationVariable <String>] [<CommonParameters>]

DESCRIPTION
    Gets an Azure CDN profile and all related information.

RELATED LINKS
    https://docs.microsoft.com/powershell/module/az.cdn/get-azcdnprofile

REMARKS
    To see the examples, type: "get-help Get-AzCdnProfile -examples".
    For more information, type: "get-help Get-AzCdnProfile -detailed".
    For technical information, type: "get-help Get-AzCdnProfile -full".
    For online help, type: "get-help Get-AzCdnProfile -online"

Enumeración de perfiles existentes de Azure Content Delivery Network

El cmdlet Get-AzCdnProfile sin parámetros recupera todos los perfiles de red de entrega de contenido existentes.

Get-AzCdnProfile

Esta salida se puede canalizar a cmdlets para la enumeración.

# Output the name of all profiles on this subscription.
Get-AzCdnProfile | ForEach-Object { Write-Host $_.Name }

También puede devolver un solo perfil especificando el grupo de recursos y el nombre del perfil.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Sugerencia

Es posible tener varios perfiles de red de entrega de contenido con el mismo nombre, siempre que estén en grupos de recursos diferentes. Si se omite el parámetro ResourceGroupName se devolverán todos los perfiles con un nombre coincidente.

Enumeración de los puntos de conexión de red de entrega de contenido existentes

Get-AzCdnEndpoint puede recuperar un punto de conexión individual o todos los puntos de conexión de un perfil.

# Get a single endpoint.
Get-AzCdnEndpoint -ProfileName CdnDemo -ResourceGroupName CdnDemoRG -EndpointName cdndocdemo

# Get all of the endpoints on a given profile. 
Get-AzCdnEndpoint -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Creación de perfiles y puntos de conexión de red de entrega de contenido

New-AzCdnProfile y New-AzCdnEndpoint se usan para crear perfiles y puntos de conexión de red de entrega de contenido. Se admiten las SKU siguientes:

  • Standard_Verizon
  • Premium_Verizon
  • Custom_Verizon
  • Standard_Microsoft
  • Standard_ChinaCdn
# Create a new profile
New-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Sku Standard_Microsoft -Location "Central US"

# Create a new endpoint
$origin = @{
    Name = "Contoso"
    HostName = "www.contoso.com"
};

New-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Location "Central US" -EndpointName cdnposhdoc -Origin $origin

Incorporación de un dominio personalizado

New-AzCdnCustomDomain agrega un nombre de dominio personalizado a un punto de conexión existente.

Importante

Debe configurar el CNAME con el proveedor DNS como se describe en Asignación de dominio personalizado al punto de conexión de Content Delivery Network. Puede probar la asignación antes de modificar el punto de conexión mediante Test-AzCdnCustomDomain.

# Create the custom domain on the endpoint
New-AzCdnCustomDomain -ResourceGroupName CdnDemoRG -ProfileName CdnPoshDemo -Name contoso -HostName "cdn.contoso.com" -EndpointName cdnposhdoc

Modificación de un punto de conexión

Update-AzCdnEndpoint modifica un punto de conexión ya existente.

# Update endpoint with compression settings
Update-AzCdnEndpoint -Name cdnposhdoc -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -IsCompressionEnabled -ContentTypesToCompress "text/javascript","text/css","application/json"

Purga

Clear-AzCdnEndpointContent purga los recursos almacenados en caché.

# Purge some assets.
Clear-AzCdnEndpointContent -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc -ContentFilePath @("/images/kitten.png","/video/rickroll.mp4")

Cargar previamente algunos recursos

Nota:

La carga previa solo está disponible en Azure Content Delivery Network desde perfiles de Edgio.

Import-AzCdnEndpointContent carga previamente los recursos en la caché de red de entrega de contenido.

Import-AzCdnEndpointContent -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc -ContentFilePath @("/images/kitten.png","/video/rickroll.mp4")`

Inicio o detención de puntos de conexión de red de entrega de contenido

Start-AzCdnEndpoint y Stop-AzCdnEndpoint se pueden utilizar para iniciar y detener los puntos de conexión individuales o los grupos de estos.

# Stop the CdnPoshDemo endpoint
Stop-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Name cdnposhdoc

# Start the CdnPoshDemo endpoint
Start-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -Name cdnposhdoc

Creación de una directiva de motor de reglas estándar y aplicación a un punto de conexión de red de entrega de contenido existente

La siguiente lista de cmdlets se puede usar para crear una directiva de motor de reglas estándar y aplicarla a un punto de conexión de red de entrega de contenido existente.

Condiciones:

Acciones:

# Create a path based Response header modification rule. 
$cond1 = New-AzCdnDeliveryRuleUrlPathConditionObject -Name UrlPath -ParameterOperator BeginsWith -ParameterMatchValue "/images/"
$action1 = New-AzCdnDeliveryRuleResponseHeaderActionObject -Name ModifyResponseHeader -ParameterHeaderAction Overwrite -ParameterHeaderName "Access-Control-Allow-Origin" -ParameterValue "*"
$rule1 = New-AzCdnDeliveryRuleObject -Name "PathBasedCacheOverride" -Order 1 -Condition $cond1 -Action $action1

# Create a new http to https redirect rule
$cond1 = New-AzCdnDeliveryRuleRequestSchemeConditionObject -Name RequestScheme -ParameterMatchValue HTTPS
$action1 = New-AzCdnUrlRedirectActionObject -Name UrlRedirect -ParameterRedirectType Found -ParameterDestinationProtocol Https
$rule2 = New-AzCdnDeliveryRuleObject -Name "UrlRewriteRule" -Order 2 -Condition $cond1 -Action $action1

# Update existing endpoint with new rules
Update-AzCdnEndpoint -Name cdnposhdoc -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -DeliveryPolicyRule $rule1,$rule2

Eliminación de recursos de red de entrega de contenido

Remove-AzCdnProfile y Remove-AzCdnEndpoint se pueden utilizar para quitar perfiles y puntos de conexión.

# Remove a single endpoint
Remove-AzCdnEndpoint -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG -EndpointName cdnposhdoc

# Remove a single profile
Remove-AzCdnProfile -ProfileName CdnPoshDemo -ResourceGroupName CdnDemoRG

Pasos siguientes