
문제 설명
다음 요구 사항과 함께 AWS Cloud VPC를 사용하는 비즈니스 연속성 계획에 대한 요구 사항이 있습니다.
- 개발자의 AWS VPC 프라이빗 서브넷에는 각 개발자를 위한 작업 공간(예: AWS 보안 서비스로서의 데스크톱)이 있습니다.
- 이러한 작업 공간에서 각 개발자는 VPN(공용 클라우드 GCP/AWS/Azure 또는 온프레미스 데이터 센터)을 사용하여 다양한 원격 클라우드에 연결할 수 있습니다. 이러한 다양한 원격 데이터 센터 또는 퍼블릭 클라우드에는 IP 주소 범위가 겹칠 수 있으며 당사는 이러한 IP 범위 관리를 제어할 수 없습니다.
- 개발자는 VPN을 사용하여 작업 공간에서 다른 클라우드 간에 쉽게 전환하고 연결할 수 있습니다.
AWS 기본 서비스/기능은 직접적인 도움이 되지 않습니다.
사이트2사이트 VPN- 이러한 요구 사항을 충족하기 위해 AWS 사이트 간 VPN 전송 네트워킹은 IP 범위 중복을 허용하지 않으므로 범위를 벗어납니다.
중복되는 IP 주소 범위를 해결하기 위한 간접적인 방법으로 AWS 설명서에 중복된 사이트 간 VPN 계획이 있지만 이는 장애 조치 시나리오를 위한 것이며 모든 원격 클라우드가 언제든지 연결될 수 있어야 합니다. 즉, 항상 활성 상태입니다.
환승 게이트웨이- AWS Transit Gateway는 이상적으로 IP 범위 멀티클라우드 네트워크 중복을 허용하지 않기 때문에 도움이 되지 않습니다.
Transit Gateway에서 여러 라우팅 테이블을 사용하여 상호 연결 클라우드의 별도 조합을 위한 라우팅 경로 분리, 즉 경로 분할을 수행하는 방법이 있지만 이 접근 방식에는 Transit Gateway 연결을 사용하여 이러한 분할이 필요하며 AWS VPC는 둘 이상의 연결을 가질 수 없습니다. .
또한 그런 작업을 수행하더라도 EC2 인스턴스에서 소프트웨어 VPN을 사용할 수 있습니다(가능한지는 확실하지 않음). 개발자의 AWS VPC 서브넷 라우팅 테이블 때문에 각 작업 공간에서 쉽게 연결하고 다른 모든 클라우드로 전환할 수 있는지 확신할 수 없습니다. 대상에서 IP 범위가 겹칠 수 없습니다.
솔루션에 대한 나의 접근 방식
내 네트워크 계획
동일한 서브넷에서 소프트웨어 기반 IPSec VPN 접근 방식을 사용할 생각이었습니다. 즉, EC2의 한 인스턴스에는 Strongswan 및 SNAT에 대한 Iptable 규칙과 같은 VPN 서비스가 있을 것입니다. 이 접근 방식은 AWS Support Answer on에서 영감을 얻었습니다.VPN 트래픽에 대한 NAT 구성.
각 클라우드/데이터 센터에는 소프트웨어 IPSec VPN 및 IPtable 규칙이 포함된 EC2 인스턴스 설정이 있습니다.
원격 측에도 AWS VGW 및 고객 게이트웨이 페어링과 마찬가지로 VPN용 게이트웨이가 있습니다.
VPN을 사용하여 Workspace에서 오른쪽 원격 클라우드로 트래픽이 이동하려면 Destination을 원격 클라우드의 IP 주소 범위로, Target을 VPN EC2 인스턴스의 eni ID로 사용하여 서브넷의 라우팅 테이블에 항목을 만들어야 합니다.
이 접근 방식의 문제점다시 한 번 말하지만, IP 주소가 겹치는 원격 클라우드의 경우 개발자의 AWS VPC 서브넷 라우팅 테이블에 항목을 가질 수 없습니다.
이 문제를 해결하려면, 나는 겹치는 각 원격 클라우드에 대해 완전히 구성되거나 비현실적인 IP 범위를 만드는 IP 범위 조작과 같은 작업을 생각하고 있었습니다. 즉, 실제 IP 범위가 192.168.xy/16인 클라우드의 경우 비현실적인 IP 범위는 10.10이 될 것입니다. pq/16.
그 후에는 이러한 원격 클라우드 각각에 대해 별도의 EC2 VPN 서버를 갖게 됩니다. 그런 다음 원격 클라우드에 대한 경로의 경우 경로 테이블 항목은 대상으로 10.10.pq/16이 되고 대상으로 EC2 VPN 서버의 eni ID가 됩니다.
EC2 VPN 서버에는 다음과 같이 IP 전용 전달을 위한 DNAT PREROUTING DNAT 및 POSTROUTING SNAT와 같은 작업을 수행하는 Iptable 규칙 설정이 있습니다.스택오버플로우 Q/A.
작업 공간의 개발자는 비현실 IP와 실제 IP 간의 매핑을 알고 비현실 IP를 사용하여 트래픽을 전송해야 합니다. 이 매핑을 최신 매핑으로 계속 업데이트하려면 사용자 지정 스크립트를 사용하여 EC2 VPN 서버 Iptables 규칙을 업데이트해야 합니다.
위 접근 방식의 정확성이나 효율성이 확실하지 않습니다.
위의 접근 방식이 암시하는 또 다른 문제
또한 원격 클라우드에서 특정 IP를 사용하여 인스턴스에 연결하더라도 서버리스 기능이나 API 또는 DB/LB와 같은 관리/추상 서비스와 같은 다른 클라우드 서비스에 액세스하는 것은 어떨까요?
개발자의 VPC에서 IGW를 사용하여 트래픽을 전송하거나 원격 클라우드의 배스천 호스트에 연결하여 이를 수행할 수 있습니다.
인터넷에서 검색한 다른 접근 방식벅차거나 로켓 과학처럼 보이는 맞춤형 멀티클라우드 오버레이 네트워크를 설정하고 있습니다.
또한 OpenVPN과 같은 오픈 소스 VPN이나 방화벽/네트워킹 소프트웨어와 같은 pfsense가 원래 문제를 해결하기 위해 기본 기능 중 일부를 도울 수 있는지 확실하지 않습니다.
저는 AWS 클라우드에서만 작업하면서 모든 네트워킹 또는 VPN 지식을 얻었으며 컴퓨터 과학 전반에 걸친 네트워킹의 깊이에 대해서는 잘 알지 못합니다.
이러한 문제를 해결하도록 도와주세요.