Ce guide de démarrage rapide vous explique comment configurer Media CDN devant un bucket Cloud Storage. Vous pouvez utiliser cette configuration pour les tests ou comme base pour un environnement de production.
Cette page décrit les procédures suivantes :
- Créer une ressource
EdgeCacheOrigin
qui représente l'emplacement de stockage de votre contenu. - Créer une ressource
EdgeCacheService
qui met en cache le contenu de la ressourceEdgeCacheOrigin
configurée et définit une valeur TTL par défaut. - Récupérer l'adresse IP d'un service.
- Confirmer la mise en cache d'une réponse avec des en-têtes d'état.
Avant de commencer
Vous devez disposer des éléments suivants :
- L'accès à Media CDN pour votre projet actuel. Consultez la section Demander l'accès.
- Un bucket Cloud Storage existant et accessible publiquement avec du contenu (fichier ou image, par exemple) à utiliser comme origine de contenu, ou un autre point de terminaison HTTP accessible au public avec du contenu.
- Une installation de Google Cloud CLI.
Les autorisations IAM (Identity and Access Management) sont requises pour créer des ressources Media CDN. Media CDN dispose des rôles IAM prédéfinis suivants :
roles/networkservices.edgeCacheAdmin
roles/networkservices.edgeCacheUser
roles/networkservices.edgeCacheViewer
gcloud CLI version 345.0.0 ou ultérieure.
Utilisez
gcloud version
etgcloud components update
pour vérifier la version et mettre à jour votre installation de gcloud CLI.
Activer les services requis
Pour configurer et déployer des services Media CDN, vous devez activer l'API Network Services et l'API Certificate Manager dans votre projet.
Console
Activez l'API Network Services.
Activez l'API Certificate Manager.
gcloud
Pour activer le service d'API Network Services dans votre projet actuel, exécutez la commande suivante :
gcloud services enable networkservices.googleapis.com
Pour activer l'API Certificate Manager, exécutez la commande suivante :
gcloud services enable certificatemanager.googleapis.com
Pour en savoir plus sur l'activation et la désactivation des services, consultez la documentation de Service Usage.
Créer une origine
Un objet EdgeCacheOrigin
représente un emplacement de contenu, tel qu'un bucket Cloud Storage, un emplacement de stockage tiers ou un équilibreur de charge.
Dans ce cas, vous créez une origine mappée à votre bucket Cloud Storage nommé my-bucket
. Si votre bucket Cloud Storage n'est pas accessible au public, vous devez autoriser Media CDN à y accéder. Pour en savoir plus, consultez Utiliser des buckets Cloud Storage privés.
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Origines.
Cliquez sur Créer une origine.
Saisissez un nom pour l'origine. Exemple :
cloud-storage-origin
.Saisissez une description facultative pour l'origine.
Pour Adresse d'origine, choisissez Sélectionner un bucket Google Cloud Storage.
Naviguez vers votre bucket Cloud Storage.
Conservez les paramètres par défaut.
Cliquez sur Créer une origine.
gcloud
gcloud CLI fournit le groupe de sous-commandes gcloud edge-cache
pour gérer les configurations Media CDN nouvelles et existantes.
gcloud edge-cache origins create ORIGIN \ --origin-address="gs://my-bucket"
Terraform
Si vous avez une origine externe, vous pouvez configurer Media CDN de façon à l'utiliser plutôt que d'utiliser un bucket Cloud Storage. Exemple :
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Origines.
Cliquez sur Créer une origine.
Saisissez un nom pour l'origine. Exemple :
external-origin
.Sous Adresse d'origine, sélectionnez Spécifier un nom de domaine complet ou une adresse IP.
Saisissez le nom de domaine complet ou l'adresse IP de votre origine externe.
Conservez les paramètres par défaut.
Cliquez sur Créer une origine.
gcloud
gcloud edge-cache origins create external-origin \ --origin-address="DOMAIN_NAME"
Vous pouvez mettre à jour l'adresse d'origine d'une origine existante à l'aide de la commande update
.
Créer un service
Votre ressource EdgeCacheService
configure les paramètres de routage, de certificat et de mise en cache, et peut être mappée à une ou plusieurs ressources d'origine.
Vous créez une ressource EdgeCacheService
de base qui effectue les opérations suivantes :
- Mise en cache de toutes les réponses de notre origine configurée pendant une heure.
- Définition d'un en-tête de réponse
cache-status
qui renvoie l'état du cache (HIT ou MISS, par exemple).
Pour créer le EdgeCacheService
, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Services.
Cliquez sur Créer un service.
- Saisissez un nom pour votre service.
- Cliquez sur Suivant.
Cliquez sur Ajouter une règle d'hôte.
- Saisissez un ou plusieurs noms de domaine hôte.
Cliquez sur Ajouter une règle de routage.
- Dans le champ Priorité, saisissez
1
. - Cliquez sur Ajouter une condition de correspondance.
- Pour Type de correspondance, sélectionnez Correspondance de préfixe.
- Dans le champ Correspondance de chemin d'accès, saisissez
/
. - Cliquez sur OK.
- Configurez l'action principale.
- Sélectionnez Extraire d'une origine.
- Dans Sélectionner une origine, sélectionnez une origine que vous avez configurée.
- Cliquez sur Actions complémentaires.
- Dans Action d'en-tête, cliquez sur Ajouter un élément.
- Pour Type, sélectionnez En-têtes de réponse à ajouter.
- Cliquez sur Ajouter un en-tête.
- Dans le champ Nom, saisissez
x-cache-status
. - Pour Valeur, saisissez
{cdn_cache_status}
. - Cliquez sur OK.
- Dans Action de routage, cliquez sur Ajouter un élément.
- Dans le champ Type, sélectionnez Règle CDN.
- Conservez les paramètres par défaut.
- Cliquez sur OK.
- Dans Action d'en-tête, cliquez sur Ajouter un élément.
- Dans le champ Priorité, saisissez
Cliquez sur Enregistrer.
Cliquez sur Créer un service.
gcloud
Dans Cloud Shell, utilisez un éditeur de texte de terminal tel que Nano ou Vim pour créer un fichier local appelé my-service.yaml
. Collez le contenu suivant dans le fichier, puis enregistrez-le :
name: SERVICE_NAME routing: hostRules: - hosts: # List any domain names that the service handles requests for - DOMAIN_NAME pathMatcher: routes pathMatchers: - name: routes routeRules: - priority: 1 matchRules: - prefixMatch: / # This should match the origin name created in step 1. origin: ORIGIN routeAction: cdnPolicy: # Cache static content - for example, video files cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s headerAction: responseHeadersToAdd: - headerName: "x-cache-status" headerValue: "{cdn_cache_status}"
Assurez-vous que la valeur du champ origin
correspond au nom de l'origine que vous avez créée à l'étape précédente.
Pour configurer un ou plusieurs noms de domaine de sorte qu'ils pointent vers ce service, ajoutez les noms de domaine à la liste routing.hostRules.hosts[]
. Media CDN répond avec une erreur 404 pour les autres hôtes.
gcloud edge-cache services import SERVICE_NAME \ --source=my-service.yaml
Terraform
La création de votre premier service peut prendre jusqu'à une minute. Media CDN provisionne des adresses IP dédiées et transfère votre configuration vers des milliers d'emplacements périphériques. Les mises à jour ultérieures d'un service, telles que la modification d'une configuration de route ou de paramètres de correspondance, sont plus rapides.
Retrouvez le EdgeCacheService
que vous venez de créer dans votre liste de services :
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Services.
gcloud
gcloud edge-cache services list
Récupérer les adresses IP
Pour récupérer les adresses IP (IPv4 et IPv6) de votre nouveau EdgeCacheService
, vous pouvez émettre une commande describe
:
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Services.
Pour votre service, consultez la colonne Adresses.
gcloud
gcloud edge-cache services describe SERVICE_NAME
Le résultat affiche les adresses IP attribuées à votre service :
ipv4Addresses: - IPV4_ADDRESS ipv6Addresses: - IPV6_ADDRESS name: projects/my-project/locations/global/edgeCacheServices/SERVICE_NAME ...
À partir de là, vous pouvez configurer le domaine auprès de votre fournisseur DNS pour qu'il pointe vers ces adresses une fois qu'elles seront prêtes.
Tester la mise en cache
Pour vérifier que votre service est correctement configuré pour mettre en cache le contenu, utilisez l'outil de ligne de commande curl
pour émettre des requêtes et vérifier les réponses. curl
est également disponible dans Cloud Shell dans la console Google Cloud.
Si vous n'avez pas configuré le DNS pour qu'il pointe vers vos adresses IP provisionnées, vous pouvez remplacer l'adresse utilisée par curl
.
curl -svo /dev/null --resolve DOMAIN_NAME:80:IP_ADDRESS "http://DOMAIN_NAME/file.mp4"
La commande produit initialement un résultat semblable au suivant, avec l'état MISS
, car Media CDN n'a pas encore récupéré les données demandées à partir de l'origine :
< HTTP/2 200 ... < x-cache-status: MISS ...
Lorsque vous envoyez à nouveau la même requête un quelconque nombre de fois, elle génère un résultat semblable à celui-ci, avec l'état HIT
:
< HTTP/2 200 ... < x-cache-status: HIT ...
Si l'état HIT
n'apparaît pas, vérifiez les points suivants :
- La réponse peut être mise en cache.
- Le mode de cache configuré permet la mise en cache du contenu.
- L'origine ne définit pas d'instructions de cache qui empêchent la mise en cache.
Pour en savoir plus, consultez la page Présentation de la mise en cache.
Vous avez maintenant testé un élément EdgeCacheService
simple capable de diffuser du contenu dans le monde entier. Un service de niveau production peut nécessiter des certificats SSL (TLS), des origines multiples et une stratégie de sécurité Google Cloud Armor.
Facultatif : Effectuer un nettoyage
Pour nettoyer les ressources inutilisées, utilisez les commandes delete
appropriées pour chaque ressource.
Pour répertorier les ressources que vous avez créées, utilisez les commandes services list
et origins list
.
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Services.
Sélectionnez votre service, puis cliquez sur Supprimer.
Cliquez sur l'onglet Origines.
Sélectionnez votre origine, puis cliquez sur Supprimer.
gcloud
Pour supprimer une origine, supprimez d'abord le service, puis l'origine :
gcloud edge-cache services delete SERVICE_NAME
gcloud edge-cache origins delete ORIGIN
Répétez cette procédure pour toutes les autres ressources que vous souhaitez nettoyer.
Étapes suivantes
- Émettez et associez un certificat SSL (TLS) à votre
EdgeCacheService
. - Affichez les journaux de requêtes avec Logging.
- Configurez les requêtes signées afin de protéger votre contenu.
- Optimisez les clés de cache et les valeurs TTL afin d'améliorer les taux de succès de mise en cache.
- Configurez la correspondance de route avancée et ajoutez des origines supplémentaires.