이벤트 중심의 Ansible을 사용한 AWS CloudTrail 모니터링

이벤트 중심의 Ansible을 사용한 AWS CloudTrail 모니터링

AWS CloudTrail은 AWS 환경에서 발생하는 모든 것을 추적하는 서비스입니다. 무단 액세스, 구성 변경 또는 비정상적인 동작과 같은 활동을보다 쉽게 ​​추적 할 수 있습니다. 또한 명확한 활동 이력을 유지함으로써 준수 및 감사를 지원합니다.

CloudTrail을 이벤트 중심의 Ansible과 통합하면 수동 개입없이 이러한 이벤트에 실시간으로 자동으로 응답 할 수 있습니다. 이러한 통합은 모니터링을 행동으로 바꾸어 팀이 클라우드 시스템을 안전하고 신뢰할 수 있으며 규모를 규모로 관리하기 쉽게 유지할 수 있도록 도와줍니다.

이 기사에서는 AWS CloudTrail과 이벤트 중심의 Ansible을 통합하는 실질적인 예를 안내해 드리겠습니다. 사용 방법을 배웁니다 ansible.eda.aws_cloudtrail 모니터링 할 수있는 이벤트 중심 자동화 내 모듈 RunInstances (EC2 인스턴스가 시작될 때) 및 TerminateInstances (인스턴스가 종료 및 영구적으로 삭제 된 경우) 이벤트를 통해 응답으로 워크 플로를 자동으로 트리거합니다.

이 자동화는 AWS CloudTrail에서 캡처 한 광범위한 보안 및 운영 이벤트를 처리하도록 확장 될 수 있습니다. 조직의 특정 요구와 정책에 따라 맞춤형 조치 또는 워크 플로를 실행할 수 있습니다.

모듈에 대해

그만큼 ansible.eda.aws_cloudtrail 모듈은 Ansible 이벤트 중심 자동화를 추가 서비스를 필요로하지 않고 AWS CloudTrail의 이벤트를 직접 설문 조사하고 소비 할 수 있도록합니다. 인스턴스 출시 또는 IAM 변경과 같은 특정 이벤트에 대한 응답으로 Ansible Playbook을 트리거하여 실시간 모니터링 및 자동화를 가능하게합니다.

데모 스크립트

이 데모에서는 AWS CloudTrail 이벤트를 모니터링하는 이벤트 중심의 Ansible 스크립트를 실행하고 있습니다. 자동화를 트리거하기 위해 AWS 콘솔을 통해 EC2 인스턴스를 시작하고 종료하고 있습니다.

일단 일치하는 이벤트와 같은 RunInstances 또는 TerminateInstances 스크립트는 이벤트 이름과 타임 스탬프를 인쇄하는 플레이 북을 트리거합니다. 이 설정은 이벤트 세부 사항에 따라보다 고급 자동화를 수행하도록 확장 할 수 있습니다.

Cloud-Trail-demo.yaml

아래 스크립트에서 우리는 CloudTrail 이벤트를 모니터링하고 있습니다. us-east-2 지역 및 5 초마다 새로운 이벤트 확인. 두 가지 규칙이 포함됩니다 event.CloudTrailEvent.eventName 일치합니다 RunInstances 또는 TerminateInstances해당 플레이 북이 자동으로 트리거됩니다.

Ansible EDA 변수를 사용하여 이벤트 이름을 표시합니다. ansible_eda.event.CloudTrailEvent.eventName정확한 시간과 함께 사용했습니다 ansible_eda.event.CloudTrailEvent.eventTime사용자가 트리거 된 이벤트와시기를 쉽게 식별 할 수 있도록합니다.

- name: AWS CloudTrail Monitoring Demo
  hosts: localhost
  sources:
    - ansible.eda.aws_cloudtrail:
        region: 'us-east-2'
        delay_seconds: 5
  rules:
    - name: Monitor RunInstances Events
      condition: event.CloudTrailEvent.eventName == 'RunInstances'
      action:
        run_playbook:
          name: run-instances.yml
    - name: Monitor TerminateInstances Events
      condition: event.CloudTrailEvent.eventName == 'TerminateInstances'
      action:
        run_playbook:
          name: terminate-instances.yml

run-instances.yml

---
- name: Print RunInstances debug message
  hosts: localhost
  connection: local
  gather_facts: false
  tasks:
    - name: Print the RunInstance event details
      debug:
        msg: "Event Driven Ansible detected {{ ansible_eda.event.CloudTrailEvent.eventName }}  at {{ ansible_eda.event.CloudTrailEvent.eventTime }}"

종료 된 인스턴스. yml

---
- name: Print TerminateInstances debug message
  hosts: localhost
  connection: local
  gather_facts: false
  tasks:
    - name: Print the TerminateInstances event details
      debug:
        msg: "Event Driven Ansible detected {{ ansible_eda.event.CloudTrailEvent.eventName }} at {{ ansible_eda.event.CloudTrailEvent.eventTime }}"

데모 스크린 샷

다음은 두 RunInstances그리고 TerminateInstances 이벤트 이름, 타임 스탬프 및 사용자 ID와 같은 중요한 정보가 포함 된 조치.

최종 스크린 샷은 터미널에서 실행되는 Ansible 이벤트 중심 자동화 스크립트를 보여 주며 이러한 이벤트를 지속적으로 모니터링합니다. 일치하는 이벤트가 감지되면 스크립트는 해당 플레이 북을 트리거하여 이벤트 이름과 터미널에서 발생한 시간을 인쇄합니다.

runinstances

이벤트 중심의 Ansible을 사용한 AWS CloudTrail 모니터링

종료 중단

종료 중단

모니터링 스크립트
모니터링 스크립트

결론

이 데모에서는 이벤트 구동 Ansible을 사용하여 AWS CloudTrail과 연결할 수있는 방법을 탐구했습니다. ansible.eda.aws_cloudtrail 실시간 AWS 이벤트를 기반으로 작업을 자동화하는 모듈. EC2 인스턴스를 시작하거나 종료하는 것과 같은 이벤트를 추적하고 응답으로 플레이 북을 자동으로 실행했습니다.

이러한 통합은 수동 노력을 줄일뿐만 아니라 보안, 규정 준수 및 운영 효율성을 향상시킵니다. 추가 사용자 정의를 통해 조직 요구에 맞는 광범위한 클라우드 자동화 사용 사례를 지원하도록 확장 할 수 있습니다.

메모: 이 블로그에 표현 된 견해는 내 자신이며 반드시 Oracle의 견해를 반영하지는 않습니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다