1. CloudTrail์ด๋ž€?

๐Ÿ’ก
๊ธฐ๋ณธ์ ์œผ๋กœ aws ๊ณ„์ • ๋‚ด์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ชจ๋“  API๋ฅผ ํ†ตํ•˜์—ฌ ๊ณ„์ • ํ™œ๋™์— ๊ด€๋ จ ์ž‘์—…์„ ๊ธฐ๋กํ•˜๋ฉฐ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋ฉฐ ๋ณด๊ด€ํ• ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค. Console , AWS SDK, ๋ช…๋ น์ค„ ๊ธฐํƒ€ AWS์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ ์ž‘์—…์„ ๋น„๋กฏํ•˜์—ฌ ์ด๋ฒคํŠธ ๊ธฐ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด๋ฒคํŠธ ๊ธฐ๋ก์—์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•„ํ„ฐ๋ง์„ ์ด์šฉํ•˜์—ฌ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
!!!!๊ธฐ๋ณธ์ ์œผ๋กœ Trail์€ API ํ˜ธ์ถœํ›„ ํ‰๊ท  ์•ฝ 15๋ถ„ ์ด๋‚ด์— ๋กœ๊ทธ๋ฅผ ์ „์†กํ•œ๋‹ค.

์ฐธ๊ณ  ๋ฌธํ—Œ : https://aws.amazon.com/ko/cloudtrail/features/
๊ฐœ๋…์ •๋ฆฌ
  1. Cloud Trail์€ ๋ชจ๋“  AWS ๊ณ„์ •์—์„œ ๊ณ„์ • ์ƒ์„ฑ์‹œ ํ™œ๋™์„ ๊ธฐ๋ก ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•  ํ•„์š” ์—†์ด ์ง€์›๋˜๋Š” ์„œ๋น„์Šค์˜ ์ƒ์„ฑ, ์ˆ˜์ • ๋ฐ ์‚ญ์ œ ์ž‘์—…์„ ์œ„ํ•ด 90์ผ๋™์•ˆ์˜ ํ™œ๋™ ๊ธฐ๋ก
  1. ์ด๋ฒคํŠธ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ ๊ณ„์ • ํ™œ๋™์„ ๋ณด๊ณ  ๊ฒ€์ƒ‰ ๋ฐ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅ → ๋ฆฌ์†Œ์Šค ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๊ฐ€์‹œ์„ฑ ํ™•๋ณด
  1. s3 ์„œ๋ฒ„์ธก ์•”ํ˜ธํ™” SES๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ ์•”ํ˜ธํ™” ๊ฐ€๋Šฅ → KMS๋กœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.
  1. ์ด๋ฒคํŠธ ์ข…๋ฅ˜
    1. ๊ด€๋ฆฌ ์ด๋ฒคํŠธ aws ๊ณ„์ • ๋ฆฌ์†Œ์Šค์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ด€๋ฆฌ ์ž‘์—…๋“ฑ
      ex ) ec2 ์ƒ์„ฑ , ์‚ญ์ œ , ์ˆ˜์ •๋“ฑ์˜ ์ž‘์—… ๊ธฐ๋ก → aws ๊ณ„์ • ,iam์—ญํ• ,์ž‘์—…ํ•œ ip,์‹œ๊ฐ„,๋ฆฌ์†Œ์Šค๋“ฑ์˜ ์ •๋ณด ํ™•์ธ ๊ฐ€๋Šฅ
    1. ๋ฐ์ดํ„ฐ ์ด๋ฒคํŠธ ๋ฆฌ์†Œ์Šค ์ž์ฒด or ๋ฆฌ์†Œ์Šค ๋‚ด์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์„œ๋น„์Šค → ๋Œ€๋Ÿ‰ ํ™œ๋™
      • Amazon S3 ๊ฐ์ฒด ์ˆ˜์ค€ API ํ™œ๋™(์˜ˆ: GetObject, DeleteObject ๋ฐ PutObject API ์ž‘์—…)
      • AWS Lambda ํ•จ์ˆ˜ ์‹คํ–‰ ํ™œ๋™(Invoke API)
      !! ์ถ”์ ์„ ์ƒ์„ฑ ํ•  ๋•Œ ๋ฐ์ดํ„ฐ ์ด๋ฒคํŠธ๋Š” ๊ธฐ๋ก๋˜์ง€ ์•Š์Œ → ์„ค์ • ์‹œ ์ถ”๊ฐ€ ์š”๊ธˆ
    1. Cloud Trail Insights
      • ๋ฆฌ์†Œ์Šค ํ”„๋กœ๋น„์ €๋‹ ๊ธ‰์ฆ
      • IAM ์ž‘์—…์˜ ๊ธ‰์ฆ ๋˜๋Š” ์ฃผ๊ธฐ์  ์œ ์ง€ ๊ด€๋ฆฌ ํ™œ๋™ ๊ฒฉ์ฐจ๊ฐ™์€ aws๊ณ„์ •์˜ ๋น„์ •์ƒ์  ํ™œ๋™ ์‹๋ณ„
  1. ํ†ตํ•ฉ๋˜๋Š” ์„œ๋น„์Šค
    1. Lambda
      • s3 ๋ฒ„ํ‚ท ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ s3๊ฐ์ฒด ์ƒ์„ฑ ์ด๋ฒคํŠธ๋ฅผ lambda์— ๊ฒŒ์‹œ๊ฐ€๋Šฅ
      • trail ์—์„œ s3 ๋ฒ„ํ‚ท์— ๋กœ๊ทธ๋ฅผ ์“ธ๋•Œ lambda๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ฒ˜๋ฆฌ
    1. cloudwatch logs
      • trail์—์„œ ๊ธฐ๋ก ๊ด€๋ฆฌ ๋ฐ ๋ฐ์ดํ„ฐ ์ด๋ฒคํŠธ๋ฅผ cloudwatch logs๋กœ ๋ณด๋‚ผ์ˆ˜์žˆ๋‹ค.
      • ์ง€ํ‘œ ํ•„ํ„ฐ ์ƒ์„ฑํ•˜์—ฌ ์ด๋ฒคํŠธ,๊ฒ€์ƒ‰ ์ด๋ฒคํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง๊ฐ€๋Šฅ
      • lambda ๋ฐ elastisearch ๊ฐ™์€ ๋‹ค๋ฅธ aws๋กœ ์ŠคํŠธ๋ฆฌ๋ฐ๊ฐ€๋Šฅ
    1. cloudwatch ์ด๋ฒคํŠธ
      • ๋ฆฌ์†Œ์Šค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ์ž๋™ ๋Œ€์‘๊ฐ€๋Šฅ
      • trail ์—์„œ ํŠน์ • ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋กํ• ์‹œ ์‹คํ–‰ ์ž‘์—… ์ •์˜ ๊ฐ€๋Šฅ
      •   ex) cloudtrail ์ƒˆ ์ˆ˜์‹  ๊ทœ์น™ ์ถ”๊ฐ€์™€ ๊ฐ™์ด ec2 ๋ณด์•ˆ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๊ธฐ๋ก์‹œ lambdaํ•จ์ˆ˜๋กœ ๋ณด๋‚ด๋Š” event ๊ทœ์น™์„ ์ƒ์„ฑ๊ฐ€๋Šฅ

2. ์‹ค์Šต

์ด๋ฒคํŠธ ๋กœ๊ทธ ํ™•์ธ
  1. ์ฝ˜์†”์„ ํ†ตํ•˜์—ฌ trail ์ ‘์†
  1. ์ด๋ฒคํŠธ ๊ธฐ๋ก์„ ํ†ตํ•˜์—ฌ ๋กœ๊ทธ ํ™•์ธ
    → ๊ธฐ๋ณธ์ ์ธ APIํ™œ๋™์— ์˜ํ•˜์—ฌ ํ™œ๋™ ์ž‘์—…์ด ๋กœ๊ทธ๊ฐ€ ๋‚จ๋Š”๋‹ค.
์ด๋ฒคํŠธ ํ•„ํ„ฐ๋ง
  1. ํ•„ํ„ฐ๋ง์€ ์‹œ๊ฐ„ ๋ฐ ์—ฌ๋Ÿฌ ์ด๋ฒคํŠธ ํŒจํ„ด์— ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์กฐํšŒ ๊ฐ€๋Šฅ  
  1. ์ด๋ฒคํŠธ ์ด๋ฆ„์œผ๋กœ ํ•„ํ„ฐ๋ง api test๋ฅผ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด๋‘ 
    → ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ๋œ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ ์ž ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋‚˜ํƒ€๋‚˜์ง€์•Š์Œ → ๋‹ค๋ฅธ ์ด๋ฒคํŠธ ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด๋ณด์ž!
    → ์ด์ „์˜ auto-scaling ์œผ๋กœ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋ถ€ํ„ฐ ์‹œ๊ฐ„๋ฐ ๋ฆฌ์†Œ์Šค ์œ ํ˜•๋“ฑ์„ ํ™•์ธ ๊ฐ€๋Šฅ ํ•ด๋‹น ์ด๋ฒคํŠธ์— ๋Œ€ํ•˜์—ฌ ์ž์„ธํžˆ ์•Œ๊ณ ์ž ์ด๋ฒคํŠธ ์ •๋ณด ํ™•์ธ
  1. ์ด๋ฒคํŠธ ์ƒ์„ธ ์ •๋ณด ํ™•์ธ
    → ํ•ด๋‹น ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋“ค์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ, ์ฐธ์กฐ ๋ฆฌ์†Œ์Šค ๊นŒ์ง€ ๊ฐ™์ด ํ™•์ธ ๊ฐ€๋Šฅ
  1. ์ œ๊ณต๋˜๋Š” cloudtrail ์—ด ๋ฆฌ์ŠคํŠธ
  1. ์‹œ๊ฐ„ ํ•„ํ„ฐ๋ง
    → ํŠน์ • ์‹œ๊ฐ„๋Œ€๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ start-end ์‹œ๊ฐ„์„ ์ง€์ •๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.  
S3 - Trail ์ถ”์  ๊ธฐ์กด ๋ฐฉ์‹์ฒ˜๋Ÿผ Trail๋กœ๋งŒ ๋กœ๊ทธ๋ฅผ ๋ณด๋Š” ๋ฐ๋Š” 90์ผ์ด๋ผ๋Š” ๊ธฐ๊ฐ„์ด ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „์˜ ๋ฐ์ดํ„ฐ๋„ ํ™•์ธ์„ ํ•˜๊ณ  ์‹ถ์„ ์‹œ S3๋ฒ„ํ‚ท์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
  1. ์ถ”์  ์ƒ์„ฑ
    → ๋กœ๊ทธ ํŒŒ์ผ์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด์„œ KMS๋ฅผ ์‚ฌ์šฉ๊ฐ€๋Šฅ.(์‹ค์Šต์ด๊ธฐ์— ๋ชจ๋“ ๊ฒƒ์„ ๋น„ํ™œ์„ฑํ™”) → ๋˜ ์•ž์„œ ๊ฐœ๋… ์ •๋ฆฌ๋ฅผ ํ•˜๋ฉด์„œ ์—ฐ๋™ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค ์ค‘ watch logs๋ฅผ ์ด์šฉํ• ์ˆ˜๋„์žˆ๋‹ค.
  1. ์ด๋ฒคํŠธ ์„ ํƒ
    → kms ์ด๋ฒคํŠธ๋Š” ์ œ์™ธ ๋ชจ๋“  apiํ™œ๋™ (์ด๋ฒคํŠธ๋Š” ๊ด€๋ฆฌ ์ด๋ฒคํŠธ๋งŒ ๋‚˜๋จธ์ง€๋Š” ์ถ”๊ฐ€๋น„์šฉ)
  1. ์ƒ์„ฑ ์ง„ํ–‰
    → ์ด์ „์˜ ์ถ”์ ์„ ์ƒ์„ฑํ•ด๋’€์œผ๋ฏ€๋กœ ๋”ฐ๋กœ ์ƒ์„ฑ์„ ํ•˜์ง„ ์•Š์•˜๋‹ค.
  1. ๋ฒ„ํ‚ท ์ƒ์„ฑ ํ™•์ธ
    → ๋‹ค์ค‘ ๋ฆฌ์ „ ์ถ”์  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋ชจ๋“  ๋ฆฌ์ „์˜ ์ •๋ณด๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค. ๋”ฐ๋ผ์„œ, ๋ณธ์ธ์ด ํ•ด๋‹นํ•˜๋Š” ๋ฆฌ์ „์— ๋Œ€ํ•ด์„œ ๋กœ๊ทธ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.
  1. ๋กœ๊ทธ ํ™•์ธ
    → ํ•ด๋‹น ๋กœ๊ทธ๋“ค์ด ์ƒ์„ฑ๋จ์„ ํ™•์ธํ–ˆ๋‹ค. (ํ•ด๋‹น ๋‚ ์งœ์— ๋Œ€ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋ฉฐ ์‹œ๊ฐ„๋ณ„๋กœ ํ™•์ธ๊ฐ€๋Šฅ ํ•˜์ง€๋งŒ, ๋‹ค์†Œ UI๊ฐ€ ๋–จ์–ด์ ธ์„œ ์‹๋ณ„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค... ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€ ์กด์žฌ
    → ํ•ด๋‹น ๊ฐ์ฒด์˜ URL์„ ํ†ตํ•˜์—ฌ ์ ‘์†ํ•œ ๊ฒฐ๊ณผ ์•„์ฐ”ํ•˜๋‹ค....  
athena๋ฅผ ์ด์šฉํ•œ s3 ๋กœ๊ทธ ๋ถ„์„ ์ด์ „์˜ trail ์—์„œ ์ƒ์„ฑํ•œ ์ถ”์ ์€ ์‹๋ณ„ํ•˜๊ธฐ์— ์žˆ์–ด ๋ถˆํŽธํ•จ์ด ์กด์žฌํ•˜์—ฌ ํŠน์ • ์ฟผ๋ฆฌ๋“ค์„ ์ด์šฉํ•ด์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ณด๊ณ ์ž ํ•˜๋Š” ์—ด์„ ๋‚˜์—ดํ• ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ๋กœ๊ทธ๋“ค์„ ๋ถ„์„ํ•ด๋ณด์ž!
  1. Athena ํ…Œ์ด๋ธ” ์ƒ์„ฑ
    → ํ•ด๋‹น ํ…Œ์ด๋ธ”์ƒ์„ฑ์‹œ trail ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด ์ค€๋‹ค. → ๋˜ํ•œ ์ด์ „์˜ ์ถ”์ ์œผ๋กœ ์ƒ์„ฑํ•œ ๋ฒ„ํ‚ท์„ ์ง€์ •ํ•œ๋‹ค (ํ•ด๋‹น ๋ฒ„ํ‚ท์— ์กด์žฌํ•˜๋Š” ๋กœ๊ทธ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ๋•Œ๋ฌธ์ด๋‹ค.)
    CREATE EXTERNAL TABLE cloudtrail_logs_aws_cloudtrail_logs_186086016278_655f63bf ( eventVersion STRING, userIdentity STRUCT< type: STRING, principalId: STRING, arn: STRING, accountId: STRING, invokedBy: STRING, accessKeyId: STRING, userName: STRING, sessionContext: STRUCT< attributes: STRUCT< mfaAuthenticated: STRING, creationDate: STRING>, sessionIssuer: STRUCT< type: STRING, principalId: STRING, arn: STRING, accountId: STRING, userName: STRING>>>, eventTime STRING, eventSource STRING, eventName STRING, awsRegion STRING, sourceIpAddress STRING, userAgent STRING, errorCode STRING, errorMessage STRING, requestParameters STRING, responseElements STRING, additionalEventData STRING, requestId STRING, eventId STRING, resources ARRAY<STRUCT< arn: STRING, accountId: STRING, type: STRING>>, eventType STRING, apiVersion STRING, readOnly STRING, recipientAccountId STRING, serviceEventDetails STRING, sharedEventID STRING, vpcEndpointId STRING ) COMMENT 'CloudTrail table for aws-cloudtrail-logs-186086016278-655f63bf bucket' ROW FORMAT SERDE 'com.amazon.emr.hive.serde.CloudTrailSerde' STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://CloudTrail_bucket_name/AWSLogs/Account_ID/CloudTrail/'; TBLPROPERTIES ('classification'='cloudtrail');
    → ๋‹ค์Œ์ฒ˜๋Ÿผ ์ฟผ๋ฆฌํ˜•์‹์„ ํ™•์ธ ๊ฐ€๋Šฅ
  1. ํ…Œ์ด๋ธ” ์ƒ์„ฑ ํ™•์ธ
  1. ๊ฐ„๋‹จํ•˜๊ฒŒ event name์„ select ์ฟผ๋ฆฌ
  1. ์„œ์šธ ๋ฆฌ์ „์—์„œ๋งŒ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ ํ™•์ธ
  1. ์‹คํ–‰ ์ค‘์ธ ์ธ์Šคํ„ด์Šค ํ™•์ธ
AWS CLI๋ฅผ ํ†ตํ•œ ํ™•์ธ CLI๋Š” ํ™ˆํŽ˜์ด์ง€์—์„œ ์„ค์น˜๊ฐ€๋Šฅ https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2-windows.html
→ AWS Cli ์„ค์น˜
https://docs.aws.amazon.com/ko_kr/awscloudtrail/latest/userguide/view-cloudtrail-events-cli.html - ๋ช…๋ น๋“ค ์ฐธ์กฐ ๊ฐ€๋Šฅ
aws cloudtrail lookup-event help - > ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋ช…๋ น์ค„ ๋„์›€๋ฐ›๊ธฐ aws cloudtrail lookup-event --max-results 1 (default 10 1~50๊นŒ์ง€ ๊ฐ€๋Šฅ) aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances -> ์ธ์Šคํ„ด์Šค ๊ตฌ๋™๋œ ์ด๋ฒคํŠธ ๊ธฐ๋ก (์ด๋ฒคํŠธ ์ด๋ฆ„์œผ๋กœ ์กฐํšŒ) aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=ec2.amazonaws.com -> EventSource ์กฐํšŒ aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceType,AttributeValue=AWS::S3::Bucket -> ๋ฆฌ์†Œ์Šค ์œ ํ˜•
  • ์ตœ์‹  ์ด๋ฒคํŠธ ๊ธฐ๋ก 1๊ฐœ ์กฐํšŒ
  • ๊ตฌ๋™ํ•œ ์ธ์Šคํ„ด์Šค ์ด๋ ฅ
CloudWatch logs ๋ฐ insight ์ด์šฉ
    cloudwatch logs
    1. cloud trail ํ‘œ์ ์„ ์ƒ์„ฑ์‹œ s3 ๋ฒ„ํ‚ท ์ด์™ธ์—๋„ cloudwatch๋กœ ๋กœ๊ทธ๊ทธ๋ฃน ์ƒ์„ฑ๊ฐ€๋Šฅ
    1. cloudwatch ๋กœ๊ทธ๊ทธ๋ฃน - ๋กœ๊ทธ ์ŠคํŠธ๋ฆผ
      → ์„ธ๋ถ€ ์ •๋ณด๋Š” ํ•ด๋‹น ์ŠคํŠธ๋ฆผ์„ ํ™•์ธ
    1. ๋กœ๊ทธ ์ด๋ฒคํŠธ ํ•„ํ„ฐ๋ง ํŒจํ„ด
      → ์‚ญ์ œ๋œ ์ธ์Šคํ„ด์Šค ์กฐํšŒ์‹œ ๋‚˜ํƒ€๋‚จ
    cloudwatch insight์ด์šฉํ•˜์—ฌ query

    ์ƒ˜ํ”Œ์ฟผ๋ฆฌ : https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html

    ๋‹จ์ผ ์š”์ฒญ์€ ์ตœ๋Œ€ 20๊ฐœ์˜ ๋กœ๊ทธ๊ทธ๋ฃน ์ฟผ๋ฆฌ ๊ฐ€๋Šฅ ์ฟผ๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ 15๋ถ„ ํ›„์— ์ฟผ๋ฆฌ๊ฐ€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋Š” 7์ผ ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    1. ๋กœ๊ทธ ๊ทธ๋ฃน ์„ ํƒ
    1. ํ•„ํ„ฐ๋ง

      → ์›ํ•˜๋Š” ํŒจํ„ด์œผ๋กœ ํ•„ํ„ฐ๋ง์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    1. ์ฟผ๋ฆฌ ์กฐํ•ฉ์‹œ
      stats count(*) by eventSource, eventName, awsRegion -> ์„œ๋น„์Šค ,์ด๋ฒคํŠธ ์ด๋ฆ„ ,๋ฆฌ์ „๋“ฑ์˜ ๊ฐฏ์ˆ˜ |filter eventName="TerminateInstances" -> ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ์ข…๋ฃŒ๋œ ์ธ์Šคํ„ด์Šค ์กฐํšŒ 

       

3.๊ฒฐ๋ก 

Trail์„ ์ด์šฉํ•˜์—ฌ AWS๊ณ„์ • ๋‚ด์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ชจ๋“  ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์ž๋™์œผ๋กœ ๋‚จ์•„ ์ง€๊ธฐ ๋•Œ๋ฌธ์—
90์ผ๊ฐ„์˜ ๊ธฐ๋ก์ด ์ง€๋‚œ ๋ฐ์ดํ„ฐ๋“ค๋„ S3 ๋ฅผ ์ด์šฉํ•˜์—ฌ ์žฅ๊ธฐ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ ํ•  ์ˆ˜ ์žˆ์–ด ์ƒ๋‹นํžˆ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ธ ๊ฒƒ ๊ฐ™๋‹ค.
๋˜ํ•œ, s3 ๋ฒ„ํ‚ท์œผ๋กœ ์ง€๋‚œ ๋กœ๊ทธ๋“ค์„ ๋ถ„์„ํ•˜๊ธฐ์—๋Š” ๋ถˆํŽธํ•จ์ด ์กด์žฌํ•˜์—ฌ Athena๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด ํŠน์ • ์ฟผ๋ฆฌ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์— ๋‚˜ํƒ€๋‚œ colume ๋ช…์„ ์ด์šฉํ•˜์—ฌ ํ•„ํ„ฐ๋ฅผ ํ• ์ˆ˜์žˆ๋‹ค.

 

'Management & Governance' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

athena log query  (0) 2021.03.08

+ Recent posts