AWS 기술 블로그

Amazon VPC Lattice: 엔터프라이즈 네트워크 아키텍처의 현대화 및 단순화

이 글은 AWS Networking & Content Delivery Blog에 게시된 Amazon VPC Lattice: modernize and simplify your enterprise network architectures by Alexandra Huides and Ankit Chadha 을 한국어 번역 및 편집하였습니다.

이 포스팅에서는 Amazon VPC Lattice를 활용하여 AWS에서 현대적이고 안전하며 복원력이 뛰어난 엔터프라이즈 네트워크를 구축하는 방법을 살펴봅니다. 모든 AWS 컴퓨팅 서비스와의 VPC Lattice 통합과 광범위한 애플리케이션 및 전송 프로토콜 지원을 사용하여 네트워크 연결을 현대화하는 방법에 대해 자세히 살펴봅니다. 또한 교차 리전 및 하이브리드 접근에 대한 요구 사항을 충족하기 위해 온프레미스 환경으로 VPC Lattice 연결을 확장하는 방법도 검토합니다.

Amazon VPC Lattice는 서비스 간 통신 요구 사항에 대한 네트워크 연결, 보안 및 모니터링을 간소화하는 데 도움이 되는 완전 관리형 애플리케이션 네트워킹 서비스입니다. 이제 VPC Lattice는 Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Kubernetes Service (Amazon EKS), AWS Lambda에 더해 Amazon ECS(Amazon Elastic Container Service) 및 AWS Fargate를 기본으로 지원합니다. 또한 HTTPHTTPS, gRPC, TLS, TCP 등 가장 일반적인 유형의 서비스 및 프로토콜을 폭넓게 지원합니다. VPC 리소스 및 서비스 네트워크 VPC 엔드포인트를 지원하는 VPC Lattice를 사용하면 AWS 및 온프레미스 서비스를 위한 일관되고 안전한 네트워크 연결을 구성할 수 있습니다.

네트워크 연결 외에도 VPC Lattice는 안정적인 인증과 상황별 권한 부여를 통해 보안 태세를 개선할 수 있습니다. 서비스 간 인증 및 권한 부여를 위해 AWS Identity and Access Management (AWS IAM)과 통합되어 현재 AWS 서비스에서 사용하는 것과 동일한 친숙한 인증 및 권한 부여 기능을 제공합니다. 이를 통해 풍부한 트래픽 제어와 엔드투엔드 가시성을 갖춘 심층 방어 보안 전략을 구현할 수 있습니다. VPC Lattice 인증 정책을 활용하여 워크로드 간의 액세스를 세밀하게 제어하고 제로 트러스트 보안 체계 도입을 더욱 쉽게 구현할 수 있습니다.

사전 요구 사항

이 글에서는 여러분이 Amazon Virtual Private Cloud(Amazon VPC), AWS Direct Connect, AWS Site-to-site VPN, Amazon Route 53, AWS PrivateLink, AWS Cloud WAN 등 AWS의 네트워킹 서비스에 대해 잘 알고 있다고 가정하겠습니다. 이러한 서비스들에 대한 정의보다는, VPC Lattice와 함께 활용할 수 있는 네트워크 연결 시나리오에서의 기능과 활용 방법을 중점적으로 설명하겠습니다. 또한 Amazon VPC Lattice 개념에 대해 잘 알고 있다고 가정하겠습니다. Amazon VPC Lattice에 대한 추가 배경 지식은 이전 게시물인 Amazon VPC Lattice로 애플리케이션을 위한 안전한 다중 계정 다중 VPC 연결 구축하기와 Amazon VPC Lattice 시작 가이드의 리소스 모음을 살펴보는것을 추천해 드립니다.

네트워크 연결 시나리오

엔터프라이즈 네트워크는 여러 AWS 계정 및 리전 내 혹은 교차 리전 VPC 간 연결, 온프레미스 환경과의 하이브리드 연결, Amazon Relational Database Service (RDS)와 같은 AWS 관리형 서비스에 대한 연결 등 다양한 트래픽 패턴을 위한 연결 기반을 제공합니다.

우리는 다중 계정 및 다중 VPC 아키텍처 패턴을 애플리케이션 배포 옵션의 모범 사례로 간주하며, 이는 AWS Well-Architected 프레임워크와 일치합니다. 따라서 아키텍처 다이어그램에는 계정 경계를 표시하지 않으며, 모든 리소스가 여러 계정에 걸쳐 배포된다고 가정합니다. 다음 섹션에서는 다음의 애플리케이션 통신 사용 사례를 다루면서 Amazon VPC Lattice를 사용하여 엔터프라이즈 네트워크 연결 및 보안을 현대화하고 간소화하는 방법에 대해 자세히 설명합니다:

사용 사례 1: 단일 AWS 리전 내 애플리케이션 간 연결

사용 사례 2: 하이브리드 환경, AWS 및 온프레미스에 배포된 애플리케이션 간의 연결. 이 사용 사례에는 두 가지 일반적인 흐름이 있습니다.:

  • AWS의 클라이언트가 온프레미스에 배포된 애플리케이션에 액세스해야 하는 경우
  • 온프레미스 클라이언트가 AWS의 애플리케이션에 액세스해야 하는 경우

사용 사례 3: 인터넷의 애플리케이션에서 AWS에 배포된 애플리케이션으로의 연결. 우리는 애플리케이션에 대한 사용자 액세스에는 초점을 맞추지 않습니다. 애플리케이션에 대한 사용자 액세스를 보호하는 방법에 대한 자세한 내용은 AWS Verified Access를 검토하는 것을 추천합니다

사용 사례 4: 여러 AWS 리전에 걸친 애플리케이션 간 연결. 이 요구 사항은 교차 리전 연결에 대한 두 가지 일반적인 사용 사례에서 비롯됩니다:

  • 여러 리전의 클라이언트가 단일 리전에 배포된 애플리케이션에 액세스해야 하는 경우
  • 클라이언트가 여러 리전에 걸쳐 배포된 애플리케이션에 액세스하려면 교차 리전 장애 조치(failover) 기능이 필요합니다. 장애 조치는 서비스 소유자 또는 클라이언트가 제어할 수 있습니다.

여기서 클라이언트, 서비스 및 리소스는 HTTP, HTTP, gRPC, TLS 및 TCP와 같은 다양한 지원 프로토콜과 함께 다양한 AWS 컴퓨트 옵션에 배포된 애플리케이션의 조합으로 간주합니다.

VPC Lattice 기능 및 새로운 기능

VPC Lattice는 AWS에서 연결과 네트워크 보안을 간소화할 수 있는 새로운 기능을 출시했습니다. 이제 VPC 리소스를 VPC Lattice 서비스 네트워크와 연결하여 AWS 또는 온프레미스에 배포된 TCP 서비스 및 리소스에 대한 액세스를 제공할 수 있습니다. 또한 서비스 네트워크 VPC 엔드포인트를 사용하여 서비스 네트워크에 대한 온프레미스 또는 교차 리전 액세스를 구성할 수도 있습니다.

각 새로운 기능에 대한 자세한 내용은 앞서 언급한 게시물에서 확인할 수 있지만, 여기서는 다음 섹션에 설명된 시나리오에서 네트워크 연결을 설계하는 데 사용한 구성의 개요를 살펴봅니다:

  1. 공통 연결 및 보안 요구 사항이 있는 애플리케이션을 VPC Lattice 서비스 네트워크를 사용하여 한데 모으기: 서비스 네트워크는 VPC 사이 또는 계정 사이에 연결을 설정하고 애플리케이션 통신 패턴에 공통 보안 정책을 적용할 수 있는 방법을 간소화하는 논리적인 그룹화 메커니즘입니다. 계정에서 서비스 네트워크를 생성하고 AWS Resource Access Manager(RAM)를 사용하여 AWS Organization 내부 또는 외부의 다른 계정과 공유할 수 있습니다. 다양한 사용 사례, 사업 단위 또는 환경(예: 프로덕션, 개발, 스테이징 등)에 대해 여러 서비스 네트워크를 보유할 수 있습니다.
  2. 클라이언트는 서비스 네트워크 VPC 연결 및 서비스 네트워크 VPC 엔드포인트를 사용하여 서비스 네트워크의 서비스 및 리소스에 액세스할 수 있습니다:
    • 서비스 네트워크 VPC 연결(SN-A): VPC에 배포된 클라이언트가 서비스 네트워크에 액세스할 수 있도록 허용합니다. 연결된 VPC 외부에서는 서비스 네트워크 연결에 액세스할 수 없습니다. 하나의 VPC는 하나의 서비스 네트워크 연결만 가질 수 있습니다.
    • 서비스 네트워크 VPC 엔드포인트(SN-E): VPC에 배포된 클라이언트가 서비스 네트워크에 액세스할 수 있도록 허용합니다. 또한 VPC 외부의 클라이언트가 VPC에 네트워크 연결이 있는 경우 해당 서비스 네트워크 엔드포인트에 액세스할 수 있도록 허용합니다. 예를 들어, 클라이언트는 피어링된 VPC, AWS Cloud WAN 또는 AWS Transit Gateway나 AWS Direct Connect 또는 Site-to-site VPN을 통해 온프레미스에서 서비스 네트워크 VPC 엔드포인트에 액세스할 수 있습니다. 서비스 네트워크 VPC 엔드포인트는 VPC CIDR 블록의 IP 주소를 사용합니다. 각 서비스 네트워크에 대해 SN-E를 생성하여 VPC에서 여러 서비스 네트워크에 대한 연결을 구성할 수 있습니다. 서비스 네트워크 엔드포인트에 대한 자세한 내용은 설명서를 검토하는것을 추천해 드립니다.
  3. 서비스 네트워크에서 VPC Lattice 서비스와 VPC 리소스를 연결할 수 있습니다:
    • VPC Lattice 서비스: VPC Lattice 서비스는 리스너(프로토콜 및 포트 번호), 애플리케이션 흐름을 제어할 수 있는 라우팅 규칙(예: 경로, 메서드, 헤더 기반 또는 가중치 기반 라우팅), 애플리케이션 인프라를 정의하는 하나 이상의 대상 그룹으로 구성됩니다. 서비스에는 다양한 클라이언트 기능을 충족하기 위해 여러 개의 리스너가 있을 수 있습니다. 지원되는 프로토콜에는 HTTP, HTTPs, gRPC 및 TLS가 포함됩니다. VPC Lattice 서비스를 생성한 후에는 AWS RAM을 사용하여 AWS Organization 내부 또는 외부의 계정과 공유하도록 선택할 수 있습니다. 여러 서비스를 서비스 네트워크에 연결할 수 있으며, 하나의 서비스를 여러 서비스 네트워크에 연결할 수도 있습니다.
    • VPC 리소스: 리소스는 IP 주소, 도메인 이름(DNS) 또는 Amazon RDS 데이터베이스와 같은 Amazon 관리형 리소스일 수 있습니다. 다른 VPC 및 계정에서 리소스를 사용할 수 있도록 하려면 리소스 게이트웨이리소스 구성을 정의하면 됩니다.:
      • 리소스 게이트웨이는 리소스에 액세스하기 위해 리소스 소유자 VPC로 트래픽이 유입되는 지점을 제공하는 새로운 VPC 구성입니다. 하나의 VPC에 리소스 게이트웨이를 하나 이상 가질 수 있습니다.
      • 리소스 구성은 공유하려는 리소스 또는 리소스 그룹을 나타냅니다. 여러 리소스 구성을 VPC의 단일 리소스 게이트웨이에 연결할 수 있습니다. 리소스 구성을 만든 후에는 이를 서비스 네트워크와 연결할 수 있습니다. AWS RAM을 사용하여 AWS Organization 내부 또는 외부의 계정과 리소스 구성을 공유할 수도 있습니다.

VPC Lattice를 사용하면 클라이언트, 서비스 및 리소스가 겹치는 IP 주소를 갖거나 서로 다른 IP 버전(IPv4 및 IPv6)을 지원할 수 있습니다. 이를 통해 사설 IPv4 주소가 겹치거나 부족한 환경에서 연결을 용이하게 하고 IPv6 도입 여정을 가속화할 수 있습니다.

사용 사례 1: 단일 AWS 리전의 애플리케이션 간 연결

첫 번째 사용 사례는 단일 AWS 리전의 여러 VPC와 계정에 배포된 애플리케이션 간에 안전한 연결을 제공하기 위해 VPC Lattice를 사용하는 방법입니다. 애플리케이션은 Amazon EC2 인스턴스, AWS Lambda 함수, Amazon ECS, Amazon EKS 및 AWS Fargate 클러스터를 비롯한 다양한 컴퓨팅 플랫폼에 배포할 수 있으며, 광범위한 통신 프로토콜을 지원할 수 있습니다. 그림 1은 AWS 리전 내 애플리케이션 네트워킹의 전반적인 아키텍처 다이어그램을 보여줍니다:

그림 1: AWS 리전의 애플리케이션 네트워킹의 전반적인 아키텍처

단일 AWS 리전 내에서 엔터프라이즈 네트워크 연결 아키텍처를 간소화하고 현대화 하기 위해서 다음과 같은 작업을 수행할 수 있습니다.

  • 세분화 모델에 따라 하나 이상의 VPC Lattice 서비스 네트워크를 생성합니다.
  • 애플리케이션 요구 사항에 따라 VPC Lattice 서비스와 VPC 리소스를 생성합니다.
  • VPC, 서비스 및 리소스를 각각의 서비스 네트워크에 연결합니다.
  • 선택적으로, 애플리케이션 간 통신을 세밀하게 제어하기 위해 서비스 네트워크와 서비스에 인증 및 권한 부여 정책을 구성합니다.

클라이언트별 서비스 네트워크 또는 서비스별 서비스 네트워크를 만들 수 있습니다. 예를 들어, 사업부(BU)별로 클라이언트를 그룹화하고 각 사업부마다 서비스 네트워크를 구성할 수 있습니다. 또는 공유 서비스와 같이 기능별로 서비스를 그룹화하여 전용 서비스 네트워크에 연결할 수도 있습니다. 애플리케이션 팀은 VPC Lattice 서비스와 리소스를 생성하고 이를 서비스 네트워크를 소유한 계정과 공유할 수 있습니다. 특정 액세스 요구 사항을 충족하기 위해 서비스와 리소스를 여러 서비스 네트워크에 연결할 수 있습니다. 세분화 및 운영 모델에 관계없이 태그를 사용하여 VPC, 서비스 및 리소스를 서비스 네트워크에 연결하는 작업을 자동화할 수 있습니다. 자동화 모범 사례에 대한 자세한 내용은 Amazon VPC Lattice용 태그를 사용하여 대규모 배포 자동화를 확인해보는 것을 추천합니다.

서비스 검색을 용이하게 하기 위해, VPC Lattice는 서비스와 리소스에 대한 사용자 지정 도메인 이름을 지원하며, 사용자가 정의한 각 VPC Lattice 서비스와 리소스에 대해 정규화된 도메인 이름(FQDN)을 유지 관리합니다. 이러한 FQDN을 Route 53 프라이빗 호스팅 영역 설정에서 활용하여 클라이언트가 서비스와 리소스를 검색하고 액세스할 수 있도록 할 수 있습니다. 여러 VPC와 AWS 계정에서 Amazon Route 53 프로필을 사용하여 DNS 관리를 통합하는 방법을 확인해보는 것을 추천합니다.

그림 2는 일반적인 엔터프라이즈 아키텍처의 예시를 보여줍니다. Prod, Dev 그리고 Shared 서비스라는 이름으로 각각 프로덕션, 개발, 공유 서비스 환경과 관련된 세 개의 서비스 네트워크를 만들었습니다. 이들을 다음과 같이 연결했습니다:

  • 프로덕션 VPC, 서비스 및 리소스를 Prod 서비스 네트워크에 연결
  • 개발 VPC, 서비스 및 VPC 리소스는 Dev 서비스 네트워크에 연결
  • 공유 서비스 및 공유 VPC 리소스, 그리고 해당 VPC를 Shared 서비스 서비스 네트워크에 연결
  • Shared 서비스 및 공유 VPC 리소스는 프로덕션과 개발 애플리케이션 모두에서 액세스해야 하므로 Prod 및 Dev 서비스 네트워크 모두에 연결

그림 2: 단일 AWS 리전에서 프로덕션, 개발 및 공유 서비스 애플리케이션 네트워킹을 사용하는 일반적인 엔터프라이즈 아키텍처

사용 사례 2: AWS와 온프레미스에 배포된 하이브리드 환경에 구축된 서비스 간의 연결

하이브리드 연결 사용 사례의 경우, 클라이언트와 애플리케이션을 온프레미스뿐만 아니라 AWS에도 배포할 수 있습니다. 다음과 같은 두 가지 일반적인 액세스 패턴을 다룹니다:

  1. AWS에 배포된 클라이언트가 온프레미스에 배포된 애플리케이션에 접근해야 하는 경우
  2. 온프레미스에 배포된 클라이언트가 AWS에 배포된 애플리케이션에 접근해야 하는 경우

이제 VPC Lattice 서비스 네트워크 VPC 엔드포인트(AWS PrivateLink 기반)와 VPC 리소스를 활용하여 두 사용 사례의 요구 사항을 충족하는 방법을 살펴보겠습니다.

1. 온프레미스에서 AWS에 배포된 애플리케이션으로 접근하는 경우: 온프레미스(또는 AWS 외부)에 배포된 클라이언트의 경우, AWS Direct Connect나 Site-to-site VPN을 사용하여 온프레미스에서 접근할 수 있는 진입점 VPC를 생성할 수 있습니다. 이 VPC에서 서비스 네트워크용 VPC 엔드포인트를 생성하여 온프레미스의 클라이언트가 관련 VPC Lattice 서비스와 리소스에 접근할 수 있도록 할 수 있습니다. 또한 서비스 네트워크 엔드포인트의 보안 그룹을 사용하여 온프레미스 트래픽을 필터링할 수 있습니다. 하이브리드 연결을 위해 AWS Direct Connect 또는 AWS Site-to-site VPN을 사용할 수 있습니다. 그림 3은 Amazon VPC Lattice 서비스 네트워크 VPC 엔드포인트의 전반적인 아키텍처 다이어그램을 보여줍니다.

그림 3: 온프레미스에서 Amazon VPC Lattice 서비스 네트워크 VPC 엔드포인트 접근하기

그림 4는 일반적인 엔터프라이즈 아키텍처의 예시를 보여줍니다. 온프레미스에서 리전의 모든 서비스 네트워크에 접근할 수 있도록 “하이브리드 인그레스 VPC”를 사용합니다. 각 서비스 네트워크(Prod, Dev, Shared 서비스)에 대해 서비스 네트워크 엔드포인트를 구성했습니다. 하이브리드 인그레스 VPC의 온프레미스 연결에는 AWS Direct Connect를 사용했습니다.

그림 4: 서비스 네트워크 엔드포인트가 있는 하이브리드 인그레스 VPC를 사용하여 온프레미스에서 Prod, Dev 및 Shared 서비스의 서비스 네트워크 접근하기

2. AWS에서 온프레미스에 배포된 애플리케이션으로 접근하는 경우: 온프레미스(또는 AWS 외부)에 배포된 애플리케이션의 경우, AWS Direct Connect나 Site-to-site VPN을 사용하여 온프레미스에 연결할 수 있는 출구점 VPC를 생성할 수 있습니다. 이 VPC에서 리소스 게이트웨이를 생성하고 온프레미스 애플리케이션에 대한 리소스 구성을 정의할 수 있습니다. DNS 또는 IP 주소를 사용하여 리소스를 식별하고 리소스 구성을 서비스 네트워크와 연결할 수 있습니다.

로드 밸런싱이 필요한 온프레미스 애플리케이션의 경우, 이그레스 VPC에서 AWS의 Network Load Balancer(NLB)를 사용할 수 있습니다. 서비스 네트워크에서 온프레미스 서비스를 나타내는 NLB에 대한 액세스를 구성하기 위해, 각 NLB의 DNS FQDN이 포함된 리소스 구성을 정의할 수 있습니다. 각 리소스 구성을 하나 이상의 서비스 네트워크와 연결하여 온프레미스로 부하 분산된 서비스에 대한 접근을 제공할 수 있습니다. 그림 5는 온프레미스 애플리케이션에 대한 리소스 구성의 상위 수준 아키텍처 다이어그램을 보여줍니다.

그림 5: 서비스 네트워크 엔드포인트가 있는 하이브리드 인그레스 VPC를 사용하여 온프레미스에서 Prod, Dev 및 Shared 서비스의 서비스 네트워크 접근하기

그림 6은 일반적인 엔터프라이즈 아키텍처의 예시를 보여줍니다. AWS Direct Connect를 통해 온프레미스 서비스 및 리소스에 접근할 수 있는 “하이브리드 이그레스 VPC”를 사용합니다. 리소스 게이트웨이를 구성하고 로드 밸런싱이 필요하지 않은 온프레미스 리소스를 나타내는 IP 또는 DNS 기반 리소스 구성을 정의했습니다. 로드 밸런싱이 필요한 온프레미스 애플리케이션의 경우, Network Load Balancer(NLB)를 구성하고 각 FQDN을 리소스 구성에 추가했습니다. 모든 리소스 구성을 세 개의 서비스 네트워크(Prod, Dev 및 Shared 서비스) 모두와 연결하기로 했습니다. 하지만 리소스 구성을 일부 서비스 네트워크와만 연결하거나, 온프레미스에 배포된 애플리케이션 전용 서비스 네트워크를 만들 수도 있습니다.

그림 6: 온프레미스 애플리케이션을 위한 리소스 게이트웨이 및 리소스 구성이 포함된 하이브리드 이그레스 VPC

사용 사례 3: 인터넷 기반 애플리케이션에서 AWS에 배포된 서비스로의 연결

인터넷 인바운드 통신이 필요한 경우, 인터넷상의 애플리케이션이 AWS에 배포된 애플리케이션에 접근해야 합니다. 이 사용 사례는 일반적으로 AWS에 배포된 애플리케이션의 프론트엔드로 퍼블릭 로드 밸런서를 구성하여 해결합니다. 이 시나리오에서는 VPC Lattice를 사용하여 퍼블릭 로드 밸런서에서 백엔드 대상에 대한 보안 연결을 제공하는 방법을 살펴봅니다. 이를 위해 퍼블릭 로드 밸런서를 배포하는 인그레스 포인트 VPC를 생성하고 로드 밸런서의 대상으로 서비스 네트워크 VPC 엔드포인트를 사용할 수 있습니다. Application Load Balancer를 사용하는 경우, 대상은 HTTP여야 합니다. 그림 7은 VPC Lattice로의 인터넷 인그레스에 대한 상위 수준 아키텍처 다이어그램을 보여줍니다.

그림 7: VPC Lattice를 통한 인터넷 인그레스 접근

그림 8은 일반적인 엔터프라이즈 아키텍처의 예시를 보여줍니다. 인터넷 클라이언트의 접근이 필요한 VPC Lattice 서비스 및 리소스를 위해 인터넷 인그레스 VPC와 전용 VPC Lattice 서비스 네트워크를 구성했습니다. 서비스 네트워크 IP 주소를 대상으로 하는 Application Load Balancer와 Network Load Balancer를 모두 사용합니다. 보안 및 운영 모델에 따라 서비스 네트워크에 직접 인터넷 연결을 제공하도록 선택할 수도 있습니다.

그림 8: Application 또는 Network Load Balancer와 Prod, Dev 및 Shared 서비스 애플리케이션을 위한 서비스 네트워크 엔드포인트를 사용하여 VPC Lattice를 통해 인터넷 연결 애플리케이션 접근하기

사용 사례 4: 여러 AWS 리전에 걸친 애플리케이션 간의 연결

다중 리전 애플리케이션의 사용 사례와 관계없이, 클라이언트가 복원력과 가용성에 영향을 주지 않으면서 서비스와 리소스에 안전하게 접근할 수 있도록 하는 것은 기본적인 요구사항입니다. 다음과 같은 애플리케이션에 대한 두 가지 일반적인 교차 리전 액세스 패턴을 살펴보겠습니다:

  1. 여러 리전에 걸쳐 있는 클라이언트가 단일 AWS 리전에 배포된 서비스에 접근해야 하는 경우
  2. 클라이언트가 여러 AWS 리전에 배포된 중요 서비스에 접근할 때 리전 간 장애 조치(failover) 기능이 필요한 경우

이제 VPC Lattice를 사용하여 두 가지 액세스 패턴의 요구사항을 모두 충족하는 방법을 살펴보겠습니다:

1. 여러 리전에 걸쳐 있는 클라이언트가 단일 AWS 리전에 배포된 서비스에 접근해야 하는 경우: 이 사용 사례의 경우, 서비스 네트워크 VPC 엔드포인트와 VPC 피어링 또는 AWS Cloud WAN을 사용하여 리전 간 IP 연결을 활용할 수 있습니다. 또는 리전 간 연결을 허용하는 인터페이스 VPC 엔드포인트(AWS PrivateLink 기반)와 함께 VPC Lattice를 사용하여 클라이언트로부터 서비스 위치, IP 주소 지정 및 장애 조치 결정을 추상화할 수 있습니다. 여기서는 두 번째 옵션에 중점을 두겠습니다. 이를 달성하기 위해:

  • 리전 간 클라이언트 액세스가 필요한 서비스에 대해 교차 리전 PrivateLink 인터페이스 VPC 엔드포인트를 만듭니다. 이렇게 하면 리전 간 통신 종속성을 더 잘 추적 및 관리할 수 있으며, 복원력과 가용성에 영향을 미치지 않도록 할 수 있습니다.
  • 교차 리전 PrivateLink 인터페이스 VPC 엔드포인트를 VPC 리소스로 VPC Lattice 서비스 네트워크에 통합합니다. 각 교차 리전 엔드포인트는 하나의 서비스를 나타냅니다. 각 엔드포인트의 PrivateLink 관리 FQDN을 사용하여 VPC 리소스를 정의하고, Route53 프라이빗 호스팅 영역과 프로필을 사용하여 사용자 지정 DNS를 관리할 수 있습니다.

그림 9는 상위 수준 아키텍처 예시를 보여줍니다.

그림-9: VPC Lattice 서비스 네트워크 VPC 엔드포인트와 AWS PrivateLink를 사용한 리전 간 서비스 액세스

원격 리전의 서비스 네트워크에 액세스하기 위해 서비스 네트워크 VPC 엔드포인트를 구성하고 Network Load Balancer로 프론트엔드를 구성할 수 있습니다. 그런 다음 PrivateLink 엔드포인트 서비스를 만든 후 원격 리전에 PrivateLink 엔드포인트를 만들 수 있습니다. 교차 리전 VPC 엔드포인트를 서비스 네트워크에 가져오기 위해 리소스 구성 또는 VPC Lattice 서비스를 정의할 수 있습니다. AWS PrivateLink와 Amazon VPC Lattice는 모두 클라이언트와 서비스 IP 주소와 IP 버전을 추상화하므로 모든 VPC가 겹치는 IP 공간을 가질 수 있습니다.

2. 클라이언트가 중요 서비스에 접근할 때 리전 간 장애 조치(failover) 기능이 필요한 경우: 여러 리전에 걸쳐 배포된 서비스의 경우, 장애 조치 상황에서 원격 리전에서 클라이언트 트래픽을 수신할 수 있는 능력이 리전 간 연결의 일반적인 사용 사례입니다. 서비스 소유자는 VPC Lattice를 다음과 같이 사용할 수 있습니다:

  • 두 개의 대상 그룹으로 VPC Lattice 서비스를 구성할 수 있습니다. 하나의 대상 그룹은 로컬 리전의 애플리케이션을 나타내고, 두 번째 대상 그룹은 원격 리전 서비스 네트워크에 대한 리전 간 연결을 위한 AWS PrivateLink IP 주소를 포함합니다.
  • 서비스를 다른 리전으로 장애 조치해야 하는 경우, 서비스 소유자는 대상 그룹의 가중치를 수정할 수 있습니다. 이렇게 하면 클라이언트 트래픽이 클라이언트에서 VPC Lattice를 통해 교차 리전 PrivateLink 엔드포인트로 이동할 수 있습니다.

그림 10은 상위 수준 아키텍처 예시를 보여줍니다. 이 시나리오에서는 장애 조치가 서비스 소유자에 의해 제어됩니다.

그림 10: 리전 간 액티브-패시브 서비스 접속 구성

이 옵션을 사용하면 여러 리전 간에 직접 IPv4 및 IPv6 연결을 구성할 필요가 없으며, 리전 간 종속성을 세밀하게 제어할 수 있습니다. VPC Lattice는 서비스 액세스 패턴에 대한 완전한 가시성을 제공하여 모니터링, 서비스 종속성 매핑 작업 및 장애 조치 제어를 단순화하는데 도움을 줍니다.

결론

이 게시물에서는 Amazon VPC Lattice를 활용하여 AWS에서 현대적이고 안전하며 복원력 있는 엔터프라이즈 네트워크를 구축하는 방법을 살펴보았습니다. 모든 AWS 컴퓨팅 서비스와의 VPC Lattice 통합 및 광범위한 애플리케이션과 전송 프로토콜 지원을 통해 네트워크 연결을 현대화하는 방법을 살펴보았습니다. 또한 리전 간 및 하이브리드 서비스 액세스 요구사항을 충족하기 위해 온프레미스 환경으로 VPC Lattice 연결을 확장하는 방법도 살펴보았습니다. Amazon VPC Lattice에 대한 자세한 내용은 설명서Amazon VPC Lattice 시작 가이드를 참조하세요.

Hyeonseong Chang

Hyeonseong Chang

장현성 Sr. Technical Account Manager 는 고객들이 AWS 사용중 발생하는 문제 해결을 돕고 미션 크리티컬 시스템을 안정적이고 효율적으로 운영할수 있도록 아키텍처 모범사례와 비용 최적화 방법등의 기술지원을 하고 있습니다.