๐Ÿ“‚ AWS/AWS Developer - Associate

[AWS] Developer Associate #9 ๋ชจ๋‹ˆํ„ฐ๋ง(CloudWatch, X-Ray)

dhyuck 2024. 11. 11. 21:51
๋ฐ˜์‘ํ˜•

๋ชจ๋‹ˆํ„ฐ๋ง์ด๋ž€?

  • ๋ชจ๋‹ˆํ„ฐ๋ง์ด๋ž€ ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ์™€ ์„ฑ๋Šฅ์„ ๊ด€์ฐฐํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ณผ์ •์œผ๋กœ ์ด๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ์‚ฌ์ „์— ๊ฐ์ง€ํ•˜๊ณ , ์„ฑ๋Šฅ ๋ฐ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • AWS๋Š” CloudWatch, X-Ray, CloudTrail ๋“ฑ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

CloudWatch๋ž€?

  • CloudWatch๋Š” ์‹œ์Šคํ…œ์˜ Metric, Log, Event๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ Alarm๋ฅผ ์„ค์ •ํ•˜๊ณ  Dashboard๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • CloudWatch๋Š” AWS, On-Premise์— ์ƒ๊ด€ ์—†์ด ๋ฆฌ์†Œ์Šค์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CloudWatch๋Š” Internet Monitoring, Real User Monitoring๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ€์šฉ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

CloudWatch Metrics

  • Metric(๋ฉ”ํŠธ๋ฆญ ๋˜๋Š” ์ง€ํ‘œ)์€ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋กœ CPU ์‚ฌ์šฉ๋ฅ , ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋“ฑ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • AWS ์„œ๋น„์Šค ๋ฉ”ํŠธ๋ฆญ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ๋ฉ”ํŠธ๋ฆญ๋„ AWS CLI ๋˜๋Š” API(PutMetricData)๋กœ Custom Metric์„ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Data Point(๋ฐ์ดํ„ฐ ํฌ์ธํŠธ)๋Š” ํŠน์ • ์‹œ์ ์— Metric์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค์ด ๋ชจ์—ฌ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ๋ฉ”ํŠธ๋ฆญ์˜ ๋ณ€ํ™”๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • Namespace๋Š” Metric์„ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. EC2์˜ Metric์€ AWS/EC2 Namespace์— ์ €์žฅ๋˜๊ณ  RDS์˜ Metric์€ AWS/RDS Namespace์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • Dimension์€ Metric๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” name/value ์Œ์œผ๋กœ ํŠน์ • ๋ฆฌ์†Œ์Šค๋‚˜ ์กฐ๊ฑด์— ๋งž๋Š” Metric๋ฅผ ์‹๋ณ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • Unit์€ Data Point๋ฅผ ํ•ด์„ํ•˜๊ธฐ ์œ„ํ•œ ์ธก์ • ๋‹จ์œ„๋กœ ๋ฉ”ํŠธ๋ฆญ์˜ ์˜๋ฏธ๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
    CPU ์‚ฌ์šฉ๋ฅ ์˜ ๊ฒฝ์šฐ Percent๊ฐ€ ๋˜๊ณ  ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์˜ ๊ฒฝ์šฐ Bytes๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 60์ดˆ ๋ฏธ๋งŒ ๊ฐ„๊ฒฉ์˜ Data Point๋Š” 3์‹œ๊ฐ„ ๋™์•ˆ ๋ณด์กด๋˜๊ณ  1๋ถ„, 5๋ถ„, 1์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์˜ Data Point๋Š” ๊ฐ๊ฐ 15์ผ, 63์ผ, 455์ผ ๋™์•ˆ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด, 90์ผ ์ด์ „์˜ ๋ฉ”ํŠธ๋ฆญ์„ ํ™•์ธํ•˜๋ ค๋ฉด 1๋ถ„, 5๋ถ„ ๊ฐ„๊ฒฉ์œผ๋กœ ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ณผ์ˆ˜ ์—†๊ณ , 1์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋กœ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ์ง€ํ‘œ๋Š” 1๋ถ„ ๋‹จ์œ„์˜ Standard resolution(ํ‘œ์ค€ ํ•ด์ƒ๋„)์™€ 1์ดˆ ๋‹จ์œ„์˜ High resolution(๊ณ ํ•ด์ƒ๋„)๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.
    AWS ์„œ๋น„์Šค์—์„œ ์ƒ์„ฑ๋œ ๋ฉ”ํŠธ๋ฆญ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ‘œ์ค€ ํ•ด์ƒ๋„๋กœ ์ˆ˜์ง‘๋˜๊ณ  ๊ณ ํ•ด์ƒ๋„ ์ง€ํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ถ”๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • CloudWatch Metric์€ ์ƒ์„ฑ๋œ ๋ฆฌ์ „์—๋งŒ ์กด์žฌํ•˜๋ฉฐ ์‚ญ์ œํ•  ์ˆ˜ ์—†๊ณ  ๋ณด๊ด€๊ธฐ๊ฐ„ ์ดํ›„์— ๋งŒ๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
  • CloudWatch Metrics Insights๋Š” ๋Œ€๊ทœ๋ชจ ๋ฉ”ํŠธ๋ฆญ์„ ์ฟผ๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” SQL ์—”์ง„์ž…๋‹ˆ๋‹ค.
  • Metric stream์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„(near-real-time)์œผ๋กœ CloudWatch metric์„ ๋ชฉ์ ์ง€๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CloudWatch Logs

  • Log๋ž€ ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋‚˜ ํ™œ๋™์„ ๊ธฐ๋กํ•œ ๋ฐ์ดํ„ฐ๋กœ CloudWatch Logs๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ ๋กœ๊ทธ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Log stream์€ ๋™์ผํ•œ ์†Œ์Šค์—์„œ ๋ฐœ์ƒํ•œ ์—ฐ์†๋œ ๋กœ๊ทธ๋“ค์˜ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. Log stream์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค ๋‹จ์œ„๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • Log group์€ Log stream์˜ ์ง‘ํ•ฉ์œผ๋กœ Log stream์€ ํ•˜๋‚˜์˜ ๋กœ๊ทธ ๊ทธ๋ฃน์— ์†ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • CloudWatch Logs ์ €์žฅ๋˜๋Š” ๋กœ๊ทธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„ ์ธก ์•”ํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค.
  • CloudWatch Logs๋Š” ๋‘ ๊ฐ€์ง€ ๋กœ๊ทธ ํด๋ž˜์Šค(Standard Log Class์™€ Infrequent Access Log Class)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Infrequent Access log class๋Š” ์ž์ฃผ ์ ‘๊ทผํ•˜์ง€ ์•Š๋Š” ๋กœ๊ทธ๋ฅผ ์œ„ํ•œ ์ €๋ ดํ•œ ์˜ต์…˜์œผ๋กœ Standard log class์— ๋น„ํ•ด ๋ช‡๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Logs Insights๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ๊ทธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Metric filter๋Š” ๋กœ๊ทธ๋ฅผ ํŠน์ • ํŒจํ„ด์ด๋‚˜ ํ…์ŠคํŠธ๋กœ ํ•„ํ„ฐ๋งํ•˜์—ฌ ๋ฉ”ํŠธ๋ฆญ์˜ Data Point๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด, ERROR๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋œ ๋กœ๊ทธ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์—ฌ ErrorCount๋ผ๋Š” Metric์„ ์ƒ์„ฑํ•˜๊ณ  Alarm์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Live Tail์€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋กœ๊ทธ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • Subscription์€ ๋กœ๊ทธ๋ฅผ Lambda, Kinesis Stream, Data Firehose๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ „๋‹ฌํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ, ๋ถ„์„, ๋ฐ ์ €์žฅ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • Export๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ๊ทธ๋ฅผ S3 ๋ฒ„ํ‚ท์œผ๋กœ ์ „์†กํ•˜์—ฌ ์žฅ๊ธฐ ์ €์žฅ ๋ฐ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Metric filter์™€ Live Tail, Subscription์€ Standard Log Class๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

CloudWatch Alarm

  • CloudWatch Alarm(๊ฒฝ๋ณด)๋Š” ์„ค์ •ํ•œ ์ž„๊ณ—๊ฐ’๊ณผ ์กฐ๊ฑด์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๊ฑฐ๋‚˜ ์ดˆ๊ณผํ•  ๋•Œ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ฑฐ๋‚˜ ์‚ฌ์ „ ์ •์˜๋œ ์•ก์…˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CloudWatch๋Š” ๋ฉ”ํŠธ๋ฆญ ์•Œ๋žŒ(Metric Alarm)๊ณผ ๋ณตํ•ฉ ์•Œ๋žŒ(Composite Alarm) ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์•Œ๋žŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Metric Alarm์€ ๋‹จ์ผ Metric ๋˜๋Š” ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์‹์„ ๊ธฐ์ค€์œผ๋กœ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฒฝ์šฐ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • Composite Alarm์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Metric๋ฅผ ์กฐํ•ฉํ•˜๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ์กฐ๊ฑด์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • CloudWatch Alarm์€ OK, ALARM, INSUFFICIENT_DATA์˜ ์„ธ ๊ฐ€์ง€ ์ƒํƒœ(State)๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋ฉ”ํŠธ๋ฆญ ๋ฐ์ดํ„ฐ์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

CloudWatch Events์™€ Dashboard

  • CloudWatch Events๋Š” Amazon EventBridge๋กœ ๋ช…์นญ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Amazon EventBridge๋Š” AWS ๋ฆฌ์†Œ์Šค์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด๋‚˜ ์‹œ์Šคํ…œ ์ด๋ฒคํŠธ๋ฅผ ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„(near-real-time)์œผ๋กœ ๊ฐ์ง€ํ•˜์—ฌ ์ด์Šˆ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐ ๋Œ€์‘์„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CloudWatch Dashboards๋Š” AWS ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”ํŠธ๋ฆญ๊ณผ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Dashboards๋Š” ์—ฌ๋Ÿฌ ๋ฆฌ์ „ ๋ฐ ๊ณ„์ •์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ๋‹จ์ผ ๋ทฐ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CloudWatch Agent

  • CloudWatch Agent๋Š” EC2 ์ธ์Šคํ„ด์Šค์™€ ์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„์—์„œ ์‹œ์Šคํ…œ ์ˆ˜์ค€์˜ ์ง€ํ‘œ์™€ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CloudWatch Agent๊ฐ€ ์ˆ˜์ง‘ํ•œ ์ง€ํ‘œ์™€ ๋กœ๊ทธ๋Š” CloudWatch metrics, Logs์—์„œ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CloudWatch Agent๊ฐ€ ์ˆ˜์ง‘ํ•œ ์ง€ํ‘œ์˜ ์ง€ํ‘œ์˜ ๊ธฐ๋ณธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋Š” CWAgent์ง€๋งŒ, ๋‹ค๋ฅธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

CloudWatch Application Monitoring

  • CloudWatch Synthetics๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์—”๋“œํฌ์ธํŠธ์™€ API๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ์„œ๋น„์Šค๋กœ Canary๋ผ๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉ์ž์™€ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    Canary๋Š” Node.js ๋˜๋Š” Python์œผ๋กœ ์ž‘์„ฑ ๊ฐ€๋Šฅํ•˜๊ณ  Synthetics ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ Lambda Layer๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • CloudWatch RUM(Real User Monitoring)์€ ์‹ค์ œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
    ์ด๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด๋–ป๊ฒŒ ์ด์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€, ์„ฑ๋Š” ๋ฌธ์ œ๋‚˜ ์˜ค๋ฅ˜๋ฅผ ๊ฒช๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CloudWatch Application Insights์€ RDS, ELB์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ์™€ EC2๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(JAVA, IIS ๋“ฑ)๋ฅผ ํ•จ๊ป˜ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ๊ณผ ์ƒํƒœ๋ฅผ ์ข…ํ•ฉ์ ์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ , ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๊ฐ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CloudWatch Application Signals์„ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ๊ณ„์ธกํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชฉํ‘œ์— ๋Œ€ํ•œ ์žฅ๊ธฐ์ ์ธ ์„ฑ๋Šฅ ๋ชฉํ‘œ๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CloudWatch Network Monitoring

  • CloudWatch Internet Monitor๋Š” ์‚ฌ์šฉ์ž์™€ AWS์— ํ˜ธ์ŠคํŒ…๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ(์ธํ„ฐ๋„ท)๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ์„œ๋น„์Šค๋กœ ์ธํ„ฐ๋„ท ๋ฌธ์ œ๊ฐ€ ์„ฑ๋Šฅ๊ณผ ๊ฐ€์šฉ์„ฑ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ฐ€์‹œ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    ์ธํ„ฐ๋„ท์€ ์‚ฌ์šฉ์ž์™€ AWS ์‚ฌ์ด์˜ ๋„คํŠธ์›Œํฌ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ AWS์— ํ˜ธ์ŠคํŒ…๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • CloudWatch Network Monitor๋Š” AWS ๋„คํŠธ์›Œํฌ์™€ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋„คํŠธ์›Œํฌ ๊ฐ„์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
    Network Monitor๋Š” VPC ์„œ๋ธŒ๋„ท๊ณผ ์˜จํ”„๋ ˆ๋ฏธ์Šค IP ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์„œ๋กœ ํ†ต์‹ ํ•˜๋„๋ก ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

X-Ray๋ž€?

  • X-Ray๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์™€ ๊ฐ™์€ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(distributed application)์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ณ  ์„ฑ๋Šฅ ๋ฌธ์ œ ๋ฐ ์˜ค๋ฅ˜์˜ ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ๊ณ  ํ•ด๊ฒฐ(troubleshoot the root cause of performance issues and errors)ํ•˜๋Š”๋ฐ ๋„์›€์„ ์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(distributed application)์ด๋ž€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์— ๊ฑธ์ณ ์ž‘์—…์ด ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋˜๋Š” ์‹œ์Šคํ…œ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด ELB๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ ์ ˆํ•œ ์„œ๋น„์Šค์— ๋ผ์šฐํŒ…ํ•˜๊ณ , ECS Task๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ RDS์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์˜ˆ์‹œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์š”์ฒญ์ด ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฑฐ์ณ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— X-Ray์™€ ๊ฐ™์€ ์„œ๋น„์Šค๋กœ ์ „์ฒด ์š”์ฒญ ํ๋ฆ„์„ ์ถ”์ ํ•˜๊ณ  ๋ฌธ์ œ์˜ ๊ทผ๋ณธ ์›์ธ์„ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ธ๊ทธ๋จผํŠธ(Segment)๋Š” ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ฐ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•œ ์ž‘์—…๊ณผ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•œ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.
  • ํŠธ๋ ˆ์ด์Šค(Trace)๋Š” ์—ฌ๋Ÿฌ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜์˜ ์š”์ฒญ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค ๊ทธ๋ž˜ํ”„(Service graph)๋Š” ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ์š”์†Œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์ง€์ ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒ˜ํ”Œ๋ง(Sampling)์€ X-Ray ์„œ๋น„์Šค๋กœ ์ „์†ก๋˜๋Š” ์–‘์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋น„์šฉ ํšจ์œจ์ ์œผ๋กœ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • X-Ray Daemon์€ UDP 2000 ํฌํŠธ๋กœ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ X-Ray ์„œ๋น„์Šค๋กœ ์ „๋‹ฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค.
  • ์–ด๋…ธํ…Œ์ด์…˜(Annotation)์€ Trace๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ ๋ฐ ํ•„ํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ‚ค-๊ฐ’ ์Œ์ž…๋‹ˆ๋‹ค.
  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(Metadata)๋Š” ์–ด๋…ธํ…Œ์ด์…˜๊ณผ ๋‹ฌ๋ฆฌ ํ•„ํ„ฐ๋ง์ด๋‚˜ ๊ฒ€์ƒ‰์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์ง€๋งŒ ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ํ‚ค-๊ฐ’ ์Œ์ž…๋‹ˆ๋‹ค.

X-Ray๊ฐ€ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์š”์ฒญ์„ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. X-Ray์™€ ํ†ตํ•ฉ๋œ ์„œ๋น„์Šค(X-Ray SDK, AWS ์„œ๋น„์Šค ๋“ฑ)์ด ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๊ณ ์œ ํ•œ ID(Trace ID)๋ฅผ ํฌํ•จํ•˜๋Š” HTTP ํ—ค๋”(X-Amzn-Trace-Id)๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  2. ์š”์ฒญ์ด ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ฒ˜๋ฆฌ๋  ๋•Œ ๋งˆ๋‹ค ๊ฐ ์ปดํฌ๋„ŒํŠธ๋Š” ์š”์ฒญ/์‘๋‹ต ์‹œ๊ฐ„ ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ JSON ํ˜•ํƒœ์˜ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ƒ์„ฑ๋œ ์„ธ๊ทธ๋จผํŠธ๋Š” X-Ray SDK๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ X-Ray ๋ฐ๋ชฌ์œผ๋กœ ์ „์†ก(UDP)๋ฉ๋‹ˆ๋‹ค.
  4. X-Ray ๋ฐ๋ชฌ์€ ์„ธ๊ทธ๋จผํŠธ๋“ค์„ ๋ชจ์•„์„œ X-Ray ์„œ๋น„์Šค๋กœ ์ „์†ก(HTTPS)๋ฉ๋‹ˆ๋‹ค.
  5. X-Ray ์„œ๋น„์Šค๋Š” ์ˆ˜์ง‘๋œ ์„ธ๊ทธ๋จผํŠธ๋“ค์„ ํ•˜๋‚˜์˜ ํŠธ๋ ˆ์ด์Šค๋กœ ์กฐํ•ฉํ•˜์—ฌ ์š”์ฒญ์˜ ํ๋ฆ„์„ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ˜์‘ํ˜•