Introducció a Amazon CloudFront
Amazon CloudFront és un servei de xarxa de distribució de contingut (CDN) que ofereix una manera ràpida i segura de lliurar dades, vídeos, aplicacions i API a clients globalment amb baixa latència i velocitats de transferència elevades. CloudFront integra fàcilment amb altres serveis d'AWS per proporcionar una solució completa de lliurament de contingut.
Conceptes Clau
- Distribució: Una distribució és la configuració que defineix com es lliura el contingut. Hi ha dos tipus de distribucions: web i RTMP.
- Edge Locations: Són els punts de presència (PoP) on CloudFront emmagatzema còpies del contingut per lliurar-lo als usuaris finals amb baixa latència.
- Origins: L'origen és el servidor des del qual CloudFront obté els fitxers que distribueix. Pot ser un bucket d'Amazon S3, un servidor HTTP, o altres serveis d'AWS.
- Cache Behaviors: Defineixen com CloudFront maneja les sol·licituds per a diferents tipus de contingut.
Configuració d'una Distribució de CloudFront
Pas 1: Crear una Distribució
- Accedeix a la Consola de Gestió d'AWS.
- Navega a CloudFront.
- Fes clic a "Create Distribution".
- Selecciona el tipus de distribució:
- Web: Per a contingut estàtic i dinàmic.
- RTMP: Per a streaming de mitjans (no tan comú avui en dia).
Pas 2: Configurar l'Origen
- Origen: Selecciona l'origen del contingut (per exemple, un bucket d'Amazon S3 o un servidor HTTP).
- Detalls de l'Origen:
- Origin Domain Name: El nom de domini de l'origen.
- Origin Path: Un camí opcional per especificar una subcarpeta de l'origen.
- Origin ID: Un identificador únic per a l'origen.
Pas 3: Configurar els Comportaments de la Cache
- Path Pattern: Defineix el patró de camí per al contingut que aquest comportament de cache ha de gestionar.
- Allowed HTTP Methods: Selecciona els mètodes HTTP que CloudFront ha de permetre (GET, HEAD, etc.).
- Cache Based on Selected Request Headers: Configura com CloudFront ha de gestionar les capçaleres de sol·licitud per a la cache.
Pas 4: Configurar les Opcions de Distribució
- Price Class: Selecciona la classe de preus que vols utilitzar (per exemple, només regions dels EUA, Europa i Àsia).
- Alternate Domain Names (CNAMEs): Afegeix noms de domini alternatius per a la distribució.
- SSL Certificate: Configura el certificat SSL per a la distribució (per exemple, utilitza un certificat d'AWS Certificate Manager).
Pas 5: Crear la Distribució
- Revisa la configuració.
- Fes clic a "Create Distribution".
Exemple Pràctic
A continuació, es mostra un exemple de codi per configurar una distribució de CloudFront utilitzant AWS SDK per a Python (Boto3):
import boto3 client = boto3.client('cloudfront') response = client.create_distribution( DistributionConfig={ 'CallerReference': 'unique-string', 'Origins': { 'Quantity': 1, 'Items': [ { 'Id': 'S3-origin', 'DomainName': 'mybucket.s3.amazonaws.com', 'S3OriginConfig': { 'OriginAccessIdentity': '' } }, ] }, 'DefaultCacheBehavior': { 'TargetOriginId': 'S3-origin', 'ViewerProtocolPolicy': 'redirect-to-https', 'AllowedMethods': { 'Quantity': 2, 'Items': ['GET', 'HEAD'], 'CachedMethods': { 'Quantity': 2, 'Items': ['GET', 'HEAD'] } }, 'ForwardedValues': { 'QueryString': False, 'Cookies': { 'Forward': 'none' } }, 'MinTTL': 0, 'DefaultTTL': 86400, 'MaxTTL': 31536000 }, 'Comment': 'My CloudFront Distribution', 'Enabled': True } ) print(response)
Exercici Pràctic
Exercici 1: Crear una Distribució de CloudFront
- Objectiu: Configura una distribució de CloudFront per a un bucket d'Amazon S3 que conté fitxers estàtics.
- Passos:
- Crea un bucket d'Amazon S3 i puja alguns fitxers estàtics (per exemple, imatges, HTML).
- Segueix els passos descrits anteriorment per crear una distribució de CloudFront.
- Configura l'origen per apuntar al bucket d'Amazon S3.
- Configura els comportaments de la cache per permetre sol·licituds GET i HEAD.
- Revisa i crea la distribució.
- Verificació: Accedeix als fitxers estàtics a través de l'URL de CloudFront i verifica que es carreguen correctament.
Solució
Segueix els passos detallats a la secció "Configuració d'una Distribució de CloudFront" per completar l'exercici.
Errors Comuns i Consells
- Error 403 Forbidden: Assegura't que el bucket d'Amazon S3 té les polítiques d'accés correctes per permetre que CloudFront accedeixi als fitxers.
- Latència Alta: Verifica que els Edge Locations de CloudFront estan ben distribuïts per cobrir les regions on es troben els teus usuaris finals.
- Configuració de Cache Incorrecta: Revisa els comportaments de la cache per assegurar-te que estan configurats correctament per al tipus de contingut que estàs lliurant.
Conclusió
Amazon CloudFront és una eina poderosa per millorar el rendiment i la seguretat del lliurament de contingut a usuaris finals globalment. Amb una configuració adequada, pots assegurar-te que el teu contingut es lliura de manera ràpida i segura, millorant l'experiència de l'usuari i reduint la latència. En el següent tema, explorarem com utilitzar Route 53 per gestionar els noms de domini i la resolució DNS.