Amazon VPC Lattice · 애플리케이션 네트워킹

VPC와 계정이 달라도 서비스 단위로 연결하고 통제하세요

Amazon VPC Lattice는 여러 VPC와 계정에 흩어진 서비스와 리소스를 하나의 service network로 묶습니다. 라우팅, 인증, 로깅을 서비스마다 정의하고, VPC 사이의 네트워크 연결은 직접 구성하지 않습니다.

Service network · prodauth AWS_IAM
  • orders/api/* → tg-orders (IP · EKS Pods)HTTPS
  • inventoryweight 90 / 10 → tg-v1, tg-v2HTTP
  • paymentsTLS 종료는 대상에서 → tg-pay (TCP)TLS
  • rds-primaryresource configuration → resource gatewayTCP

서비스는 HTTP · HTTPS · TLS 리스너로, 데이터베이스 같은 TCP 리소스는 resource configuration으로 등록합니다.

3

리스너 프로토콜 (HTTP · HTTPS · TLS)

4

대상 그룹 유형 (Instance · IP · Lambda · ALB)

SigV4

IAM 서명 요청 기반 auth policy

RAM

서비스 · service network · 리소스를 계정 간 공유

Why VPC Lattice

VPC를 잇는 대신 서비스를 잇습니다

VPC 피어링이나 Transit Gateway로 서비스 간 통신을 열면 CIDR 설계, 라우팅 테이블, 보안 그룹 규칙이 VPC 수만큼 늘어납니다. VPC Lattice는 통신 단위를 서비스로 바꿔, 네트워크 팀과 애플리케이션 팀이 각자 맡은 부분만 관리하게 합니다.

Connect

겹치는 CIDR도 연결

VPC Lattice는 겹치는 CIDR을 지원합니다. 주소 체계를 다시 설계하지 않고 VPC와 계정 사이에서 서비스를 호출합니다.

Secure

요청 단위 인증

보안 그룹과 함께 IAM auth policy로 누가 어떤 서비스를 호출할 수 있는지 정합니다. 인증된 요청은 SigV4로 서명합니다.

Delegate

역할 분리

네트워크 관리자는 service network와 정책을, 서비스 소유자는 리스너와 대상 그룹을 관리합니다. AWS RAM으로 계정 간에 공유합니다.

Object model

service network 아래로 이어지는 네 단계

요청은 service network에서 서비스의 리스너로 들어오고, 리스너 규칙이 대상 그룹을 고릅니다. 위에서 아래로 포함 관계를 따릅니다.

containerService network

논리적 경계

서비스와 resource configuration을 모으는 경계입니다. 클라이언트 VPC는 VPC 연결(association)이나 service network endpoint로 들어옵니다.

VPC associationSN endpointauth policyaccess logs
unitService

독립 배포 단위

하나의 기능을 제공하는 애플리케이션입니다. VPC Lattice가 생성한 도메인 이름을 받고, 사용자 지정 도메인도 쓸 수 있습니다.

generated FQDNcustom domainauth policy
entryListener · Rule

프로토콜과 포트, 라우팅 규칙

리스너는 HTTP · HTTPS · TLS 중 하나와 포트로 요청을 받습니다. 규칙은 우선순위, 조건, 액션으로 구성됩니다.

HTTPHTTPSTLSpath · header · methodfixed-response
backendTarget group

실제 처리하는 대상

EC2 인스턴스, IP, Lambda 함수, ALB를 등록합니다. Amazon ECS 작업과 Kubernetes Pod도 대상으로 연결할 수 있고, ECS는 Lattice 대상 그룹으로 blue/green · linear · canary 배포를 합니다.

INSTANCEIPLAMBDAALBHTTP/1.1 · HTTP/2 · gRPC

Features

주요 기능

Routing

리스너 규칙

경로, 헤더, HTTP 메서드로 요청을 나눕니다. 여러 대상 그룹에 0–999 가중치로 보내 카나리 배포를 하거나, fixed-response로 404 · 500을 돌려줍니다.

Authorization

Auth policy

service network와 서비스에 각각 IAM 정책을 붙입니다. 인증 유형이 AWS_IAM이면 두 정책 모두 명시적으로 허용해야 요청이 통과합니다.

Multi-account

AWS RAM 공유

서비스, service network, resource configuration을 특정 계정, OU, 조직 전체와 공유합니다. 서비스 디렉터리에서 공유받은 서비스를 확인합니다.

TCP resources

Resource configuration

Amazon RDS 데이터베이스(ARN), 도메인 이름, 사설 IP, CIDR 범위를 다른 VPC와 계정에 TCP로 공개합니다. resource gateway가 리소스 VPC로 들어가는 입구입니다. 사용자 지정 도메인을 붙이면 소비자 VPC에 프라이빗 호스팅 영역이 자동으로 만들어지고, DNS 해석을 IN_VPC로 두면 사설 도메인 이름도 대상으로 쓸 수 있습니다.

Hybrid access

Service network endpoint

VPC에 service network 유형의 VPC 엔드포인트를 만들면 Direct Connect나 VPN으로 연결된 온프레미스에서도 서비스와 리소스에 접근합니다. 한 VPC를 여러 service network에 연결할 수도 있습니다.

Observability

Access logs

service network, 서비스, resource configuration 단위로 접근 로그를 켜고 CloudWatch Logs, Amazon S3, Amazon Data Firehose로 보냅니다.

Services vs resources

서비스와 resource configuration

HTTP 계열 애플리케이션은 서비스로, 데이터베이스처럼 TCP로 접근하는 리소스는 resource configuration으로 등록합니다.

VPC Lattice 서비스와 resource configuration 비교
구분프로토콜대상클라이언트 접근 방식Auth policy
서비스
Service
HTTP · HTTPS · TLS 리스너 Instance · IP · Lambda · ALB 대상 그룹 VPC association, service network endpoint service network · 서비스 정책 적용
Resource configuration
ARN · domain · IP
TCP RDS 데이터베이스, 도메인 이름, 사설 IP VPC association, service network endpoint, resource endpoint service network 정책은 적용되지 않음
Resource configuration
CIDR
TCP_UDP (UDP는 DNS 질의만) 공유할 CIDR 목록 (예: 10.0.0.0/24) tunnel endpoint만 가능, service network에 연결 불가 service network 정책은 적용되지 않음

Auth policy

IAM 정책으로 호출 권한을 정합니다

인증 유형을 AWS_IAM으로 두면 기본은 모두 거부입니다. 정책이 없으면 모든 요청이 access denied를 받습니다.

service auth policyJSON
{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": "*",
    "Action": "vpc-lattice-svcs:Invoke",
    "Resource": "*",
    "Condition": {
      "StringNotEquals": {
        "aws:PrincipalType": "Anonymous"
      },
      "StringEquals": {
        "vpc-lattice-svcs:SourceVpc": "vpc-1a2b3c4d"
      }
    }
  }]
}
지정한 VPC에서 온, SigV4로 서명된 요청만 허용하는 auth policy 예시
  1. service network 정책 확인

    auth policy가 켜져 있고 명시적 허용이 없으면 요청을 거부합니다.

  2. 서비스 정책 확인

    서비스에도 정책이 있으면 같은 방식으로 다시 평가합니다. 공통 규칙은 service network에, 더 좁은 규칙은 서비스에 둡니다.

  3. 호출자 IAM 정책 확인

    호출하는 역할의 자격 증명 기반 정책도 허용해야 합니다. 어느 정책이든 명시적 거부가 있으면 허용보다 우선합니다.

Reference architecture

여러 계정의 서비스와 데이터베이스를 하나의 네트워크로

클라이언트 VPC는 service network에 연결되고, 온프레미스는 service network endpoint를 거쳐 들어옵니다. 서비스와 데이터베이스는 각 소유 계정에 그대로 두고 AWS RAM으로 공유합니다.

VPC Lattice 레퍼런스 아키텍처 클라이언트 VPC는 VPC association으로, 온프레미스는 Direct Connect 또는 VPN으로 연결된 VPC의 service network endpoint로 service network에 들어갑니다. service network에는 orders와 inventory 서비스, rds-primary resource configuration이 있습니다. 계정 B의 서비스는 IP 대상 그룹의 EKS Pod와 Lambda 대상 그룹으로 요청을 보내고, 계정 C의 resource gateway는 Amazon RDS로 TCP 연결을 전달합니다. 서비스와 리소스는 AWS RAM으로 공유됩니다. CLIENTS SERVICE NETWORK · AWS_IAM ACCOUNT B · 서비스 소유자 ACCOUNT C · DB VPC 클라이언트 VPCEC2 · 컨테이너 연결용 VPCSN endpoint 온프레미스데이터센터 DX · VPN association endpoint ordersHTTPS:443 · path 규칙 inventoryHTTP:80 · 가중치 forward rds-primaryresource configuration · TCP auth policy: service network + 서비스 access logs: CloudWatch · S3 · Firehose Target group · IPEKS Pod · ECS 작업 Target group · LambdaLambda 함수 RAM RAM Resource GWENI 집합 Amazon RDSTCP 5432 RAM
클라이언트 요청 진입 (association · endpoint) service network에서 대상으로 요청 전달 하이브리드 연결 (DX · VPN)응답은 같은 경로로 돌아옵니다.

좁은 화면에서는 다이어그램을 좌우로 밀어서 보세요.

Getting started

첫 서비스를 연결하는 순서

  1. STEP 1

    대상 그룹 생성

    대상 유형과 프로토콜, 헬스 체크를 정하고 대상을 등록합니다.

  2. STEP 2

    서비스와 리스너

    서비스를 만들고 리스너 프로토콜, 포트, 기본 규칙을 설정합니다.

  3. STEP 3

    Service network 생성

    인증 유형(NONE 또는 AWS_IAM)과 접근 로그 대상을 정합니다.

  4. STEP 4

    서비스 연결

    서비스를 service network에 연결합니다. 다른 계정 서비스는 RAM으로 공유받아 연결합니다.

  5. STEP 5

    VPC 연결과 정책

    클라이언트 VPC를 보안 그룹과 함께 연결하고, auth policy를 붙인 뒤 호출을 확인합니다.

Pricing

비용 항목

서비스는 실행 시간, 처리한 데이터 양, 요청 수로 과금됩니다. resource configuration은 service network에 연결된 시간과 처리한 데이터 양으로 과금됩니다.

Amazon VPC Lattice 과금 항목
과금 항목과금 기준참고
서비스 시간서비스당 시간 (1시간 미만도 1시간)리전별 단가
서비스 데이터 처리서비스가 처리한 GB받은 요청과 돌려준 응답을 합산합니다. 가용 영역 간 전송은 이 요금에 포함됩니다
요청 · 연결HTTP · HTTPS 리스너는 요청 수, TLS 리스너는 TCP 연결 수 (시간당 백만 건 단위)서비스마다 시간당 첫 300,000건은 과금하지 않습니다
Resource configuration 시간service network에 연결된 리소스당 시간리전별 단가
리소스 데이터 처리리소스로 처리한 GB, 리전 단위 월 누적 구간별 단가구간: 첫 1 PB, 다음 4 PB, 5 PB 초과
VPC 연결 · service network endpoint과금 없음resource endpoint와 tunnel endpoint는 AWS PrivateLink 요금으로 청구됩니다
관련 요금다른 서비스에서 청구VPC 밖 IP를 가리키는 도메인 이름 리소스에 필요한 NAT 게이트웨이(Amazon VPC 요금), 접근 로그 대상(CloudWatch Logs · S3 · Firehose 요금)

요금 단가는 리전과 사용량에 따라 다릅니다. 최신 단가는 Amazon VPC Lattice 요금 페이지에서 확인하세요.

Next step

서비스 간 통신 구조를 VPC Lattice로 다시 그려 보세요

호출 관계, 계정 구조, 인증 요구 사항을 정리해 오시면 service network 경계와 정책 설계를 함께 검토합니다.