AWS сервис для управления данными о состоянии - DynamodB / пошаговые функции / sqs? - PullRequest
1 голос
/ 03 февраля 2020

Я создаю решение Desktop-on-Demand, используя продукт AWS Workspaces, и пытаюсь понять, какой сервис AWS лучше всего подходит для моих требований по управлению данными состояния для новых пользователей.

В двух словах, решение создаст новое AWS рабочее пространство (экземпляр виртуального рабочего стола) для пользователя, когда выполнены несколько условий и выполнены проверки. Эти задачи будут удовлетворяться несколькими лямбда-функциями.
DynamoDB будет использоваться в качестве центральной точки для хранения деталей данных конфигурации, таких как данные пользователя, данные групп пользователей и развернутые данные виртуальных рабочих столов. Logi c для создания рабочих столов будет реализован с использованием пошаговых функций, как показано ниже:

  • Перехват событий происходит из системы Identity Management, запускающей лямбда-функцию, которая проверяет, существует ли рабочий стол пользователя в таблице DynamoDB
  • Если он не существует, другая лямбда создает AWS AD соединитель
  • Как только это будет сделано, другая лямбда при необходимости создает пользовательский образ для нового рабочего стола
  • Другая лямбда извлекает последние данные из Identity Система управления и обновления таблицы DynamoDB для пользователей и групп.
  • Другие лямбда-функции, которые могут запускаться как зависимости

Чтобы обеспечить механизм транзакций, мы разворачиваем новый рабочий стол только тогда, когда все условия выполнены. Я могу подумать о нескольких способах реализации этой проверки:

  • Использование таблицы DynamoDB для хранения данных о состоянии. Когда все атрибуты в элементе находятся в ожидаемом состоянии, можно создать рабочий стол. Если какая-либо лямбда-ошибка или создает данные, которые не подходят, не создавайте рабочий стол.
  • Просто используйте пошаговые функции и создайте логический c поток, которому должны удовлетворять все условия перед созданием рабочего стола
  • Кто-то предложил использовать очередь SQS, но я не понимаю, как это можно использовать для моих целей.

Каков наилучший способ сохранить эти данные?

1 Ответ

3 голосов
/ 03 февраля 2020

Шаг Функции это метод, который я бы использовал для этого. Решение DynamoDB также будет работать, но это похоже на то, для чего были разработаны Step Functions.

Я согласен, что SQS не будет правильным решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...