Amazon ElastiCache – это полностью управляемый сервис, совместимый с Redis и Memcached и обеспечивающий оптимизированную по затратам производительность в режиме реального времени с высокой доступностью до 99,99 %. ElastiCache идеально подходит для таких высокопроизводительных примеров использования, как кэширование данных, веб-страницы, мобильные, финансовые, игровые и рекламные приложения, приложения для здравоохранения, Интернет вещей, потоковая передача мультимедиа, хранилища сеансов, таблицы лидеров, машинное обучение (МО) и приложения на основе микросервисов. Ознакомьтесь с примерами использования Amazon ElastiCache для Redis и Memcached, чтобы узнать, как ElastiCache может вам помочь.

ElastiCache ускоряет производительность баз данных и приложений, масштабируясь до сотен миллионов операций в секунду с микросекундным временем отклика. В числе преимуществ можно назвать повышенную безопасность, надежность, масштабируемость и производительность по сравнению с альтернативами с открытым исходным кодом. Сервис также позволяет сократить расходы на рабочие нагрузки с большим объемом чтения и предоставляет функции оптимизации затрат, такие как многоуровневое распределение данных для рабочих нагрузок с интенсивным использованием памяти. Узнайте больше о функциях и преимуществах ElastiCache ниже.

Бессерверные технологии

Начало работы менее чем за минуту

С помощью бессерверной конфигурации Amazon ElastiCache можно создать кэш высокой доступности менее чем за минуту без выделения или настройки инфраструктуры. Кэш бессерверной конфигурации ElastiCache можно создать за несколько шагов, указав его имя в Консоли управления AWS, Пакете средств разработки ПО от AWS (AWS SDK) или Интерфейсе командной строки AWS (AWS CLI).

Планирование ресурсов не понадобится

Бессерверная конфигурация ElastiCache устраняет необходимость в сложном и трудоемком планировании ресурсов за счет постоянного мониторинга использования вычислительных ресурсов, памяти и сети кэша, а также мгновенного вертикального и горизонтального масштабирования в соответствии с потребностями.

Introducing Amazon ElastiCache Serverless (1:30)

Модель оплаты по факту использования

Благодаря нашей модели оплаты по факту использования вам не нужно беспокоиться о том, как быстро бессерверная конфигурация ElastiCache сокращает выделение ресурсов после горизонтального масштабирования рабочих нагрузок. Вы платите только за хранимые данные и вычислительные ресурсы, используемые вашим приложением. Подробные сведения см. на странице цен ElastiCache.

Простота использования

Быстрое начало работы

Благодаря бессерверной конфигурации ElastiCache можно просто создать бессерверный кэш менее чем за минуту с помощью консоли, Интерфейса командной строки AWS (AWS CLI) или Пакета средств разработки ПО от AWS (AWS SDK) без необходимости управлять инфраструктурой или выделением ресурсов. Если вы разрабатываете собственный кластер, то для ресурсов предварительно заданы соответствующие параметры и настройки, а группы параметров кэша предоставляют возможность подробного управления и точной настройки среды Redis или Memcached.

Ознакомьтесь с нашей документацией, чтобы узнать, как быстро начать работу с ElastiCache для Redis и Memcached.

Полностью управляемые среды Redis и Memcached

ElastiCache – это полностью управляемый сервис. Мы автоматизировали трудоемкие задачи управления, например планирование ресурсов, управление исправлениями, обнаружение сбоев и восстановление, позволяя клиентам сосредоточиться на разработке более эффективных и прибыльных приложений. Вы получаете встроенный доступ к размещенной в памяти среде баз данных, что упрощает использование ElastiCache с существующими инструментами, а также приложениями Redis и Memcached. Благодаря бессерверной конфигурации ElastiCache все незначительные обновления версий, улучшения производительности и исправления безопасности применяются автоматически без необходимости настройки и прерывания работы приложений.

Добавление кэша в реляционную базу данных

С помощью консоли Службы реляционных баз данных Amazon (Amazon RDS), а также Amazon Aurora можно создать кластер ElastiCache и подключить его к реляционной базе данных. Таким образом вы сможете повысить производительность приложений за счет ускорения чтения и сократить расходы. Подробнее о создании и подключении кластера ElastiCache см. в документации Amazon RDS и Aurora.

Мониторинг

Метрики Amazon CloudWatch позволяют анализировать ресурсы ElastiCache без дополнительной платы. Консоль можно использовать для просмотра более 40 ключевых эксплуатационных метрик инстансов, включая использование вычислительных ресурсов и памяти, коэффициент попадания в кэш, активные соединения, репликацию и команды. Подробнее о мониторинге кластера кэша см. в нашей документации по мониторингу метрик CloudWatch для ElastiCache для Redis и Memcached.

ElastiCache публикует сообщения о важных событиях. Бессерверные события ElastiCache, включая создание, удаление и обновление конфигурации кэша, отправляются в Amazon EventBridge. При работе с пользовательскими кластерами кэша ElastiCache отправляет события в Простой сервис уведомлений Amazon (Amazon SNS).

Использование тегов

Воспользуйтесь преимуществами назначения тегов для ресурсов ElastiCache и снимков состояния Redis или Memcached в целях отслеживания ресурсов и выставления счетов. Для привязки значений расходов к ресурсам и их группам можно использовать инструмент Обозреватель затрат AWS, который позволяет создавать и поддерживать наборы ресурсов с общим списком тегов. Подробнее о назначении тегов для ресурсов ElastiCache см. в соответствующей документации по ElastiCache для Redis и Memcached.

Поддержка JSON

ElastiCache для Redis обеспечивает встроенную поддержку текстового формата обмена данными, основанного на языке JavaScript (JSON), а также структур данных, включенных в Redis с открытым исходным кодом. Вы можете упростить разработку приложений с помощью встроенных команд, созданных и оптимизированных для документов JSON. ElastiCache для Redis поддерживает частичное обновление документов JSON и эффективные возможности поиска, а также миграции с помощью языка запросов JSONPath. Поддержка JSON доступна при использовании ElastiCache для Redis версии 6.2 и выше.

Производительность и масштабируемость

Время отклика в микросекундах

ElastiCache помогает повысить производительность приложений и увеличить пропускную способность рабочих нагрузок с большим количеством операций чтения, устраняя необходимость в доступе к дисковым базам данных для часто используемых данных. ElastiCache может масштабироваться до миллионов операций в секунду с микросекундным временем отклика.

Высокая пропускная способность и низкая задержка

ElastiCache для Redis версии 7.1 обеспечивает на 100 % большую пропускную способность и на 50 % меньшую задержку P99 по сравнению с версией 7.0. На узлах r7g.4xlarge или больших можно обрабатывать свыше 1 млн запросов в секунду на узел или 500 млн запросов в секунду на кластер.

ElastiCache для Redis версии 7.1 предоставляет улучшенные потоки ввода-вывода, которые значительно повышают пропускную способность и сокращают задержки при масштабировании за счет мультиплексирования, разгрузки уровня представления и многого другого. Улучшенные потоки ввода-вывода идеально подходят для рабочих нагрузок с высокой пропускной способностью и несколькими клиентскими соединениями, а преимущества масштабируются в зависимости от уровня параллелизма рабочих нагрузок. Эти улучшения проиллюстрированы на диаграмме, на которой показан перенос рабочих нагрузок в выделенные потоки.

Чтобы начать работу с ElastiCache для Redis версии 7.1, создайте новый кластер или обновите существующий с помощью консоли ElastiCache без дополнительных затрат. Подробные сведения см. в документации по поддерживаемым версиям ElastiCache для Redis и в публикации об ElastiCache для Redis версии 7.1 в нашем блоге.

Масштабирование кластеров в соответствии с потребностями

Бессерверная конфигурация ElastiCache автоматически и эластично масштабируется в соответствии с потребностями в производительности приложений. Бессерверная конфигурация ElastiCache постоянно отслеживает память, вычислительные ресурсы и пропускную способность сети, используемые вашим приложением в кэше. Это позволяет вертикально масштабировать кэш по месту, а также параллельно горизонтально масштабировать его, чтобы обеспечить соответствие кэша потребностям вашего приложения в трафике. Узнайте больше о масштабировании кластеров ElastiCache для Redis и Memcached.

Автомасштабирование приложения

Во время создания собственного кэша автомасштабирование ElastiCache для Redis позволяет автоматически увеличивать или уменьшать количество требуемых сегментов либо реплик в сервисе ElastiCache для Redis, чтобы поддерживать стабильную и предсказуемую производительность при минимально возможных затратах. ElastiCache для Redis использует автоматическое масштабирование AWS для управления масштабированием и метриками CloudWatch, чтобы определять время для масштабирования.

Доступность и надежность

Зоны высокой доступности и использование нескольких таких зон

ElastiCache предлагает Соглашение об уровне обслуживания (SLA) с доступностью 99,99 % при использовании нескольких зон доступности или бессерверной конфигурации. Бессерверная конфигурация ElastiCache автоматически хранит данные с обеспечением избыточности в нескольких зонах доступности без необходимости настройки пользователей. При разработке собственного кластера кэша вы можете воспользоваться преимуществами нескольких зон доступности AWS, создав реплики в нескольких зонах для обеспечения высокой доступности и масштабирования операций чтения. В случае потери первичного узла сервис AWS автоматически обнаруживает сбой и вводит в действие реплику чтения, обеспечивая доступность ресурсов без вмешательства со стороны пользователя. Узнайте больше о высокой доступности с использованием групп репликации и о том, как минимизировать время простоя в ElastiCache для Redis с помощью нескольких зон доступности.

Межрегиональное аварийное восстановление с помощью глобального хранилища данных

Глобальное хранилище данных в ElastiCache для Redis обеспечивает полностью управляемую, быструю, надежную и безопасную репликацию между регионами AWS. Глобальное хранилище данных позволяет записывать данные в кластер ElastiCache для Redis в одном регионе и считывать их из двух других межрегиональных кластеров репликации, благодаря чему чтение и аварийное восстановление между регионами AWS осуществляются с низкой задержкой. В маловероятном случае снижения производительности во всем регионе один из работоспособных кластеров репликации в другом регионе может быть превращен в основной кластер с полными возможностями чтения и записи. 

Мониторинг и восстановление инстансов

ElastiCache постоянно следит за состоянием используемых инстансов. В случае отказа узла или длительного снижения производительности ElastiCache автоматически перезапустит или заменит узел и связанные с ним процессы.

Резервное копирование, восстановление и экспорт

Сервис ElastiCache для Redis защищает ваши данные с помощью снимков состояния кластеров. Можно настроить автоматическое создание снимков состояния или вручную инициировать формирование резервных копий за несколько действий в консоли или с помощью простых вызовов API. На основе этих снимков состояния или любого снимка состояния Redis, совместимого с RDB и расположенного в Простом сервисе хранения данных Amazon (Amazon S3), можно создать новый основной узел ElastiCache для кластера Redis.

Также можно экспортировать свои снимки состояния в выбранную корзину Amazon S3 для аварийного восстановления, анализа или восстановления резервных копий в другом регионе. Узнайте больше о резервном копировании и восстановлении ElastiCache для Redis, чтобы защитить свои данные.

Безопасность и соответствие требованиям

Изолирование сети

ElastiCache позволяет запускать ресурсы в Виртуальном частном облаке Amazon (Amazon VPC). Посредством облака Amazon VPC можно изолировать ресурсы ElastiCache с помощью определения диапазона IP‑адресов, который нужно использовать для узлов, и обеспечивать подключение к другим приложениям внутри того же облака Amazon VPC. Также сервис позволяет настроить параметры брандмауэра, управляющего сетевым доступом к ресурсам. Узнайте больше о безопасности Amazon VPC и ElastiCache для Redis и Memcached.

Шифрование данных при передаче и хранении

ElastiCache поддерживает шифрование при передаче, что позволяет кодировать все данные, пересылаемые между клиентами и сервером ElastiCache, а также в пределах границ сервиса ElastiCache. ElastiCache обеспечивает также возможность шифрования данных в местах хранения, благодаря чему можно кодировать данные об использовании диска и резервные копии в Amazon S3. Узнайте больше о шифровании и защите данных в ElastiCache для Redis и Memcached. Бессерверная конфигурация ElastiCache всегда шифрует данные в местах хранения и при передаче с использованием протокола TLS. 

Кроме того, ElastiCache обеспечивает интеграцию с Сервисом управления ключами AWS (AWS KMS), которая позволяет вам использовать собственный ключ AWS KMS для шифрования. Также можно использовать команду Redis AUTH для организации дополнительного уровня аутентификации. Пользователям не приходится управлять жизненным циклом сертификатов, так как ElastiCache для Redis автоматически управляет выпуском, обновлением и окончанием срока действия сертификатов.

Аутентификация и контроль доступа Redis

ElastiCache для Redis поддерживает аутентификацию с помощью удостоверений сервиса управления идентификацией и доступом AWS (AWS IAM), команд Redis AUTH и управления доступом на основе ролей (RBAC).

С помощью аутентификации IAM вы можете аутентифицировать подключение к ElastiCache для Redis, используя удостоверения AWS IAM, чтобы укрепить свою модель безопасности и упростить многие административные задачи по защите. Токены аутентификации или пароли Redis позволяют этому сервису запрашивать пароль, прежде чем разрешить клиентам выполнять команды, тем самым повышая безопасность данных.

Соответствие требованиям

ElastiCache поддерживает такие программы соответствия требованиям, как SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI, HIPAA и FedRAMP. Актуальный перечень поддерживаемых программ соответствия требованиям см. на странице Сервисы AWS в программе соответствия требованиям.

AWS PrivateLink можно использовать для частного подключения к ElastiCache из облака Amazon VPC. PrivateLink позволяет конфиденциально получать доступ к операциям ElastiCache API, не используя шлюз Интернета, устройство NAT, VPN-соединение или подключение AWS Direct Connect. Узнайте больше об API и интерфейсных адресах VPC ElastiCache для Redis и Memcached.

Экономичность

Оплата по факту использования

При использовании ElastiCache вы платите только за потребляемые ресурсы без авансовых платежей или долгосрочных обязательств. Плата за хранение данных и вычисления в бессерверной конфигурации ElastiCache взимается почасово в зависимости от количества узлов, типа узла и модели ценообразования, выбранной при создании собственного кластера. Подробные сведения см. на странице цен ElastiCache.

Оптимизация затрат на реляционные рабочие нагрузки

Можно оптимизировать затраты на реляционную базу данных с помощью кэширования в памяти ElastiCache. Вы можете сэкономить до 55 % и повысить скорость чтения в 80 раз при одновременном использовании Amazon ElastiCache и Amazon RDS для MySQL (по сравнению с применением исключительно Amazon RDS для MySQL).

Многоуровневое хранение данных

Вы можете использовать многоуровневое хранение данных в ElastiCache для Redis в качестве недорогого способа масштабирования кластеров до сотен терабайт емкости. Многоуровневое хранение данных меняет соотношение цены и производительности рабочих нагрузок Redis за счет использования более дешевых твердотельных накопителей (SSD) в каждом узле кластера в дополнение к хранению данных в памяти.

Это идеальный вариант для рабочих нагрузок, которым регулярно требуется доступ к 20 % от всего набора данных, а также приложений, для которых не имеет значения дополнительная задержка при обращении к данным на SSD. Многоуровневое хранение данных ElastiCache доступно при использовании Redis версии 6.2 и выше на узлах R6gD на базе Graviton2. Общая емкость узлов R6gd (память и SSD) почти в 5 раз выше, что позволяет сэкономить более 60 % при работе с максимальной загрузкой по сравнению с узлами R6g (только память).

Зарезервированные узлы

Зарезервированные узлы ElastiCache позволяют получить значительную скидку по сравнению с использованием по требованию при подтверждении обязательств на один год или три года. При использовании зарезервированных узлов вы можете внести предоплату частично или полностью либо не вносить ее вообще, чтобы зарезервировать узел для запуска в определенном регионе. Резервируемые узлы доступны с интервалом в один год или три года и обеспечивают значительную скидку на текущую почасовую плату за пользование. Узнайте больше о зарезервированных узлах ElastiCache для Redis и Memcached.

Вопросы и ответы

Для чего используется ElastiCache?

ElastiCache – это веб‑сервис, облегчающий развертывание и запуск в облаке серверных узлов, совместимых с протоколами Redis или Memcached. ElastiCache повышает производительность интернет‑приложений, позволяя получать информацию из быстрых, полностью управляемых систем хранения данных в памяти вместо более медленных систем, размещенных на дисках.

ElastiCache упрощает и берет на себя мониторинг, решение операционных вопросов, а также управление средами в памяти, позволяя клиентам сосредоточить усилия технических специалистов на разработке приложений. Используя ElastiCache, можно улучшить время загрузки и отклика на действия и запросы пользователя, а также сократить расходы, связанные с масштабированием интернет-приложений.

Имеет ли ElastiCache бессерверную конфигурацию?

Да. Бессерверная конфигурация ElastiCache позволяет клиентам добавлять кэш менее чем за минуту и мгновенно масштабировать емкость в зависимости от структуры трафика приложений. Вы можете легко начать работу с сервисом, указав имя кэша с помощью консоли, SDK или AWS CLI. Чтобы узнать больше, ознакомьтесь с нашей документацией по ElastiCache.

В чем преимущества ElastiCache?

Полностью управляемый сервис ElastiCache позволяет автоматизировать стандартные административные задачи по обеспечению работы распределенной среды хранения в памяти данных типа «ключ‑значение».

С помощью бессерверной конфигурации ElastiCache можно создать высокодоступный и масштабируемый кэш менее чем за минуту, избавив себя от необходимости выделять и планировать емкость кластера кэша, а также управлять ею. Бессерверная конфигурация ElastiCache автоматически хранит данные с обеспечением избыточности в трех зонах доступности и предоставляет Соглашение об уровне обслуживания (SLA), гарантирующее доступность на уровне 99,99 %. Благодаря интеграции со средствами мониторинга CloudWatch сервис ElastiCache предлагает расширенные возможности наблюдения за метриками производительности ваших ресурсов кэша.

Протоколы, используемые ElastiCache, совместимы с Redis и Memcached, поэтому код, приложения и популярные инструменты, используемые в существующих средах Redis и Memcached, будут эффективно работать с этим сервисом. Поддержка кластерной конфигурации в ElastiCache дает клиентам преимущества быстрого, масштабируемого и простого в использовании сервиса, отвечающего требованиям самых ресурсоемких приложений. Работая с ElastiCache, вы платите только за то, что используете, без минимальных взносов, авансовых платежей или долгосрочных обязательств.

Как кэширование в памяти ElastiCache может помочь моим приложениям?

Кэширование в памяти повышает производительность приложений, сохраняя часто используемые элементы данных в памяти, поэтому последующие операции чтения значительно ускоряются по сравнению с первичной базой данных, которая по умолчанию используется в дисковом хранилище. Кэширование в памяти ElastiCache можно использовать для эффективного снижения задержек и повышения пропускной способности множества приложений, загруженных операциями чтения (например, социальных сетей, игр, сервисов обмена мультимедийными материалами, порталов вопросов и ответов) или предъявляющих повышенные требования к вычислительной мощности (например, модулей рекомендаций).

Кэширование в памяти позволяет увеличить производительность приложений за счет сохранения критически важных блоков данных в памяти для последующего доступа к ним с минимальными задержками. Информация в кэше может включать результаты запросов к базам данных с большим количеством операций ввода‑вывода или результаты ресурсоемких расчетов.

Как настроить ElastiCache и начать с ним работу?

Начать работу с ElastiCache очень просто. Если вы еще не зарегистрировались в сервисе ElastiCache, можете нажать кнопку «Начать работу» на странице обзора ElastiCache и пройти процесс регистрации. Для этого потребуется аккаунт AWS. Если такового еще нет, вам будет предложено создать его в начале процесса регистрации в сервисе ElastiCache.

После регистрации новые клиенты AWS получают 750 часов бесплатного использования узлов ElastiCache cache.t2.micro или cache.t3.micro на 12 месяцев в рамках уровня бесплатного пользования AWS.

После регистрации в ElastiCache ознакомьтесь с руководством по началу работы с ElastiCache для Redis и Memcached, чтобы узнать, как запустить кластер за считанные минуты с помощью консоли, AWS CLI или ElastiCache API.