종이 위에서 두 엔드포인트는 이중화처럼 보입니다. 실제로 두 번째 주소는 클라이언트가 그곳에 도달할 수 있고, 준비 중인 장애를 피할 때만 도움이 됩니다. 같은 액세스 회선, 같은 계정, 같은 대상 네트워크 뒤에 있는 두 서버는 함께 실패합니다. 유용한 질문은 두 번째 엔드포인트가 어떤 단일 장애를 제거하는가입니다.

두 엔드포인트가 공유하는 것을 비교하세요

두 엔드포인트가 무엇을 중복하는지 세기 전에 무엇을 공유하는지 나열하세요. 호스팅 위치, 공급자 계정, 업스트림 트랜짓, DNS 호스팅, 신원 소스, 터널 뒤의 프라이빗 리소스는 각각 공유되거나 독립적인 의존성입니다. 한 리전의 두 가상 머신은 공급자 장애를 공유합니다. 한 계정 아래의 두 리전은 여전히 청구 관계와 그것을 만드는 제어 평면을 공유합니다.

대상 네트워크도 같은 대우를 받아야 합니다. 건강한 백업 게이트웨이는 오프라인 NAS를 복구할 수 없고, 업링크가 끊긴 사무실 네트워크에 도달할 수 없습니다. 두 엔드포인트가 같은 프라이빗 서브넷에서 끝나면 두 번째는 이미 단일 장애 지점인 목적지로 가는 경로만 추가합니다.

사람들이 잊는 의존성이 신원입니다. 인증서와 구성을 두 번째 호스트에 복제하면 같은 자격 증명을 복사할 수 있는 두 곳이 생기고, 폐기가 양쪽에 어떻게 도달하는지는 말해 주지 않습니다.

클라이언트가 어떻게 전환하는지 정하세요

두 번째 엔드포인트는 클라이언트가 그것을 알고 지원 호출 없이 선택할 수 있을 때만 유용합니다. OpenVPN 연결 프로필은 선택 정책과 함께 여러 remote 줄을 담을 수 있고, 대부분의 클라이언트는 메뉴에서 대체 프로필을 제공합니다. 어떤 메커니즘이든 찾을 수 없는 프로필은 페일오버가 아니므로 사용자가 무엇을 가지고 있는지 적어 두세요.

세션 중 주소 변경에 관한 클라이언트 문서를 읽으세요. 일부 구현은 터널 수명 동안 원래 피어를 유지하고 재연결할 때만 대안을 조회합니다. 그 차이가 죽은 엔드포인트가 짧은 중단을 낳는지, 결코 회복되지 않는 세션을 낳는지를 결정합니다. 발생한다고 가정하지 말고 재연결 경로를 시험하세요.

출구 주소가 바뀌면 애플리케이션 상태도 깨집니다. 페일오버는 복구이며, 그것을 끊김 없는 연속성이라고 설명하면 전송이 충족할 수 없는 기대를 만듭니다.

실제 장애 하나를 시험하세요

설계 문서를 믿는 대신 통제된 중단 하나를 골라 처음부터 끝까지 실행하세요. 기본 엔드포인트를 멈추고, 권한이 있는 클라이언트가 대안을 통해 의도한 애플리케이션에 도달하며 권한이 없는 클라이언트는 여전히 도달하지 못함을 확인하세요. 전환에 걸린 시간과 애플리케이션이 본 것을 기록하세요.

dig +short vpn2.example.net
ip route get 10.20.30.41
journalctl -u openvpn@backup --since '-10 min'

첫 명령은 백업 이름이 라우팅 가능한 무언가로 해석되는지 필요하기 전에 확인하며, 여기서 가장 저렴한 시험입니다. 두 번째는 대안이 올라온 뒤 커널이 프라이빗 목적지에 어떤 인터페이스를 쓸지 보여 줍니다. 세 번째는 실제로 연결한 피어의 이름이 담긴 클라이언트 로그를 주며, 전환이 일어났다는 유일한 증거입니다. 전환 중 트래픽이 새는 정책은 짧은 중단보다 나쁘므로, 공백 동안의 차단 동작도 지켜보세요.

그다음 원래 것을 되돌리고 클라이언트가 돌아오는지 확인하세요. 우연히 일어나는 페일백은 아무도 계획하지 않은 동작입니다.

두 번째 주소가 무엇을 주는지 적으세요

적용 범위는 두 번째 엔드포인트가 제거하는 장애, 첫 번째와 공유하는 장애, 전환이 기대는 가정의 세 가지로 한 문단에 요약하세요. 클라이언트 측 메커니즘과 두 위치에 모두 있어야 하는 프라이빗 경로 및 DNS 동작을 명시하세요. 공용 인터넷 출구는 프라이빗 게이트웨이를 대신하지 못하며, 둘을 상호 교환 가능한 것으로 다루는 문서는 믿어지게 됩니다. 수행한 복구 테스트를 날짜와 결과와 함께 추가하세요.

한 서버로부터의 독립은 공유 계정이나 대상 네트워크로부터의 독립이 아닙니다. 이것을 소리 내어 말하는 문단이 두 번째 주소가 내부에서 고가용성으로 팔리는 것을 막습니다. 또한 쌍이 함께 실패할 때 다음 운영자가 무엇을 먼저 확인해야 하는지도 알려 줍니다.

관련 글