본문 바로가기
DevOps

Chaos Engineering Solution 그렘린 workshop

by 코딩+아빠 2023. 6. 26.

주관: OSC KOREA / Linux 비영리 역할과 공인된 영리 역할(파트너)

 

카오스 엔지니어링(Chaos Engineering)은 시스템의 신뢰성을 확인하기 위해 실제 발생할 수 있는 장애(Chaos)를 주입시켜 시스템의 취약점을 찾고 보완하는 방식의 엔지니어링 기법이다. 카오스 엔지니어링을 구현한 상용 솔루션인 그렘린에 대해 소개하는 워크샵에 참여하였다.

 

테스트 타겟 OS

OSC Korea

Gremlin은 AWS 외 주요 클라우드 환경과 컨테이너, 쿠버네티스, 온프레미스 환경의 대상에 대해 테스트가 가능하다.

 


Gremlin 의 구성도

그렘린은 SaaS 서비스이다.

그렘린 client가 테스트 대상 인프라에 설치가 되고 Gremlin Control Plane가 인증이 되면, API, UI, Cli로 공격 테스트가 가능해 진다.

테스트 대상에서 pull 방식으로 공격을 시작한다.

 


공격 Type: Resource, State, Network, 애플리케이션 요청

공격 type은 4가지 이며, 리소스, 상태 변경 , 네트워크, 애플리케이션 요청이 있다.

알맞은 공격 테스트 기준

  • Radius(number of hosts included in the attack)
    • 적은 범위부터 테스트를 해서 확대해야 한다.
    • 시작을 서버 한 대, 컨테이너 한 대, 특정 서비스 군에 한 정
  • Magnitude(intensity of the attack)
    • 공격의 강도도 점점 강하게 공격한다.
    • CPU 90% → CPU 90% + Memory 80%
    • Cpu 사용: 부동 소숫점 계산 attack

새로운 공격 설정하기

설정 순저: 공격 대상 → 공격 범위 → 공격 종류 → 공격 시점

단발적인 공격을 시작하기 위해서는 Attacks 메뉴에서 'New Attack'을 클릭한다.

언제든지 오른쪽 상단의 ‘Halt All Attacks’ 으로 공격을 중단할 수 있다.

공격의 시작과 중단은 pull 방식으로 인해 5분 이내의 시간차가 발생한다. 모니터링 툴과 연계를 하더라도 시간차가 발생한다.

 

공격대상 정하기 > 호스트

공격대상을 Host / 컨테이너 / 쿠버네티스 단위로 공격대상을 선택할 수 있다.

 

Host를 선택하면 OS 종류별 (linux, Windows…) 별로 공격대상을 선택할 수 있다.

 

Host를 선택하면 호스트 이름 별로 공격대상을 선택할 수 있다.

 

Host를 선택하면 ip / Tag 별로 공격대상을 선택할 수 있다.

 

공격 대상을 선택 할 때 전체의 % 퍼센티지로 대상을 줄일 수 있다.

 


공격대상 정하기 > 컨테이너

공격 대상을 컨테이너로 선택하면 컨테이너별로 선택이 가능하다.

 


공격대상 정하기 > 쿠버네티스

공격 대상을 쿠버네티스로 선택하면 Deployment와 DaemonSet 에서 공격 범위를 선택 할 수 있다.

 


공격 시나리오

시나리오 이름을 입력 한 후 신규 공격 / 최근 공격 / 상태 체크를 선택할 수 있다.

공격 대상을 선택한다.

 

시나리오 공격 옵션

Single Thread 방식이라 하나의 시나리오에는 한 번에 한 종류의 공격이 순차적으로 가능하며 한번에 다양한 공격을 동시에 테스트 하기 위해서는 시나리오를 별도로 생성하여 같은 시간대에 실행하면 된다.

  • 공격 Resource 를 선택할 수 있다.
    • CPUI , Disk , IO , Memory

 

  • State 공격 옵션을 선택 할 수 있다.

 

  • 네트워크 공격 옵션을 선택 할 수 있다.

 

공격 시간범위를 지정할 수 있다. 예) 60초 동안만 공격한다.

네트워크 공격 중에 예외 할 호스트를 추가할 수 있다. 예) api.gremlin

네트워크 공격 할 포트를 선택할 수 있다

 

시나리오에서 각 공격 단계를 상태를 확인 할 수 있다.

 


카오스 엔지니어링 솔루션 비교

출처: osc korea
  • 공격의 다양성과 구성 셋업시간의 편리성이 중요한 선택 옵션일 될 것으로 예상됨.
  • 공격 즉시 중지는 AWS Fault Injenction Simulator(완전 관리형 카오스 엔지니어링 서비스) 에도 가능.

Gremlin Demo Center

https://www.gremlin.com/demo-center/?ref=nav 

 

Demo Center

Discover how to get started and run chaos experiments using Gremlin with our quick start demos. Here you can see the Gremlin Platform in action.

www.gremlin.com

 

 

반응형

'DevOps' 카테고리의 다른 글

AWS Summit Korea 2022- DevOpsGuru  (0) 2023.06.29
Ansible Playbooks  (0) 2023.06.27
Chaos Engineering Tools  (0) 2023.06.26
DevOps or DevOoops!  (0) 2023.06.26