카오스 미들웨어: 스프링 부트가 카오스 엔지니어링을 만나는 곳

카오스 엔지니어링 도구는 Kubernetes 클러스터에서 가상 머신 중지 또는 포드 종료와 같은 기능을 활성화합니다. 클라우드 버그 연구에 따르면 버그가 있는 코드, 시간 초과 등 오류 처리를 소홀히 한 것이 시스템 오작동의 대부분을 설명합니다.

카오스 미들웨어를 사용하면 난기류 조건을 애플리케이션에 주입할 수 있습니다. 요청을 처리할 때 지연하거나 오류를 발생시킬 수 있으며 추가 조건을 적용하여 공격의 폭발 반경을 줄일 수 있습니다.

다음 섹션에서는 i) Spring Boot 애플리케이션에서 Chaos Middleware의 설치 및 구성 프로세스와 ii) 지연 및 애플리케이션 오류 시뮬레이션을 안내합니다.

설치 및 구성



1. 스프링 부트 애플리케이션에 다음 종속성을 포함하여 카오스 미들웨어를 설치합니다pom.xml.

<dependency>
  <groupId>io.proofdock</groupId>
  <artifactId>spring-boot-starter-chaos-middleware</artifactId>
  <version>0.1.4</version>
</dependency>


2. application.properties에 애플리케이션 이름을 추가합니다.

chaos.middleware.application-name=webshop-order


3. 애플리케이션을 시작합니다.

지연 시뮬레이션



지연 공격은 요청/응답 주기를 지연시킵니다. 이러한 유형의 공격을 사용하면 시간 초과 또는 느린 응답의 경우 시스템 동작을 확인할 수 있습니다.

x-proofdock-attack 요청 헤더를 설정하여 지연을 트리거합니다. 카오스 미들웨어는 이 헤더 내부의 모든 값을 감지하고 적절한 난기류 조건을 주입합니다.

지연을 시뮬레이트하려면 x-proofdock-attack 헤더의 값을

{"actions":[{"name":"delay", "value":"5"}], "target":{  "application":"webshop-order"}}



  • 이름 - 지연 공격 설정

  • 값 - 응답을 5초 지연

  • 대상 - 대상 응용 프로그램 이름

  • Postman을 사용하여 애플리케이션을 공격해 봅시다.


    오류 시뮬레이션



    결함 공격은 코드에 예외를 주입합니다. 이러한 유형의 공격을 통해 예기치 않은 이벤트가 발생한 경우 애플리케이션의 동작을 확인할 수 있습니다.

    x-proofdock-attack 요청 헤더를 설정하여 오류를 트리거합니다.

    {"actions":[{"name":"fault", "value":"java.lang.Exception"}], "target":{  "application":"webshop-order"}}
    



  • 이름 - 결함 공격 설정

  • 값 - 유형의 예외 발생java.lang.Excpetion

  • target - 대상 응용 프로그램 이름

  • Postman을 사용하여 애플리케이션을 공격해 봅시다.



    Azure DevOps 사용자를 위한 카오스 패널



    이러한 공격을 제어하는 ​​보다 편리한 방법은 Proofdock의 Chaos Platform에서 제공하는 Chaos Panel을 사용하는 것입니다. 카오스 플랫폼은 카오스 엔지니어링 기능으로 Azure DevOps를 확장합니다. 카오스 패널을 사용하면 그래픽 사용자 인터페이스를 통해 애플리케이션 공격을 제어할 수 있습니다.


    Azure DevOps의 카오스 패널

    카오스 플랫폼에 관심이 있다면 docs 을 확인하세요.

    고맙습니다



    이 기사를 읽고 탄력성에 대한 새로운 관점을 얻었기를 바랍니다.

    We are Proofdock는 독일에 위치한 소프트웨어 기술 회사로, 엔지니어가 보다 탄력적이고 안정적인 소프트웨어 제품을 구축할 수 있도록 돕기 위해 설립되었습니다. Chaos Platform for Microsoft Azure을 확인하고 시스템을 탐색하십시오.

    기사 사진: Raychel Sanner on Unsplash

    좋은 웹페이지 즐겨찾기