Gerenciar a Rede de Distribuição de Conteúdo do Microsoft Azure com o PowerShell

O PowerShell fornece um dos métodos mais flexíveis para gerenciar os perfis e os pontos de extremidade da Rede de Distribuição de Conteúdo do Microsoft Azure. Você pode usar o PowerShell interativamente ou escrevendo scripts para automatizar as tarefas de gerenciamento. Este tutorial demonstra várias das tarefas mais comuns que você pode realizar com o PowerShell para gerenciar os perfis e os pontos de extremidade da Rede de Distribuição de Conteúdo do Microsoft Azure.

Pré-requisitos

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Para usar o PowerShell para gerenciar os perfis e os pontos de extremidade da Rede de Distribuição de Conteúdo do Microsoft Azure, você deve ter o módulo do Azure PowerShell instalado. Para aprender a instalar o Azure PowerShell e conectar o Azure usando o cmdlet Connect-AzAccount , consulte Como instalar e configurar o Azure PowerShell.

Importante

Você deve fazer logon com Connect-AzAccount antes de executar os cmdlets do Azure PowerShell.

Como listar os cmdlets da Rede de Distribuição de Conteúdo do Microsoft Azure

Você pode listar todos os cmdlets da Rede de Distribuição de Conteúdo do Microsoft Azure usando o 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

Obtendo ajuda

Você pode obter ajuda com qualquer um desses cmdlets usando o cmdlet Get-Help . Get-Help fornece o uso e a sintaxe, e opcionalmente mostra exemplos.

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"

Como listar perfis existentes da Rede de Distribuição de Conteúdo do Microsoft Azure

O cmdlet Get-AzCdnProfile sem parâmetros recupera todos os seus perfis de rede de distribuição de conteúdo existentes.

Get-AzCdnProfile

Essa saída pode ser transferida para os cmdlets para fazer uma enumeração.

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

Você também pode retornar um único perfil especificando o grupo de recursos e o nome do perfil.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Dica

É possível ter vários perfis de rede de distribuição de conteúdo com o mesmo nome, desde que eles estejam em grupos de recursos diferentes. Omitir o parâmetro ResourceGroupName retorna todos os perfis com um nome correspondente.

Como listar pontos de extremidade de rede de distribuição de conteúdo existentes

Get-AzCdnEndpoint pode recuperar um ponto de extremidade individual ou todos os pontos de extremidade em um 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

Como criar perfis e pontos de extremidade de rede de distribuição de conteúdo

New-AzCdnProfile e New-AzCdnEndpoint são usados para criar perfis e pontos de extremidade de rede de distribuição de conteúdo. Há suporte para as SKUs a seguir:

  • 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

Adicionar um domínio personalizado

New-AzCdnCustomDomain adiciona um nome de domínio personalizado a um ponto de extremidade existente.

Importante

Você deve configurar o CNAME com seu provedor de DNS como descrito em Como mapear o Domínio Personalizado para o ponto de extremidade da Rede de Distribuição de Conteúdo. Você pode testar o mapeamento antes de modificar o ponto de extremidade usando Test-AzCdnCustomDomain.

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

Modificando um ponto de extremidade

Update-AzCdnEndpoint modifica um ponto de extremidade existente.

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

Limpeza

Clear-AzCdnEndpointContent limpa ativos armazenados em cache.

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

Pré-carregar alguns ativos

Observação

O pré-carregamento só está disponível em perfis da Rede de Distribuição de Conteúdo do Microsoft Azure do Edgio.

Import-AzCdnEndpointContent pré-carrega ativos no cache da rede de distribuição de conteúdo.

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

Como iniciar/interromper pontos de extremidade de rede de distribuição de conteúdo

Start-AzCdnEndpoint e Stop-AzCdnEndpoint podem ser usados para iniciar e parar os pontos de extremidade individuais ou grupos de pontos de extremidade.

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

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

Como criar uma política de mecanismo de Regras Padrão e aplicá-la a um ponto de extremidade de rede de distribuição de conteúdo existente

A lista de cmdlets a seguir pode ser usada para criar uma política de mecanismo de Regras Padrão e aplicá-la a um ponto de extremidade de rede de distribuição de conteúdo existente.

Condições:

Ações:

# 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

Como excluir recursos de rede de distribuição de conteúdo

Remove-AzCdnProfile e Remove-AzCdnEndpoint podem ser usados para remover os pontos de extremidade e os perfis.

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

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

Próximas etapas