Я создал конечную точку VPN, используя tinc в одной подсети aws: -
[ eu-west-1a tinc ]------
| |
[ us dc] -- ipsec -- [ uk dc ]
Некоторые условия отказа обрабатываются за счет создания сетки:
[ eu-west-1a tinc ]------
| |
^ x
| |
[ us dc] -<- ipsec -- [ uk dc ]
[ eu-west-1a tinc ]------
| |
x ^
| |
[ us dc] ->- ipsec -- [ uk dc ]
Поэтому в качестве варианта для сбоев tinc в aws я мог бы построить еще один ящик tinc в другой подсети и использовать keepalived для перемещения eni между двумя серверами, но я не могу найти никаких хороших документов о том, как обнаруживать сбой подсети. Что происходит с keepalived, если связь между подсетями a и b обрывается, то есть как обрабатывается разделенный мозг?
[ eu-west-1a tinc ]--keepalived---[ eu-west-1b tinc ]
|
vip
|
[ uk dc ]
Другой вариант - запустить 2 tincs и иметь своего рода службу-свидетель, которая решает, какой из них должен быть активен, и обновляет таблицу маршрутизации в aws vpc. Я не могу найти никаких официальных документов о том, как создать службу свидетеля в aws, не могли бы вы, например, использовать aws lambda? Однако я знаю об услугах aws vpn.