4P by hahafree12 3달전 | favorite | 댓글 2개

이게 뭐죠?

  • AWS의 로그인 시도(성공/실패 여부 무관)를 감지합니다.
  • AWS 내 리소스를 생성했을 때 알림을 받을 수 있습니다.
    • (따로 설정 했을 경우) 슬랙 메시지로 알림을 받을 수 있습니다. (Webhook 이용)
    • 슬랙 알림을 따로 설정하지 않았다면, 메일로도 알림을 받을 수 있습니다. (다만 Auto scaling을 적극적으로 이용하는 상황이라면 권장하지 않습니다)
  • 따로 설정했다면, 누가 AWS 리소스를 생성했는지 알 수 있도록 'User' 태그를 자동으로 붙입니다.

설정 방법

README.md 파일을 참고해 주세요!

  • Terraform으로 구축하기
  • AWS SAM으로 구축하기

어떻게 하면 알림을 받을 수 있을까요?

(둘 중에 하나만 하셔도 됩니다)

  • Slack의 Incoming Webhook을 설정 후, 환경 변수로 웹훅 주소를 설정합니다.
  • AWS SNS Topic을 설정한 후, Topic에 대한 구독을 설정합니다.

지원하는 AWS 리소스

콘솔 로그인 활동 및 여러 리소스의 생성 시 알람을 받습니다.

  • 콘솔 로그인
  • IAM (User, Group, Role, Policy, Instance Profile)
  • EC2 (Instance, Security Group)
  • RDS (Cluster, Instance)
  • S3 (Bucket)
  • ElastiCache (Redis, Memcached)
  • EMR (Cluster)
  • Lambda (Function)
  • Redshift (Cluster)
  • ECS (Cluster)
  • EKS (Cluster)
  • DocumentDB (Cluster, Instance)
  • MSK(Managed Streaming for Apache Kafka) (Cluster)
  • MWAA(Managed Workflow for Apache Airflow) (Environment)
  • DynamoDB (Table)
  • ELB (CLB, ALB, NLB, GLB)
  • CloudFront (Distribution)

cloudtrail을 이미 켜둔 상태라면 lambda와 메일 노티를 보낸다면 sns까지만 쓰는건가요? 운영비용은 100만콜 이전까지는 무료인거죠?

안녕하세요? 회신이 늦었습니다.

기본적으로는 CloudTrail 설정을 안 하신 경우를 가정하여 CloudTrail 활성화 + S3에 저장하는 것을 가정하여 만들었습니다.

CloudTrail을 켜 두었을 때 Lambda 함수만 연결하는 건 개선해 보도록 하겠습니다.

기본적으로는 CloudTrail 로그를 저장하는 S3, 알림을 보내는 Lambda 함수, 메일 노티를 보내는 경우 SNS 정도만 사용합니다.

해당 구성에 따라 CloudTrail, S3, Lambda, SNS 비용이 발생하는데요. 개인적으로 사용하시는 계정이라면 거의 비용이 발생하지 않을 것입니다. (최근 제가 개인적으로 사용하는 계정에서 1년 넘게 운영해 본 결과 그랬습니다)

다만 실제 프로덕션에 사용하시는 경우 로그인 알림이나 Auto scaling 관련 알림이 자주 발생합니다. 이 경우 비용이 조금 부과될 수 있을 것 같습니다.

(프로덕션 계정에서는 SNS 서비스를 통한 메일 알림 활성화를 추천드리지 않습니다)

질문 감사드리며 추후 개선에 활용하겠습니다.