brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 15. 2022

21탄-6. AWS-카카오페이-금융권 앱 현대화

EKS, NLB, Istio을 통한 고가용성 API gateway 핸들링 하기

Devops팀장 , 카카오페이



<1> 개요

<2> 데이터 센터 구성

<3> 현대적 애플리케이션이란?

<4> 금융 서비스 요청사항 개선 내용 (문제점, 개선방향)

<5> API Gateway on EKS

<6> 경험했던 내용 공유

<7> 개인 정리



<1> 개요


쿠버 네티스  + Istio 서비스 중

비 중요 서비스들 일부 AWS에 서비스 중이다.

인프라 관련 부분임.

애플리케이션은 다루지 않음.



<2> 데이터 센터 구성


1

퍼블릭 존과 프라이빗 존으로 구성되어 있다.

프라이빗 존은 90% 이상 컨테이너 기반인 쿠버 네티스 환경에서 서비스 애플리케이션들이 운영되고 있다.


2

퍼블릭존에서 프라이빗으로 전달은 리버스 프락시로 한다.

초기에는  엔서블로 구성.




<3> 현대적 애플리케이션이란?


1

빠른 출시, 프로세스 자동화

애플리케이션 모듈화

복원력, 회복력

확장성, 가용성


2

테라폼으로 관리한다.

GitOps툴인 아틀란티스를 연동해서 AWS자원들을 상태 관리하고 배포하고 있다.

모든 배포 이력은 Git PR에 태그 정보를 통해 관리된다.


3

애플리케이션 배포는 젠킨스, Spanaker을 통합해 CI/CD영역을 각각 담당한다.

마이크로 서비스는 EKS에서 배포되어 , 쿠버 네티스와 ISTO를 통해 롤링 업데이트와 카나리 배포를 한다.


EKS는 오토스케일링한다.

서비스 그룹별로 nodegroup 분리해 사용, spot 사용.



<4> 금융 서비스 요청사항 개선 내용 (문제점, 개선방향)


1

public , private 영역을 물리적 단위로 분리

=> vpc 단위로 분리


2

vpc to vpc 통신이 필요.

=> api통신은 도메인 기반의 route53 사용하여  통신함.


3

모든 출발과 목적지는  고정 IP 기반으로 처리가 되어야 한다.

외부 통신은 EIP 필수.

IP범위 단위로 관리하면 안 된다.


4

온프라미스 -----------  AWS로 전환?

LB ------------------------ NLB  (프리 웜이 필요 없는 NLB ,  고정 IP 제공 필수)

쿠버 네티스 ------------ EKS

proxy --------------------  

APIGateway   --------  ISTIO로 전환.


5

테라폼으로 쿠버네티스 관리.


6

VPC간은 방화벽, NACL , 시큐리티 그룹으로 통신 구간의 허용과 차단 정책이 관리됩니다.


7

Istio로 트래픽 관리한다.




<5> API Gateway on EKS


구조?


모바일 디바이스   --- NLB ------------- Envoy --------- 서비스

오피스


이처럼 외부에 모든 통신은 Route53으로 등록된 DNS기반으로  사용한다.




<6> 경험했던 내용 공유


1

EKS custom cidr 확장은 사전에 고려 필요하다.


2

보안 그룹 룰에 100. 대의 커스템 CIDR IP 가 고려되어야 한다.


3

서비스 성격 별로 NodeGroup을 충분히 분리하세요.

spot을 활용하는데 도움이 된다.




<7> 개인 정리


Istio에 대해 자세한 설명이 된다.



https://brunch.co.kr/@topasvga/2790



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari