본문으로 건너뛰기

VPC-Peering

1 VPC Peering

  • VPC Peering은 AWS 네트워크를 사용하여 두 개의 VPC를 프라이빗하게 연결하는 기능입니다.
  • 이를 통해 두 VPC를 마치 동일한 네트워크에 있는 것처럼 동작하게 합니다.
  • VPC Peering을 설정할 때, 두 VPC의 CIDR 블록이 중복되지 않아야 합니다.
    • 중복된 CIDR 블록이 있는 경우, VPC Peering 연결을 설정할 수 없습니다.

2 주요 특징

2.1 CIDR 중복 불가

  • VPC Peering을 설정하려면 두 VPC의 CIDR 블록이 중복되지 않아야 합니다.
  • CIDR 중복이 있는 경우 VPC Peering 연결을 설정할 수 없습니다.

2.2 비전이적 연결

  • VPC Peering 연결은 전이적이지 않습니다.
  • 통신이 필요한 각 VPC에 대해 개별적으로 Peering 연결을 설정해야 합니다.
  • 예를 들어, VPC A와 VPC B, VPC B와 VPC C가 Peering 연결을 갖고 있어도 VPC A와 VPC C는 직접 통신할 수 없습니다.

2.3 라우팅 테이블 업데이트

  • VPC Peering을 설정한 후 각 VPC의 서브넷에 있는 라우팅 테이블을 업데이트해야 합니다.
  • 이를 통해 EC2 인스턴스 간의 통신이 가능해집니다.
  • 라우팅 테이블에 피어링된 VPC의 CIDR 블록을 대상으로 하는 경로를 추가해야 합니다.

2.4 계정 및 리전 간 Peering

  • VPC Peering은 서로 다른 AWS 계정 간에도 설정할 수 있습니다.
  • 또한, 서로 다른 리전에 있는 VPC 간에도 Peering 연결을 설정할 수 있습니다.
  • 이를 통해 글로벌 네트워크 아키텍처를 유연하게 구성할 수 있습니다.

2.5 보안 그룹 참조

  • 피어링된 VPC의 보안 그룹을 참조할 수 있습니다.
  • 같은 리전 내에서는 계정 간 보안 그룹 참조가 가능합니다.
  • 이를 통해 보안 설정을 간편하게 관리할 수 있습니다.

3 설정 절차

3.1 VPC Peering 연결 생성

  • AWS Management Console, AWS CLI, 또는 SDK를 사용하여 VPC Peering 연결을 생성합니다.
  • 연결을 생성할 때 요청자와 수락자의 VPC 정보를 입력합니다.

3.2 VPC Peering 연결 수락

  • VPC Peering 요청이 생성되면, 수락자 VPC의 소유자가 요청을 수락해야 합니다.
  • 요청을 수락한 후 Peering 연결이 활성화됩니다.

3.3 라우팅 테이블 업데이트

  • 각 VPC의 라우팅 테이블에서 피어링된 VPC의 CIDR 블록을 대상으로 하는 경로를 추가합니다.
  • 이를 통해 두 VPC 간의 트래픽이 올바르게 라우팅됩니다.

4 장점

  • 비용 효율성
    • 데이터 전송 시 추가 비용 없이 VPC 간 트래픽을 처리할 수 있습니다.
  • 보안성
    • 인터넷을 거치지 않고 프라이빗하게 통신할 수 있어 보안이 강화됩니다.
  • 낮은 지연 시간
    • 지연 시간이 적고, 안정적인 네트워크 성능을 제공합니다.
  • 유연한 네트워크 구성
    • 동일 리전뿐만 아니라 다른 리전 및 계정 간에도 유연하게 연결할 수 있습니다.
  • 확장성
    • 트래픽 처리량을 높이고, 네트워크 아키텍처를 확장할 수 있습니다.

5 단점

  • 스케일링 제한
    • VPC Peering 연결은 VPC가 많아질수록 복잡해집니다.
    • 많은 수의 VPC를 연결해야 하는 경우, 관리 및 유지보수가 어려워질 수 있습니다.
    • 각 VPC 간의 라우팅 테이블과 보안 설정을 일일이 관리해야 하기 때문입니다.
  • 비전이적 연결
    • VPC Peering은 비전이적 특성으로 인해 직접적으로 연결된 VPC 간의 트래픽만 허용합니다.
    • 이는 다수의 VPC를 연결해야 할 때, 모든 VPC 간의 직접적인 Peering 연결을 필요로 하게 되어 복잡성을 증가시킵니다.
    • 예를 들어, VPC A와 VPC B가 Peering 연결을 맺고 있고, VPC B와 VPC C가 별도의 Peering 연결을 맺고 있을 때, VPC A는 VPC C와 직접 통신할 수 없습니다.
      • VPC A에서 VPC C로 트래픽을 보내기 위해서는 VPC A와 VPC C 간에도 별도로 Peering 연결을 설정해야 합니다.

5.1 대안: Transit Gateway

  • Transit Gateway는 여러 VPC와 온프레미스 네트워크 간의 중앙 라우팅 허브 역할을 합니다. 이를 통해 다수의 VPC 간 통신을 간편하게 관리할 수 있습니다. 모든 트래픽은 Transit Gateway를 통해 라우팅되므로, 네트워크 아키텍처가 단순해지고, VPC 간 전이적 연결을 지원합니다.
  • 관리 용이성: 모든 트래픽이 중앙 집중화된 라우팅 허브를 통해 이루어지기 때문에 관리가 용이합니다.
  • 확장성: 다수의 VPC와 온프레미스 네트워크를 쉽게 연결할 수 있으며, 스케일링에 용이합니다.
  • [[Transit-Gateway]] 참고

5 실제 사례: VPC Peering 라우팅 테이블 구성

  • 한 회사가 두 개의 VPC 네트워크(VPC A와 VPC B)를 가지고 있습니다.
  • VPC A의 CIDR 블록은 10.0.0.0/16이고, VPC B의 CIDR 블록은 172.31.0.0/16입니다.
  • 이 회사는 두 VPC 간에 pcx-12345라는 이름의 VPC Peering 연결을 설정하려고 합니다.

5.1 VPC A의 라우팅 테이블 구성

  • VPC Peering 설정 후 VPC A의 라우팅 테이블에는 다음과 같은 규칙을 설정합니다.
  • Destination: 10.0.0.0/16, Target: Local
    • 이 규칙은 VPC A 내부의 트래픽을 로컬로 라우팅합니다.
    • VPC 내부 통신에 필요한 기본 규칙입니다.
  • Destination: 172.31.0.0/16, Target: pcx-12345
    • 이 규칙은 VPC B로 향하는 트래픽을 VPC Peering 연결(pcx-12345)로 라우팅합니다.
    • VPC B의 CIDR 블록으로 향하는 모든 트래픽이 Peering 연결을 통해 전송됩니다.

5.2 설명

  • 첫 번째 규칙(10.0.0.0/16 → Local)은 VPC A 내부의 통신을 처리합니다.
    • 이는 VPC 생성 시 자동으로 추가되는 기본 규칙입니다.
  • 두 번째 규칙(172.31.0.0/16 → pcx-12345)은 VPC Peering 연결을 통해 VPC B로 트래픽을 보내기 위해 수동으로 추가해야 하는 규칙입니다.
  • VPC B의 라우팅 테이블에도 유사한 방식으로 규칙을 추가해야 합니다(VPC A의 CIDR 블록으로 향하는 트래픽을 Peering 연결로 라우팅).

6 결론

  • VPC Peering은 두 VPC를 안전하고 효율적으로 연결하는 방법입니다.
  • CIDR 중복 불가, 비전이적 연결, 라우팅 테이블 업데이트 등의 조건을 충족해야 합니다.
  • 올바르게 설정하면 두 VPC 간의 통신이 원활해집니다.
  • 비용 효율성, 보안성, 낮은 지연 시간 등의 장점을 통해 네트워크 아키텍처를 효과적으로 구성할 수 있습니다.
  • 실제 사례에서 볼 수 있듯이, 라우팅 테이블의 올바른 구성이 VPC Peering의 성공적인 운영에 중요합니다.