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ó

  1. Accedeix a la Consola de Gestió d'AWS.
  2. Navega a CloudFront.
  3. Fes clic a "Create Distribution".
  4. 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

  1. Origen: Selecciona l'origen del contingut (per exemple, un bucket d'Amazon S3 o un servidor HTTP).
  2. 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

  1. Path Pattern: Defineix el patró de camí per al contingut que aquest comportament de cache ha de gestionar.
  2. Allowed HTTP Methods: Selecciona els mètodes HTTP que CloudFront ha de permetre (GET, HEAD, etc.).
  3. 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ó

  1. Price Class: Selecciona la classe de preus que vols utilitzar (per exemple, només regions dels EUA, Europa i Àsia).
  2. Alternate Domain Names (CNAMEs): Afegeix noms de domini alternatius per a la distribució.
  3. SSL Certificate: Configura el certificat SSL per a la distribució (per exemple, utilitza un certificat d'AWS Certificate Manager).

Pas 5: Crear la Distribució

  1. Revisa la configuració.
  2. 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

  1. Objectiu: Configura una distribució de CloudFront per a un bucket d'Amazon S3 que conté fitxers estàtics.
  2. 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ó.
  3. 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.

© Copyright 2024. Tots els drets reservats