Вопрос: Что такое Amazon ElastiCache?

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

Amazon ElastiCache позволяет автоматизировать стандартные административные задачи по обеспечению работы распределенной среды хранения в памяти данных типа «ключ‑значение». Используя Amazon ElastiCache, всего за пару минут с помощью нескольких щелчков мышью в Консоли управления AWS можно добавить в архитектуру своего приложения уровень кэширования или хранения в памяти. Когда кластер создан, Amazon ElastiCache автоматически определяет и заменяет вышедшие из строя узлы, формируя отказоустойчивую систему, которая сводит к минимуму риск перегрузок баз данных и его негативное влияние на скорость загрузки веб‑сайтов и приложений. Благодаря интеграции со средствами мониторинга Amazon CloudWatch сервис Amazon ElastiCache предлагает расширенные возможности наблюдения за метриками производительности узлов. Протоколы, используемые Amazon ElastiCache, совместимы с Memcached и Redis, поэтому код, приложения и популярные инструменты, уже используемые в существующих средах Memcached или Redis, будут эффективно работать с этим сервисом. Поддержка кластерной конфигурации в Amazon ElastiCache дает клиентам преимущества быстрого, масштабируемого и простого в использовании сервиса, отвечающего требованиям самых ресурсоемких приложений. Как и при работе с другими сервисами Amazon Web Services, здесь не требуются предварительные капиталовложения. Оплата начисляется только за используемые ресурсы.

Вопрос: Что такое кэширование в памяти и как оно может помочь приложениям?

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

Вопрос: Можно ли использовать Amazon ElastiCache для других целей, кроме кэширования?

Да. ElastiCache для Redis можно использовать как основное хранилище данных типа «ключ‑значение» в памяти. Такое хранилище обеспечивает высокую производительность, измеряемую долями миллисекунд , высокую доступность и масштабирование до 15 узлов с пятью дополнительными репликами чтения. Объем каждой реплики чтения может достигать 9,5 ТиБ данных в памяти. Другие примеры использования (таблицы лидеров, ограничение интенсивности, очереди и чат) описаны тут.

Вопрос: Можно ли использовать Amazon ElastiCache с помощью сервиса AWS CloudFormation?

AWS CloudFormation упрощает выделение ресурсов AWS и управление ими при помощи шаблонов AWS CloudFormation, которые обеспечивают быстрое и надежное выделение сервисов и приложений. AWS CloudFormation обеспечивает комплексную поддержку сервиса Amazon ElastiCache путем предоставления шаблонов для создания кластеров  (как Memcached , так и Redis) и групп репликации. Шаблоны соответствуют последним анонсированным для ElastiCache для Redis кластерным конфигурациям Redis и предоставляют пользователям возможность просто и гибко работать с Amazon ElastiCache.

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

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

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

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

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

Amazon ElastiCache для Memcached в настоящее время поддерживает Memcached версий 1.4.34, 1.4.33, 1.4.24, 1.4.14 и 1.4.5.

Amazon 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?

Если вы еще не зарегистрировались в сервисе Amazon ElastiCache, можно нажать кнопку «Зарегистрироваться» на странице сведений о сервисе Amazon ElastiCache и пройти процесс регистрации. Для этого потребуется аккаунт Amazon Web Services. Если такового еще нет, вам будет предложено создать его в начале процесса регистрации в сервисе Amazon ElastiCache. После регистрации в ElastiCache обратитесь к документации Amazon ElastiCache, в которую входит Руководство по началу работы.

После ознакомления с Amazon ElastiCache можно за считаные минуты запустить кластер с помощью Консоли управления AWS или API Amazon ElastiCache.

Вопрос: Как создать кластер?

Кластеры просто создать с помощью Консоли управления AWS, API Amazon ElastiCache или инструментов командной строки. Чтобы запустить кластер с помощью Консоли управления AWS, щелкните кнопку «Create» (Создать) на вкладке Memcached или Redis. Все, что требуется указать для создания кластера с требуемым объемом памяти, – это идентификатор кластера, тип узла и количество узлов. Как вариант, кластер можно создать с помощью вызова API CreateCacheCluster или команды elasticache ‑create‑cache‑cluster. Если при создании кластера не указана зона доступности, AWS разместит его автоматически, основываясь на требованиях к памяти и доступных ресурсах.

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

Amazon ElastiCache поддерживает следующие типы узлов.

Узлы текущего поколения

  • cache.m4.large: 6,42 ГБ
  • cache.m4.xlarge: 14,28 ГБ
  • cache.m4.2xlarge: 29,7 ГБ
  • cache.m4.4xlarge: 60,78 ГБ
  • cache.m4.10xlarge: 154,64 ГБ
  • cache.m5.large: 6,38 ГБ
  • cache.m5.xlarge: 12,93 ГБ
  • cache.m5.2xlarge: 26,04 ГБ
  • cache.m5.4xlarge: 52,26 ГБ
  • cache.m5.12xlarge: 157,12 ГБ
  • cache.m5.24xlarge: 314,32 ГБ
  • cache.r4.large: 12,3 ГБ
  • cache.r4.xlarge: 25,05 ГБ
  • cache.r4.2xlarge: 50,47 ГБ
  • cache.r4.4xlarge: 101,38 ГБ
  • cache.r4.8xlarge: 203,26 ГБ
  • cache.r4.16xlarge: 407 ГБ
  • cache.r5.large: 13,07 ГБ
  • cache.r5.xlarge: 26,32 ГБ
  • cache.r5.2xlarge: 52,82 ГБ
  • cache.r5.4xlarge: 105,81 ГБ
  • cache.r5.12xlarge: 317,77 ГБ
  • cache.r5.24xlarge: 635,61 ГБ
  • cache.t2.micro: 555 МБ
  • cache.t2.small: 1,55 ГБ
  • cache.t2.medium: 3,22 ГБ
 
Узлы предыдущего поколения
 
  • cache.m1.small: 1,3 ГБ
  • cache.m1.medium: 3,35 ГБ
  • cache.m1.large: 7,1 ГБ
  • cache.m1.xlarge: 14,6 ГБ
  • cache.m2.xlarge: 16,7 ГБ
  • cache.m2.2xlarge: 33,8 ГБ
  • cache.m2.4xlarge: 68 ГБ
  • cache.m3.medium: 2,78 ГБ
  • cache.m3.large: 6,05 ГБ
  • cache.m3.xlarge: 13,3 ГБ
  • cache.m3.2xlarge: 27,9 ГБ
  • cache.r3.large: 13,5 ГБ
  • cache.r3.xlarge: 28,4 ГБ
  • cache.r3.2xlarge: 58,2 ГБ
  • cache.r3.4xlarge: 118 ГБ
  • cache.r3.8xlarge: 237 ГБ
  • cache.t1.micro: 213 МБ
  • cache.c1.xlarge: 6,6 ГБ

Для каждого типа узла в списке указан объем памяти, доступный для Memcached или Redis после вычета дополнительного объема памяти, необходимого для системного ПО Amazon ElastiCache. Общий объем памяти в кластере кратен объему памяти, доступному в каждом сегменте. Например, кластер, состоящий из десяти сегментов по 6 ГБ каждый, будет обеспечивать общий объем памяти 60 ГБ.

Вопрос: Как получить доступ к узлам?

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

  • Перейти на вкладку Amazon ElastiCache.
  • Нажать ссылку «(Number of) Nodes» (Количество узлов) и перейти на вкладку «Nodes» (Узлы).
  • Нажать кнопку «Copy Node Endpoint(s)» (Копировать адрес(а) узла).

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

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

Вопрос. Что такое окно обслуживания? Будут ли узлы доступны в течение интервала обслуживания ПО?

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

Если запланирована установка исправлений ПО, во время интервала обслуживания могут наблюдаться перерывы в работе узлов. Для получения подробных сведений обратитесь к «Руководству по управлению версиями сервиса». Установка исправлений может выполняться по запросу пользователя, например при обновлении ПО кэширования, или при возникновении необходимости (если мы обнаружим уязвимости безопасности в системе или ПО кэширования). Установка исправлений ПО происходит довольно редко (обычно один раз в несколько месяцев) и, как правило, занимает незначительную часть заданного интервала обслуживания. Если предпочтительный еженедельный интервал обслуживания не будет указан при создании кластера, ему присваивается значение по умолчанию, равное 60 минутам . Интервал обслуживания можно изменить, отредактировав инстанс БД в Консоли управления AWS или вызвав API ModifyCacheCluster. При необходимости для каждого из кластеров можно задать различные предпочтительные интервалы обслуживания.


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

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

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

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

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

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

Вопрос: Ваши цены указаны с учетом налогов?

Если не указано иное, представленные здесь цены не включают применимые налоги и сборы, в том числе НДС и применимый налог с продаж. Для клиентов с платежным адресом в Японии использование сервисов AWS облагается потребительским налогом Японии. Подробнее.


Вопрос: Что такое зарезервированные узлы Amazon ElastiCache?

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

Вопрос: Чем зарезервированные узлы отличаются от узлов по требованию?

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

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

Для этого можно использовать опцию Purchase Reserved Nodes в Консоли управления AWS. Можно также воспользоваться инструментами API: с помощью метода API DescribeReservedCacheNodesOfferings можно отобразить список доступных для резервирования узлов, а затем приобрести зарезервированный узел, вызвав метод PurchaseReservedCacheNodesOffering.

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

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

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

Вопрос: Сколько зарезервированных узлов можно приобрести?

Сервис позволяет приобрести до 20 зарезервированных узлов. Если требуется запустить более 20 узлов, заполните форму запроса узлов Amazon ElastiCache.

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

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

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

Изменение тарифов, связанное с зарезервированным узлом, произойдет сразу после получения запроса и обработки платежа. За состоянием зарезервированных узлов кэша можно следить на странице AWS «История аккаунта» или с помощью API DescribeReservedCacheNodes. Если разовый платеж не удастся успешно выполнить к началу следующего расчетного периода, тариф со скидкой применен не будет.

По истечении срока резервирования за использование узла будет взиматься почасовая плата как за узел по требованию, согласно классу узла и региону.

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

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

Вопрос: Можно ли перенести зарезервированный узел из одного региона в другой или из одной зоны доступности в другую?

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

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

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


Вопрос: Как управлять доступом к Amazon ElastiCache?

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

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

Обратите внимание: контроль доступа на базе диапазона IP‑адресов для кластеров в настоящее время не поддерживается. Все клиенты, подключаемые к кластеру, должны находиться в сети EC2 и проходить авторизацию с помощью групп безопасности, как описано выше.

Если используется облако VPC, дополнительную информацию см. по ссылке.

Вопрос: Могут ли программы, работающие на серверах в моем собственном центре обработки данных, получать доступ к данным Amazon ElastiCache?

Да. Вы можете получить доступ к кластеру Amazon ElastiCache с приложения, запущенного в вашем центре обработки данных, при условии, что между ним и вашим VPC настроено подключение через VPN или Direct Connect. Дополнительную информацию см. здесь.

Вопрос: Могут ли программы, работающие на инстансах EC2 в облаке VPC, получать доступ к Amazon ElastiCache?

Да, инстансы EC2 в VPC могут получать доступ к Amazon ElastiCache, если кластер ElastiCache был создан в VPC. Подробные сведения о создании кластера Amazon ElastiCache в облаке VPC см. по ссылке.

Вопрос: Что такое виртуальное частное облако Amazon Virtual Private Cloud (VPC) и в каких случаях может понадобиться использовать его с сервисом Amazon ElastiCache?

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

Одним из сценариев, когда может понадобиться использовать Amazon ElastiCache в облаке VPC, является запуск публичного интернет‑приложения, при котором все внутренние серверы, доступ к которым не предоставляется публично, должны находиться в частной подсети. Например, можно создать публичную подсеть с доступом к сети Интернет для веб‑серверов и расположить серверную инфраструктуру в частной подсети без доступа к Интернету. Серверная инфраструктура может включать в себя инстансы БД RDS и кластер Amazon ElastiCache, обеспечивающий уровень данных в памяти. Дополнительные сведения об Amazon VPC см. в Руководстве пользователя Amazon Virtual Private Cloud.

Вопрос: Как создать кластер Amazon ElastiCache в VPC?

Чтобы рассмотреть пример создания кластера Amazon ElastiCache в VPC, обратитесь к Руководству пользователя Amazon ElastiCache.

Ниже приведены требования, которые должны быть соблюдены для создания кластера в облаке VPC.

  • Для используемого VPC должна быть настроена хотя бы одна подсеть. Дополнительные сведения о создании Amazon VPC и подсетей см. в Руководстве по началу работы с Amazon VPC.
  • Для VPC должна быть определена группа подсетей.
  • Для VPC должна быть определена группа безопасности VPC (можно использовать группу безопасности по умолчанию).
  • Кроме того, необходимо выделить блоки бесклассовой адресации достаточно большого размера для каждой из своих подсетей для обеспечения достаточного числа резервных IP‑адресов для Amazon ElastiCache, которые могли бы использоваться при проведении технического обслуживания, такого как замена узла кэша.

Вопрос: Как создать кластер Amazon ElastiCache в существующем VPC?

Процедура создания кластера Amazon ElastiCache в существующем VPC аналогична его созданию в только что созданном VPC. Подробные сведения см. по ссылке.

Вопрос: Как подключиться к узлу ElastiCache в VPC?

К узлам Amazon ElastiCache, развертывание которых выполнено в VPC, можно получить доступ из инстансов EC2 в том же VPC. Если эти инстансы EC2 были развернуты в публичной подсети с соответствующими эластичными IP‑адресами, можно получить доступ к инстансам EC2 через Интернет.

Если требуется получить доступ к узлам Amazon ElastiCache, развернутым в VPC, из Интернета или инстансов EC2 за пределами этого VPC, см. руководство по ссылке.

Мы настоятельно рекомендуем использовать для подключения к узлу ElastiCache имя DNS, поскольку связанный с узлом IP‑адрес может измениться (например, после замены узла кэша).

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

Группа подсетей – это набор подсетей, которые нужно назначить кластеру Amazon ElastiCache в VPC. Группа подсетей создается с помощью консоли Amazon ElastiCache. В каждой группе подсетей должна быть как минимум одна подсеть. Пользователи Amazon ElastiCache используют группу подсетей для выбора подсети. IP‑адреса из выбранной подсети затем связываются с адресами узла. Кроме того, Amazon ElastiCache создает и связывает эластичные сетевые интерфейсы с узлами с помощью ранее указанных IP‑адресов.

Обратите внимание: мы настоятельно рекомендуем использовать для подключения к узлам имена DNS, поскольку связанные с ними IP‑адреса могут измениться (например, после замены узла).

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

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

Вопрос: Чем использование Amazon ElastiCache внутри VPC отличается от его использования за пределами VPC?

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

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

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

Нет, перенести существующий кластер Amazon ElastiCache, находящийся за пределами VPC, в VPC нельзя. Необходимо создать новый кластер Amazon ElastiCache в облаке VPC.

Вопрос: Можно ли перенести свой существующий кластер ElastiCache из VPC за пределы VPC?

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

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

При развертывании вне VPC Amazon ElastiCache позволяет управлять доступом к кластеру и узлам с помощью групп безопасности. Группа безопасности работает как брандмауэр, управляя сетевым доступом к узлу. По умолчанию сетевой доступ к узлам запрещен. Если требуется открыть доступ к узлу для приложений, можно настроить группу безопасности для разрешения доступа из инстансов EC2, входящих в состав определенной группы безопасности EC2 или имеющих IP‑адрес из определенного диапазона IP‑адресов. Такой процесс называется приемом данных. После настройки приема данных для группы безопасности аналогичные правила применяются ко всем узлам, связанным с этой группой безопасности. Группы безопасности можно настроить в разделе Security Groups консоли Amazon ElastiCache или с помощью API Amazon ElastiCache.

При развертывании в VPC доступ к узлам контролируется с помощью группы безопасности VPC и группы подсетей. Группа безопасности VPC является эквивалентом группы безопасности.

Вопрос: Что нужно предпринять, чтобы убедиться, что узлы ElastiCache в VPC доступны для приложения?

Изменение таблиц маршрутизации и списков контроля доступа к сети в облаке VPC, обеспечивающее доступ к узлам ElastiCache для клиентских инстансов в VPC, относится к сфере ответственности пользователя. Дополнительные сведения см. в документации Amazon ElastiCache.

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

Нет, группы безопасности при работе в VPC не используются. Они используются только в конфигурациях без VPC. При создании кластера в VPC требуется использовать группы безопасности VPC.

Вопрос: Можно ли связать обычную группу безопасности EC2 с кластером, работающим в VPC?

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

Вопрос: Могут ли узлы кластера ElastiCache входить сразу в несколько подсетей?

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


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

Группа параметров работает как контейнер для параметров настройки сервиса и может применяться к одному или нескольким кластерам. Если создать кластер без указания группы параметров, к нему будет применена группа параметров по умолчанию. В этой группе содержатся параметры работы сервиса и системы Amazon ElastiCache по умолчанию, оптимизированные для используемого кластера. Однако если требуется определить специальные параметры работы для кластера, нужно просто создать новую группу параметров, настроить необходимые параметры, а также настроить кластер для использования новой группы параметров. Значения параметров автоматически обновляются на всех кластерах, связанных с измененной группой параметров. Дополнительную информацию о настройке групп параметров см. в Руководстве пользователя Amazon ElastiCache.

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

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

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

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


Вопрос: Что можно кэшировать с помощью Amazon ElastiCache для Memcached?

С помощью этого сервиса можно кэшировать различные объекты: от содержимого хранилищ данных длительного хранения (таких как Amazon RDS, DynamoDB или самостоятельно управляемых БД, размещаемых в EC2) до динамически создаваемых веб‑страниц (например, с Nginx) или данных переходных сеансов, для которых может не требоваться постоянное хранилище. Memcached также можно использовать для реализации высокочастотных счетчиков для развертывания управления доступом в крупных интернет‑приложениях.

Вопрос: Можно ли использовать Amazon ElastiCache для Memcached с хранилищами AWS длительного хранения данных, такими как Amazon DynamoDB или Amazon RDS?

Да, Amazon ElastiCache является идеальной интерфейсной частью для хранилищ данных, таких как Amazon DynamoDB и Amazon RDS. Он может обеспечить высокопроизводительный промежуточный уровень для приложений с большим количеством запросов и/или жесткими требованиями к задержке.

Вопрос: Я сейчас использую Memcached. Как мне перейти на использование Amazon ElastiCache?

Протоколы, используемые Amazon ElastiCache, совместимы с Memcached. Таким образом, в сервисе можно использовать стандартные операции Memcached, такие как get, set, incr и decr точно так же, как в существующей среде Memcached. Amazon ElastiCache поддерживает как текстовые, так и двоичные протоколы. Он также поддерживает большинство стандартных статистических результатов, которые также можно просмотреть в графическом виде с помощью CloudWatch. Все это позволяет перейти к использованию Amazon ElastiCache без перекомпиляции или повторного связывания приложений: библиотеки, которые уже используются, продолжат работать. Чтобы настроить серверы кэширования, к которым получает доступ приложение, нужно просто обновить файл конфигурации Memcached, чтобы включить в него адреса серверов (узлов), которые выделены пользователю. Чтобы получить список адресов, просто воспользуйтесь опцией «Copy Node Endpoints» (Копировать адреса узлов) в Консоли управления AWS или API DescribeCacheClusters. Как и в случае любой другой миграции, мы рекомендуем провести тщательное тестирование Amazon ElastiCache после развертывания и только после этого полностью переходить на его использование вместо текущего решения.

Обратите внимание на то, что доступ к Amazon ElastiCache в настоящее время возможен только из сети Amazon EC2, поэтому чтобы пользоваться этим сервисом, требуются серверы приложений в Amazon EC2.

Amazon ElastiCache использует записи DNS, чтобы разрешать клиентским приложениям обнаруживать серверы (узлы). Имя DNS для узла остается постоянным, но IP‑адрес узла может измениться с течением времени, например если узлы были автоматически заменены после сбоя в случае развертывания сервиса вне VPC. См. рекомендации по действиям в случае сбоев узлов на данной странице вопросов и ответов.


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

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

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

Требуемый объем памяти зависит от размера набора данных и схемы доступа приложения. Для повышения отказоустойчивости, получив общее представление о необходимом общем объеме памяти, разделите этот объем памяти на достаточное количество узлов таким образом, чтобы приложение могло нормально работать в случае потери одного или двух узлов. Например, если требуется 13 ГБ памяти, можно использовать два узла cache.m4.large вместо одного узла cache.m4.xlarge. Важно, чтобы в ходе восстановления после сбоя одного или нескольких узлов другие системы, такие как базы данных, не были перегружены при временном уменьшении частоты попаданий в кэш. Подробные рекомендации см. в Руководстве пользователя Amazon ElastiCache.

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

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

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

В каждом регионе можно запускать не более 100 узлов. Если требуется запустить большее количество, заполните форму запроса на увеличение лимитов Amazon ElastiCache.

Вопрос: Как реагирует Amazon ElastiCache на отказ узла?

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

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

Вопрос: Как увеличить общий объем памяти в Amazon ElastiCache, если я определю, что для поддержки приложения мне требуется больший объем памяти?

Можно добавить больше узлов для существующего кластера с помощью операции «Add Node» (Добавить узел) на вкладке «Nodes» (Узлы) соответствующего кластера в Консоли управления AWS или путем вызова API ModifyCacheCluster.


Вопрос: Как Amazon ElastiCache взаимодействует с другими сервисами AWS?

Amazon ElastiCache является идеальной интерфейсной частью для таких сервисов AWS, как Amazon RDS и Amazon DynamoDB: он обеспечивает чрезвычайно низкую задержку для высокопроизводительных приложений и берет на себя некоторый объем запросов, в то время как другие сервисы обеспечивают продолжительную сохранность данных. Службу также можно использовать для повышения производительности приложений в сочетании с Amazon EC2 и EMR.

Вопрос: Существуют ли языки программирования, предпочтительные для работы с Amazon ElastiCache?

Клиентские библиотеки Memcached доступны для многих, если не для всех популярных языков программирования. Подробнее о клиентах Memcached см. по ссылке. Если у вас возникли проблемы при использовании конкретного клиента Memcached с Amazon ElastiCache, сообщите нам на форуме сообщества Amazon ElastiCache.

Вопрос: Какие популярные библиотеки Memcached совместимы с Amazon ElastiCache?

Amazon ElastiCache не требует каких‑либо определенных клиентских библиотек и работает с существующими клиентскими библиотеками Memcached (Memcached 1.4.5 и выше) без перекомпиляции или повторного назначения связей; в качестве примера можно привести libMemcached (C) и другие библиотеки, основанные на ней (например, PHP, Perl, Python), spyMemcached (Java) и fauna (Ruby).


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

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

Вопрос: Как работает возможность Auto Discovery?

Кластер Amazon ElastiCache можно создать с узлами, обращение к которым осуществляется по именованным адресам. Auto Discovery аналогичным образом предоставляет кластеру Amazon ElastiCache уникальный адрес конфигурации, представляющий собой запись DNS, которая действует в течение всего срока использования кластера. Эта запись DNS содержит DNS‑имена узлов, которые входят в состав кластера. Amazon ElastiCache будет гарантировать, что адрес конфигурации всегда указывает хотя бы на один такой целевой узел. Запрос к целевому узлу возвращает адреса для всех узлов соответствующего кластера. После этого можно подключаться к узлам кластера обычным образом, а также использовать команды протокола Memcached, такие как get, set, incr и decr. Подробные сведения см. по ссылке. Для использования возможности Auto Discovery необходим клиент, совместимый с Auto Discovery. Клиенты Auto Discovery для Java и PHP можно загрузить в консоли Amazon ElastiCache. После инициализации клиент будет автоматически определять текущий состав кластера Amazon ElastiCache, используя адрес конфигурации. Когда в кластере кэша выполняются изменения путем добавления или удаления узлов или автоматическая замена узлов после сбоя, клиент Auto Discovery автоматически определяет изменения, и инициализация клиентов вручную не требуется.

Вопрос: Как начать работать с Auto Discovery?

Чтобы начать работу, загрузите клиент кластера Amazon ElastiCache, нажав ссылку «Download ElastiCache Cluster Client» (Загрузить клиент кластера ElastiCache) в консоли Amazon ElastiCache. Для загрузки клиента требуется аккаунт Amazon ElastiCache. Если такой аккаунт еще не создан, можно зарегистрироваться на странице сведений об Amazon ElastiCache. После загрузки клиента можно приступить к настройке и активации кластера Amazon ElastiCache, открыв консоль Amazon ElastiCache. Дополнительные сведения см. по ссылке.

Вопрос: Если продолжать использовать собственные клиенты Memcached со своим кластером ElastiCache, можно ли пользоваться этой возможностью?

Нет, использовать возможность Auto Discovery в существующих клиентах Memcached не получится. Для использования Auto Discovery клиент должен быть способен использовать адрес конфигурации и определять адреса узлов кластера. Можно либо использовать клиент кластера Amazon ElastiCache, либо расширить возможности существующего клиента Memcached, добавив в него набор команд Auto Discovery.

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

Чтобы воспользоваться всеми возможностями Auto Discovery, для подключения к кластеру Amazon ElastiCache необходимо использовать клиент, совместимый с Auto Discovery. Amazon ElastiCache в настоящее время обеспечивает работу с клиентами, поддерживающими Auto Discovery, как для Java, так и для PHP. Их можно загрузить в консоли Amazon ElastiCache. У вас есть возможность создать клиенты для любого другого языка, взяв за основу доступные популярные клиенты Memcached.

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

Добавить поддержку возможности Auto Discovery можно к любой клиентской библиотеке Memcached. Инструкции по обеспечению поддержки Auto Discovery в пользовательском клиенте см. в документации по набору команд Auto Discovery.

Вопрос: Можно ли продолжать работать с текущим клиентом Memcached, если я не собираюсь использовать Auto Discovery?

Да, сервис Amazon ElastiCache по‑прежнему совместим с протоколами Memcached, поэтому в смене клиента необходимости нет. Однако чтобы использовать преимущества возможности Auto Discovery, нам пришлось расширить возможности клиента Memcached. Если вы не собираетесь использовать клиент кластера Amazon ElastiCache, можно продолжать работу с собственными клиентами или добавить поддержку набора команд Auto Discovery в свою клиентскую библиотеку.

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

Да, к одному и тому же кластеру Amazon ElastiCache одновременно можно подключаться с помощью клиента с поддержкой Auto Discovery и обычного клиента Memcached. Как и ранее, Amazon ElastiCache полностью совместим с протоколами Memcached.

Вопрос: Можно ли прекратить использование Auto Discovery?

Да, прекратить использование Auto Discovery можно в любой момент. Чтобы отключить возможность Auto Discovery, укажите нужный режим работы при инициализации клиента кластера Amazon ElastiCache. Кроме того, благодаря полной поддержке Memcached сервисом Amazon ElastiCache, можно, как и прежде, просто использовать любой клиент, совместимый с протоколом Memcached.


Вопрос: Можно ли самостоятельно принимать решение об обновлении версии сервиса кэширования, используемой кластером Amazon ElastiCache, до новых поддерживаемых версий, а также о времени этого обновления?

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

Вопрос: Как указать, какую из поддерживаемых версий Memcached необходимо запустить в кластере?

Можно указать любую из поддерживаемых в настоящее время версий (второстепенную и/или основную) при создании нового кластера. Чтобы инициировать обновление до того или иного выпуска поддерживаемой версии сервиса, используйте параметр «Modify» (Изменить) соответствующего кластера. В поле «Cache Engine Version» (Версия сервиса кэша) укажите версию, до которой хотите выполнить обновление. При этом обновление будет применено либо сразу же (если установлен флажок «Applied Immediately»), либо во время следующего запланированного интервала обслуживания кластера.

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

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

Вопрос: Предоставляет ли Amazon ElastiCache информацию о поддерживаемых новых выпусках версий и/или об устаревших версиях Memcached, которые еще поддерживаются?

Мы планируем постепенно добавлять поддержку дополнительных версий Memcached для Amazon ElastiCache, как основных, так и второстепенных. Количество выпусков новой версии, поддерживаемых в конкретном году, зависит от частоты выпуска и содержания новых версий Memcached, а также от результатов подробных исследований этих выпусков, проводимых нашей технической службой. Мы стремимся внедрять поддержку новых версий Memcached в течение 3–5 месяцев с момента их публикации в общем доступе.

Вопрос: Какую версию протокола подключения Memcached поддерживает сервис Amazon ElastiCache?

Amazon ElastiCache поддерживает протокол передачи текстовых и двоичных данных Memcached версий 1.4.34, 1.4.33, 1.4.24, 1.4.14 и 1.4.5.

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

Существующий кластер Memcached можно обновить с помощью процесса Modify. При обновлении старых версий Memcached до версии 1.4.33 и новее удостоверьтесь, что используемое значение параметра max_chunk_size удовлетворяет условиям, необходимым параметру slab_chunk_max. С предварительными требованиями для обновления можно ознакомиться здесь.


Вопрос. Что представляет собой 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. Каждый из узлов поддерживает протокол Redis с расширениями Amazon, имеет собственный адрес и порт. Поддерживаются несколько типов узлов, каждый из которых имеет разные ресурсы ЦПУ и объем выделенной памяти.

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

Вопрос: Поддерживает ли 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?

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

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

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

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

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

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

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

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

Масштабирование до типа узла большего размера можно без труда выполнить с помощью API ModifyCacheCluster или ModifyReplicationGroup, указав предпочитаемый тип узла в параметре CacheNodeType. В консоли ElastiCache выберите кластер кэша или группу репликации и нажмите «Modify» (Изменить). В окне «Modify» (Изменить) выберите из доступных вариантов предпочитаемый тип узла. Процесс масштабирования рассчитан на то, чтобы сохранить существующие данные, и для успешного выполнения требует репликации 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 или мастером «Create» в консоли управления 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. Используя реплики чтения, следует учитывать потенциальное время отставания реплики от ее основного узла кэша (так называемую противоречивость). Можно отслеживать такие потенциально возможные отставания через метрику Replication Lag сервиса CloudWatch, доступную как через консоль, так и через API ElastiCache, а также через консоль и API сервиса CloudWatch.

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

Для получения списка всех развернутых кластеров, включая реплики чтения, можно воспользоваться стандартным API DescribeCacheClusters или перейти на вкладку Redis в консоли управления 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. Кластер остается доступным и обслуживает входящие операции ввода-вывода во время процесса удаления.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для того чтобы создать основной узел и реплики чтения ElastiCache для Redis, нажмите «Create» (Создать) в консоли управления ElastiCache. Операцию также можно выполнить с помощью вызова API CreateReplicationGroup. Чтобы включить поддержку нескольких зон доступности для существующих кластеров (доступно для версий 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 при отключенном параметре cluster_mode), выберите кластер и нажмите «Modify» (Изменить) в консоли управления ElastiCache или воспользуйтесь API ModifyReplicationGroup. Перемещение группы репликации в несколько зон доступности не повлияет на целостность существующих данных Redis и способность узлов к обслуживанию запросов.

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

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

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

За само использование нескольких зон доступности плата не взимается. Плата начисляется только за узлы ElastiCache, которые используются при этом.

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

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

Вопрос: Какие типы узлов поддерживают работу в нескольких зонах доступности?

Все доступные типы узлов ElastiCache поддерживают работу в нескольких зонах доступности, с единственным исключением. При использовании Redis 2.8.x или Redis 3.x с отключенным параметром cluster_mode семейство узлов T2 не поддерживает использование нескольких зон доступности.

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

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

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

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

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

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

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

Да. Если в кластере или группе репликации с одной или несколькими репликами чтения включена возможность запуска в нескольких зонах доступности, можно запустить обработку отказа. 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.

Вопрос: Поддерживает ли ElastiCache для Memcached функцию резервного копирования и восстановления?

Нет, снимки состояния можно создавать только в ElastiCache для Redis.

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

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

  • сразу сделать снимок состояния (с помощью кнопки Backup на вкладке Redis консоли или с помощью вызова 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.m4.large
  • cache.m4.xlarge
  • cache.m4.2xlarge
  • cache.m4.4xlarge
  • cache.m4.10xlarge
  • cache.m5.large
  • cache.m5.xlarge
  • cache.m5.2xlarge
  • cache.m5.4xlarge
  • cache.m5.12xlarge
  • cache.m5.24xlarge
  • cache.r4.large
  • cache.r4.xlarge
  • cache.r4.2xlarge
  • cache.r4.4xlarge
  • cache.r4.8xlarge
  • cache.r4.16xlarge
  • cache.r5.large
  • cache.r5.xlarge
  • cache.r5.2xlarge
  • cache.r5.4xlarge
  • cache.r5.12xlarge
  • cache.r5.24xlarge

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

  • cache.m1.small
  • cache.m1.medium
  • cache.m1.large
  • cache.m1.xlarge
  • cache.m2.xlarge
  • cache.m2.2xlarge
  • cache.m2.4xlarge
  • 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.c1.xlarge

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

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

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

Да.


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

Кластеры ElastiCache для Redis позволяют клиентам создавать и запускать управляемые кластеры Redis, состоящие из нескольких сегментов. Сервис совместим с Redis версий 4.0.10 и 3.2 с открытым исходным кодом и предлагает ряд улучшений, обеспечивающих более стабильную и надежную работу (дополнительные сведения об этих улучшениях см. в разделе «Улучшенное программное ядро»).

Вопрос: Зачем может потребоваться масштабирование среды Redis в сторону расширения?

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

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

Amazon ElastiCache предоставляет полностью управляемую распределенную среду Redis в памяти, обеспечивает выделение серверных ресурсов, установку ПО сервиса и применение любых выбранных параметров конфигурации. Сервис использует улучшения Redis, разработанные Amazon, что обеспечивает более стабильную и надежную работу (см. подробности ниже в разделе «Улучшенное программное ядро»). Когда среда Redis настроена и работает, сервис автоматически выполняет стандартные административные задачи, такие как обнаружение сбоев и восстановление, резервное копирование, а также установка исправлений ПО. Сервис также предоставляет надежное решение для поддержки нескольких зон доступности с автоматической обработкой отказа. В случае отказа одного или нескольких основных узлов кластера Amazon ElastiCache автоматически обнаруживает отказ и делает наиболее актуальную реплику основным узлом. Это выполняется автоматически и не требует действий со стороны пользователя. Amazon ElastiCache также предоставляет подробные метрики мониторинга работы узлов ElastiCache, позволяя очень быстро выявлять неполадки и реагировать на них.

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

Да, кластерная версия Amazon ElastiCache для Redis совместим с Redis версий 4.0.10 и 3.2 с открытым исходным кодом. Для доступа к горизонтально масштабируемым кластерам ElastiCache для Redis можно использовать клиенты для кластеров Redis с открытым исходным кодом.

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

В настоящее время изменить количество сегментов в кластере после его создания нельзя.

Вопрос: Как обновить текущую версию ElastiCache для Redis 2.8.x до кластерной версии ElastiCache для Redis (версия 3.2.4)?

Если вы используете Redis 3.2 с выключенным параметром cluster_mode, можно просто выбрать узел или кластер, который требуется обновить, и изменить версию ядра. ElastiCache выделит кластер Redis 3.2.4 и выполнит перенос данных в него, сохраняя при этом адрес сервера.

Если вы используете Redis 3.2 с включенным параметром cluster_mode, можно выполнить миграцию в кластерную версию Redis. Для этого сначала создайте снимок состояния своих данных, используя возможности резервного копирования и восстановления. Затем выберите созданный снимок состояния и щелкните «Restore Snapshot» (Восстановить из снимка) для создания кластера Redis 3.2 с данными снимка состояния. По завершению обновите адрес сервера в клиенте. Обратите внимание, что для использования Redis 3.2 в режиме кластера потребуется перейти на клиент Redis Cluster.

Вопрос: Отличаются ли цены кластерной конфигурации от цен конфигурации без использования кластеров?

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

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

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

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

Вопрос: Чем отличается поддержка нескольких зон доступности в кластерной версии ElastiCache для Redis и ElastiCache для Redis версий 2.8.x?

Redis 3.x работает с интеллектуальными клиентами, хранящими карту узлов с их адресами. Во время обработки отказа клиент обновляет в карте узлов значение IP‑адреса нового основного узла. Обработка отказа происходит быстрее, чем в ElastiCache для Redis 2.8.x, с увеличением скорости вплоть до четырехкратного.

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

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

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

Резервное копирование в кластерах ElastiCache для Redis представляет собой набор снимков состояния сегментов кластера, хранимых вместе и составляющих копию всех данных Redis в пределах некоторого временного диапазона.

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

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

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

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

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

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

При выборе резервной копии для восстановления будет создан новый кластер ElastiCache для Redis, содержащий данные этой резервной копии. Кроме того, эту возможность можно использовать в качестве способа простой миграции в управляемый кластер Redis на ElastiCache. Если у вас есть самостоятельно управляемая среда Redis в EC2, можно взять снимки состояния RDB или существующие рабочие нагрузки (как кластер Redis, так и отдельный сегмент Redis) и сохранить их в S3. Затем сохраненные данные можно использовать как входные при создании сегментированного кластера Redis на ElastiCache с нужным количеством сегментов. Все остальное сделает ElastiCache.

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

Вопрос: Является ли резервная копия ElastiCache для Redis Cluster снимком состояния на момент времени?

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

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

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

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

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

Да. Можно указать местонахождение своих файлов RDB в хранилище S3 при создании кластера с помощью мастера создания кластера в консоли или API CreateReplicationGroup. ElastiCache автоматически выполняет анализ пространства ключей Redis для этого снимка состояния RDB и распределяет его среди сегментов нового кластера.


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

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

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

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

Чтобы выбрать использование улучшенного ядра в консоли управления Amazon ElastiCache, при создании кластера выберите версию, совместимую с ядром Redis версии 2.8.22 или новее. С этого момента в сервисе будет использоваться улучшенное программное ядро. Можно также включить использование улучшенного ядра через API ElastiCache или интерфейс командной строки AWS, указав нужную версию при вызове API CreateCacheCluster.

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

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

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

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



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

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 для Memcached на данный момент не входит в число сервисов, соответствующих требованиям 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 для Memcached на данный момент не входит в число сервисов, соответствующих требованиям FedRAMP.

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

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

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

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