대역대가 중복될 경우 AWS DR 적용
- Aws
- February 7, 2024
이번에 요청 들어온 아키텍처 설계가 상당히 어려웠습니다.
온프레미스와 AWS간 Distaster Recovery (DR) 구성인데 클라이언트가 요청한 조건은 동작하는 서버(Source 서버)가 장애 발생시 생성될 서버(DR서버)의 IP가 Source 서버와 동일한 IP로 만들어지도록 하는 거였습니다.
여기까지는 그리 어렵지 않은데 문제는 온프레미스와 AWS간의 통신이 내부 통신으로 해야 한다는 점이었습니다.
보통 소스서버의 사설IP를 그대로 쓸 경우는 온프레미스와 AWS간의 통신이 인터넷 통신으로 많이 하게 됩니다.
왜냐하면 내부 통신은 사설 IP로 통신하기에 대역대가 겹치면 안되기 때문입니다.
근데 클라이언트가 요구한 동일 IP 조건은 반드시 대역대가 겹쳐야 합니다.
겹치면 안되는데 겹쳐야 하는 아이러니한 상황입니다.
내부 통신과 동일 IP 구성을 만족시키는 방법을 찾다가 AWS 제공하는 자료에서 방법을 찾을 수 있었습니다.
Connecting Networks with Overlapping IP Ranges | Amazon Web Services
How to solve Private IP exhaustion with Private NAT Solution | Amazon Web Services
참고한 자료들을 보니 공통적으로 겹치지 않는 대역대가 있어야 했고 방법에 따라 1개 또는 2개를 만들어야 했습니다.
1개를 쓸때는 출발지 기준으로 구분하여 라우팅 할 수 있는 NAT서비스가 있어야 하는데 이 서비스는 서드파티를 사용해야 하므로 우선 제외했습니다.
(관련된 자료는 최하단에 링크로 첨부했습니다.)
그러면 고려할 수 있는 방안은 안 겹치는 대역대 2개를 추가 방법입니다.
해당 방법으로 아키텍처를 만들면 아래처럼 설계 할 수 있습니다.
여기서 가장 중요한 부분이 가운데의 VPN을 기준으로 양쪽의 Transfer Network 서브넷의 대역대입니다.
앞서 말한 것 처럼 새로 추가된 대역대는 반드시 겹치지 않아야 합니다.
그래야 라우팅 테이블에서도 중복 오류가 발생하지 않고 라우팅을 할 수 있습니다.
해당 구성으로 DRS를 테스트 해본 결과 성공적으로 만들어 졌습니다.
아래는 테스트 결과 이미지입니다.
첫번째 이미지에서 Agent 설치완료된 소스서버의 상세 정보를 확인 할수 있고 그 중 DR서버 설정에서 Copy private IP를 Yes로 하여 동일 IP로 생성하도록 했습니다.
2번째 이미지는 recovery drill 테스트 결과 로그이고 내용을 보면 잘 만들어진 것을 확인 할수 있습니다.
아래는 대역대를 하나 밖에 쓸 수 없을 경우에 서드파티 NAT로 라우팅 하는 방법입니다. 참고하면 좋을 것 같습니다.
Connect Overlapping VPC/VNet to On-prem — aviatrix_docs documentation