Вопрос: Что собой представляет Amazon ElastiCache для Redis?

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

Вопрос: Совместимы ли протоколы Amazon ElastiCache для Redis с движком Redis с открытым исходным кодом?

Да, протоколы Amazon ElastiCache для Redis совместимы с движком Redis с открытым исходным кодом. Код, приложения, драйверы и инструменты, которые вы в настоящее время используете со своим текущим автономным хранилищем данных Redis, продолжат функционировать с сервисом ElastiCache для Redis. Если не указано иное, для существующих развертываний Redis при переносе в сервис ElastiCache для Redis не требуется вносить никаких изменений в код. В настоящее время поддерживаются версии Redis 2.6.13, 2.8.6, 2.8.19, 2.8.21, 2.8.22, 2.8.23, 2.8.24, 3.2.4, 3.2.6 и 3.2.10.

Вопрос: Сколько стоит Amazon ElastiCache для Redis?

Ознакомьтесь с действующими ценами на странице цен.

Вопрос: Что собой представляют узлы, кластеры и группы репликации Amazon ElastiCache для Redis?

Узел ElastiCache для Redis – это наименьший элемент развертывания Amazon ElastiCache для Redis. Каждый узел ElastiCache для Redis поддерживает протокол Redis, а также имеет собственный порт и имя DNS. Сервис поддерживает множество типов узлов ElastiCache для Redis с различным количеством ресурсов ЦПУ и памяти. Узел ElastiCache для Redis может выступать в роли основной реплики или реплики чтения. Основной узел можно реплицировать во множество узлов реплик чтения. Кластер ElastiCache для Redis – это совокупность из одного или нескольких узлов ElastiCache для Redis с одной и той же ролью: основной узел входит в состав основного кластера, а узел реплики чтения – в состав кластера реплик чтения. В настоящее время кластер может содержать только один узел. В дальнейшем планируется снять это ограничение. Кластер управляет логическим пространством ключей, в котором каждый узел отвечает за некоторую часть пространства ключей. Большая часть операций по управлению выполняется на уровне кластера. Группа репликации ElastiCache для Redis заключает в себе основной кластер и кластеры реплик чтения для установки Redis. Группа репликации может содержать только один основной кластер и ни одного либо несколько кластеров реплик чтения. В пределах группы репликации (и, следовательно, кластера) все узлы относятся к одному и тому же типу и обладают одинаковыми настройками параметров и групп безопасности.

Вопрос: Поддерживает ли Amazon ElastiCache для Redis свойство персистентности Redis?

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

Вопрос: Можно ли мигрировать с Amazon ElastiCache для Memcached на Amazon ElastiCache для Redis и наоборот?

В настоящее время автоматическая миграция с Memcached на Redis и в обратном направлении не поддерживается. Тем не менее, вы можете использовать клиент Memcached для чтения из кластера Memcached, а клиент Redis – для записи в кластер Redis. Аналогичным образом можно использовать клиент Redis для чтения из кластера Redis, а клиент Memcached – для записи в кластер Memcached. При этом следует учитывать различия формата данных и настроек кластеров этих движков.

Вопрос: Поддерживает ли Amazon ElastiCache для Redis работу со множеством зон доступности?

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

Вопрос: Какие варианты действий возможны в Amazon ElastiCache для Redis при сбоях узлов?

Amazon ElastiCache для Redis восстанавливает узел путем привлечения новых ресурсов и перенаправляет существующее имя DNS узла так, чтобы оно указывало на новые ресурсы сервиса. Таким образом, имя DNS узла Redis остается неизменным, а IP-адрес узла Redis может со временем меняться. Если имеется группа репликации с одной и более репликами чтения и поддержкой множества зон доступности, то в случае сбоя основного узла ElastiCache автоматически обнаружит сбой, выберет реплику и назначит ее новым основным узлом. Сервис также внесет соответствующие изменения в DNS, чтобы вы могли продолжить использовать адрес основного узла, и после его назначения этот адрес будет указывать на новый основной узел. Подробнее см. в разделе Функция Multi-AZ на текущей странице вопросов и ответов. При выборе репликации Redis без поддержки множества зон доступности в случае сбоя основного узла вам будет предложено инициировать аварийный переброс на узел реплики чтения. Целевой узел аварийного переброса может находиться в той же самой либо в другой зоне доступности. Для переброса в первоначальную зону назначьте находящуюся в ней реплику чтения основным узлом. Приложение можно построить таким образом, чтобы клиентская библиотека Redis затем принудительно подключалась к восстановленному серверному узлу Redis. Это целесообразно в связи с тем, что некоторые библиотеки Redis прекращают работу с сервером на неопределенный срок при возникновении ошибок или простоев.

Вопрос: Как выполняется аварийный переброс?

Порядок выполнения аварийного переброса для групп репликации с поддержкой множества зон доступности описан в разделе Функция Multi-AZ на текущей странице вопросов и ответов.

Если поддержка множества зон доступности не включена, то сервис Amazon ElastiCache отслеживает состояние основного узла, и если тот недоступен или не отвечает, Amazon ElastiCache для Redis восстановит его путем привлечения новых ресурсов сервиса, а затем перенаправит текущее имя DNS узла так, чтобы оно указывало на новые ресурсы. Таким образом, имя DNS узла Redis остается неизменным, а IP-адрес узла Redis может со временем меняться. Однако в том случае, если восстановление работоспособности основного узла невозможно (и при этом поддержка множества зон доступности отключена), вы можете назначить одну из реплик чтения на роль нового основного узла. О том, как выбрать новый основной узел, см. по ссылке. Обновленная запись DNS, содержащая адрес основного узла, будет указывать на узел реплики чтения, ставший основным. Затем будет создан узел реплики чтения в зоне доступности первоначального основного узла. Он станет репликой чтения в группе репликации, согласованной с новым основным узлом.

Вопрос: Остаются ли реплики чтения доступными, если основной узел неработоспособен?

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

Вопрос: Как настроить параметры узлов Amazon ElastiCache для Redis?

Вы можете выполнить настройку Redis с помощью группы параметров кэша, которую необходимо указать для кластера Redis. Все кластеры реплик чтения используют группу параметров своего основного кластера. Группа параметров Redis выступает в качестве «контейнера» для параметров настройки Redis, которые могут применяться к одному или нескольким основным кластерам Redis. Если вы создаете основной кластер Redis без указания группы параметров кэша, используется группа параметров по умолчанию. Эта группа содержит параметры по умолчанию для типа узла, который вы планируете запустить. Для того же, чтобы запустить основной кластер Redis с определенными параметрами настройки, достаточно создать новую группу параметров кэша, изменить соответствующие параметры, а также настроить основной кластер Redis таким образом, чтобы он использовал новую группу параметров.

Вопрос: Можно ли работать с Redis из консоли Amazon ElastiCache?

Да, Redis отображается в консоли ElastiCache как один из вариантов движка. Вы можете создать новый кластер кэша Redis, выбрав движок Redis в мастере запуска. Вы также можете изменить или удалить существующий кластер Redis в консоли ElastiCache.

Вопрос: Можно ли создавать кластеры Amazon ElastiCache для Redis в облаке Amazon VPC?

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

Вопрос: Поддерживается ли в Amazon ElastiCache для Redis функция установки пароля Redis?

Нет, Amazon ElastiCache для Redis не поддерживает пароли Redis. Это связано с внутренними ограничениями хранения паролей в файле конфигурации. Вместо использования паролей Redis кластеры ElastiCache для Redis связаны с группой безопасности EC2, и доступ к серверу Redis есть только у клиентов этой группы.

Вопрос: Как обновить движок до новой версии?

Обновление движка до новой версии можно выполнить с помощью API ModifyCacheCluster или ModifyReplicationGroup, указав предпочтительную версию движка в параметре EngineVersion. В консоли ElastiCache выберите кластер кэша или группу репликации и нажмите «Modify». В окне «Modify Cache Cluster» или «Modify Replication Group» выберите нужную версию движка из доступных вариантов. Процесс обновления движка рассчитан на то, чтобы сохранить ваши существующие данные, и требует успешной репликации Redis. Подробнее см. по ссылке.

Вопрос: Можно ли выполнить возврат к более ранней версии движка?

Нет. Возврат к более ранней версии движка не поддерживается.

Вопрос: Как выполнить масштабирование до типа узла большего размера?

Масштабирование до типа узла большего размера можно легко осуществить с помощью API ModifyCacheCluster или ModifyReplicationGroup, указав предпочитаемый тип узла в параметре CacheNodeType. В консоли ElastiCache выберите кластер кэша или группу репликации и нажмите «Modify». В окне «Modify Cache Cluster» или «Modify Replication Group» выберите нужный тип узла из доступных вариантов. Процесс масштабирования рассчитан на то, чтобы сохранить ваши существующие данные, и требует успешной репликации Redis. Подробнее см. по ссылке.

Вопрос: Можно ли выполнить масштабирование до узла меньшего размера?

Переход на узел меньшего размера в настоящее время не поддерживается.


Вопрос: Что собой представляет узел кэша Redis как реплика чтения?

Реплики чтения в Redis служат для:

  • обработки сбоев;
  • масштабирования при обслуживании запросов чтения.

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

Вопрос: В каких случаях стоит использовать реплики чтения Redis?

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

  • Масштабирование вычислительных ресурсов или ресурсов ввода-вывода одного основного узла для выполнения рабочих нагрузок с большим количеством операций чтения. Избыточный трафик чтения можно направить на одну и более реплик чтения.
  • Обслуживание трафика чтения в случае недоступности основного узла. Если основной узел не принимает запросы ввода-вывода (например, в связи с приостановкой ввода-вывода во время выполнения резервного копирования или запланированного обслуживания), трафик операций чтения можно направить на реплики чтения. Следует учесть, что в этом случае данные, которые содержит реплика чтения, могут оказаться устаревшими вследствие недоступности основного инстанса. Реплику чтения также можно использовать для перезапуска отказавшего основного узла.
  • Сценарии защиты данных. В маловероятном случае сбоя основного узла или зоны доступности, в которой он находится, реплику чтения в другой зоне доступности можно назначить новым основным узлом.

Вопрос: Как выполнить развертывание узла реплики чтения для данного основного узла кэша?

Реплику чтения можно создать за несколько минут с помощью API CreateReplicationGroup или консоли управления Amazon ElastiCache. При создании группы репликации вы указываете идентификатор MasterCacheClusterIdentifier. MasterCacheClusterIdentifier – это идентификатор основного кластера кэша, на основе которого будет выполняться репликация. Затем вы создаете кластер реплик чтения в группе репликации путем вызова API CreateCacheCluster с указанием идентификаторов ReplicationGroupIdentifier и CacheClusterIdentifier основного кластера. Как и при создании стандартного кластера кэша, вы можете указать зону доступности. При создании реплики чтения Amazon ElastiCache делает снимок состояния основного кластера кэша и начинает репликацию. В связи с этим может наблюдаться краткая приостановка выполнения операций ввода-вывода в основном кластере кэша. Ее продолжительность обычно составляет не более одной минуты.

Удалить реплику чтения так же легко, как и создать. Для удаления можно воспользоваться консолью управления Amazon ElastiCache или вызовом API DeleteCacheCluster, указав при этом идентификатор CacheClusterIdentifier реплики чтения, которую требуется удалить.

Вопрос: Можно ли одновременно создать основную реплику и реплики чтения?

Да. Вы можете создать новый кластер кэша и реплики чтения всего за несколько минут, воспользовавшись API CreateReplicationGroup или мастером запуска кластера кэша в консоли управления Amazon ElastiCache, выбрав в нем опцию «Multi-AZ Replication». При создании группы репликации укажите ее идентификатор, общее число кластеров, а также соответствующие параметры, такие как тип узлов кэша, версия движка кэша и т. д. Вы также можете указать зону доступности для каждого кластера группы репликации.

Вопрос: Как подключиться к репликам чтения?

Подключение к реплике чтения выполняется таким же образом, как и к основному узлу кэша. Для получения адресов реплик чтения используют API DescribeCacheClusters или Консоль управления AWS. Порядок распределения трафика чтения по множеству реплик чтения определяется приложением.

Вопрос: Сколько реплик чтения можно создать для одного основного узла кэша?

В настоящее время сервис Amazon ElastiCache позволяет создать не более пяти реплик чтения для одного основного узла кэша.

Вопрос: Что произойдет с репликами чтения при аварийном перебросе?

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

Вопрос: Можно ли создать реплику чтения на основе другой реплики чтения?

Создание реплики чтения на основе другой реплики чтения не поддерживается.

Вопрос: Можно ли использовать реплику чтения как автономный основной узел кэша?

Нет, в настоящее время эта возможность не поддерживается. Вместо этого можно создать снимок состояния узла ElastiCache для Redis (основного или любой из реплик чтения). Затем из этого снимка состояния можно создать новый основной узел ElastiCache для Redis.

Вопрос: Будут ли все обновления соответствующего основного узла кэша применены к реплике чтения?

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

  • Объем операций ввода-вывода при записи в основной узел кэша превышает скорость применения обновлений к реплике чтения.
  • Сетевое разграничение или задержка между основным узлом кэша и репликой чтения.

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

Вопрос: Как просмотреть активные реплики чтения?

Для получения списка всех развернутых кластеров кэша, включая реплики чтения, можно воспользоваться стандартным API DescribeCacheClusters или перейти на вкладку «Cache Clusters» в консоли управления Amazon ElastiCache.

Сервис Amazon ElastiCache отслеживает состояние репликации ваших реплик чтения и выводит ошибку в поле состояния репликации в случае прекращения репликации по какой бы то ни было причине. Вы можете просмотреть подробности ошибки, выданной движком Redis, отобразив их в поле «Replication Error», и предпринять соответствующие меры для устранения ее последствий. Подробнее о решении проблем репликации см. в разделе «Устранение неполадок реплик чтения» «Руководства пользователя Amazon ElastiCache». Если ошибка репликации исправлена, в поле состояния репликации будет указано значение Replicating.

Сервис Amazon ElastiCache позволяет отслеживать отставание реплики чтения от основного узла с помощью соответствующей метрики Amazon CloudWatch (Replica Lag), доступной в Консоли управления AWS или посредством API Amazon CloudWatch.

Вопрос: Реплика чтения существенно отстала от соответствующего основного узла кэша. Что мне следует делать?

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

Вопрос: Как удалить реплику чтения? Будет ли она удалена автоматически при удалении ее основного узла кэша?

Реплику чтения можно легко удалить из Консоли управления AWS или путем передачи ее идентификатора кластера кэша в API DeleteCacheCluster. Чтобы удалить реплику чтения вместе с основным узлом кэша, воспользуйтесь API DeleteReplicationGroup или Консолью управления AWS.

Вопрос: Сколько стоит использование реплик чтения? С какого момента начинается и когда заканчивается начисление платы?

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

Вопрос: Что происходит во время обработки отказа и сколько времени это занимает?

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

Вопрос: Можно ли создать реплику чтения в регионе, отличном от региона основного узла?

Нет. Реплики чтения можно создавать в той же или в другой зоне доступности региона, в котором находится основной узел кэша.

Вопрос: Можно ли узнать, в какой зоне доступности находится текущая основная реплика?

Да, вы можете увидеть местоположение текущего основного узла в Консоли управления AWS или с помощью API DescribeCacheClusters.

Вопрос: После выполнения аварийного переброса основной узел оказался не в той зоне доступности, где находятся другие ресурсы AWS (например, инстансы EC2).

Вопрос: Повлияет ли это на время задержки?

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


Вопрос: Что представляет собой функция использования множества зон доступности (Multi-AZ) для группы репликации ElastiCache для Redis?

Группа репликации ElastiCache для Redis состоит из основного узла и не более чем пяти реплик чтения. Движок Redis асинхронно реплицирует данные из основного узла в реплики чтения. При некоторых видах запланированного обслуживания или в маловероятном случае сбоя узла ElastiCache или всей зоны доступности Amazon ElastiCache автоматически обнаружит сбой основного узла, выберет реплику чтения и назначит ее новым основным узлом. Кроме того, ElastiCache внесет изменения DNS, связанные с этой репликой чтения. Таким образом, если ваше приложение выполняет запись в основной узел, изменение адреса не потребуется.

Вопрос: Каковы преимущества использования множества зон доступности?

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

Вопрос: Как работает функция множества зон доступности?

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

Вопрос: Можно ли создавать реплики в той же зоне доступности, что и основной узел?

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

Вопрос: В каких случаях Amazon ElastiCache выполняет аварийный переброс на реплику чтения?

Amazon ElastiCache выполняет аварийный переброс на реплику чтения в следующих случаях.

  • Потеря доступности в зоне доступности основного узла
  • Потеря сетевого подключения к основному инстансу
  • Сбой вычислительного блока основного инстанса

Вопрос: В каких случаях следует использовать множество зон доступности?

Использование репликации Redis во множестве зон доступности позволяет повысить доступность и отказоустойчивость. Подобного рода развертывания – идеальное решение для использования в рабочей среде.

Вопрос: Как создать группу репликации ElastiCache для Redis с использованием множества зон доступности?

Для того чтобы создать основной узел и реплики чтения ElastiCache для Redis, нажмите «Launch Cache Cluster» в консоли управления ElastiCache. Это также можно выполнить с помощью вызова API CreateReplicationGroup. Чтобы включить использование нескольких зон доступности для существующей группы репликации, выберите группу репликации и нажмите «Modify» в консоли управления ElastiCache или воспользуйтесь API ModifyReplicationGroup (доступно для версий Redis 2.8.6, 2.8.19, 2.8.21, 2.8.22, 2.8.23 и 2.8.24). Перемещение группы репликации во множество зон доступности не повлияет на целостность ваших данных Redis и способность узлов к обслуживанию запросов.

Вопрос: Какая реплика чтения будет назначена новым основным узлом в случае сбоя текущего основного узла?

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

Вопрос: Какова стоимость использования функции множества зон доступности?

За использование множества зон доступности плата на взимается. Вы платите только за узлы ElastiCache, которые используете.

Вопрос: Как использование множества зон доступности влияет на производительность?

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

Вопрос: Какие типы узлов кэша поддерживают множество зон доступности?

Функцию множества зон доступности поддерживают все доступные в ElastiCache типы узлов кэша, за исключением узлов семейств T1 и T2.

Вопрос: Выдает ли сервис предупреждение о том, что выполнен автоматический аварийный переброс?

Да, Amazon ElastiCache создает событие, чтобы оповестить вас об автоматическом выполнении аварийного переброса. Для получения информации о событиях, связанных с узлом ElastiCache, воспользуйтесь API DescribeEvents или разделом «Events» Консоли управления ElastiCache.

Вопрос: После выполнения аварийного переброса основной узел оказался не в той зоне доступности, в которой находятся другие ресурсы AWS (например, инстансы EC2). Повлияет ли это на время задержки?

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

Вопрос: Где найти дополнительную информацию о функции множества зон доступности?

Подробнее об использовании множества зон доступности см. в документации ElastiCache.


Вопрос: Что представляет собой функция резервного копирования и восстановления?

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

Вопрос: Что такое снимок состояния?

Снимок состояния – это копия всего кластера Redis на определенный момент времени.

Вопрос: Зачем нужны снимки состояния?

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

Вопрос: Для чего предназначены снимки состояния?

Снимки состояния можно использовать для быстрого запуска кластера ElastiCache для Redis с предварительно загруженными данными.

Вопрос: Как работает функция резервного копирования и восстановления?

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

При выборе снимка состояния для восстановления будет создан новый кластер ElastiCache для Redis, содержащий данные этого снимка состояния. Подобным образом можно создать множество кластеров ElastiCache для Redis на основе выбранного снимка состояния.

В настоящее время сервис ElastiCache использует встроенный механизм Redis для создания и сохранения файлов RDB в качестве снимков состояния.

Вопрос: Где хранятся снимки состояния?

Снимки состояния хранятся в хранилище S3.

Вопрос: Как начать выполнение резервного копирования и восстановления?

Вы можете воспользоваться функцией резервного копирования и восстановления в Консоли управления AWS, API ElastiCache (CreateCacheCluster, ModifyCacheCluster и ModifyReplicationGroup) или интерфейсом командной строки. Выполнение этих операций можно в любой момент прекратить или запустить снова.

Вопрос: Как задать выполнение резервного копирования для определенного кластера или узла Redis?

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

Вопрос: Как задать время резервного копирования?

С помощью Консоли управления AWS, интерфейса командной строки или API вы можете задать время запуска разового резервного копирования либо периодического резервного копирования. Вы можете:

  • незамедлительно сделать снимок состояния с помощью кнопки «Create Snapshot» или API CreateSnapshot;
  • задать автоматическое ежедневное резервное копирование. Оно будет выполняться в течение интервала резервного копирования. Эти настройки можно задать в консоли с помощью опций «Creating/Modifying cluster» или API CreateCacheCluster, ModifyCacheCluster или ModifyReplicationGroup.

Вопрос: Что такое интервал резервного копирования и зачем он нужен?

Интервал резервного копирования – это задаваемый пользователем промежуток времени, в течение которого запускается резервное копирование кластера ElastiCache для Redis. Данная возможность весьма удобна, если вам требуется запускать резервное копирование в определенное время суток или исключить запуск резервного копирования в период интенсивного использования кластера.

Вопрос: Как создание снимков состояния влияет на производительность?

При создании снимка состояния может наблюдаться кратковременное увеличение задержки работы узла. Процесс создания снимков состояния зависит от характеристик и ограничений встроенной функции Redis BGSAVE. Она работает так, что процесс обработки Redis разветвляется: родительский процесс продолжает обслуживать запросы, а дочерний процесс сохраняет данные на диск и завершает работу. Этим разветвлением обусловлено повышенное использование ресурсов памяти во время создания снимка состояния. Если ресурсов памяти требуется больше, чем может предоставить узел кэша, то может включиться функция подкачки, что замедлит работу узла. В связи с этим рекомендуется создавать снимки состояния на основе одной из реплик чтения, а не основного узла. Рекомендуется также задать параметр резервирования памяти, чтобы свести использование подкачки к минимуму. Подробнее см. по ссылке.

Вопрос: Можно ли создать снимок состояния на основе реплики чтения ElastiCache для Redis?

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

Вопрос: В каких регионах доступна функция резервного копирования и восстановления?

Функция резервного копирования и восстановления доступна во всех регионах, в которых доступен сервис ElastiCache.

Вопрос: Можно ли экспортировать снимки состояния ElastiCache для Redis в принадлежащую мне корзину S3?

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

Вопрос: Можно ли копировать снимки состояния из одного региона в другой?

Да. Сначала нужно скопировать снимок состояния в выбранную вами авторизованную корзину S3, находящуюся в том же регионе, и затем использовать вызов API S3 PUT object-Copy для копирования его в корзину, находящуюся в другом регионе. Подробнее о копировании объектов S3 см. по ссылке.

Вопрос: Я пользуюсь сервисом ElastiCache для Redis в нескольких аккаунтах AWS. Могу ли я использовать снимки состояния ElastiCache одного аккаунта для запуска кластера ElastiCache для Redis в другом аккаунте?

Да. Сначала нужно скопировать снимок состояния в выбранную вами авторизованную корзину S3, находящуюся в том же регионе, и затем предоставить другому аккаунту разрешение на доступ к корзине. Подробнее о доступе к S3 для нескольких аккаунтов см. по ссылке. После этого укажите местонахождение своего файла RDB в хранилище S3 при создании кластера с помощью мастера запуска кластера кэша в консоли или вызова API CreateCacheCluster.

Вопрос: Какова стоимость использования функции резервного копирования и восстановления?

Сервис Amazon ElastiCache позволяет бесплатно хранить по одному из снимков состояния для каждого активного инстанса ElastiCache в кластере Redis. За хранение дополнительных снимков состояния плата начисляется в зависимости от используемого объема хранилища по тарифу 0,085 USD/ГБ в месяц (единый тариф для всех регионов). Передача данных, связанных с использованием снимков состояния, не тарифицируется.

Вопрос: Что такое срок хранения снимков состояния?

Срок хранения снимков состояния – это промежуток времени, в течение которого хранятся автоматически созданные снимки состояния. Например, если задано значение срока хранения, равное 5, то созданный сегодня снимок состояния будет храниться на протяжении пяти дней, после чего будет удален. Вы можете сделать копии одного и более автоматически создаваемых снимков состояния и хранить их как снимки состояния, созданные вручную. В этом случае они не будут удалены по окончании срока хранения.

Вопрос: Как задать срок хранения автоматически создаваемых снимков состояния?

Используйте Консоль управления AWS или API ModifyCluster для управления периодом хранения автоматизированных резервных копий; для этого нужно изменить параметр RetentionPeriod. Если вы хотите полностью отключить автоматическое резервное копирование, установите период хранения равным нулю (не рекомендуется).

Вопрос: Что произойдет со снимками состояния при удалении кластера ElastiCache для Redis?

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

Вопрос: Какие типы узлов кэша поддерживают функцию резервного копирования и восстановления?

Функцию резервного копирования и восстановления поддерживают все типы узлов ElastiCache для Redis, за исключением узлов t1.micro и узлов семейства t2.

Узлы кэша текущего поколения:

  • cache.m3.medium
  • cache.m3.large
  • cache.m3.xlarge
  • cache.m3.2xlarge
  • cache.r3.large
  • cache.r3.xlarge
  • cache.r3.2xlarge
  • cache.r3.4xlarge
  • cache.r3.8xlarge

Узлы кэша предыдущего поколения:

  • cache.m1.small
  • cache.m1.medium
  • cache.m1.large
  • cache.m1.xlarge
  • cache.m2.xlarge
  • cache.m2.2xlarge
  • cache.m2.4xlarge
  • cache.c1.xlarge

Вопрос: Могу ли я использовать собственные снимки состояния RDB из хранилища S3 для запуска кластера ElastiCache для Redis?

Да. Вы можете указать местонахождение своего файла RDB в хранилище S3 при создании кластера с помощью мастера запуска кластера кэша в консоли или API CreateCacheCluster.

Вопрос: Можно ли использовать функции резервного копирования и восстановления при работе с ElastiCache в облаке VPC?

Да.


Вопрос: Что представляет собой изменение размера работающего кластера?

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

Вопрос: Каковы преимущества использования изменения размера работающего кластера?

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

Вопрос: Как можно использовать возможность изменения размера работающего кластера?

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

Вопрос: Сколько времени занимает изменение размера работающего кластера?

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

Вопрос: Может ли кластер использоваться во время изменения его размера?

Да, пока выполняется изменение количества сегментов, кластер продолжает оставаться в сети и обслуживать входящие запросы. Однако для предотвращения увеличения нагрузки на кластер во время изменения количества сегментов не поддерживается создание снимков состояния кластера.

Вопрос: Влияет ли эта операция на производительность кластера?

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

Вопрос: Как можно отслеживать ход операции по изменению количества сегментов работающего кластера?

Процесс выполнения операции можно отслеживать по состоянию кластера, сегментов и узлов. Во время операции кластер, сегменты и узлы будут находиться в состоянии «modifying». При создании и удалении сегментов или во время их участия в миграции слотов состояние каждого отдельного сегмента будет отображаться аналогичным образом для индикации выполнения операции. Кроме того, статус операции в целом можно отслеживать с помощью индикатора выполнения операции по изменению количества сегментов, который отображает процент выполнения и оставшееся время операции. И наконец, ход выполнения отражают сообщения о событиях, так как в них содержатся описания предпринимаемых действий (создание сегмента, миграция слота и т. д.) в ходе операции.

Вопрос: Что такое операция перебалансировки для ElastiCache для кластера Redis?

Операция перебалансировки может использоваться для перераспределения слотов между существующими сегментами с целью достичь равномерного распределения. Эта операция может оказаться полезной, когда кластер создается с заданным вручную распределением слотов или когда в результате масштабирования в кластере сформировалось неоднородное распределение. Если учесть, что все слоты идентичны в плане требований к памяти и ресурсам ввода-вывода, равномерное количественное распределение слотов позволит легко выполнить балансировку нагрузки между сегментами.

Вопрос: Что происходит с тегами при увеличении масштаба кластера?

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

Вопрос: Требуется ли вносить изменения на стороне клиента или приложений для использования изменения размера работающего кластера?

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

Вопрос: Сколько стоит использование улучшенного программного ядра Redis?

Дополнительная плата за использование улучшенного программного ядра Redis не взимается. Оплате, как и всегда, подлежат только используемые узлы.

 


Вопрос: Что обеспечивает шифрование данных при передаче в ElastiCache для Redis?

Возможность шифрования данных при передаче позволяет шифровать все данные, передаваемые между клиентами и сервером Redis, а также между серверами Redis (основными узлами и репликами чтения).

Вопрос: Что обеспечивает шифрование данных при хранении в ElastiCache для Redis?

Шифрование данных при хранении позволяет шифровать данные во время резервного копирования и восстановления: данные резервных копий, хранимых в Amazon S3, и данные, восстанавливаемые на диск из Amazon S3, зашифрованы.

Вопрос: Как можно использовать шифрование данных при передаче и хранении, а также Redis AUTH?

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

Вопрос: Нужно ли использовать какой-либо конкретный клиент Amazon ElastiCache для Redis, если применяется шифрование данных при передаче и хранении?

Нет. Для шифрования данных при передаче требуется, чтобы клиенты поддерживали TLS. Большинство популярных клиентов Redis (таких как Lettuce, Predis, go-Redis) поддерживают TLS, если выполнить соответствующие настройки в конфигурации. Следует убедиться, что выбранный клиент Redis настроен на поддержку TLS, и продолжать использовать ElastiCache для Redis в прежнем режиме.

Вопрос: Можно ли включить шифрование данных при передаче и хранении на существующих кластерах ElastiCache для Redis?

Нет. Шифрование данных при передаче и хранении можно включить только на новых кластерах, оно не поддерживается на существующих кластерах ElastiCache для Redis. ElastiCache для Redis 3.2.6 – это первая версия, которая поддерживает такие возможности.

Вопрос: Требуются ли какие-либо действия для возобновления сертификатов?

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

Вопрос: Можно ли использовать для шифрования свои сертификаты?

Нет. В настоящее время ElastiCache не предоставляет возможность использовать собственные сертификаты. ElastiCache управляет сертификатами прозрачно для клиентов.

Вопрос: Какие типы инстансов можно использовать для шифрования при передаче и хранении?

Шифрование при передаче и хранении поддерживают все инстансы текущего поколения.

Вопрос: Возникают ли дополнительные расходы при использовании шифрования?

За использование шифрования дополнительная плата не взимается.

 


Вопрос: Соответствует ли Amazon ElastiCache для Redis требованиям HIPAA?

Да, Amazon ElastiCache для Redis соответствует требованиям HIPAA и включен в договор делового партнерства (BAA) с AWS. Это означает, что ElastiCache для Redis можно использовать для обработки, обслуживания и хранения закрытой медицинской информации (PHI) и применять в приложениях для сферы здравоохранения.

Вопрос: Как начать использовать сервис ElastiCache для Redis, чтобы обеспечить соответствие требованиям HIPAA?

Если договор делового партнерства (BAA) с AWS уже заключен, можно сразу использовать ElastiCache для Redis для создания приложений, соответствующих требованиям HIPAA. Если договора BAA нет или имеются другие вопросы об использовании AWS для приложений, соответствующих требованиям HIPAA, свяжитесь с нами для получения дополнительной информации. См. техническое описание Создание на AWS безопасной архитектуры, соответствующей требованиям HIPAA для получения информации о настройке сервисов Amazon, соответствующих требованиям HIPAA, для хранения, обработки и передачи PHI.

Вопрос: Какие программы соответствия требованиям поддерживает ElastiCache для Redis?

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

Вопрос: Взимается ли дополнительная плата за использование возможностей соответствия требованиям?

Нет, дополнительная плата за использование возможностей соответствия требованиям не взимается.