Тест: Хранилище AWS: 20 вопросов и более
Сможете пройти лабиринт облаков?
Готов к облаку?! 🤡
Погрузитесь в сервисы хранения AWS! Этот тест проверит, насколько вы владеете S3, DynamoDB, Aurora, RDS, ElastiCache и другими. От рекомендаций до скрытых подводных камней — разберём всё, что связано с облачным хранением.
Приготовьтесь подтвердить свой уровень облачной экспертизы! 🚀
Последняя проверка: 8 мая 2026 г. Ограничения и цены AWS быстро меняются.
Что означает названиеS3?S3 расшифровывается как Simple Storage Service. Это масштабируемый объектный сервис хранения, предназначенный для крупномасштабного хранения данных.
AWS S3 предлагает несколько классов хранения:
- Standard: Для часто запрашиваемых данных
- Infrequent Access (IA): Сниженная стоимость при редком доступе
- Glacier: Долгосрочное, недорогое архивное хранение
Каждый класс имеет свои цены и характеристики доступа, что позволяет оптимизировать затраты в зависимости от паттернов использования данных.
Что означает, когда DynamoDB описывают как «без схемы»?
DynamoDB считается «без схемы», потому что позволяет хранить произвольные свойства в элементах без заранее определённой схемы.
Какой API DynamoDB обновляет атрибуты у одного существующего элемента?
Ключ здесь — обновления, а не вставки или PUT‑ы. Если вам нужны вставки, можно использовать BatchWriteItem или TransactWriteItems.
Хотя BatchWriteItem может выполнять несколько операций, он ограничен только PUT‑ами и DELETE‑ами. TransactWriteItems более мощный, но для простых обновлений это как кувалда.
Для простых обновлений лучше всего подходит UpdateItem. Он позволяет ОБНОВЛЯТЬ, то есть изменять один или несколько атрибутов в существующем элементе.
Операция UpdateItem изменяет один элемент за запрос. Для больших обратных заполнений или массовых обновлений обычно оркестрируют множество вызовов UpdateItem или используют более крупный рабочий процесс, например PartiQL batch execution, Step Functions, Glue, EMR или собственный рабочий процесс.
Операция UpdateItem:
- Обновляет атрибуты существующего элемента.
- Добавляет новые атрибуты к существующему элементу.
- Удаляет атрибуты из существующего элемента.
- Выполняет обновление условно, если элемент существует или удовлетворяет определённым условиям.
Какой сервис AWS здесь специально создан для полнотекстового поиска и аналитики поиска?
OpenSearch — управляемый сервис AWS для поиска, аналитики журналов и задач полнотекстового поиска.
Отвлекающие варианты — полезные сервисы, но они не являются специально построенным поисковым движком в этом списке:
- ElastiCache: В основном кэш в памяти. Текущий ElastiCache для Valkey включает команды поиска по индексированным данным в памяти, поэтому уже нельзя говорить, что у сервиса нет встроенного поиска.
- Neptune: Графовая база данных; может интегрироваться с OpenSearch для полнотекстового поиска.
- Redshift: Хранилище данных для аналитики SQL.
- DocumentDB: Документная база с поддержкой текстового поиска, совместимого с MongoDB, в поддерживаемых версиях.
Какова основная выгода от развертывания RDS Multi-AZ?
Зоны доступности (AZ) — отдельные дата‑центры внутри региона. Развертывание RDS Multi-AZ обеспечивает автоматическое переключение на резервную реплику в близкой AZ.
Multi-AZ deployment:
- Обеспечивает автоматическое переключение
- Повышает доступность базы данных
- Создаёт синхронную резервную реплику
- Минимизирует простой при сбоях инфраструктуры
Не путайте развертывание Multi-AZ с репликами чтения, которые используются для масштабирования операций чтения.
👋 Надеюсь, вам пока весело!
Пришло время для сложного вопроса…
Какой сервис AWS предоставляет управляемые API WebSocket, где AWS владеет клиентским соединением и направляет сообщения к интеграциям?
API Gateway поддерживает двунаправленные API WebSocket, но реализация управляется API Gateway, а не представляет собой прямой сокет к вашему собственному серверному процессу. API Gateway поддерживает клиентское соединение и направляет сообщения к Lambda, HTTP‑конечным точкам или другим интеграциям. Сообщения можно отправлять обратно подключённым клиентам через API Gateway Management API.
Другие сервисы предлагают иные способы развёртывания WebSocket:
- Lightsail: Идеально подходит для простых настроек WebSocket 👌
- AppSync: Использует WebSocket для управляемых подписок GraphQL
- EC2: Классический вариант “делай что хочешь” для WebSocket
- EKS: Отлично подходит для масштабируемых кластеров WebSocket
Выбор зависит от того, нужен ли управляемый API или собственный сервер с контролем над соединением.
Каков рекомендуемый подход к разрешениям корзин S3?
Практически во ВСЕХ системах принятие дизайна «наименьших привилегий» — ключ к укреплению и будущей устойчивости. Пытаться запереть уже существующую систему примерно так же сложно, как перенести целое офисное здание на новый фундамент.
S3‑корзины не исключение. Чтобы применить принцип наименьших привилегий, начните без каких‑либо прав и предоставляйте только необходимый доступ. Используйте роли IAM и политики для контроля доступа и регулярно проверяйте разрешения корзин.
Лучшие практики безопасности:
- Применять принцип наименьших привилегий
- Начинать без прав
- Предоставлять только необходимый доступ
- Использовать роли IAM и политики
- Регулярно проверять разрешения корзин
Избегайте чрезмерно разрешительных настроек, которые могут раскрыть конфиденциальные данные.
Какова ключевая особенность Aurora Serverless?
Aurora Serverless:
- Автоматически масштабирует вычислительные ресурсы
- Регулирует ресурсы в зависимости от нагрузки
- Идеально подходит для непредсказуемых нагрузок
- Платите только за использованные ресурсы
Отлично подходит для приложений с переменными шаблонами трафика.
Еще один вопрос о пакетах DynamoDB!
Каково максимальное количество элементов, которое можно получить одним запросом BatchGetItem в DynamoDB?
Один запрос BatchGetItem может содержать не более 100 элементов; также действует предел ответа 16 МБ. Для BatchWriteItem предел — 25 операций.
Предел 100 элементов фиксирован API: его нельзя увеличить через менеджера аккаунта. Разбивайте большие наборы на запросы и повторяйте UnprocessedKeys с задержкой и увеличением интервала. Изменяемые квоты пропускной способности — отдельная тема.
Сколько элементов может обновить один вызов UpdateItem в DynamoDB?
UpdateItem обновляет один элемент за вызов. BatchWriteItem выполняет до 25 операций PUT или DELETE, но не UPDATE. Для обновления нескольких элементов нужны отдельные вызовы либо подходящие транзакционные или пакетные операции PartiQL; их ограничения отличаются.
Когда следует использовать режим On-Demand в DynamoDB?
On-Demand Capacity лучше всего подходит для:
- Непредсказуемых нагрузок
- Спорадического трафика
- Приложений с неизвестными паттернами доступа
- Избежания переизбытка ресурсов
Provisioned capacity лучше для:
- Предсказуемых, стабильных нагрузок
- Большего контроля над производительностью
- Возможной экономии средств
Как оптимизировать производительность S3 при высоких скоростях запросов?
Советы по производительности S3:
- Современный S3 автоматически масштабирует скорость запросов для каждого префикса
- Для производительности не нужны случайные/хеш‑префиксы
- Используйте логические имена ключей, соответствующие вашим шаблонам доступа
- Следите за ответами 503 Slow Down, если вы нагружаете систему очень высокими скоростями запросов
Раньше рекомендовали рандомизировать префиксы, чтобы избежать «горячих» разделов, но AWS больше не считает это обязательным требованием по умолчанию.
Каков рекомендуемый подход к резервному копированию RDS?
Лучшие практики резервного копирования:
- Включайте автоматические резервные копии
- Используйте восстановление в конкретный момент
- Храните резервные копии в соответствии с требованиями комплаенса
- Регулярно тестируйте процесс восстановления
- Рассмотрите резервное копирование между регионами
Автоматические резервные копии обеспечивают:
- Непрерывную защиту данных
- Гибкие варианты восстановления
Ключевое различие между Redis и Memcached в ElastiCache?
Преимущества Redis:
- Поддерживает сложные структуры данных
- Опции постоянного хранения
- Расширенные операции
- Сообщения Pub/Sub
Memcached:
- Простое хранилище ключ‑значение
- Чистый кэш
- Высокая производительность для простых сценариев
Для чего нужен глобальный вторичный индекс в DynamoDB?
Глобальный вторичный индекс (GSI):
- Позволяет выполнять запросы по атрибутам, не являющимся первичным ключом
- Создаёт альтернативные схемы доступа
- Повышает гибкость запросов
- Требует дополнительных расходов на ёмкость записи
Полезен для сложных запросов, выходящих за пределы первичного ключа.
Что позволяет делать Управление жизненным циклом S3?
Управление жизненным циклом:
- Автоматически переводить объекты между классами хранения
- Перемещать редко используемые данные в более дешёвое хранилище
- Устанавливать правила истечения срока действия объектов
- Оптимизировать затраты на хранение
- Снизить нагрузку ручного управления
Каково максимальное количество реплик чтения, поддерживаемых Amazon Aurora?
Amazon Aurora поддерживает до 15 реплик чтения, позволяя существенно масштабировать операции чтения. Эти реплики получают выгоду от:
- Мгновенной репликации между репликами
- Минимального влияния на производительность основной инстанции
- Эффективного распределения нагрузки чтения
Такая конфигурация обеспечивает горизонтальное масштабирование для приложений с высоким спросом на чтение.
Какие возможности шифрования предоставляет RDS?
Возможности шифрования RDS:
- Шифрование данных при хранении с помощью KMS
- Шифрование данных при передаче с использованием SSL/TLS
- Включение шифрования при создании базы данных
- Защита конфиденциальной информации
- Соответствие требованиям безопасности
Каково основное назначение DynamoDB Streams?
DynamoDB Streams:
- Отслеживание изменений на уровне элементов
- Поддержка событийно‑ориентированных архитектур
- Запуск функций Lambda
- Поддержка репликации между регионами
- Обеспечение почти реального перемещения данных
Лучший способ загрузки больших файлов в S3?
Преимущества Multipart Upload:
- Эффективно обрабатывать большие файлы
- Возобновлять прерванные загрузки
- Параллельная загрузка частей файла
- Рекомендуется для файлов > 100 МБ
- Улучшенная надёжность сети
Какой самый экономичный подход к хранению 1 ПБ данных, когда 20 % доступа ежедневно, 30 % — ежемесячно и 50 % — ежегодно?
Оптимальная стратегия хранения:
- 20 % в S3 Standard для ежедневного доступа
- 30 % в S3 Standard-IA для ежемесячного доступа
- 50 % в Glacier для ежегодного доступа
Этот подход оптимизирует расходы, сохраняя соответствующие шаблоны доступа.
Факторы стоимости:
- Цена хранения за ГБ
- Стоимость извлечения
- Шаблоны доступа
- Стоимость переходов
Таблица DynamoDB имеет выделенную пропускную способность чтения 100 RCU. Сколько строго согласованных чтений элементов размером 4 KB можно выполнить в секунду?
Понимание моделей согласованности DynamoDB имеет решающее значение:
- 1 RCU = 1 строго согласованное чтение/секунду для элементов размером до 4KB
- 1 RCU = 2 в конечном итоге согласованных чтения/секунду для элементов размером до 4KB
Следовательно:
- 100 RCU = 100 строго согласованных чтений 4KB в секунду
- 100 RCU = 200 в конечном итоге согласованных чтений 4KB в секунду
Выбирайте модели согласованности, исходя из:
- Требований приложения
- Соображений стоимости
- Потребностей в производительности
- Требований к актуальности данных
В кластере Aurora с несколькими репликами чтения, что происходит при автоматическом переключении, если основной экземпляр выходит из строя?
Переключение Aurora при сбое:
- Обнаруживает сбой основного экземпляра
- Выбирает реплику Aurora, в первую очередь основываясь на приоритете переключения при сбое
- Использует характеристики экземпляра как критерий при равных приоритетах
- Автоматически обновляет конечную точку кластера
Лучшие практики:
- Поддерживайте несколько реплик в разных AZ
- Целенаправленно настраивайте уровни повышения
- Используйте конечную точку кластера в приложениях
- Регулярно тестируйте сценарии отказа
Какую согласованность предоставляет S3 после успешной записи или удаления объекта для последующих чтений и списков объектов?
После успешного PUT или DELETE последующие GET и LIST отражают изменение. Эта строгая согласованность действует для операций с объектами, но не означает, что любые операции S3 или настройки корзины изменяются атомарно.
Она упрощает чтение после записи, однако приложение по-прежнему должно учитывать конкурирующие записи и свои требования к согласованности.
Как функция TTL в DynamoDB обрабатывает удаление элементов?
Характеристики TTL в DynamoDB:
- Фоновый процесс отслеживает атрибут TTL
- Истёкшие элементы удаляются по расписанию с лучшими усилиями, обычно в течение нескольких дней
- Нет дополнительных расходов за TTL
- Удалённые элементы появляются в потоках
Сценарии использования:
- Управление сессиями
- Истечение журналов
- Очистка временных данных
- Соответствие нормативным требованиям
Какой ключевой фактор следует учитывать, полагаясь на Aurora Serverless при обработке резких всплесков трафика?
Автоматическое масштабирование Aurora Serverless:
- Aurora Serverless v2 увеличивает емкость небольшими шагами ACU
- Скорость масштабирования зависит от текущей емкости и настроек min/max ACU
- Поддерживаемые версии могут автоматически приостанавливаться при 0 ACU, если это настроено
- Оплата по‑секундам на основе ACU
Лучшие практики:
- Установите минимальную емкость достаточно высокой для резких всплесков в критически важных нагрузках
- Отслеживайте события масштабирования
- Учтите управление соединениями
Ух, эта одиссея углубилась в детали! 🚀☁️ Надеюсь, вам понравилось путешествие и, возможно, вы вынесли пару полезных уроков об AWS Storage Services.
Смотрите другие задачи от Дэна! 🧠
Юридическое примечание: Этот тест предназначен исключительно для обучения. Все торговые марки и авторские права принадлежат их законным владельцам, особенно крупным игрокам.
