728x90

Monitoring

루트 계정에 대한 계정 활동 모니터링 및 알림 설정

  1. CloudWatch Events 규칙은 AWS Root 사용자 계정 API의 모든 이벤트 감지
  2. AWS Lambda 함수 트리거
  3. Lambda 함수는 Root API 이벤트 처리
  4. SNS 주제에 메시지 게시
    - 제목: Root API 호출이 감지된 AWS 계정 ID 또는 AWS 계정 별칭과 API 활동 유형 포함
  5. SNS 주제는 이벤트에 대한 알림을 구독자에게 이메일 전송

사전 작업

  1. 모든 AWS 리전에 대해 다중 리전 AWS CloudTrail 추적 생성 및 활성화
  2. RootActivityLambda.zip 파일을 S3 버킷에 업로드

 

CloudTrail 추적 활성화

  • 모든 리전에 적용되는 추적은 모든 리전에서 S3 버킷으로 로그 파일을 전송함
  • 추적을 생성하면 사용자가 지정한 이벤트에 대한 로깅을 자동으로 시작함
  • 계정에 대한 추적 생성 시 이점
  • 1) 로그 이벤트를 Amazon CloudWatch Logs로 보내 지정된 이벤트를 자동으로 모니터링함
  • 2) Amazon Athena로 사용자 활동을 분석하고 로그를 쿼리하는 옵션

 

CloudTrail 콘솔 > 추적 생성

 

 

로그 파일 SSE-KMS 암호화 > SSE-S3 대신 SSE-KMS로 로그 파일을 암호화 할 경우 활성화

추가 설정
 > 로그 파일 검증 : 로그 다이제스트를 S3 버킷으로 전송
 > SNS 알림 전송 : 로그가 버킷으로 전송될 때마다 알림
                - 여러 이벤트를 로그 파일에 저장
                - CloudTrail의 모든 이벤트가 아닌 모든 로그 파일에 대한 SNS 알림 전송

 

 

CloudWatch Logs > 로그 파일을 전송하도록 구성
태그 > CloudTrail 추적과 CloudTrail 로그 파일이 포함된 Amazon S3 버킷을 모두 식별

 

관리 이벤트 : 기본
데이터 이벤트 : 추가 요금 부과
Insight 이벤트 : 추가 요금 부과

 

생성 완료

 

 

RootActivityLambda.zip 다운로드

 

S3 버킷에 파일 업로드

 

CloudFormation을 이용한 배포

  1. RootAPIMonitor.json 템플릿을 이용한 스택 생성
  2. us-east-1 리전에서 스택 생성
    - Root API 로그인은 글로벌 이벤트이며 us-east-1에서 기록됨
  3. 매개 변수 정보 입력
  4. 선택 기능 수신 확인 선택
  5. CloudFormation 스택 완료 시 SNSSubscriptions에 제공된 이메일로 전송 된 SNS 구독 이메일 확인

 

객체 URL 복사

 

복사한 객체 URL 입력

 

파라미터 입력
SNSSubscriptions : SNS 주제를 구독할 이메일 주소
SNSTopicName : 생성할 SNS 주제의 고유한 이름
Lambda Timeout : Lambda 함수 제한 시간 값
LambdaS3Bucket : Lambda 함수 zip 파일이 저장된 S3 버킷의 이름
LambdaS3Key : Lambda 함수 zip 파일의 이름

파라미터 입력

 

스택 생성 완료

 

파라미터 값에 입력한 이메일 주소로 구독 확인 메일이 수신됨 

 

이후 루트 계정에서 로그인을 하면 메일로 알림을 받음

 

728x90

+ Recent posts