Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisez différentes origines avec les CloudFront distributions
Lorsque vous créez une distribution, vous spécifiez l'origine à laquelle les demandes de fichiers sont CloudFront envoyées. Vous pouvez utiliser différents types d'origines avec CloudFront. Par exemple, vous pouvez utiliser un compartiment Amazon S3, un MediaStore conteneur, un MediaPackage canal, un Application Load Balancer ou une URL de AWS Lambda fonction.
Rubriques
Utiliser un compartiment Amazon S3
Les rubriques suivantes décrivent les différentes manières d'utiliser un compartiment Amazon S3 comme origine d'une CloudFront distribution.
Rubriques
- Utiliser un compartiment Amazon S3 standard
- Utiliser Amazon S3 Object Lambda
- Utiliser le point d'accès Amazon S3
- Utiliser un compartiment Amazon S3 configuré comme point de terminaison de site Web
- Ajouter CloudFront à un compartiment Amazon S3 existant
- Déplacer un compartiment Amazon S3 vers un autre Région AWS
Utiliser un compartiment Amazon S3 standard
Lorsque vous utilisez Amazon S3 comme origine pour votre distribution, vous placez les objets que vous CloudFront souhaitez livrer dans un compartiment Amazon S3. Vous pouvez utiliser n’importe quelle méthode prise en charge par Amazon S3 pour accéder à vos objets dans Amazon S3. Par exemple, vous pouvez utiliser la console ou l'API Amazon S3, ou un outil tiers. Vous pouvez créer une hiérarchie dans votre compartiment pour stocker les objets, comme vous le feriez avec tout autre compartiment Amazon S3 standard.
L'utilisation d'un compartiment Amazon S3 existant comme serveur CloudFront d'origine ne modifie en rien le compartiment ; vous pouvez toujours l'utiliser comme vous le feriez normalement pour stocker et accéder à des objets Amazon S3 au prix standard d'Amazon S3. Le stockage d’objets dans le compartiment fait l’objet de frais Amazon S3 réguliers. Pour plus d'informations sur les frais d'utilisation CloudFront, consultez Amazon CloudFront Pricing
Important
Pour que votre bucket fonctionne CloudFront, le nom doit être conforme aux exigences de dénomination du DNS. Pour plus d’informations, consultez la section Bucket naming rules dans le Guide de l’utilisateur Amazon Simple Storage Service.
Lorsque vous spécifiez un compartiment Amazon S3 comme origine pour CloudFront, nous vous recommandons d'utiliser le format suivant :
bucket-name
.s3.region
.amazonaws.com
Lorsque vous spécifiez le nom du bucket dans ce format, vous pouvez utiliser les CloudFront fonctionnalités suivantes :
-
Configurez CloudFront pour communiquer avec votre compartiment Amazon S3 à l'aide du protocole SSL/TLS. Pour plus d’informations, consultez Utilisez le protocole HTTPS avec CloudFront.
-
Utilisez un contrôle d'accès à l'origine pour obliger les spectateurs à accéder à votre contenu à l'aide d' CloudFrontURL, et non à l'aide d'URL Amazon S3. Pour plus d’informations, consultez Restreindre l'accès à une origine Amazon Simple Storage Service.
-
Mettez à jour le contenu de votre bucket en le soumettant
POST
et en faisantPUT
des demandes à CloudFront. Pour plus d’informations, consultez Méthodes HTTP dans la rubrique Comment CloudFront traite et transmet les demandes à votre Amazon S3 d'origine.
Ne spécifiez pas le compartiment à l’aide des formats suivants :
-
Le type de chemin d’accès Amazon S3 :
s3.amazonaws.com/
bucket-name
-
Le CNAME Amazon S3
Utiliser Amazon S3 Object Lambda
Quand vous créez un point d'accès Object Lambda, Amazon S3 génère automatiquement un alias unique pour votre point d'accès Object Lambda. Vous pouvez utiliser cet alias au lieu d'un nom de compartiment Amazon S3 comme origine pour votre CloudFront distribution.
Lorsque vous utilisez un alias de point d'accès Object Lambda comme origine pour CloudFront, nous vous recommandons d'utiliser le format suivant :
alias
.s3.region
.amazonaws.com
Pour plus d'informations sur la manière de rechercher l'
, consultez Comment utiliser un alias de type compartiment pour votre point d'accès Object Lambda de compartiment S3 dans le Guide de l'utilisateur Amazon S3.alias
Important
Lorsque vous utilisez un point d'accès Object Lambda comme origine pour CloudFront, vous devez utiliser le contrôle d'accès à l'origine.
Pour un exemple de cas d'utilisation, consultez Utiliser Amazon S3 Object Lambda avec Amazon pour adapter CloudFront le contenu aux utilisateurs finaux
CloudFront traite l'origine d'un point d'accès Object Lambda de la même manière que l'origine d'un compartiment Amazon S3 standard.
Si vous utilisez Amazon S3 Object Lambda comme origine pour votre distribution, vous devez configurer les quatre autorisations suivantes.
Utiliser le point d'accès Amazon S3
Lorsque vous utilisez un point d'accès S3, Amazon S3 génère automatiquement un alias unique pour vous. Vous pouvez utiliser cet alias au lieu d'un nom de compartiment Amazon S3 comme origine pour votre CloudFront distribution.
Lorsque vous utilisez un alias de point d'accès Amazon S3 comme origine pour CloudFront, nous vous recommandons d'utiliser le format suivant :
alias
.s3.region
.amazonaws.com
Pour plus d'informations sur la manière de les trouver
, consultez la section Utilisation d'un alias de type bucket pour le point d'accès à votre compartiment S3 dans le guide de l'utilisateur Amazon S3.alias
Important
Lorsque vous utilisez un point d'accès Amazon S3 comme point d'origine pour CloudFront, vous devez utiliser le contrôle d'accès à l'origine.
CloudFront traite l'origine d'un point d'accès Amazon S3 de la même manière qu'une origine de compartiment Amazon S3 standard.
Si vous utilisez Amazon S3 Object Lambda comme origine pour votre distribution, vous devez configurer les deux autorisations suivantes.
Utiliser un compartiment Amazon S3 configuré comme point de terminaison de site Web
Vous pouvez utiliser un compartiment Amazon S3 configuré comme point de terminaison de site Web comme origine personnalisée avecCloudFront. Lorsque vous configurez votre CloudFront distribution, pour l'origine, entrez le point de terminaison d'hébergement de site Web statique Amazon S3 pour votre compartiment. La valeur s’affiche dans la console Amazon S3
http://
bucket-name
.s3-website-region
.amazonaws.com
Pour de plus amples informations sur la spécification de points de terminaison web statiques Amazon S3, veuillez consulter Points de terminaison de sites web dans le Guide de l’utilisateur Amazon Simple Storage Service.
Lorsque vous spécifiez le nom du compartiment dans ce format comme votre origine, vous pouvez utiliser les redirections Amazon S3 et les documents d’erreur personnalisés Amazon S3. Pour de plus amples informations, veuillez consulter Configuration d’un document d’erreur personnalisé et Configuration d’une redirection dans le guide de l’utilisateur d’Amazon Simple Storage Service. (fournit CloudFront également des pages d'erreur personnalisées. Pour plus d'informations, voirCréation d'une page d'erreur personnalisée pour des codes d'état HTTP spécifiques.)
L'utilisation d'un compartiment Amazon S3 comme serveur CloudFront d'origine ne modifie en rien le compartiment. Vous pouvez continuer de l’utiliser normalement et des frais Amazon S3 réguliers s’appliquent. Pour plus d'informations sur les frais d'utilisation CloudFront, consultez Amazon CloudFront Pricing
Note
Si vous utilisez l' CloudFront API pour créer votre distribution avec un compartiment Amazon S3 configuré comme point de terminaison de site Web, vous devez le configurer en utilisantCustomOriginConfig
, même si le site Web est hébergé dans un compartiment Amazon S3. Pour plus d'informations sur la création de distributions à l'aide de l'CloudFront API, consultez CreateDistributionle Amazon CloudFront API Reference.
Ajouter CloudFront à un compartiment Amazon S3 existant
Si vous stockez vos objets dans un compartiment Amazon S3, vous pouvez soit demander aux utilisateurs d'obtenir vos objets directement depuis S3, soit configurer CloudFront pour obtenir vos objets depuis S3, puis les distribuer à vos utilisateurs. L'utilisation CloudFront peut être plus rentable si vos utilisateurs accèdent fréquemment à vos objets car, en cas d'utilisation élevée, le prix du transfert de CloudFront données est inférieur à celui du transfert de données Amazon S3. De plus, les téléchargements sont plus rapides avec CloudFront Amazon S3 uniquement, car vos objets sont stockés plus près de vos utilisateurs.
Note
Si vous CloudFront souhaitez respecter les paramètres de partage de ressources entre origines d'Amazon S3, configurez CloudFront pour transmettre l'Origin
en-tête à Amazon S3. Pour plus d’informations, consultez Contenu du cache basé sur les en-têtes des demandes.
Si vous distribuez actuellement du contenu directement depuis votre compartiment Amazon S3 en utilisant votre propre nom de domaine (tel que exemple.com) au lieu du nom de domaine de votre compartiment Amazon S3 (tel que DOC-EXAMPLE-BUCKET. s3.us-west-2.amazonaws.com), vous pouvez l'ajouter CloudFront sans interruption en suivant la procédure suivante.
À ajouter CloudFront lorsque vous distribuez déjà votre contenu depuis Amazon S3
-
Créez une CloudFront distribution. Pour plus d’informations, consultez Créer une distribution.
Lors de la création de la distribution, indiquez le nom de votre compartiment Amazon S3 comme serveur d’origine.
Important
Pour que votre bucket fonctionne CloudFront, le nom doit être conforme aux exigences de dénomination du DNS. Pour plus d’informations, consultez la section Bucket naming rules dans le Guide de l’utilisateur Amazon Simple Storage Service.
Si vous utilisez un CNAME avec Amazon S3, indiquez aussi le CNAME de votre distribution.
-
Créez une page web test qui contient des liens vers des objets accessibles au public dans votre compartiment Amazon S3 et testez les liens. Pour ce test initial, utilisez le nom de CloudFront domaine de votre distribution dans les URL des objets, par exemple,
https://d111111abcdef8.cloudfront.net/images/image.jpg
.Pour plus d'informations sur le format des CloudFront URL, consultezPersonnalisez le format d'URL pour les fichiers dans CloudFront.
-
Si vous utilisez des CNAME Amazon S3, votre application emploie votre nom de domaine (comme par exemple example.com) pour référencer les objets de votre compartiment Amazon S3 au lieu d’employer le nom de votre compartiment (comme par exemple DOC-EXAMPLE-BUCKET.s3.amazonaws.com). Pour continuer à utiliser votre nom de domaine pour référencer des objets au lieu d'utiliser le nom de CloudFront domaine de votre distribution (par exemple, d111111abcdef8.cloudfront.net), vous devez mettre à jour vos paramètres auprès de votre fournisseur de services DNS.
Pour que les CNAME Amazon S3 fonctionnent, votre prestataire de services DNS doit disposer d’un jeu d’enregistrements de ressources CNAME pour votre domaine qui achemine actuellement les requêtes pour le domaine vers votre compartiment Amazon S3. Si un utilisateur demande, par exemple, cet objet :
https://example.com/images/image.jpg
La requête est automatiquement réacheminée et l’utilisateur voit cet objet :
https://
DOC-EXAMPLE-BUCKET
.s3.amazonaws.com/images/image.jpgPour acheminer les requêtes vers votre CloudFront distribution plutôt que vers votre compartiment Amazon S3, vous devez utiliser la méthode fournie par votre fournisseur de services DNS pour mettre à jour l'enregistrement de ressources CNAME défini pour votre domaine. Cet enregistrement CNAME mis à jour redirige les requêtes DNS de votre domaine vers le nom de CloudFront domaine de votre distribution. Pour plus d’informations, consultez la documentation fournie par votre prestataire de services DNS.
Note
Si vous utilisez Route 53 comme service DNS, vous pouvez utiliser un jeu d’enregistrements de ressources d’alias ou CNAME. Pour de plus amples informations sur la modification des jeux d’enregistrements de ressources, veuillez consulter Modification des enregistrements. Pour de plus amples informations sur les jeux d’enregistrements de ressources d’alias, veuillez consulter Choix entre des enregistrements avec ou sans alias. Les deux rubriques se trouvent dans le Manuel du développeur Amazon Route 53.
Pour plus d'informations sur l'utilisation de CNames avec CloudFront, consultezUtilisez des URL personnalisées en ajoutant des noms de domaine alternatifs (CNames).
Après avoir mis à jour le jeu d’enregistrements de ressources CNAME, un délai maximum de 72 heures peut être nécessaire pour que la modification se propage dans tout le système DNS, mais cela se produit en général plus vite. Pendant ce temps, certaines demandes concernant votre contenu continueront d'être acheminées vers votre compartiment Amazon S3, tandis que d'autres le seront. CloudFront
Déplacer un compartiment Amazon S3 vers un autre Région AWS
Si vous utilisez Amazon S3 comme origine pour une CloudFront distribution et que vous déplacez le compartiment vers une autre distribution Région AWS, la mise à jour de ses enregistrements afin d'utiliser la nouvelle région CloudFront peut prendre jusqu'à une heure lorsque les deux conditions suivantes sont remplies :
-
Vous utilisez une identité CloudFront d'accès d'origine (OAI) pour restreindre l'accès au compartiment.
-
vous déplacez le compartiment vers une région Amazon S3 qui exige Signature version 4 pour l’authentification.
Lorsque vous utilisez OAI, CloudFront utilise la région (entre autres valeurs) pour calculer la signature utilisée pour demander des objets à votre compartiment. Pour en savoir plus sur les OAI, consultez Utiliser une identité d'accès d'origine (ancienne, non recommandée). Pour une liste de ceux Régions AWS qui prennent en charge la version 2 de Signature, voir le processus de signature de la version 2 de Signature dans le Référence générale d'Amazon Web Services.
Pour forcer une mise à CloudFront jour plus rapide des enregistrements, vous pouvez mettre à jour votre CloudFront distribution, par exemple en mettant à jour le champ Description dans l'onglet Général de la CloudFront console. Lorsque vous mettez à jour une distribution, vérifie CloudFront immédiatement la région dans laquelle se trouve votre compartiment. La propagation du changement à tous les emplacements périphériques ne doit prendre que quelques minutes.
Utiliser un MediaStore conteneur ou un MediaPackage canal
Pour diffuser des vidéos en streaming CloudFront, vous pouvez configurer un compartiment Amazon S3 configuré en tant que MediaStore conteneur, ou créer un canal et des points de terminaison avec MediaPackage. Ensuite, vous créez et configurez une distribution CloudFront pour diffuser la vidéo.
Pour plus d'informations et step-by-step d'instructions, consultez les rubriques suivantes :
Utiliser un Application Load Balancer
Si votre origine est un ou plusieurs serveurs HTTP (S) (serveurs Web) hébergés sur une ou plusieurs instances Amazon EC2, vous pouvez utiliser un Application Load Balancer connecté à Internet pour distribuer le trafic aux instances. Un équilibreur de charge connecté à Internet possède un nom DNS pouvant être résolu publiquement et achemine les demandes des clients vers des cibles via Internet.
Pour plus d'informations sur l'utilisation d'un Application Load Balancer comme point de départ CloudFront, notamment sur la manière de s'assurer que les utilisateurs ne peuvent accéder à vos serveurs Web que par le biais de l'équilibreur de charge CloudFront et non en accédant directement à l'équilibreur de charge, consultez. Restreindre l'accès aux équilibreurs de charge des applications
Utiliser l'URL d'une fonction Lambda
L'URL d'une fonction Lambda est un point de terminaison HTTPS dédié à une fonction Lambda. Vous pouvez utiliser l'URL d'une fonction Lambda pour créer une application Web sans serveur entièrement dans Lambda. Vous pouvez appeler l'application Web Lambda directement via l'URL de fonction, sans avoir besoin de l'intégrer à API Gateway ou à un Application Load Balancer.
Si vous créez une application Web sans serveur en utilisant des fonctions Lambda avec des URL de fonction, vous pouvez en CloudFront ajouter pour bénéficier des avantages suivants :
-
Accélérer votre application en mettant en cache le contenu plus près des utilisateurs
-
Utiliser un nom de domaine personnalisé pour votre application Web
-
Acheminez différents chemins d'URL vers différentes fonctions Lambda à l'aide CloudFront de comportements de cache
-
Bloquer des demandes spécifiques en utilisant des restrictions CloudFront géographiques ou AWS WAF (ou les deux)
-
AWS WAF À utiliser CloudFront pour protéger votre application contre les robots malveillants, empêcher les exploits courants des applications et améliorer la protection contre les attaques DDoS
Pour utiliser l'URL d'une fonction Lambda comme origine d'une CloudFront distribution, spécifiez le nom de domaine complet de l'URL de la fonction Lambda comme domaine d'origine. Un nom de domaine d’URL de fonction Lambda utilise le format suivant :
function-URL-ID
.lambda-url.AWS-Region
.on.aws
Lorsque vous utilisez l'URL d'une fonction Lambda comme origine d'une CloudFront distribution, l'URL de la fonction doit être accessible au public. Pour ce faire, utilisez l'une des options suivantes :
-
Si vous utilisez le contrôle d'accès à l'origine (OAC), le
AuthType
paramètre de l'URL de la fonction Lambda doit utiliserAWS_IAM
la valeur et autoriser l'autorisation dans une politiquelambda:InvokeFunctionUrl
basée sur les ressources. Pour plus d'informations sur l'utilisation des URL des fonctions Lambda pour OAC, consultez. Restreindre l'accès à l'origine de l'URL d'une AWS Lambda fonction -
Si vous n'utilisez pas OAC, vous pouvez définir le
AuthType
paramètre de l'URL de la fonction surNONE
et autoriser l'lambda:InvokeFunctionUrl
autorisation dans une politique basée sur les ressources.
Vous pouvez également ajouter un en-tête d'origine personnalisé aux demandes CloudFront envoyées à l'origine et écrire un code de fonction pour renvoyer une réponse d'erreur si l'en-tête n'est pas présent dans la demande. Cela permet de s'assurer que les utilisateurs ne peuvent accéder à votre application Web que par le biais de l'URL de la fonction Lambda CloudFront, et non directement à l'aide de celle-ci.
Pour plus d'informations sur les URL de fonction Lambda, consultez les rubriques suivantes dans le Guide du développeur AWS Lambda :
-
URL de fonctions Lambda : présentation de la fonctionnalité d’URL de fonction Lambda
-
Appel d'URL de fonctions Lambda : inclut des détails sur les charges utiles de demande et de réponse à utiliser pour coder votre application Web sans serveur
-
Modèle de sécurité et d'authentification pour les URL des fonctions Lambda : inclut des détails sur les types d'authentification Lambda
Utiliser Amazon EC2 (ou une autre origine personnalisée)
Une origine personnalisée est un serveur Web HTTP (S) dont le nom DNS peut être résolu publiquement et qui achemine les demandes des clients vers des cibles via Internet. Le serveur HTTP (S) peut être hébergé sur une instance Amazon EC2, par AWS exemple, ou ailleurs. Une origine Amazon S3 configurée comme point de terminaison d’un site web est également considérée comme une origine personnalisée. Pour plus d’informations, consultez Utiliser un compartiment Amazon S3 configuré comme point de terminaison de site Web.
Lorsque vous utilisez votre propre serveur HTTP comme origine personnalisée, vous spécifiez le nom DNS du serveur, ainsi que les ports HTTP et HTTPS et le protocole que vous souhaitez utiliser CloudFront pour récupérer des objets depuis votre origine.
La plupart des CloudFront fonctionnalités sont prises en charge lorsque vous utilisez une origine personnalisée, à l'exception du contenu privé. Bien que vous puissiez utiliser une URL signée pour distribuer du contenu à partir d'une origine personnalisée, CloudFront pour accéder à l'origine personnalisée, celle-ci doit rester accessible au public. Pour plus d’informations, consultez Diffusez du contenu privé avec des URL signées et des cookies signés.
Suivez ces instructions pour utiliser des instances Amazon EC2 et d'autres origines personnalisées avec. CloudFront
-
Hébergez et diffusez le même contenu sur tous les serveurs qui diffusent du contenu de même CloudFront origine. Pour plus d’informations, consultez Paramètres d’origine dans la rubrique Référence des paramètres de distribution.
-
Enregistrez les entrées
X-Amz-Cf-Id
d'en-tête sur tous les serveurs au cas où vous en auriez besoin AWS Support ou CloudFront pour utiliser cette valeur pour le débogage. -
Limitez-les demandes d’accès aux ports HTTP et HTTPS sur lesquels votre origine personnalisée écoute.
-
Synchronisez les horloges de tous les serveurs de votre implémentation. Notez que le temps universel coordonné (UTC) est CloudFront utilisé pour les URL signées et les cookies signés, pour les journaux et les rapports. En outre, si vous surveillez CloudFront l'activité à l'aide de CloudWatch métriques, notez que l'UTC est CloudWatch également utilisé.
-
Utilisez des serveurs redondants pour gérer les défaillances.
-
Pour plus d’informations sur l’utilisation d’une origine personnalisée pour servir un contenu privé consultez Restreindre l'accès aux fichiers dont l'origine est personnalisée.
-
Pour plus d’informations sur le comportement de demande et de réponse, ainsi que sur les codes d’état HTTP pris en charge, consultez Comportement des demandes et des réponses.
Si vous utilisez Amazon EC2 pour une origine personnalisée, nous vous recommandons de procéder comme suit :
-
Utilisez un Amazon Machine Image qui installe automatiquement le logiciel d’un serveur web. Pour de plus amples informations, consultez la documentation Amazon EC2.
-
Utilisez un équilibreur de charge Elastic Load Balancing pour gérer le trafic entre plusieurs instances Amazon EC2 et isoler votre application des modifications apportées aux instances Amazon EC2. Par exemple, si vous utilisez un équilibreur de charge, vous pouvez ajouter et supprimer les instances Amazon EC2 sans modifier votre application. Pour de plus amples informations, veuillez consulter la documentation relative à Elastic Load Balancing.
-
Lorsque vous créez votre CloudFront distribution, spécifiez l'URL de l'équilibreur de charge pour le nom de domaine de votre serveur d'origine. Pour plus d’informations, consultez Créer une distribution.
Utiliser des groupes CloudFront d'origine
Vous pouvez spécifier un groupe d'origine pour votre CloudFront origine si, par exemple, vous souhaitez configurer le basculement d'origine pour les scénarios nécessitant une haute disponibilité. Utilisez le basculement d'origine pour désigner une origine principale et une CloudFront deuxième origine qui passe CloudFront automatiquement à une origine lorsque l'origine principale renvoie des réponses d'échec spécifiques au code d'état HTTP.
Pour de plus amples informations, notamment les étapes de configuration d’un groupe d’origine, veuillez consulter Optimisez la haute disponibilité grâce au basculement CloudFront d'origine.