Amazon Athena ஐப் பயன்படுத்தி CloudTrail லாக் மேலாண்மையை தானியங்குபடுத்துதல்
AWS CloudTrail உங்கள் AWS உள்கட்டமைப்பு முழுவதும் கணக்கு செயல்பாட்டின் விரிவான கண்காணிப்பு மற்றும் பதிவுகளை வழங்குகிறது, தணிக்கை, இணக்கம் மற்றும் பாதுகாப்பு ஆய்வுகளுக்காக API அழைப்புகள் மற்றும் நிகழ்வுகளை படம்பிடிக்கிறது. இருப்பினும், AWS சூழல்கள் அளவிடும்போது, குறிப்பாக பல-கணக்கு நிறுவனங்களில், CloudTrail லாக்குகளின் அளவு கணிசமாக வளரலாம், Amazon Athena இல் லாக்குகளை பகுப்பாய்வு செய்யும்போது வினவல் நேரங்கள் மற்றும் செலவுகள் அதிகரிக்கும். இதை தீர்க்க, வினவல் செயல்திறனை மேம்படுத்தவும் செலவுகளை குறைக்கவும் பகிர்வு செய்யப்பட்ட Athena அட்டவணைகளை தானியங்குபடுத்தி உருவாக்குவதையும் நிர்வகிப்பதையும் பரிந்துரைக்கிறோம். இந்த சிறந்த நடைமுறை வழிகாட்டி, AWS Lambda மற்றும் Amazon Athena ஐப் பயன்படுத்தி CloudTrail லாக்குகளை கணக்கு, பகுதி மற்றும் தேதி அடிப்படையில் பகிர்வு செய்து, பாதுகாப்பு, இணக்கம் மற்றும் செயல்பாட்டு பயன்பாட்டு நிலைகளுக்கான திறமையான லாக் பகுப்பாய்வை இயக்கும் தானியங்கு தீர்வை எவ்வாறு செயல்படுத்துவது என்பதை விவரிக்கிறது.
CloudTrail லாக்களுக்கான பகிர்வு செய்யப்பட்ட Athena அட்டவணைகளை கட்டமைத்தல்
வினவல் செயல்திறனை மேம்படுத்தவும் செலவுகளை குறைக்கவும், தானியங்கு தீர்வைப் பயன்படுத்தி CloudTrail லாக்களுக்கான பகிர்வு செய்யப்பட்ட Athena அட்டவணைகளை கட்டமைக்கவும். இந்த அணுகுமுறையில் கணக்கு-குறிப்பிட்ட மற்றும் நிறுவனம்-முழுவதும் Athena அட்டவணைகளை உருவாக்கி பராமரிக்க இரண்டு AWS Lambda செயல்பாடுகளை நிலைநிறுத்துவது அடங்கும், இவை கணக்கு ID, பகுதி மற்றும் தேதி அடிப்படையில் பகிர்வு செய்யப்படுகின்றன. பகிர்வு Athena வினவல்களின் போது தொடர்புடைய தரவை மட்டுமே ஸ்கேன் செய்வதை உறுதிசெய்கிறது, பகிர்வு செய்யப்படாத தரவுத்தொகுதிகளை ஸ்கேன் செய்வதை விட வினவல் வேகத்தை கணிசமாக மேம்படுத்துகிறது மற்றும் செலவுகளை குறைக்கிறது. எடுத்துக்காட்டாக, வரையறுக்கப்பட்ட காலகட்டத்தில் ஒரு குறிப்பிட்ட AWS கணக்கிற்கான சந்தேகத்திற்குரிய செயல்பாட்டை விசாரிக்கும்போது, Athena முழு லாக் தரவுத்தொகுதியை விட தொடர்புடைய பகிர்வுகளை மட்டுமே ஸ்கேன் செய்யும்.
- தானியங்குபடுத்தலுக்கான இந்த CloudFormation Template ஐ நிலைநிறுத்துங்கள்: இரண்டு Lambda செயல்பாடுகள், IAM பாத்திரங்கள், AWS Glue தரவுத்தளம் மற்றும் முன்வரையறுக்கப்பட்ட Athena வினவல்களை உள்ளடக்கிய தீர்வை நிலைநிறுத்த இந்த CloudFormation template ஐ பயன்படுத்தவும். Template பகிர்வு செய்யப்பட்ட அட்டவணைகளின் அமைப்பை தானியங்குபடுத்துகிறது, கைமுறை கட்டமைப்பை நீக்கி சூழல்கள் முழுவதும் நிலைத்தன்மையை உறுதிசெய்கிறது. GitHub தீர்வை இங்கே காணலாம்.
- Partition projection ஐப் பயன்படுத்தி Athena இல் CloudTrail லாக்குகள்: இந்த தீர்வு Athena projection partitioning ஐ பயன்படுத்துகிறது, CloudTrail லாக்களில் முன்வரையறுக்கப்பட்ட பகிர்வு திட்டங்களுடன் அறியப்பட்ட கட்டமைப்பு இருப்பதால், வினவல் இயக்க நேரத் தை குறைக்கவும் Athena partition projection அம்சத்தைப் பயன்படுத்தி பகிர்வு மேலாண்மையை தானியங்குபடுத்தவும் அனுமதிக்கிறது. Partition projection புதிய தரவு சேர்க்கப்படும்போது தானாகவே புதிய பகிர்வுகளை சேர்க்கிறது.
ALTER TABLE ADD PARTITIONஐப் பயன்படுத்தி கைமுறையாக பகிர்வுகளை சேர்க்க வேண்டிய அவசியத்தை இது நீக்குகிறது. - CloudTrail S3 Bucket மற்றும் Prefix ஐ குறிப்பிடுங்கள்: CloudTrail S3 bucket பெயர் மற்றும் பொருத்தமான prefix ஐ CloudFormation template க்கு உள்ளீடுகளாக வழங்கவும். நிறுவன trails க்கு, prefix
ORG_ID/AWSLogs/ORG_IDவடிவத்தைப் பின்பற்றுகிறது, இங்குORG_IDஎன்பது AWS நிறுவன ID ஆகும். ஒற்றை-கணக்கு trails க்கு, இயல்புநிலை prefixAWSLogs/ஐ பயன்படுத்தவும். AWS CLI கட்டளையைப் பயன்படுத்தி prefix ஐ சரிபார்க்கவும்:aws cloudtrail describe-trails --trail-name-list TRAIL_NAME. தனிப்பயன் prefix பயன்படுத்தப்பட்டால், இயல்புநிலை prefix க்கு இணைக்கவும் (எ.கா.,PREFIX/ORG_ID/AWSLogs/ORG_ID). - Athena Query Result Location ஐ அமைக்கவும்: வினவல் முடிவுகளுக்கு Athena இல் ஒரு S3 bucket கட்டமைக்கப்பட்டிருப்பதை உறுதிசெய்யவும். வினவல் வெளியீடுகளை சேமிக்க CloudFormation template இல் இந்த bucket ஐ (
s3://prefix இல்லாமல்) குறிப்பிடவும்.
CloudFormation template ஐ நிலைநிறுத்தி பகிர்வு செய்யப்பட்ட Athena அட்டவணைகளுடன் உங்கள் CloudTrail லாக் பகுப்பாய்வை எளிமைப்படுத்த GitHub இல் CloudTrail Athena Automation Scripts ஐ அணுகவும்.
நெகிழ்வான பகுப்பாய்விற்கு கணக்கு-குறிப்பிட்ட மற்றும் ஒருங்கிணைக்கப்பட்ட அட்டவணைகளை பயன்படுத்தவும்
தீர்வு வெவ்வேறு பயன்பாட்டு நிலைகளை ஆதரிக்க இரண்டு வகையான Athena அட்டவணைகளை உருவாக்குகிறது:
- கணக்கு-குறிப்பிட்ட அட்டவணைகள்:
CloudTrailLogsPartitionedByAccountLambda செயல்பாடு CloudTrail S3 bucket இல் கண்டறியப்பட ்ட ஒவ்வொரு AWS கணக்கிற்கும் பிரத்யேக Athena அட்டவணைகளை (எ.கா.,trail_123456789012) உருவாக்குகிறது. இந்த அட்டவணைகள் பகுதி மற்றும் தேதி அடிப்படையில் பகிர்வு செய்யப்படுகின்றன, தொடர்பற்ற தரவை ஸ்கேன் செய்யாமல் அவர்களின் கணக்கிற்கு குறிப்பிட்ட லாக்குகளை பகுப்பாய்வு செய்ய குழுக்களை இயக்குகிறது. கணக்கு-குறிப்பிட்ட சம்பவங்களை விசாரிக்கும் பாதுகாப்பு குழுக்கள் அல்லது பிராந்திய செயல்பாடுகளை சரிசெய்யும் செயல்பாட்டு குழுக்களுக்கு இது குறிப்பாக பயனுள்ளது. - ஒருங்கிணைக்கப்பட்ட நிறுவனம்-முழுவதும் அட்டவணை:
CloudTrailLogsPartitionedAllAccountsLambda செயல்பாடு AWS நிறுவனத்தின் அனைத்து கணக்குகளிலிருந்தும் லாக்குகளை கொண்ட ஒரு ஒருங்கிணைக்கப்பட்ட அட்டவணையை (எ.கா.,all_accounts_trail) பராமரிக்கிறது, கணக்கு ID, பகுதி மற்றும் தேதி அடிப்படையில் பகிர்வு செய்யப்படுகிறது. இந்த அட்டவணை குறுக்கு-கணக்கு ஆய்வுகள் மற்றும் நிறுவனம்-முழுவதும் தணிக்கைகளை ஆதரிக்கிறது, பாதுகாப்பு நிர்வாகிகள் முழு சூழலிலும் செயல்பாட்டை திறமையாக வினவ அனுமதிக்கிறது.
இரண்டு செயல்பாடுகளும் நிறுவனம் பரிணமிக்கும்போது புதிய கணக்குகள் மற்றும் பகிர்வுகளை தானாகவே சேர்க்க partition projection ஐ பயன்படுத்துகின்றன, கைமுறை புதுப்பிப்புகளின் தேவையை நீக்குகின்றன. கடுமையான பாதுகாப்பு கட்டுப்பாடுகள் மற்றும் கடமைகளின் பிரிவினையை அமலாக்க கட்டுப்படுத்தப்பட்ட அணுகலுடன் தனி பாதுகாப்பு எல்லையில் உள்ள மையப்படுத்தப்பட்ட S3 bucket க்கு லாக்குகளை வழங்க இந்த அட்டவணைகளை கட்டமைக்கவும்.