как несколько экземпляров EC2 (масштабирование) работают на одной EBS для хранения данных?

Итак, в простой ситуации, если есть только один экземпляр, я могу сохранить данные в томе EBS, установленном на нем. пример. например, / mnt / db

Однако как это работает, если я масштабирую и имею несколько экземпляров (статическое или динамическое масштабирование)?

Поскольку одна EBS может подключаться только к одному экземпляру, если у меня несколько экземпляров, означает ли это, что я должен подключать том EBS для каждого экземпляра? В этом случае данные на томе EBS каждого экземпляра будут разными.

Очевидно, что я хочу, чтобы все экземпляры имели доступ (чтение и запись) к одному тому (как хранилищу данных). и объем данных будет постоянно расти и простоев нет.

Какое решение? Есть ли способ не монтировать устройство (EBS), а просто вызывать его для доступа к данным?

Вот что я могу придумать: 1) если у каждого экземпляра есть свой собственный том EBS, то в каждый временной интервал (например, 1 час) все экземпляры будут отключать и отключать том EBS и присоединять новый. Затем есть один мощный экземпляр, который монтирует все только что отсоединенные тома EBS и объединяет все данные. 2) или аналогично пункту 1), вместо того, чтобы отсоединять и присоединять, я просто делаю снимок всех томов для всех экземпляров. Затем мощный экземпляр агрегирует данные из моментального снимка. И сохраните результат либо в другой EBS, либо в S3.

Кажется, что эти два подхода работают ... но требуют большой работы. есть ли более разумный способ подойти к этой проблеме? спасибо.

  • кстати, из-за проблем с производительностью я не могу, чтобы экземпляр записывал данные в S3. :)

О, как насчет этого 3) Во-первых, все экземпляры имеют собственную EBS и записывают данные в EBS. а затем каждый час данные будут отправляться на S3. Затем другой экземпляр объединит их.

9
задан Steffen Opel 20 April 2012 в 14:11
поделиться