Cloud/AWS

Amazon VPC Lattice - Part 7 : 소개, 주요 개념

지기(ZIGI) 2023. 4. 14. 07:25
Today Keys :  aws,vpc, lattice, network, service, amazon, 개념, auth, policy, directory

 이번 포스팅은 서로 다른 VPC 및 AWS 계정에 걸쳐 서비스 간의 네트워크 연결 및 애플리케이션 계층 라우팅을 자동으로 관리해주는 Amazon VPC Lattice에 대한 일곱 번째 포스팅입니다.  
일곱 번째 포스팅에서는 VPC Lattice에 대한 서비스 소개와 간단한 개념에 대해서 다룹니다.
원래 개념을 다루면서 VPC Lattice에 대한 포스팅을 마무리 하려고 했는 데, 기존에 정리하지 않은 내용과 함께 이번 장을 정리하면서 추가로 정리하고 싶은 내용들이 조금 더 생기면서 다음 포스팅이 VPC Lattice에 대한 마지막(당분간) 포스팅이 될 것 같습니다.  결국 그래서 이번 포스팅은 좀 더 짧게 끝난다는... 얘기를...
 

Amazon VPC Lattice란?
 
▪ 여러 AWS 계정 및 VPC 간에 걸쳐있는 서비스 간의 네트워크 연결(Connect), 보호(Secure), 모니터링(Monitor)을 위해 사용할 수 있는 완전 관리형 Application Networking 서비스 
▪ Micro Service Architecture로 구성된 다수의 서비스 간의 연결 지원. 
      - VPC Lattice에서는 Micro Service를 'Service'라고 표현
▪ Service와 Service 간의 연결을 구성하는 권한 분리를 통해서, 각 본연의 역할을 집중 할 수 있도록 지원. 
       - Service Network Owner(Admin) 와 Service Owner(Developer)로 분리
▪ 기존에 구성되어 있는 네트워크에 대한 변경 없이 구성
 
 
 
 
Amazon VPC Lattice를 이해하기 위한 주요 개념
 
Service
▪ 특정 기능(Function)/작업(Task)을 제공하는 독립적으로 배포 가능한 Application 단위
▪ Instance, Container, Serverless(Lambda)에서 실행 될 수 있음
▪ Service Onwer에 의해서 만들어지고 관리 됨.
▪ Service는 Target Group과 Listener, Rule로 구성이 되며, 이는 ELB의 구성 요소와 유사함.
     -  Target Group : 실제 Service가 실행되는 Application.    
                                      EC2 Instance, IP Address, Lambda, Application Load Balancer 설정 가능
 
   - Listener :  Service 인입을 대기하는 Protocol과 Service Port.
                            지원 Protocol : HTTP / HTTPS
                            지원 Protocoal Version : HTTP1, HTTP2, gPRC
Protocol과 Port 설정
Protocol Version 설정
 
     - Rule : Service 요청에 대해서 어떤 Target으로 전달할지에 대한 정책.
                    우선순위(Priority), 조건(Condition), 동작(Action), 비율(Weight)로 구성
                    ※ 조건의 경우, 현재('23.04) 기준 AWS Console에서는 정확한 경로 조건(Exact match path condition)만 지원
                         AWS Cli 사용 시, HTTP header(contains, exact, prefix), method type, path(exact, prefix)에 대해서 지원
 
Listener의 Rule 설정
 
 
VPC Lattice Service 개념도

 

 
Service Network
▪ 여러 AWS 계정 및 VPC와 Service 간의 연결을 해주는 논리적 경계(boundary)
▪  Service Network에 VPC 및 Service를 연결(associations)하여 이들 간의 통신을 할 수 있도록 지원
     -  하나의  VPC는 오직 1개의 Service Network에만 연결 가능
     - 각 Service는 다수의 Service Network에 연결 가능   
▪ Service Network는 Admin에 의해서 관리 됨.
 
 
 
 
 
Auth Policies
▪  VPC Lattice Service Network와 Service에 접근 제어를 위한  IAM Resource 정책
▪  Service Network와 Service에 각각 적용이 가능하며, Service Network와 Service에 모두 적용 시에 Serivce Network의 Policy 적용 이후에, Service의 Policy가 적용 됨.
 
 
 
Service Directory
▪  직접 구성한 Service나, AWS RAM(Resource Access Manager)를 통해서 공유 된 VPC Lattice의 모든 서비스의 중앙 집중식 registry.
 
 
 
 
 
 
Amazon VPC Lattice 에서의 관리 역할
 
Service Network Owner
▪  VPC Lattice Service Network를 생성, 공유,  프로비전, 접근제어, 모니터링을 하는 역할 수행
▪  일반적으로 클라우드 관리자 혹은 네트워크 관리자가 수행
 
 
 
 
Service Owner
▪  VPC Lattice 내에서 Service 생성,  Service 요청에 대한 Routing Rule 설정, Service 접근제어, Service Network에 Service 연결을 수행.
▪ 일반적으로 Application 개발자가 수행
 
 
 
비고
▪  VPC Lattice Service Network 및 Service 모두 AWS RAM을 통해서 다른 계정으로 공유가 가능하며, 각 역할을 공유 계정에서 수행도 가능.