CloudTrail-Watcher: AWS resources बनाते समय notification पाएं
(github.com/rubysoho07)यह क्या है?
- AWS के login attempts (सफल/असफल होने से बिना फर्क) को detect करता है।
- AWS में resources बनाए जाने पर notification पा सकते हैं।
- (अगर अलग से configuration किया हो) Slack message के जरिए notification पा सकते हैं। (Webhook का उपयोग)
- अगर Slack notification अलग से configure नहीं किया है, तो email से भी notification पा सकते हैं। (लेकिन अगर आप Auto scaling का सक्रिय रूप से उपयोग कर रहे हैं, तो इसकी सिफारिश नहीं की जाती)
- अगर अलग से configure किया हो, तो AWS resource किसने बनाया यह पता चल सके, इसके लिए
Usertag अपने आप जोड़ता है।
सेटअप कैसे करें
README.md 파일을 참고해 주세요!
- Terraform से deploy करना
- AWS SAM से deploy करना
notification कैसे प्राप्त करें?
(इनमें से कोई एक ही करना पर्याप्त है)
- Slack Incoming Webhook सेट करने के बाद, webhook address को environment variable के रूप में सेट करें।
- AWS SNS Topic सेट करने के बाद, उस Topic के लिए subscription सेट करें।
समर्थित AWS resources
Console login activity और कई resources के creation पर alert मिलता है।
- Console login
- 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)
2 टिप्पणियां
अगर
cloudtrailपहले से चालू है, तो क्या Lambda और email notification भेजने के लिए सिर्फ़ SNS तक ही इस्तेमाल करना होगा? ऑपरेशन लागत 10 लाख calls तक मुफ़्त है, सही?नमस्ते? जवाब देने में देर हो गई।
मूल रूप से, यह इस धारणा पर बनाया गया था कि आपने CloudTrail सेट नहीं किया है, इसलिए CloudTrail को सक्रिय करके उसे S3 में स्टोर करने को आधार माना गया था।
जब CloudTrail चालू हो, तब सिर्फ Lambda function को कनेक्ट करने वाले हिस्से को मैं सुधारने की कोशिश करूंगा।
बुनियादी तौर पर, इसमें CloudTrail logs को स्टोर करने वाला S3, notifications भेजने वाला Lambda function, और email notifications भेजने के मामले में SNS जैसी सेवा का ही उपयोग होता है।
इस configuration के अनुसार CloudTrail, S3, Lambda, और SNS की लागत आती है। लेकिन अगर यह आपका व्यक्तिगत account है, तो लगभग कोई लागत नहीं आएगी। (हाल ही में मैंने अपने व्यक्तिगत account पर इसे 1 साल से अधिक समय तक चलाकर देखा है, और ऐसा ही रहा।)
हालांकि, अगर आप इसे वास्तविक production में उपयोग करते हैं, तो login notifications या Auto scaling से संबंधित notifications अक्सर उत्पन्न हो सकते हैं। इस स्थिति में कुछ लागत लग सकती है।
(Production account में SNS service के माध्यम से email notifications को सक्रिय करने की मैं सिफारिश नहीं करता।)
सवाल के लिए धन्यवाद, और मैं इसे आगे के सुधार में उपयोग करूंगा।