Вопрос: Что представляет собой 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 4.0.10, 3.2.10, 3.2.6, 3.2.4, 2.8.24, 2.8.23, 2.8.22, 2.8.21, 2.8.19, 2.8.6 и 2.6.13.

Вопрос: Сколько стоит 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, чтобы можно было продолжить использовать адрес основного узла, и после назначения этот адрес будет указывать на новый основной узел. Подробнее см. в разделе Развертывание в нескольких зонах доступности этой страницы вопросов и ответов. При выборе репликации Redis без поддержки нескольких зон доступности в случае сбоя основного узла будет предложено инициировать обработку отказа на узел реплики чтения. Целевой узел для обработки отказа может находиться в той же самой либо в другой зоне доступности. Для обработки отказа на первоначальную зону назначьте находящуюся в ней реплику чтения основным узлом. Приложение можно построить таким образом, чтобы клиентская библиотека Redis после этого принудительно подключалась к восстановленному серверному узлу Redis. Это целесообразно в связи с тем, что некоторые библиотеки Redis прекращают работу с сервером на неопределенный срок при возникновении ошибок или простоев.

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

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

Если поддержка нескольких зон доступности не включена, сервис 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 AUTH. Это опциональная возможность, доступная в ElastiCache для Redis версий 3.2.6, 4.0.10 и более новых. Чтобы использовать Redis AUTH в кластере ElastiCache для 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?

В Amazon ElastiCache есть две метрики для оценки того, как рабочие нагрузки ElastiCache для Redis загружают ЦПУ: EngineCPUUtilization и CPUUtilization. Метрика CPUUtilization оценивает загрузку ЦПУ для каждого инстанса (узла), а EngineCPUUtilization – общую загрузку ЦПУ на уровне процесса Redis. Метрика EngineCPUUtilization введена в дополнение к метрике CPUUtilization, так как основной процесс Redis является однопоточным и использует только одно ядро из всех доступных на инстансе ядер ЦПУ. Соответственно, метрика CPUUtilization не отражает в полной мере степень загрузки ЦПУ на уровне процесса Redis. Чтобы точно понимать фактическую загрузку ЦПУ на кластерах Redis, рекомендуется использовать сочетание метрик CPUUtilization и EngineCPUUtilization. Обе метрики доступны во всех регионах AWS, а работать с ними можно с помощью сервиса CloudWatch или Консоли управления AWS.


Вопрос: Что собой представляет узел кэша 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. Порядок распределения трафика чтения по множеству реплик чтения определяется приложением. Несколько дополнительных подробностей:

  • Кластеры Redis (режим кластера отключен) используют отдельные адреса узла для операций чтения (в API/CLI они называются адресами чтения).
  • Кластеры Redis (режим кластера включен) используют для всех операций адрес конфигурации кластера. Необходимо использовать клиент с поддержкой кластеров Redis (Redis 3.2). Кроме того, выполнять операции чтения по-прежнему можно из адресов узлов (в API/CLI они называются адресами чтения).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сервис Amazon ElastiCache отслеживает состояние репликации всех реплик чтения и выводит ошибку в поле состояния репликации в случае прекращения репликации по какой‑либо причине. Чтобы отобразить подробности ошибки, выданной Redis, просмотрите поле «Replication Error» (Ошибки репликации); после этого можно предпринять соответствующие меры для устранения ее последствий. Подробнее о решении проблем репликации см. в разделе Troubleshooting a Read Replica problem «Руководства пользователя Amazon ElastiCache». Если ошибка репликации исправлена, в поле состояния репликации будет указано значение «Replicating» (Выполняется репликация).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Да. Можно добавлять и удалять реплики чтения в одном или нескольких сегментах кластерной среды Redis. Кластер остается доступным и обслуживает входящие операции ввода-вывода во время процесса удаления.


Вопрос: Что представляет собой возможность использования нескольких зон доступности (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.24, 2.8.23, 2.8.22, 2.8.21, 2.8.19 и 2.8.6). Перемещение группы репликации в несколько зон доступности не повлияет на целостность существующих данных 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 на основе выбранного снимка состояния.

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

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

Снимки состояния хранятся в хранилище 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.m4.large
  • cache.m4.xlarge
  • cache.m4.2xlarge
  • cache.m4.4xlarge
  • cache.m4.10xlarge
  • cache.r3.large
  • cache.r3.xlarge
  • cache.r3.2xlarge
  • cache.r3.4xlarge
  • cache.r3.8xlarge
  • cache.r4.large
  • cache.r4.xlarge
  • cache.r4.2xlarge
  • cache.r4.4xlarge
  • cache.r4.8xlarge
  • cache.r4.16xlarge

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

  • 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. При создании и удалении сегментов или во время их участия в миграции слотов состояние каждого отдельного сегмента будет отображаться аналогичным образом для индикации хода операции. Кроме того, статус операции в целом можно отслеживать с помощью индикатора выполнения операции по изменению количества сегментов , который отображает процент выполнения и расчетное время до завершения операции. И наконец, ход выполнения отражают сообщения о событиях, так как в них содержатся описания предпринимаемых действий (создание сегмента, миграция слота и т. д.) в ходе операции.

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

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

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

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

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

Нет. Усовершенствованный процесс распределения слотов, используемый в процессе масштабирования кластера, полностью совместим с настройками клиентов кластера 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 версий 4.0.10 и 3.2.6.

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

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

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

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

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

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

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

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

 


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

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

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

Да, Amazon ElastiCache для Redis входит в программу соответствия AWS требованиям PCI.

Ресурсы с подробной информацией см. ниже.

Текущий список программ соответствия требованиям, распространяющихся на Amazon ElastiCache для Redis, см. на странице Сервисы AWS в программе обеспечения соответствия.

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

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

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

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

Вопрос: Получил ли Amazon ElastiCache для Redis авторизацию FedRAMP?

Amazon ElastiCache для Redis входит в программу соответствия AWS требованиям FedRAMP в качестве авторизованного сервиса. С помощью последней версии сервиса ElastiCache для Redis клиенты и партнеры правительства США могут обрабатывать и хранить данные и системы, соответствующие требованиям FedRAMP, а также размещать критически важные рабочие процессы с высоким уровнем риска в регионе AWS GovCloud (США), а процессы со средним уровнем риска – в регионах AWS Восток и Запад США.

Ресурсы с подробной информацией см. ниже.

Текущий список программ соответствия требованиям, распространяющихся на Amazon ElastiCache для Redis, см. на странице Сервисы AWS в программе обеспечения соответствия.

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

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