Вы можете кэшировать на уровне API Gateway и аннулировать кэш, отправив заголовок Cache-Control: max-age=0
в API Gateway (например, из Lambda, который изменяет записи DynamoDB во время запросов PUT).Для этого вам нужно предоставить специальные разрешения IAM .Имейте в виду, что вы можете сделать недействительными только 1000 запросов в месяц бесплатно;после этого с вас будет взиматься плата в размере 0,005 доллара за каждый недействительный путь.
CloudFront имеет аналогичные параметры кэширования и аннулирования, но вы, вероятно, можете получить все те же параметры кэширования непосредственно из API Gateway.
Другим вариантом будет кэширование на уровне DynamoDB с использованием DynamoDB Accelerator .Он обеспечивает значительные улучшения поиска для запросов DynamoDB и обрабатывает аннулирование для вас.С точки зрения ремонтопригодности сложно найти лучший вариант.Недостатком является то, что вы не уменьшите время ожидания так, как если бы вы использовали кеширование CloudFront или API Gateway.
Наконец, вы также можете посмотреть на ElastiCache , к которому вы получите доступ из своегоЛямбда-функция.Но, учитывая накладные расходы по записи / чтению / аннулированию кэша самостоятельно, другие варианты, вероятно, будут более удобными в долгосрочной перспективе.
Вы можете найти Обзор кэширования AWS , полезный при разработкебольше способов кеширования, в зависимости от ваших потребностей.