단일 VPN 연결을 통해 여러 AWS VPC에 연결

단일 VPN 연결을 통해 여러 AWS VPC에 연결

기존 AWS 설정을 잠그려고 합니다. 현재 모든 것이 단일 기본 VPC(테스트, 스테이징, 프로덕션) 내에 있고 모두 퍼블릭 서브넷 내에 있습니다.

내 계획은 퍼블릭 및 프라이빗 서브넷을 활용하여 3개의 환경을 3개의 서로 다른 VPC로 분리하는 것입니다.

또한 현재 서버에 공개 IP가 있고 누구나 접근할 수 있으므로 서버에 대한 접근을 제한하고 싶습니다. 이상적으로는 IP 화이트리스트만 작성하는 것이 좋지만 이 팀은 원격 팀이고 여기저기서 작업하므로 동적 IP를 처리해야 합니다.

내 계획은 OpenVPN 인스턴스를 사용하여 사람들이 이를 통해 연결하도록 하는 것입니다. 나의 극히 제한된 이해(소프트웨어 엔지니어 배경, 매우 제한된 네트워킹 경험)로 볼 때 이것이 작동할 것입니다.

내 질문은, 3개의 VPC가 있고 VPN 인스턴스는 그 중 하나에 있어야 합니다. VPN을 통해 다른 2개의 VPC에 대한 액세스를 허용하려면 어떻게 해야 합니까? 이것이 최선의 접근 방식(직접 액세스)입니까, 아니면 VPC당 VPN 연결이 있어야 합니까? 후자는 과잉인 것 같지만 확실하지 않습니다.

감사해요.

편집하다:아니면 또 다른 옵션은 단일 VPC만 갖고 서브넷을 사용하여 테스트, 스테이징 및 프로덕션을 격리하는 것입니다. 비록 이상적이지는 않지만 몇몇 사람들이 이렇게 한다는 것을 읽었습니다.

답변1

가장 좋은 옵션은 AWS가 이미 VPC 설정에 포함되어 있는 VPN을 실제로 활용하는 것입니다. 당신이 하려는 일을 이미 설정한 상태에서 말하는 것입니다. 사용자가 사무실이나 데이터 센터와 같은 중앙 위치에 연결한다고 가정하는 것은 옵션입니다. 그렇지 않은 경우 아래 설정의 확장 버전이 작동하여 사람들이 연결할 다른 VPN 인스턴스를 추가합니다.

VPC가 서로 통신해야 하는 경우 여러 개의 VPN 인스턴스(VPC당 최소 하나, 중복성을 위해 두 개 이상)를 설정하고 싶지만 그렇게 하려면 VPN 인스턴스를 제어할 또 다른 인스턴스가 필요합니다. 장애 조치를 수행하고 AWS의 라우팅 테이블을 새 경로로 업데이트합니다.

옵션 1:

트래픽을 다른 VPC로 라우팅하기 위해 생성된 터널을 통해 사용자가 AWS에 연결할 수 있는 중앙 VPN 서버입니다. VPN 터널 생성을 위해서는 별도의 VPC에 다른 인스턴스가 필요합니다.

옵션 2:

사용자가 AWS에 연결할 수 있는 중앙 VPN 서버입니다. 다른 VPC에 연결하기 위한 터널이 설정된 VPC당 하나 이상의 다른 VPN 인스턴스.

옵션 3:

사용자 VPN이 설정된 중앙 사무실이나 데이터 센터에 대한 AWS VPN 기능입니다. VPC 간 연결을 위해 터널이 설정된 AWS의 하나 이상의 VPN 인스턴스.

불행히도 Amazon에는 VPC 간 VPN 설정이 없으므로 터널을 제안하는 경우 최소한 각 터널 설정에 대해 인스턴스 세트가 필요합니다.

답변2

AWS나는 실제로 이 문서 에서 답을 찾을 수 있다고 생각합니다 .전체 CIDR 블록에 대한 경로가 포함된 구성

이 구성에 따라 단일 VPN 인스턴스를 실행할 수 있었습니다.

액세스하려는 상자가 있는 피어링된 VPC의 서브넷과 동일한 방식으로 내 VPN 상자가 있는 서브넷과 연결된 라우팅 테이블에 피어링 연결에 대한 라우팅을 추가합니다.

ssh문제 없이 그 상자에 들어갈 수 있었어요

답변3

모든 리소스(EC2 인스턴스 및 ElasticSearch 등과 같은 기타 서비스)가 동일한 지역에 있는 한 Transit Gateway를 사용하여 이 작업을 수행할 수 있습니다. 3개의 VPC를 생성한 다음(별도의 계정으로 만들고 역할을 통해 합류할 수도 있음) 단일 Transit Gateway를 생성합니다. 개별 Transit Gateway 연결을 사용하여 3개의 VPC를 TG에 연결한 다음 각 TGA에 라우팅 테이블을 연결합니다. VPN(모든 사용자가 연결하거나 이미 뒤에 있는 단일 라우터 장치에 대한 고객 게이트웨이 또는 다수의 클라이언트 VPN 엔드포인트)을 생성한 다음 Transit Gateway 연결을 사용하여 해당 VPN을 TG에도 연결합니다. 그런 다음 모든 경로가 TG 라우팅 테이블 항목에 있는지 확인하고 방화벽 규칙에 대한 보안 그룹을 설정하세요.

참고 사항: 여러 지역(예: us-east1 및 us-west1)에 리소스가 있는 경우 이 방법이 작동하지 않는 것 같습니다. 실제로 가능한지 아닌지 알아보기 위해 여기에 질문이 있습니다. 피어링과 함께 작동해야 하지만 그렇지 않은 것 같습니다.

관련 정보