한 VM의 IP를 다른 VM으로 이동

한 VM의 IP를 다른 VM으로 이동

저는 동일한 머신에서 두 개의 VM을 호스팅했습니다. 하나는 본질적으로 활성 상태입니다. 즉, 서비스를 호스팅하고 클라이언트에 연결되어 있습니다(클라이언트는 호스트 머신에서 직접 실행 중입니다). 내결함성 서비스를 구현해야 합니다. 즉, 기본 VM에 장애가 발생하면 두 VM이 모두 동일한 서비스를 호스팅한다는 점을 고려하여 클라이언트가 자동으로 보조 VM에 연결됩니다.

유동IP에 대한 글을 어디선가 본 적이 있는데, 확인해 보니 유료 서비스인 것으로 나타났습니다. 지출하는 데 돈이 필요하지 않고 이를 달성할 수 있는 간단한 방법이 있습니까?

머신은 Linux 기반입니다. 특히 호스트는 ubuntu 20.*이고 VM에는 ubuntu 18.*이 있습니다.

답변1

다음 중 하나를 사용하여 VIP 또는 가상 IP라고도 하는 "유동 IP"를 얻을 수 있습니다.

참고: 클라이언트가 목록에서 정상적인 서버를 선택하도록 하여 클라이언트에서 중복성을 달성할 수도 있습니다.

VM 간에 중복성을 구현한다는 점에 유의하세요.같은 호스트권장되지 않습니다. (호스트는 단일 장애 지점입니다)

답변2

애플리케이션/VM 앞에서 로드 밸런서로 역방향 프록시를 사용하는 것이 좋습니다. 당신은 nginx또는 같은 것을 사용할 수 있습니다haproxy

nginx 구성은 다음과 같습니다.

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server 192.0.0.1 backup;
    }
    
    server {
        location / {
            proxy_pass http://backend;
        }
    }
}

업스트림 호스트에 대한 상태 확인을 자동으로 구현하므로 업스트림 호스트가 다운되면 nginx가 자동으로 감지하여 비정상 호스트에 대한 요청 전송을 중지합니다.

다음에서 자세한 내용을 읽을 수 있습니다. https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/

관련 정보