Погрузитесь в сервисы хранения AWS! Этот тест проверит, насколько вы владеете S3, DynamoDB, Aurora, RDS, ElastiCache и другими. От рекомендаций до скрытых подводных камней — разберём всё, что связано с облачным хранением.
Приготовьтесь подтвердить свой уровень облачной экспертизы! 🚀
Какой 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 и политики
Регулярно проверять разрешения корзин
Избегайте чрезмерно разрешительных настроек, которые могут раскрыть конфиденциальные данные.
Еще один вопрос о пакетах DynamoDB!
Каково максимальное количество элементов, которое можно получить одним запросом BatchGetItem в DynamoDB?
Один запрос BatchGetItem может содержать не более 100 элементов; также действует предел ответа 16 МБ. Для BatchWriteItem предел — 25 операций.
Предел 100 элементов фиксирован API: его нельзя увеличить через менеджера аккаунта. Разбивайте большие наборы на запросы и повторяйте UnprocessedKeys с задержкой и увеличением интервала. Изменяемые квоты пропускной способности — отдельная тема.
Сколько элементов может обновить один вызов UpdateItem в DynamoDB?
UpdateItem обновляет один элемент за вызов. BatchWriteItem выполняет до 25 операций PUT или DELETE, но не UPDATE. Для обновления нескольких элементов нужны отдельные вызовы либо подходящие транзакционные или пакетные операции PartiQL; их ограничения отличаются.
Таблица DynamoDB имеет выделенную пропускную способность чтения 100 RCU. Сколько строго согласованных чтений элементов размером 4 KB можно выполнить в секунду?
Понимание моделей согласованности DynamoDB имеет решающее значение:
1 RCU = 1 строго согласованное чтение/секунду для элементов размером до 4KB
1 RCU = 2 в конечном итоге согласованных чтения/секунду для элементов размером до 4KB
Следовательно:
100 RCU = 100 строго согласованных чтений 4KB в секунду
100 RCU = 200 в конечном итоге согласованных чтений 4KB в секунду
Какую согласованность предоставляет S3 после успешной записи или удаления объекта для последующих чтений и списков объектов?
После успешного PUT или DELETE последующие GET и LIST отражают изменение. Эта строгая согласованность действует для операций с объектами, но не означает, что любые операции S3 или настройки корзины изменяются атомарно.
Она упрощает чтение после записи, однако приложение по-прежнему должно учитывать конкурирующие записи и свои требования к согласованности.
Юридическое примечание: Этот тест предназначен исключительно для обучения. Все торговые марки и авторские права принадлежат их законным владельцам, особенно крупным игрокам.