Gérer Azure Content Delivery Network avec PowerShell

PowerShell fournit une des méthodes les plus flexibles pour gérer vos profils et vos points de terminaison Azure Content Delivery Network. Vous pouvez utiliser PowerShell de manière interactive ou en écrivant des scripts pour automatiser les tâches de gestion. Ce tutoriel montre plusieurs des tâches les plus courantes que vous pouvez accomplir avec PowerShell pour gérer vos profils et vos points de terminaison Azure Content Delivery Network.

Prérequis

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Pour utiliser PowerShell pour gérer vos profils et vos points de terminaison Azure Content Delivery Network, vous devez avoir installé le module Azure PowerShell. Pour savoir comment installer Azure PowerShell et vous connecter à Azure à l’aide de l’applet de commande Connect-AzAccount , consultez Installation et configuration d’Azure PowerShell.

Important

Vous devez vous connecter avec Connect-AzAccount avant de pouvoir exécuter les applets de commande Azure PowerShell.

Liste des cmdlets Azure Content Delivery Network

Vous pouvez lister toutes les cmdlets Azure Content Delivery Network en utilisant la 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

Obtenir de l’aide

Vous pouvez obtenir de l’aide pour ces applets de commande à l’aide de l’applet de commande Get-Help . Get-Help fournit des informations sur l’utilisation et la syntaxe et présente des exemples.

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"

Liste des profils Azure Content Delivery Network existants

La cmdlet Get-AzCdnProfile sans aucun paramètre récupère tous vos profils de réseau de distribution de contenu existants.

Get-AzCdnProfile

Cette sortie peut être transmise aux applets de commande pour l’énumération.

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

Vous pouvez également renvoyer un seul profil en spécifiant le groupe de ressources et le nom du profil.

Get-AzCdnProfile -ProfileName CdnDemo -ResourceGroupName CdnDemoRG

Conseil

Il est possible d’avoir plusieurs profils de réseau de distribution de contenu portant le même nom, dès lors qu’ils se trouvent dans des groupes de ressources différents. Si vous omettez le paramètre ResourceGroupName , cela renvoie tous les profils dont le nom correspond.

Liste des points de terminaison de réseau de distribution de contenu existants

Get-AzCdnEndpoint peut récupérer un point de terminaison individuel ou tous les points de terminaison d’un profil.

# 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

Création de profils et de points de terminaison de réseau de distribution de contenu

New-AzCdnProfile et New-AzCdnEndpoint sont utilisés pour créer des profils et des points de terminaison de réseau de distribution de contenu. Les références (SKU) suivantes sont prises en charge :

  • 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

Ajout d’un domaine personnalisé

New-AzCdnCustomDomain ajoute un nom de domaine personnalisé à un point de terminaison existant.

Important

Vous devez configurer le CNAME avec votre fournisseur DNS comme décrit dans Comment mapper un domaine personnalisé à un point de terminaison de réseau de distribution de contenu. Vous pouvez tester le mappage avant de modifier votre point de terminaison à l’aide de Test-AzCdnCustomDomain.

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

Modification d’un point de terminaison

Update-AzCdnEndpoint modifie un point de terminaison existant.

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

Purge

Clear-AzCdnEndpointContent vide les ressources en cache.

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

Précharger certaines ressources

Remarque

Le préchargement est disponible sur Azure CDN seulement depuis des profils Edgio.

Import-AzCdnEndpointContent précharge les ressources dans le cache du réseau de distribution de contenu.

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

Démarrage/arrêt des points de terminaison de réseau de distribution de contenu

Start-AzCdnEndpoint et Stop-AzCdnEndpoint peuvent être utilisés pour démarrer et arrêter des points de terminaison individuels ou des groupes de points de terminaison.

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

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

Création d’une stratégie du moteur de règles Standard et application à un point de terminaison de réseau de distribution de contenu existant

La liste de cmdlets suivante peut être utilisée pour créer une stratégie du moteur de règles Standard et pour l’appliquer à un point de terminaison de réseau de distribution de contenu existant.

Conditions :

Actions :

# 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

Suppression des ressources du réseau de distribution de contenu

Remove-AzCdnProfile et Remove-AzCdnEndpoint peuvent être utilisés pour supprimer des profils et des points de terminaison.

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

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

Étapes suivantes