6장. 간소화된 이벤트 라우팅
간소화된 이벤트 라우팅을 통해 이벤트 기반 Ansible 컨트롤러는 이벤트 스트림을 사용하여 다양한 원격 시스템의 데이터를 캡처하고 분석할 수 있습니다. 이벤트 스트림을 사용하면 GitHub 또는 GitLab과 같은 원격 시스템에서 이벤트 기반 Ansible 컨트롤러로 이벤트를 보낼 수 있습니다. 룰북의 소스를 교체하여 1개 이상의 이벤트 스트림을 활성화에 연결할 수 있습니다.
이벤트 스트림은 소스를 룰북에 연결하는 쉬운 방법입니다. 이 기능을 사용하면 이벤트 소스에서 경고를 수신한 다음 여러 룰북에서 이벤트를 사용할 수 있는 단일 끝점을 만들 수 있습니다.
6.1. 이벤트 스트림
이벤트 스트림은 원격 시스템에서 이벤트 기반 Ansible 컨트롤러로 이벤트를 보낼 수 있습니다. 일반적인 설정에서는 서버가 인터넷을 통해 이벤트 스트림으로 데이터를 이벤트 기반 Ansible 이벤트 스트림 수신자에게 보냅니다. 데이터가 인터넷을 통해 제공되는 경우 요청을 인증해야 합니다. 웹 후크 벤더 또는 원격 시스템에 따라 인증 방법이 다를 수 있습니다.
이벤트 기반 Ansible 컨트롤러는 7가지 이벤트 스트림 유형을 지원합니다.
유형 | 설명 | 공급 업체 |
---|---|---|
HMAC | 해시된 메시지 인증 코드(HMAC). 이벤트 기반 Ansible 컨트롤러와 공급업체 웹 후크 서버 간에 공유 시크릿을 사용합니다. 이는 메시지 무결성을 보장합니다. | GitHub |
기본 인증 | HTTP 기본 인증을 사용합니다. | Datadog, Dynatrace |
토큰 인증 | 토큰 인증을 사용합니다. 일반적으로 HTTP 헤더는 권한 부여 이지만 Gitlab과 같은 일부 공급업체는 X-Gitlab-Token 을 사용합니다. | Gitlab, ServiceNow |
OAuth2 | 클라이언트 자격 증명 이라는 권한 부여 유형과 함께 M2M(Machine-to-Machine) 모드를 사용합니다. 토큰은 불투명입니다. | Dynatrace |
JWT가 있는 OAuth2 | 클라이언트 자격 증명 이라는 권한 부여 유형과 함께 M2M 모드를 사용합니다. 토큰은 JSON 웹 토큰(JWT)입니다. | Datadog |
ECDSA | elliptic Curve Digital Signature 알고리즘 | SendGrid, Twilio |
상호 TLS | 시작 시 벤더의 CA 인증서가 서버에 있어야 합니다. 이는 non-repudiation을 지원합니다. | PagerDuty |
이벤트 기반 Ansible 컨트롤러는 7가지 기본 이벤트 스트림 유형을 기반으로 하는 4가지 다른 특수 이벤트 스트림도 지원합니다.
- GitLab Event Stream
- GitHub Event Stream
- ServiceNow 이벤트 스트림
- Dynatrace 이벤트 스트림
이러한 특수 유형은 기본값을 추가하여 사용하는 매개변수를 제한합니다. 예를 들어 GitHub 이벤트 스트림은 이미 채워진 많은 필드가 있는 HMAC 이벤트 스트림의 특징입니다. GitHub Event Stream 인증 정보를 저장하면 GitHub 이벤트 스트림에 권장되는 기본값이 표시됩니다.