본문 바로가기
SWUFORCE/기술 스터디

서비스 메시 (Service Mesh)

by yoojin21 2023. 1. 10.

서비스 메시란?

어플리케이션의 서로 다른 부분이 데이터를 공유하는 방식을 제어하는 방법 (ex. 마이크로서비스의 Istio)

 

 

 

서비스 메시의 대표 기능

  • 어플리케이션 트래픽 관리
  • 관찰 가능성
  • 보안

 

 

 트래픽 관리

 

 트래픽 라우팅 규칙을 사용하면 서비스 간의 트래픽 흐름 및 API 호출을 쉽게 제어할 수 있다. 순수 쿠버네티스 환경과 비교하자면, 쿠버네티스 파드 개수를 이용해 canary test를 하기 위해서는 10%의 트래픽을 얻기 위해 최소 9개의 프로덕션 파드가 필요하다. 그러나 서비스 메시 기능을 활용하면, 제공하는 파드 수에 관계없이 트래픽의 비율을 카나리 버전으로 지정할 수 있다.

 

 카나리 테스트(canary test): 안정적인 버전을 배포하기 전, 테스트 버전을 실시간 환경에서 실제 사용자와 함께 새로운 소프트웨어 버전 또는 새로운 기능을 테스트하는 것

 파드(pod): 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위

 

 

 

 

 보안

 

 마이크로서비스에는 메시지 가로채기 공격에 대한 보호, 인증 및 권한 부여 등 특정 보안 요구 사항이 있으며, 서비스 메시 보안 기능에는 이를 해결할 수 있는 솔루션이 포함되어 있다. TLS 암호화, 인증, 인가 및 감사 도구를 제공하여 서비스와 데이터를 보호한다. 서비스 메시는 모든 서비스에서 유효 기간이 존재하는 인증서를 발급하여 서비스 간 통신을 위한 mTLS를 제공한다. 이를 통해 암호화되지 않은 트래픽을 암호화한다. 따라서, 마이크로서비스 환경에서는 모든 서비스 간의 통신을 Zero Trust 기반으로 하고 어플리케이션 간 mTLS를 활성화하여 보안을 단순화시킨다.

 

 mTLS: TLS 핸드쉐이크를 두번 수행하여 양방향으로 암호화 통신을 설정하는 것. 상호인증.

 

 

 

 

 관찰 가능성

 

 관찰 가능성은 상황을 유연하게 탐색하고 예상하지 못했을 수 있는 문제의 근본 원인을 신속하게 파악할 수 있는 것이다. 서비스 메시는 모든 통신에 대한 상세한 텔레메트리를 생성하여 관찰 가능성의 기초 자료루 활용되고, 이에 대한 분석을 통해 문제를 해결, 유지 관리, 최적화할 수 있도록 한다. 관찰 가능성은 로그, 메트릭 및 추적과 같이 생성하는 데이터를 기반으로 시스템의 현재 상태를 측정하는 기능이다. 

 

 

 

 

 서비스 메시의 컴포넌트

 

 서비스 메시는 어플리케이션 레이어가 아닌 플랫폼 레이어에서 구현되며, 2개의 컴포넌트로 구성된다.

 첫 번째 컴포넌트는 데이터 플레인으로, 어플리케이션 사이에 있는 프록시 네트워크로 구성된다. 프록시는 Envoy를 사용하고, 이는 서비스 메시의 모든 서비스에 대한 인바운드 및 아웃바운드 트래픽을 관장한다.

 두 번째 컴포넌트는 컨트롤 플레인으로 프록시에게 수행할 작업을 알려주고 메시를 작동하는 사람을 위한 인터페이스를 제공한다. 트래픽 라우팅 규칙을 Envoy 구성으로 변환하고 사이드카에 전파한다. 서비스 디스커버리, mTLS통신을 위한 인증기관 역할 또한 한다. 

 

 envoy란, OSI 7 layer의 커뮤니케이션 버스이다. Lyft사에서 오픈소스로 공개되었다. 

 

 

 

참고

https://www.samsungsds.com/kr/insights/service_mesh.html?moreCnt=0&backTypeId=&category= 

 

실무자를 위한 서비스 메시 - 지금 서비스 메시가 의미 있는 이유

실무자를 위한 서비스 메시 - 지금 서비스 메시가 의미 있는 이유

www.samsungsds.com

https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh

 

What's a service mesh?

A service mesh is an infrastructure layer built into an app which documents how services interact making it easier to optimize communication and avoid downtime.

www.redhat.com

 

'SWUFORCE > 기술 스터디' 카테고리의 다른 글

NFT  (0) 2023.01.17
재택근무를 위한 보안  (0) 2022.11.28
딥페이크 기술  (0) 2022.11.22
클라우드 보안  (0) 2022.11.15
멀티모달 AI  (0) 2022.11.08