Очистка кэша в AWS CloudFront: подробное руководство

AWS CloudFront — это популярный сервис сети доставки контента (CDN), предоставляемый Amazon Web Services. Одной из важнейших задач при использовании CDN является управление кешем, включая очистку кеша, чтобы гарантировать доставку обновленного контента пользователям. В этой статье мы рассмотрим различные методы очистки кеша в AWS CloudFront, а также приведем примеры кода.

  1. Аннулирование кэша вручную.
    Самый простой способ очистить кэш — через Консоль управления AWS. Следуй этим шагам:
    • Войдите в консоль управления AWS.
    • Перейдите к сервису CloudFront.
    • Выберите дистрибутив CloudFront.
    • Перейдите на вкладку «Недействительные».
    • Нажмите «Создать аннулирование».
    • Введите пути или имена файлов, которые хотите сделать недействительными, и нажмите «Недействительно».

Пример:
Предположим, вы хотите сделать недействительными все файлы в каталоге «images»:
Путь: /images/*

  1. AWS CLI.
    Интерфейс командной строки (CLI) AWS предоставляет мощный набор инструментов для управления CloudFront. Чтобы очистить кеш с помощью AWS CLI, выполните следующие действия:
    • Установите и настройте интерфейс командной строки AWS на локальном компьютере.
    • Откройте командную строку или терминал.
    • Выполните следующую команду:
aws cloudfront create-invalidation --distribution-id YOUR_DISTRIBUTION_ID --paths "/images/*"

Замените YOUR_DISTRIBUTION_IDна свой фактический идентификатор распространения CloudFront. В этом примере мы объявляем недействительными все файлы в каталоге «images».

  1. AWS SDK.
    AWS SDK упрощают программное взаимодействие с CloudFront. Вот пример использования AWS SDK для Python (Boto3):
import boto3
def clear_cloudfront_cache(distribution_id, paths):
    client = boto3.client('cloudfront')
    response = client.create_invalidation(
        DistributionId=distribution_id,
        InvalidationBatch={
            'Paths': {
                'Quantity': len(paths),
                'Items': paths
            },
            'CallerReference': 'your-call-reference'
        }
    )
    return response
# Example usage
distribution_id = 'YOUR_DISTRIBUTION_ID'
paths = ['/images/*']
response = clear_cloudfront_cache(distribution_id, paths)
  1. Сторонние инструменты.
    Различные сторонние инструменты и плагины интегрируются с AWS CloudFront и предоставляют интуитивно понятные интерфейсы для аннулирования кэша. Некоторые популярные варианты включают:
  • CloudFront Invalidator (плагин WordPress)
  • Инвалидация кэша CloudFront (модуль Drupal)
  • Бессерверная платформа (с плагином CloudFront)

Очистка кеша в AWS CloudFront — важнейший аспект управления сетью доставки контента. В этой статье мы рассмотрели несколько методов аннулирования кэша, включая аннулирование вручную с помощью консоли управления AWS, интерфейса командной строки AWS, пакетов AWS SDK и сторонних инструментов. Выберите метод, который лучше всего соответствует вашим требованиям, и интегрируйте его в свой рабочий процесс, чтобы обеспечить своевременную доставку обновленного контента вашим пользователям.