Ce guide de démarrage rapide explique comment configurer un service Media CDN devant dans un bucket Cloud Storage. Vous pouvez utiliser cette configuration pour les tests ou comme base pour un environnement de production.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :
Cette page décrit les procédures suivantes :
- Créez un bucket Cloud Storage pour stocker votre contenu.
- Activez les services requis.
- Créer une ressource
EdgeCacheOrigin
à laquelle connecter Media CDN dans votre bucket. - Créez une ressource
EdgeCacheService
pour configurer le routage des requêtes et le cache pour le contenu de l'origine. - Vérifier si une réponse est mise en cache
Avant de commencer
Assurez-vous de disposer des éléments suivants :
Accès à Media CDN pour votre projet actuel.
Une installation de Google Cloud CLI. Utilisez la version 345.0.0 ou ultérieure.
Si nécessaire, utilisez
gcloud version
pour vérifier la version etgcloud components update
pour mettre à jour la gcloud CLI installée.La CLI gcloud fournit le groupe de sous-commandes
gcloud edge-cache
pour gérer les configurations Media CDN nouvelles et existantes.Les autorisations IAM (Identity and Access Management) requises pour créer Ressources Media CDN. Media CDN dispose des rôles IAM prédéfinis suivants :
roles/networkservices.edgeCacheAdmin
roles/networkservices.edgeCacheUser
roles/networkservices.edgeCacheViewer
Créer un bucket Cloud Storage
Le contenu Media CDN peut provenir d'emplacements tels que un bucket Cloud Storage, un emplacement de stockage tiers ou une charge de votre équilibreur de charge.
Dans ce guide de démarrage rapide, nous allons stocker le contenu dans un bucket Cloud Storage.
Créer un bucket Cloud Storage accessible publiquement et nommez-la
my-bucket
.Si vous préférez ne pas rendre votre bucket Cloud Storage accessible au public, vous devez autoriser Media CDN à y accéder. Pour en savoir plus, consultez Utiliser des buckets Cloud Storage privés
Importez un fichier dans le bucket.
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 pour votre projet.
Console
Activez l'API Network Services.
Activez l'API Certificate Manager.
gcloud
Activez l'API Network Services:
gcloud services enable networkservices.googleapis.com
Activez l'API Certificate Manager :
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 ressource EdgeCacheOrigin
Créez une origine qui pointe vers votre bucket Cloud Storage.
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Origines.
Cliquez sur Créer une origine.
Saisissez
cloud-storage-origin
comme nom de point de départ.Facultatif: saisissez une description de l'origine.
Dans le champ Adresse d'origine, cliquez sur Sélectionner un bucket Google Cloud Storage, accédez au bucket Cloud Storage nommé
my-bucket
, puis cliquez sur Sélectionner.Si vous disposez d'une origine externe, sélectionnez Spécifier un nom de domaine complet ou une adresse IP , puis saisissez le nom de domaine complet ou l'adresse IP.
Cliquez sur Créer une origine.
Après environ 10 minutes, la ressource EdgeCacheOrigin
nouvellement créée
apparaît dans la liste des origines de votre projet sur la page Origins.
Pour mettre à jour une adresse de départ, cliquez sur celle-ci, puis sur
Modifier.gcloud
Exécutez la commande gcloud edge-cache origins create
:
gcloud edge-cache origins create ORIGIN \
--origin-address="ADDRESS"
Remplacez les éléments suivants :
ORIGIN
: nom de la nouvelle origineADDRESS
: nom du bucket,gs://my-bucket
Si vous avez une origine externe, remplacez
ADDRESS
par le nom de domaine complet (FQDN). ou son adresse IP.
Pour afficher l'origine que vous venez de créer, utilisez la méthode
Commande gcloud edge-cache origins list
Pour mettre à jour l'adresse de départ, utilisez la méthode
Commande gcloud edge-cache origins update
API
Utilisez la méthode edgeCacheOrigins.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheOrigins?edgeCacheOriginId=ORIGIN_ID { "name": "ORIGIN_ID", "originAddress: "ADDRESS" }
Remplacez les éléments suivants :
PARENT
: ressource parente au formatprojects/PROJECT/locations/global
ORIGIN_ID
: nom court de la nouvelle origine.ADDRESS
: nom du bucket,gs://my-bucket
Si vous avez une origine externe, remplacez
ADDRESS
par le nom de domaine complet (FQDN). ou son adresse IP.
Pour afficher l'origine nouvellement créée, utilisez la méthode edgeCacheOrigins.list
.
Pour mettre à jour l'adresse de départ, utilisez la méthode
Méthode edgeCacheOrigins.patch
.
Terraform
Créer une ressource EdgeCacheService
Votre ressource EdgeCacheService
configure les paramètres de routage, de certificat et de mise en cache, et peut pointer vers des ressources EdgeCacheOrigin
.
Créez une ressource EdgeCacheService
de base qui:
- Mise en cache de toutes les réponses de notre origine configurée pendant une heure.
- Il définit un en-tête de réponse
x-cache-status
qui renvoie l'état du cache. (HIT
ouMISS
, par exemple)
(Facultatif) Enregistrez un nom de domaine pour ce service.
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 unique pour votre service, par exemple
my-service
, puis cliquez sur Suivant.Dans la section Routage, cliquez sur Ajouter une règle d'hôte, puis saisissez un ou plusieurs noms de domaine d'hôte.
Pour Hôtes, saisissez un nom de domaine hôte (par exemple,
web.example.com
).Cliquez sur Ajouter une règle de routage.
- Pour Priorité, spécifiez
1
. - Cliquez sur Ajouter une condition de correspondance. Pour Chemin d'accès correspondant, spécifiez
/
puis cliquez sur OK. - Sélectionnez Extraire d'une origine, puis sélectionnez l'origine que vous avez configurée.
- Cliquez sur Actions complémentaires.
- Dans Action d'en-tête, cliquez sur Ajouter un élément. Ensuite, procédez comme suit :
- Pour Type, sélectionnez En-têtes de réponse à ajouter.
- Cliquez sur Ajouter un en-tête.
- Pour Nom, spécifiez
x-cache-status
. Pour Valeur, spécifiez{cdn_cache_status}
. - Cliquez sur OK.
- Dans Action de routage, cliquez sur Ajouter un élément. Ensuite, procédez comme suit :
- Dans le champ Type, sélectionnez Règle CDN.
- Pour le mode cache, sélectionnez FORCE_CACHE_ALL.
- Cliquez sur OK.
- Cliquez sur Enregistrer.
- Pour Priorité, spécifiez
Cliquez sur Créer un service.
La ressource EdgeCacheService
que vous venez de créer s'affiche sur la page Services dans la liste des services de votre projet.
gcloud
Dans Cloud Shell, utilisez un éditeur de texte pour créer un fichier local appelé
my-service.yaml
Un tel fichier indique ce qui suit:
- Fonctionnement du routage : mise en correspondance de l'hôte, puis du chemin d'accès
- Fonctionnement de la mise en cache (en fonction du mode de cache et de la valeur TTL)
- des modifications apportées aux requêtes et aux réponses (par exemple, en insérant
la variable
cdn_cache_status
dans un en-tête de réponse ;
Collez l'exemple de contenu suivant dans le fichier, puis enregistrez-le :
name: SERVICE routing: hostRules: - hosts: - DOMAIN pathMatcher: routes pathMatchers: - name: routes routeRules: - priority: 1 matchRules: - prefixMatch: / origin: ORIGIN routeAction: cdnPolicy: cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s headerAction: responseHeadersToAdd: - headerName: "x-cache-status" headerValue: "{cdn_cache_status}"
Remplacez les éléments suivants :
SERVICE
: nom du serviceDOMAIN
: domaine du nouveau service
Si vous spécifiez le nom de domaine, Media CDN répond avec un message Erreur
404
pour les autres hôtes. *ORIGIN
: nom de l'origine associéeExécutez la commande
gcloud edge-cache services import
. par le fichier.yaml
:gcloud edge-cache services import SERVICE \ --source=my-service.yaml
Afficher le service que vous venez de créer dans la liste de
EdgeCacheService
ressources de votre projet, utilisez commandegcloud edge-cache services list
.
API
Utilisez la méthode edgeCacheServices.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheServices?edgeCacheServiceId=SERVICE_ID { "name": "SERVICE_ID", "routing": { "hostRules": [ { "hosts": ["DOMAIN"], "pathMatcher": "routes" } ], "pathMatchers": [ { "name": "routes", "routeRules": [ { "priority": "1", "matchRules": [ { "prefixMatch": "/" } ], "origin": "ORIGIN", "routeAction": { "cdnPolicy": { "cacheMode": "CACHE_ALL_STATIC", "defaultTtl": "3600s" } } "headerAction": { "responseHeadersToAdd": [ { "headerName": "x-cache-status", "headerValue": "{cdn_cache_status}" } ] }, } ] } ] } }
Remplacez les éléments suivants :
PARENT
: ressource parente au formatprojects/PROJECT/locations/global
SERVICE_ID
: nom du serviceDOMAIN
: domaine du nouveau serviceSi vous spécifiez le nom de domaine, Media CDN répond avec le message une erreur
404
pour les autres hôtes ;ORIGIN_NAME
: nom de l'origine associée
Pour afficher le service nouvellement créé dans la liste des ressources EdgeCacheService
de votre projet, utilisez la méthode edgeCacheServices.list
.
Terraform
La création de votre premier service peut prendre plusieurs minutes. 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.
Récupérer les adresses IP
Pour afficher les adresses IP du service que vous venez de créer, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Media CDN.
Cliquez sur l'onglet Services.
Pour connaître les adresses IP de votre service, consultez la cellule Adresses.
Si la cellule est vide, actualisez le navigateur.
gcloud
Exécutez la commande gcloud edge-cache services describe
:
gcloud edge-cache services describe SERVICE
Remplacez SERVICE par le nom du service.
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
...
API
Utilisez la méthode edgeCacheServices.get
:
GET https://networkservices.googleapis.com/v1/SERVICE_NAME
Remplacez SERVICE_NAME
par le nom complet du service. Utilisez le format suivant :
projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Remplacez SERVICE_ID
par le nom court du service.
Les informations récupérées incluent les adresses IP attribuées au service:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
Vérifier si une réponse est mise en cache
Avant de tester le service, assurez-vous que les paramètres peuvent être mis en cache contenus stockés à votre origine afin que Media CDN peut la récupérer.
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 souhaitez utiliser EdgeCacheService
avec votre domaine,
vous pouvez attribuer l'adresse IP de EdgeCacheService
à un enregistrement de domaine. Pour
instructions, consultez la page Configurer votre domaine à l'aide de Cloud DNS.
Une fois votre domaine configuré, accédez à votre contenu avec l'curl
suivant
:
curl -svo /dev/null "http://DOMAIN_NAME/FILE_NAME"
Si vous n'avez pas configuré le DNS pour qu'il pointe vers vos adresses IP provisionnées, utilisez la classe
resolve
pour remplacer l'adresse utilisée par curl
.
curl -svo /dev/null --resolve DOMAIN_NAME:80:IP_ADDRESS "http://DOMAIN_NAME/FILE_NAME"
Remplacez les éléments suivants :
DOMAIN_NAME
: domaine de l'hôte que vous avez spécifié lors de la création du serviceIP_ADDRESS
: adresse IP du service en tant que visible dans la colonne Adresses de la liste des servicesFILE_NAME
: nom du fichier dans lequel vous avez importé le bucket
Exemple :
curl -svo /dev/null --resolve web.example.com:80:34.104.37.129 "http://web.example.com/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 OK
...
< x-cache-status: den;miss
...
Lorsque vous soumettez à nouveau la même demande autant de fois que vous le souhaitez, une erreur
un résultat semblable à ce qui suit, avec l'état hit
:
< HTTP/2 200 OK
...
< x-cache-status: den;hit
...
Si l'état hit
n'est pas affiché, 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 plus plus d'informations, consultez la section Configuration du cache.
Vous avez maintenant testé une ressource EdgeCacheService
de base pouvant être diffusée
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
Supprimez toutes les ressources que vous ne prévoyez pas d'utiliser à nouveau.
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 répertorier les ressources que vous avez créées, utilisez les commandes
gcloud edge-cache origins list
etgcloud edge-cache services list
.Pour supprimer le service, utilisez la commande
gcloud edge-cache services delete
:gcloud edge-cache services delete SERVICE
Remplacez
SERVICE
par le nom du service.Pour supprimer l'origine, utilisez la méthode Commande
gcloud edge-cache origins delete
:gcloud edge-cache origins delete ORIGIN
Remplacez
ORIGIN
par le nom de l'origine.
API
Pour répertorier les ressources que vous avez créées, utilisez la méthode Méthode
edgeCacheServices.list
et la méthodeedgeCacheOrigins.list
.Pour supprimer le service, utilisez la Méthode
edgeCacheServices.delete
:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAME
Remplacez
SERVICE_NAME
par le nom complet du service. Utilisez le format suivant :projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Remplacez
SERVICE_ID
par le nom court. du service.Pour supprimer l'origine, utilisez la méthode Méthode
edgeCacheOrigins.delete
:DELETE https://networkservices.googleapis.com/v1/ORIGIN
Remplacez
ORIGIN
par le nom complet du origine. Utilisez le format suivant :projects/PROJECT/locations/global/edgeCacheOrigins/ORIGIN_ID
Remplacez
ORIGIN_ID
par le nom court de l'origine.
Répétez ce processus pour toutes les autres ressources que vous avez créées et que vous ne souhaitez pas utiliser. à réutiliser, comme le bucket Cloud Storage.
Étape suivante
- Émettez et associez un certificat SSL (TLS) à votre
EdgeCacheService
. - Afficher les journaux de requêtes avec Cloud 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.
- Configurer une correspondance de routage avancée et créer des origines supplémentaires.