Cloud/AWS
Amazon VPC Lattice - Part 2 : Service Network 공유/타 계정 Service 등록
지기(ZIGI)
2023. 4. 4. 08:40
Today Keys : lattice, vpc, service, amazon, network, resource, share, access, simplifying, application, connect, secure, monitor
이번 포스팅은 서로 다른 VPC 및 AWS 계정에 걸쳐 서비스 간의 네트워크 연결 및 애플리케이션 계층 라우팅을 자동으로 관리해주는 Amazon VPC Lattice에 대한 두 번째 포스팅입니다. 앞으로 몇 번에 걸쳐서 다루게 될지는 모르겠지만, VPC Lattice를 구성하는 방법에 대해서 차근 차근 포스팅 해보려고 합니다.
두번째 포스팅에서는 VPC Lattice의 Service Network를 다른 계정에 공유한 이후에 해당 계정의 VPC가 Service Network에 접근근 할 수 있도록 VPC를 연결해보고, 공유 받은 계정에 VPC Lattice Service를 추가로 만들어서 Service Network에 연결하여 각 계정의 VPC의 인스턴스에서 접근해보는 예제를 다뤄 봅니다. 구성을 위해서 필요한 VPC Lattice 개념에 대한 내용은 별도 포스팅으로 다룰 예정입니다.
VPC Lattice Service Network를 다른 계정에 공유하기
Step 1 Specify resource share details
Resource Access Manager에서 새로운 자원을 공유합니다.
공유 할 Resource 이름을 'zigi-ram-lsn' 이라고 하고,
공유 할 Resource Type은 VPC Lattice Service Networks로 선택 한 후, 현재 계정에 구성 된 VPC Lattice Service Network를 체크합니다.
Step 2 Associate permissions
공유되는 자원에 대해서 권한 설정을 합니다.
권한은 기본 설정 값을 그대로 두고 다음 단계로 넘어갑니다.
Step 3 Grant access to principals
VPC Lattice Service Network 자원을 공유 할 계정을 선택합니다.
모든 계정에도 가능하고, 같은 Organization에 속한 계정으로 제한해서 등록도 가능합니다.
저는 같은 Organizatin에 속한 계정 중 하나를 추가했습니다.
Step 4 Review and create
전체 설정된 내용을 확인하고, VPC Lattice Service Network에 대한 자원을 공유합니다.
.
정상적으로 공유가 완료되고 나면 다음과 같이 정상적으로 Resource shares 현황을 확인 할 수 있습니다.
Resources shares 정보에서는 Resource에 대한 Owner와 공유된 자원, 그리고 공유 받은 AWS 계정을 확인을 볼 수 있습니다.
공유가 정상적으로 완료되고 나면, 공유 받은 계정(16-33)에서도 VPC Lattice Service Network 정보를 보실 수 있습니다.
zigi-lsn이란 VPC Lattice Service Network의 Owner의 계정(69-72)도 확인 할 수 있습니다.
VPC Lattice Service Network를 공유받은 계정의 VPC를 Service Network에 등록하기
그럼 이제, 공유 받은 계정에서 VPC Lattice Service Network에 선언된 Service에 접근하기 위해서 Service Network에 VPC를 연결 해보겠습니다. 공유 받은 계정의 VPC는 ZIGI2-VPC입니다. VPC와 Security Group을 설정하고 저장합니다.
ZIGI2-VPC가 연결이 되고 나면, VPC Lattice Service Network 정보 하단에 있는 VPC associations에 새로운 VPC 연결 된 것을 볼 수 있습니다. 연결된 VPC의 정보의 Owner가 현재 공유 받은 계정인 (16-33)임을 볼 수 있습니다.
이제 VPC Lattice Service Network에 연결된 ZIGI2-VPC에 위치한 Instance에서 기존에 연결된 Lattice Service로 접근해보면 정상적으로 접근이 되는 것을 볼 수 있습니다.
이제 2개의 VPC 간의 Peering이나, Transit Gateway에 대한 연결이 없이도 VPC Lattice Service를 이용해서 직접 접근이 가능하게 되었습니다.
VPC Lattice Service Network를 공유 받은 계정에서 Lattice Service 등록하기
VPC Lattice Service Network를 공유 받은 계정에서 새로운 Target Group을 만들겠습니다. Target Type은 Lambda로 선택하고, target 이름은 zigi-tg2-1-lambda로 설정합니다.
미리 만들어 둔, zigi-lambda라는 lambda를 Target으로 등록합니다.
Target을 만들고 나면, VPC Lattice Service를 만듭니다.
Custom domain과 Service Access 설정은 별도로 설정하지 않고 넘어갑니다.
관련 포스팅은 이후에 별도로 할 예정입니다.
Service에 대한 Listener를 아래와 같이 구성합니다.
Listener : zigi-lambda1
Protocol : HTTP
Port : 80
Default action : zigi2-tg2-1-lambda ( 미리 만들어 둔 Lambda function)
Service를 공유 받은 VPC Lattice Service Network인 zigi-lsn에 연결합니다.
zigi2-ls2라는 VPC Lattice Service가 생성되었고,
공유 받은 VPC Lattice Service Network에 정상적으로 연결된 것을 볼 수 있습니다.
이제 신규 계정(16-33)에 구성한 Lambda에 연결된 VPC Lattice Service를 VPC Lattice Service Network의 Owner의 계정(69-72)의 VPC의 인스턴스(10.0.0.235)와 신규 계정(16-33)의 VPC의 인스턴스(172.31.232.98)에서 각각 접속 시도를 해보면 다음과 같이 정상적으로 접근이 되는 것을 볼 수 있습니다.