Назад | Перейти на главную страницу

Репликация AWS для запуска Odoo

Я планирую запустить Odoo на AWS. Мне нужно иметь репликацию в реальном времени, чтобы у нас было аварийное переключение. В инстансах EC2 будет просто работать Odoo, и они будут помещены под ELB. RDS (multi-az) postgres будет базой данных, а в хранилище EFS будут размещаться все загружаемые / динамические файлы. Это будет работать нормально, если только не произойдет сбой в регионе.

Я хотел бы получить предложения по переключению между регионами. Думаю, я бы использовал Route 53 и экземпляр EC2 в разных регионах. Поскольку EFS не поддерживает его, я предполагаю, что мне нужно использовать что-то вроде Gluster. RDS поддерживает чтение реплик в разных регионах. Но можем ли мы автоматически использовать ее в качестве первичной базы данных, ничего не делая в консоли AWS (то есть вмешательства человека). И как именно в этом случае работает аварийное переключение? Будет ли простой?

Если вы настроили ELB для экземпляра RDS с несколькими зонами доступности, вы в полной безопасности. Отключения в масштабах региона случаются редко. Я бы посоветовал провести анализ затрат и выгод, прежде чем переходить к настройке с несколькими регионами - вам потребуются довольно невероятные требования к RTO / RPO или времени безотказной работы, чтобы оправдать это.

Если вам действительно нужен мультирегион, лучшим и, возможно, единственным вариантом для мультирегиональной балансировки нагрузки является Route53. Вам потребуется настроить RDS с многорегиональной репликацией, хотя существует риск обновления реплики для чтения. Возможно, вам придется подумать об этом в зависимости от вашего варианта использования. Я бы, вероятно, использовал маршрутизацию отказоустойчивого типа, поэтому второй регион используется только тогда, когда первый полностью выходит из строя.

Вы, вероятно, захотите сценарий с пилотным светом с минимальными ресурсами, постоянно работающими во втором регионе. Если вы можете терпеть немного большее время простоя, вы можете реплицировать базу данных, но не запускать какие-либо экземпляры EC2, а затем либо запускать вручную по мере необходимости, либо скрипт с чем-то вроде лямбда.