EMD Blog

Proxy Server MIG 구성 이슈 본문

Public Cloud/GCP

Proxy Server MIG 구성 이슈

EmaDam 2022. 9. 4. 07:44

현재 상황은 아래와 같음.

============================================================
- 현재 구축되어 있는 GCP의 네트워크(shared VPC 사용 중)와 IDC 센터는 인터커넥트로 연결되어 있음.
- GCP 내에는 Cloud SQL이 비공개 IP로 구성되어 있으며, IDC에서 이 Cloud SQL로 접근해야하는 상황.
- 하지만 IDC의 IP 대역은 172.17.0.0/16이기 때문에 GCP 비공개 서비스에 직접적으로 접근 불가.(GCP의 172.17.0.0/16 대역은 Docker 브리지로 예약)
- 때문에 Proxy VM을 구축해서 IDC -> Proxy VM -> Cloud SQL 형태를 만드려고 함.
- 여기서 Proxy VM은 MIG+자동복구로 구성 하려고 함.
- 현재 Proxy VM에 설정된 iptables 내용은 다음과 같음.
  ㄴ IDC 대역중 1433 포트로 오는 트래픽을 SQL Server로 포워딩
  ㄴ Health Check Probe IP 대역 중 1433 포트로 오는 트래픽을 SQL Server로 포워딩
============================================================

일단 무엇을 체크해야하는지 확실하게 할 필요가 있음. 서버 역할 자체가 트래픽을 SQL Cloud 서버로 넘겨주는 것이기 때문에, 이 VM의 정상 작동을 체크 하려면 트래픽이 SQL Cloud로 넘어가는 것을 체크해야함. 이 체크를 내부에서 접근해 체크한다면 문제가 안되지만 외부(GCP 포함)에서 체크하느 것은 보안상 문제가 되기 때문에 설정 할 수 없음(Health Check 사용 불가).

정상작동 체크에도 문제가 있는데 트래픽을 통한 체크는 SQL Cloud 서버에 문제가 있는 건지, Proxy VM에 문제가 있는 건지 파악을 못함. 온전히 Proxy VM만의 문제를 파악하려면 iptables 구성을 확인하는 것이 제일 정확 할 듯 함. 이 부분은 shellscript로 체크 할 수 있겠음.

 

추가로 서버가 뜬금없이 죽었을 경우도 생각해야함. 하지만 VM내에서는 외부에서 체크 가능한 어플리케이션이 없음. 그냥 WEB 서버 띄워서 체크하는 것은 어떨지? 이렇게 되면 iptables 설정 및 정상 작동 테스트(시작 스크립트로 작성) + 서버 살아있는지 여부 체크 (Health Check → 80 port)로 구성 가능함.

이 외에도 더 확실한 방법이 있을 지 고민해 봐야겠음.

 

답변을 받았는데 결론은 별도의 체크 용 포트를 띄워야 한다고 함. 제안해 주신 것은 Web Server 또는 socat 사용. 이런 상황에서는 주로 socat을 사용한다고 하심.