๐ŸŽ‰ berenickt ๋ธ”๋กœ๊ทธ์— ์˜จ ๊ฑธ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽ‰
DevOps
12-Cloud Watch

1. CloudWatch

  • CloudWatch : ๋ง ๊ทธ๋Œ€๋กœ ํด๋ผ์šฐ๋“œ๋ฅผ ์ง€์ผœ๋ณธ๋‹ค๋Š” ๋œป์œผ๋กœ, ํด๋ผ์šฐ๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค๋ฅผ ์˜๋ฏธ
  • ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ, ์ง€ํ‘œ ๋ฐ ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™ํ™”๋œ ๋Œ€์‹œ๋ณด๋“œ์— ์ˆ˜์ง‘ํ•˜๊ณ ,
    • ์ด๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์ธํ”„๋ผ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๊ฐ„์†Œํ™”์‹œ์ผœ์คŒ
  • AWS ๋ฆฌ์†Œ์Šค ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค์ด๋ฉฐ, ๊ฐ•๋ ฅํ•œ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ์ œ๊ณต
  • ์‚ฌ์ „์— ์ง€์ •๋œ ๊ฐ’์— ๋”ฐ๋ผ ์•Œ๋ฆผ ๋ฐœ์†ก ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ,
    • ๋กœ๊ทธ ๋ฐ ์ง€ํ‘œ์—์„œ ๋„์ถœ๋œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์šด์˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

2. (์‹ค์Šต) EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

[EC2] โ†’ [์ธ์Šคํ„ด์Šค ์‹œ์ž‘] ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

  • ์ด๋ฆ„ : MyFirstSever
    • [์ถ”๊ฐ€ ํƒœ๊ทธ ์ถ”๊ฐ€] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์ด๋ฆ„์„ ํƒœ๊ทธํ˜•ํƒœ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.
  • Application and OS Images : Ubuntu
    • ํ”„๋ฆฌํ‹ฐ์–ด ์‚ฌ์šฉ๊ฐ€๋Šฅ์ธ 22.04 LTS Ubuntu ์„ ํƒ
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜• : ํ”„๋ฆฌํ‹ฐ์–ด ์‚ฌ์šฉ๊ฐ€๋Šฅ์ธ T2.micro๋ฅผ ์„ ํƒ
  • ํ‚ค ํŽ˜์–ด : ๊ธฐ์กด์— ๊ณ„์† ์‚ฌ์šฉํ•˜๋˜ ํ‚คํŽ˜์–ด ์„ ํƒ
  • ๋„คํŠธ์›Œํฌ ์„ค์ • :
    • ์ƒˆ๋กœ์šด ๋ณด์•ˆ ๊ทธ๋ฃน ์ƒ์„ฑ์„ ์„ ํƒํ•˜๊ณ  Secure Shell์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” SSH๋ฅผ
    • ํ†ตํ•ด์„œ ์ ‘์†ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— SSH ํŠธ๋ž˜ํ”ฝ ํ—ˆ์šฉ์„ ์ฒดํฌ.
  • ์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์„ฑ : ๊ธฐ๋ณธ ์„ค์ •์ธ 8GB GP2 ๋ฃจํŠธ ๋ณผ๋ฅจ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ.

๋ชจ๋“  ์„ค์ •์„ ๋งˆ์ณค์œผ๋ฉด, ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” [์ธ์Šคํ„ด์Šค ์‹œ์ž‘] ๋ฒ„ํŠผ์„ ํด๋ฆญ


3. (์‹ค์Šต) CloudWatch ์•Œ๋ฆผ ์ƒ์„ฑ

[EC2] โ†’ [์ธ์Šคํ„ด์Šค]์˜ ๋ชฉ๋ก์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ , [๋ชจ๋‹ˆํ„ฐ๋ง] ํƒญ์„ ํด๋ฆญํ•œ๋‹ค.

  • ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์–‘ํ•œ ์ง€ํ‘œ๋“ค์ด ๋‚˜์˜ค๋Š”๋ฐ, [CPU ์‚ฌ์šฉ๋ฅ ]์˜ ๋”๋ณด๊ธฐ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญ
    • ํ•˜์œ„ ๋ฉ”๋‰ด์—์„œ [์ง€ํ‘œ์—์„œ ๋ณด๊ธฐ] ๋ฒ„ํŠผ์„ ํด๋ฆญ
  • ๊ทธ๋Ÿฌ๋ฉด CloudWatch ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ์ง€ํ‘œ์— ๋Œ€ํ•œ ์ƒ์„ธ ์ •๋ณด๊ฐ€ ๋‚˜์˜จ๋‹ค.
  • ์—ฌ๊ธฐ์„œ ์ง€ํ‘œ ํ•˜๋‹จ์˜ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” [์•Œ๋žŒ ์•„์ด์ฝ˜] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด (๊ฒฝ๋ณด ์ƒ์„ฑ) ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

1๋‹จ๊ณ„ ์ง€ํ‘œ ๋ฐ ์กฐ๊ฑด ์ง€์ •

ํ˜„์žฌ ์ง€ํ‘œ๋Š” CPU ์‚ฌ์šฉ๋ฅ ์ด๋ฉฐ, ํ‰๊ท ๊ฐ’์ด 5๋ถ„ ๋™์•ˆ ์ •ํ•œ ์ž„๊ณ„๊ฐ’์„ ๋„˜์œผ๋ฉด ๊ฒฝ๋ณด๊ฐ€ ์šธ๋ฆฐ๋‹ค.

  • ๋งจ ์•„๋ž˜, ์กฐ๊ฑด ์„ค์ • ์„น์…˜์— ์ž„๊ณ„๊ฐ’์„ ์ •์˜ํ•˜๋Š” ๋ถ€๋ถ„ : 80
    • cf. ํ‰๊ท  CPU ์‚ฌ์šฉ๋ฅ ์ด 5๋ถ„ ์ด์ƒ 80%๋ฅผ ๋„˜์œผ๋ฉด ๊ฒฝ๋ณด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค
  • [๋‹ค์Œ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

2๋‹จ๊ณ„ ์ž‘์—… ๊ตฌ์„ฑ

์•Œ๋ฆผ์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ Auto Scaling ์ž‘์—…์ด๋‚˜ EC2 ์ž‘์—… ๋“ฑ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ณ„

  • [์ƒˆ ์ฃผ์ œ ์ƒ์„ฑ] ์˜ต์…˜์„ ์„ ํƒํ•œ๋‹ค.
  • ์ƒˆ ์ฃผ์ œ ์ƒ์„ฑ์„ ์„ ํƒํ•˜๋ฉด,
    • ์•„๋ž˜์— ์•Œ๋ฆผ์„ ์ˆ˜์‹ ํ•  ์ด๋ฉ”์ผ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ณณ์ด ๋‚˜ํƒ€๋‚œ๋‹ค.
    • ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.
    • ์ดํ›„ [์ฃผ์ œ ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ฃผ์ œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    • ์ฃผ์ œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฉ”์ผ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์„ ํƒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
  • ํ™”๋ฉด์„ ์ œ์ผ ํ•˜๋‹จ์œผ๋กœ ๋‚ด๋ ค์„œ [๋‹ค์Œ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

3๋‹จ๊ณ„ ์ด๋ฆ„ ๋ฐ ์„ค๋ช… ์ถ”๊ฐ€

  • ๊ฒฝ๋ณด์ด๋ฆ„ : TestAlert
    • ์•„๋ž˜์—์„œ๋Š” ๊ฒฝ๋ณด์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋งˆํฌ๋‹ค์šด ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒฝ๋ณด์„ค๋ช… : #ํ…Œ์ŠคํŠธ ๊ฒฝ๋ณด๋‹ค
  • [๋‹ค์Œ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

4๋‹จ๊ณ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฐ ์ƒ์„ฑ

๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋Š” ์•ž์—์„œ ์„ค์ •ํ•œ ๋‚ด์šฉ๋“ค์„ ์ „์ฒด์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค.

  • ๋ชจ๋“  ๋‚ด์šฉ์„ ํ™•์ธํ•œ ์ดํ›„์— [๊ฒฝ๋ณด ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

๊ฒฝ๋ณด๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด, [๊ฒฝ๋ณด ๋ณด๊ธฐ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์ƒ์„ธ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • ๋‹ค์‹œ ๋’ค๋กœ๊ฐ€๊ธฐ๋ฅผ ํ•œ ๋’ค, ์ด๋ฒˆ์—๋Š” [SNS ๊ตฌ๋… ๋ณด๊ธฐ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
  • ๊ทธ๋Ÿฌ๋ฉด SNS ํŽ˜์ด์ง€๊ฐ€ ๋‚˜์˜ค๊ณ , ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ์•„์ง [ํ™•์ธ ๋Œ€๊ธฐ ์ค‘]์ธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐ์ž ๋ฉ”์ผํ•จ์— ๊ฐ€๋ณด๋ฉด AWS์—์„œ ๋ฐœ์†กํ•œ ๋ฉ”์ผ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.
  • ํ•ด๋‹น ์ด๋ฉ”์ผ์„ ํ†ตํ•ด ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•ด์ฃผ๋ฉด,
    • ์ƒํƒœ๊ฐ€ ํ™•์ธ๋จ์œผ๋กœ ๋‚˜์˜จ๋‹ค.
    • ์ด์ œ ํ•ด๋‹น ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ๋œ ๊ฒƒ์ด๋‹ค.

4. (์‹ค์Šต) EC2 ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒฝ๋ณด ์•Œ๋ฆผ๋ฐ›๊ธฐ

EC2 ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒฝ๋ณด ์•Œ๋ฆผ์„ ์‹ค์ œ๋กœ ๋ฐ›์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

[EC2] โ†’ [์ธ์Šคํ„ด์Šค]์— Public IPv4 ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•ด์„œ SSH๋กœ ์ ‘์†ํ•ด์•ผ ํ•œ๋‹ค.

1
# SSH๋กœ ์ ‘์†
2
$ sudo ssh -i [key-pair ํŒŒ์ผ์œ„์น˜] ubuntu@[๋ณต์‚ฌํ•œํผ๋ธ”๋ฆญIPv4์ฃผ์†Œ]
3
4
# ํŒจํ‚ค์ง€ ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธ
5
$ sudo apt-get update
6
7
# ๋ง ๊ทธ๋Œ€๋กœ ์ปดํ“จํ„ฐ์— ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ
8
# ์ฆ‰, ์ปดํ“จํ„ฐ ์ƒค์šฉ๋Ÿ‰์„ ๊ณ„์† ๋Š˜๋ ค ๋ถ€ํ•˜๋ฅผ ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ
9
# ์˜คํ† ์Šค์ผ€์ผ๋ง ์‹ค์Šต์—์„œ๋„ ์‚ฌ์šฉํ–ˆ์Œ
10
$ sudo apt-get install stress
11
12
# ๋ฒ„์ „ํ™•์ธ
13
$ stress --version
14
15
# CPU ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ์‹œ์ž‘!
16
# (๋ช…๋ น์–ด ์‹คํ–‰ํ•˜๊ณ , 5๋ถ„ ์ด์ƒ ์ด ์ƒํƒœ๋กœ ๋‘๊ธฐ ๋ฐ”๋ž€๋‹ค.)
17
$ stress --cpu 4

๊ทธ๋ฆฌ๊ณ  ์‹œ๊ฐ„์ด ์–ด๋А ์ •๋„ ์ง€๋‚œ ์ดํ›„์— EC2 ์ธ์Šคํ„ด์Šค์˜ [๋ชจ๋‹ˆํ„ฐ๋ง] ํƒญ์„ ํ™•์ธํ•ด๋ณด๋ฉด,

  • CPU ์‚ฌ์šฉ๋ฅ ์ด ์น˜์†Ÿ์€ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ์ด๊ฑธ ๋ˆŒ๋Ÿฌ์„œ ํฌ๊ฒŒ ํ™•๋Œ€ํ•ด๋ณธ๋‹ค.
    • ์ด ์ƒํƒœ์—์„œ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๋” ์ง€๋‚˜๋ฉด, CPU ์‚ฌ์šฉ๋ฅ ์ด 99%๊นŒ์ง€ ์˜ฌ๋ผ๊ฐ„๋‹ค.
  • ์„ค์ •ํ•œ ๋Œ€๋กœ ํ‰๊ท  CPU ์‚ฌ์šฉ๋ฅ  80%๊ฐ€ 5๋ถ„ ์ด์ƒ ์ง€์†๋˜๋ฉด ๊ฒฝ๋ณด ์•Œ๋ฆผ์ด ๋ฐœ์ƒํ•œ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ์ด๋ฉ”์ผ๋กœ ์ง์ ‘ ์ƒ์„ฑํ•œ ๊ฒฝ๋ณด์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.