Я использую Vault на AWS с серверной частью DynamoDB. Бэкэнд поддерживает HA.
storage "dynamodb" {
ha_enabled = "true"
region = "us-west-2"
table = "vault-data"
}
Чтение документации по концепции высокой доступности: https://www.vaultproject.io/docs/concepts/ha.html
Для обеспечения высокой доступности один из узлов сервера Vault захватывает блокировку в хранилище данных. Успешный серверный узел затем становится активным узлом; все остальные узлы становятся резервными узлами. На этом этапе, если резервные узлы получают запрос, они либо перенаправят запрос, либо перенаправят клиента в зависимости от текущей конфигурации и состояния кластера - подробности см. В разделах ниже. Из-за этой архитектуры HA не обеспечивает повышенной масштабируемости.
Меня не интересует наличие целого парка инстансов EC2 за ELB, где только 1 инстанс ведет себя как мастер и разговаривает с DynamoDB.
Я хотел бы запустить N экземпляров Ec2 под управлением Vault, которые читают и пишут независимо от DynamoDB.
Поскольку DynamoDB поддерживает чтение / запись из нескольких экземпляров EC2, я ожидал, что смогу распечатать Vault из нескольких экземпляров одновременно и выполнять операции чтения и записи. Это должно работать даже с ha_enabled = "false"
, без выбора лидера.
Почему эта архитектура не предлагается в документации? Почему не должно работать? Есть ли какие-то криптографические ограничения, которых мне не хватает?
Спасибо