내용으로 건너뛰기

멀티 테넌트 Hub-Spoke 환경에서의 Spoke 간 통신 차단 문의

0

안녕하세요. 중앙 Hub VPC에 공통 인프라를 두고 각 테넌트를 별도 Spoke VPC로 분리하여 Transit Gateway로 연결하는 아키텍처를 사용하고 있습니다. 테넌트 A의 트래픽이 테넌트 B의 Spoke VPC에 도달하지 못하도록 보장하려면 TGW를 어떻게 구성해야 하나요? 테넌트가 100개 이상으로 늘어날 예정이라 확장성도 함께 고려해야 합니다.

질문됨 한 달 전22회 조회
1개 답변
1
수락된 답변

Transit Gateway의 Route Table 격리 패턴을 사용하면 Spoke 간 통신을 라우팅 레벨에서 원천 차단할 수 있습니다.

핵심 설계 원칙

각 Spoke VPC는 오직 Hub VPC와만 통신 가능해야 하며, Spoke↔Spoke 간 직접 통신은 경로 자체가 존재하지 않아야 합니다.

TGW Route Table 구성

Route Table을 2개로 분리합니다:

  • Hub-RT: Hub VPC Attachment와 Association. 모든 Spoke VPC CIDR이 Propagation으로 등록됩니다.
  • Spoke-RT: 모든 Spoke VPC Attachment와 Association. Hub VPC CIDR만 Static Route로 등록합니다.

Spoke-RT의 라우팅 규칙:

  • Hub VPC CIDR → Hub VPC Attachment (Static Route)
  • 0.0.0.0/0 → Blackhole

Hub-RT의 라우팅 규칙:

  • Tenant-A VPC CIDR → Tenant-A Attachment (Propagation)
  • Tenant-B VPC CIDR → Tenant-B Attachment (Propagation)

가장 중요한 포인트는 Spoke-RT에서 다른 Spoke VPC의 Route Propagation을 비활성화하는 것입니다. 경로 자체가 없으므로 Spoke 간 통신이 원천 차단됩니다.

100+ 테넌트 확장 시 고려사항

  • 단일 TGW당 최대 5,000개 Attachment를 지원하므로 100개 테넌트는 충분합니다.
  • TGW당 Route Table은 기본 20개까지 가능합니다. 위 패턴처럼 Spoke를 하나의 RT로 공유하면 2개만 필요하므로 한도 문제가 없습니다.
  • 테넌트별 VPC CIDR은 IPAM(VPC IP Address Manager)으로 체계적으로 할당하세요. Overlapping CIDR이 발생하면 TGW 라우팅이 불가합니다.
  • 테넌트 온보딩 시 VPC 생성 → TGW Attachment → Route 설정을 CloudFormation StackSets 또는 Terraform으로 자동화하는 것을 권장합니다.

추가 보안 계층

라우팅 격리만으로도 Spoke 간 통신은 차단되지만, Defense in Depth 관점에서 다음을 추가로 고려하세요:

  • Hub VPC에 AWS Network Firewall을 배치하여, Spoke에서 Hub로 들어오는 트래픽을 L7 레벨에서 검사할 수 있습니다.
  • Hub VPC의 서비스에 테넌트별 Security Group을 적용하면 애플리케이션 레벨에서도 격리가 강화됩니다.
  • VPC Flow Logs를 활성화하고 Athena로 분석하면 테넌트 간 비정상 통신 시도를 탐지할 수 있습니다.
AWS
답변함 한 달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.