기본 구성하기
Updtae : 2024.06.07
K8s에서 service-to-service 구성
이 예제에서는 단일 VPC에 단일 클러스터를 생성한 다음 GW API HTTP Route 2개(rate 및 inventory)와 EKS Service 3개(Parking, Review 및 Inventory)를 구성합니다.

Step1. VPC Lattice Service Network 생성
AWS Gateway API Controller가 동작하려면 VPC Lattice Service Network가 필요합니다. DEFAULT_SERVICE_NETWORK 환경 변수가 지정되면 GW API Controller가 자동으로 서비스 네트워크를 구성합니다.
AWS CLI를 사용하여 "my-hotel"이라는 이름으로 VPC Lattice 서비스 네트워크를 수동으로 생성할 수 있습니다.
VPC는 1개의 Service Network에만 Associaation 이 가능합니다. 앞서 LAB에서 Superapp에 Client VPC를 Assocation 시켰다면, 삭제 후 Association 해야 합니다.
"Key:status" 의 값이 "ACTIVE" 인 것을 확인하고 , 다음 단계를 확인합니다.
"VPC lattice" - "Service Networks" - "my-hotel" 에서도 확인이 가능합니다.

Step2. GW API에서 Gateway 생성
아래 명령을 통해서 Gateway my-hotel 을 생성합니다.
아래와 같은 manifest 파일 형식입니다.
my-hotel Gateway가 PROGRAMMED 상태가 True인 상태로 생성되었는지 확인합니다.
아래와 같이 출력됩니다.
Step3. GW API에서 HTTP Route 생성
"Parking Service및 "Review Service"를 위한 HTTP Route - "Rate" 를 생성하고, K8s의 Pod와 Service를 생성합니다.
아래 명령으로 정상적으로 배포 되었는지 확인합니다.
아래와 같이 배포된 것을 확인 할 수 있습니다.
아래는 Parking에 대한 manifest 파일 입니다.
아래는 "review"에 대한 manifest 파일의 내용입니다.
아래는 "rate-route-path" 라는 HTTPRoute Path 입니다.
추가로 HTTPRoute inventory manifest 파일을 배포합니다.
아래는 inventory-ver1에 대한 manifest 파일 입니다.
아래는 "inventory-route" 라는 HTTPRoute Path 입니다.
아래 명령으로 정상적으로 배포되었는지 확인합니다.
아래 명령과 같이 출력됩니다.
httproute "rate"의 실제 Lattice Service DNS 주소를 확인해 봅니다.
httproute "inventory"의 실제 Lattice Service DNS 주소를 확인해 봅니다.
inventory-ver1 에서 rate 로 서비스 요청을 해봅니다.
parking 에서 inventory-ver1 로 서비스 요청을 해봅니다.
"parking', "rate", "inventory-ver1"의 실제 Lattice Service DNS 주소들을 복사해 둡니다.
1개의 HTTPRoute, K8s Service를 아래에서 처럼 manifest 파일을 생성해서 배포해 봅니다.
아래와 같이 다시 검증해 봅니다.
Client VPC의 EC2에서 확인을 해 봅니다. Cloud9에서 새로운 터미널을 Open하고 아래와 같이 접속합니다.
앞서 복사해둔 "$k8s_rates_svc_dns/parking" , "$k8s_rates_svc_dns/review", "$k8s_inventory_svc_dns" DNS 주소를 "InstanceClient1"에서 확인하고 접속해 봅니다.
Step4. VPC Lattice Console 에서 확인
VPC Lattice Console에서 결과를 확인해 봅니다.
"VPC Lattice" - "Service Network" - "my-hotel"

"VPC Lattice" - "Service" - "Parking" - "Routing"

"VPC Lattice" - "Target Groups"

"VPC Lattice" - "Target Groups"-"k8s-default-parking-xxxx"

Last updated