Тест: Хранилище 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
Совет профессионала: если вам нужна сырая мощность WebSocket, оставайтесь на вычислительных сервисах!
Каков рекомендуемый подход к разрешениям корзин S3?
Практически во ВСЕХ системах принятие дизайна «наименьших привилегий» — ключ к укреплению и будущей устойчивости. Пытаться запереть уже существующую систему примерно так же сложно, как перенести целое офисное здание на новый фундамент.
S3‑корзины не исключение. Чтобы применить принцип наименьших привилегий, начните без каких‑либо прав и предоставляйте только необходимый доступ. Используйте роли IAM и политики для контроля доступа и регулярно проверяйте разрешения корзин.
Лучшие практики безопасности:
- Применять принцип наименьших привилегий
- Начинать без прав
- Предоставлять только необходимый доступ
- Использовать роли IAM и политики
- Регулярно проверять разрешения корзин
Избегайте чрезмерно разрешительных настроек, которые могут раскрыть конфиденциальные данные.
Какова ключевая особенность Aurora Serverless?
Aurora Serverless:
- Автоматически масштабирует вычислительные ресурсы
- Регулирует ресурсы в зависимости от нагрузки
- Идеально подходит для непредсказуемых нагрузок
- Платите только за использованные ресурсы
Отлично подходит для приложений с переменными шаблонами трафика.
Еще один вопрос о пакетах DynamoDB!
Каково максимальное количество элементов, которое можно получить одним запросом BatchGetItem в DynamoDB?
SDK DynamoDB позволяет получить до 100 элементов в одном запросе BatchGetItem. Это больше, чем ограничение для BatchWriteItem, которое составляет 25 элементов.
Кроме того, существуют ограничения на общий размер полезной нагрузки, размер документа и частоту запросов.
Понимание этих ограничений критично для оптимизации производительности вашего приложения и обеспечения эффективных операций с данными.
Note: Некоторые из этих ограничений можно превысить — если вы сможете убедительно поговорить с менеджером вашего AWS‑аккаунта. 😎
Каково максимальное количество документов, которое DynamoDB может UPDATE за один пакет?
Клиенты DynamoDB по сути являются обёртками над его HTTP API. Операция BatchWriteItem может PUT или DELETE до 25 документов за HTTP‑запрос, но не может UPDATE несколько документов.
Хотя DynamoDB может INSERT до 25 документов за HTTP‑запрос, он может UPDATE только 1 документ за запрос, используя операцию UpdateItem.
Когда следует использовать режим 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
- Целенаправленно настраивайте уровни повышения
- Используйте конечную точку кластера в приложениях
- Регулярно тестируйте сценарии отказа
На конец 2020 года, какую модель согласованности предоставляет S3 для всех операций?
Модель согласованности S3:
- Сильная согласованность чтения после записи для всех операций
- Применяется к PUT и DELETE
- Нет необходимости в ранее использованных обходных решениях
- Без дополнительных затрат
Влияние:
- Упрощённая логика приложения
- Нет необходимости в проверках согласованности
- Надёжные мгновенные чтения после записей
- Повышенная надёжность приложения
Как функция TTL в DynamoDB обрабатывает удаление элементов?
Характеристики TTL в DynamoDB:
- Фоновый процесс отслеживает атрибут TTL
- Истёкшие элементы удаляются по расписанию с лучшими усилиями, обычно в течение нескольких дней
- Нет дополнительных расходов за TTL
- Удалённые элементы появляются в потоках
Сценарии использования:
- Управление сессиями
- Истечение журналов
- Очистка временных данных
- Соответствие нормативным требованиям
Какой ключевой фактор следует учитывать, полагаясь на Aurora Serverless при обработке резких всплесков трафика?
Автоматическое масштабирование Aurora Serverless:
- Aurora Serverless v2 увеличивает емкость небольшими шагами ACU
- Скорость масштабирования зависит от текущей емкости и настроек min/max ACU
- Поддерживаемые версии могут автоматически приостанавливаться при 0 ACU, если это настроено
- Оплата по‑секундам на основе ACU
Лучшие практики:
- Установите минимальную емкость достаточно высокой для резких всплесков в критически важных нагрузках
- Отслеживайте события масштабирования
- Учтите управление соединениями
Ух, эта одиссея углубилась в детали! 🚀☁️
Надеюсь, вам понравилось путешествие и, возможно, вы вынесли пару полезных уроков об AWS Storage Services.
Смотрите другие задачи от Дэна! 🧠
Юридическое примечание: Этот тест предназначен исключительно для обучения. Все торговые марки и авторские права принадлежат их законным владельцам, особенно крупным игрокам.