์๋ ํ์ธ์ ๊ตฌ๋ ์๋, DevOps ์์๊ณผ ๊ธฐ์ ์ง์์ ์ ๋ฆฌํด์ ๊ณต์ ํด๋๋ฆฌ๋ DevOps ์ฌํ์ ์ํ ์์์ง์ ๋๋ค.
AWS์๋ ์๋ง์ ์๋น์ค๊ฐ ์กด์ฌํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ถํฐ ๋คํธ์ํฌ, ์ปดํจํ , ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ๋ฑ ํญ ๋์ ๋ถ์ผ๋ฅผ ๋ค๋ฃจ๋ AWS ์๋น์ค๋ ๊ทธ ์๋ง 200๊ฐ๊ฐ ๋๋๋ฐ์.
๊ฐ์ ๋ถ์ผ ์์ ์๋ ์๋น์ค๋ผ ํ๋๋ผ๋ ์ฐ์์๊ฐ ์กฐ๊ธ์ฉ ๋ฌ๋ผ์ ๊ฐ ์ฐจ์ด๋ฅผ ๋ช ํํ ์์์ผ ์ฌ๋ฐ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋์ ์ด๋ฒ ๊ธ์์๋ AWS์ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ ๋ถ์ผ์ ์๋น์ค๋ฅผ ๋น๊ตํด๋ณด๋ ค ํฉ๋๋ค.
AWS์ ๋ํ์ ์ธ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น ์๋น์ค์๋ 3๊ฐ์ง๊ฐ ์์ต๋๋ค. ๋ฐ๋ก CloudWatch, CloudTrail, X-Ray์ธ๋ฐ์.
์๋น์ค์ ์ด๋ฆ๋ง์ผ๋ก๋ ๊ฐ๊ธฐ ์ด๋ค ์ญํ ์ ํ๋์ง, ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์๊ธฐ ์ด๋ ต์ต๋๋ค.
๊ทธ๋์ ์ด๋ฒ ๊ธ์์ ์ด 3๊ฐ์ AWS ์๋น์ค๋ฅผ ๊ฐ์ด ์ดํด๋ณด๊ณ ๋น๊ตํด๋ณด๋๋ก ํ๋ ค๋๋ฐ์. CloudWatch ๋จผ์ ์์๋ณผ๊ฒ์.
CloudWatch๋ ์ธ์ ์ฌ์ฉํ๋์?
CloudWatch๋ AWS ํด๋ผ์ฐ๋ ์์์ ๋์ํ๋ ๋ฆฌ์์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ(๋๋ ํผํฌ๋จผ์ค)์ ๋ชจ๋ํฐ๋งํ ์ ์๋ ์๋น์ค์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ CloudWatch๋ฅผ ์ฌ์ฉํ๋ฉด...
- AWS ๋ฆฌ์์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ธฐ ๋๋ฌธ์ ๋ฆฌ์์ค์ ํผํฌ๋จผ์ค๋ฅผ ์๊ฐํ ๊ฐ๋ฅํ๊ณ ,
- ๋ฆฌ์์ค ํผํฌ๋จผ์ค์ ๋ณํ์ ์๋์ ๋ณด๋ด๊ฑฐ๋ ์๋์ผ๋ก ๋์ํ๋๋ก ์ค์ ๊ฐ๋ฅํ๋ฉฐ,
- ์ด์ ์ค์ ๋ฌธ์ ๊ฐ ์๋์ง ํตํฉ์ ์ผ๋ก ํ์ธ ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋๋ฐ์.
CloudWatch๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฆฌ์์ค์ ๋ฉํธ๋ฆญ(์๊ฐ์ด ์ง๋๋ฉด์ ๋ณํํ๋ ๋ฐ์ดํฐ, ์: ๋ฆฌ์์ค ์ฌ์ฉ๋ฅ )์ด ์ ์ฅ๋๋ ๊ณต๊ฐ์ธ๋ฐ์.
EC2(AWS์ ์ปดํจํ ์๋น์ค)์ ๊ฐ์ AWS ๋ฆฌ์์ค๊ฐ CloudWatch์ ๋ฉํธ๋ฆญ์ ์ ์ฅํ๋ฉด, ์ฌ์ฉ์๋ ์์ ๊ฐ์ด ๋ฆฌ์์ค์ ํผํฌ๋จผ์ค๋ฅผ ๋ฉํธ๋ฆญ์ ํต๊ณ๋ก ํ์ธํ ์ ์๋ ๊ฒ์ ๋๋ค. ์ฐธ๊ณ ๋ก ์ฌ์ฉ์๊ฐ ์ปค์คํ ํ๊ฒ ์ ์ํ ๋ฉํธ๋ฆญ๋ CloudWatch์์ ์ ์ฅ ๋ฐ ํต๊ณ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ CloudWatch์ ์๋ ๊ธฐ๋ฅ์ ์ด๋ ๊ฒ ์ ์ฅ๋ ๋ฉํธ๋ฆญ์ด ์ฌ์ฉ์ ์ ์๋ ํน์ ์กฐ๊ฑด์ ๋ถํฉํ๋ฉด ๋ฏธ๋ฆฌ ์ง์ ํ ํ๋(๋ฆฌ์์ค ์ค์ง, ์์, ์ ๊ฑฐ ๋ฑ)์ ์ทจํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
์ ๋ฆฌํ์๋ฉด, ๋ฉํธ๋ฆญ์ ์ ์ฅํ๊ณ ํต๊ณ๋ฅผ ์ ๊ณตํ๋ CloudWatch๋ ์๋์ ๊ฐ์ด ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง: ์ฑ๋ฅ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ๊ณ ์๋์ ์ค์ ํด์ AWS ๋ฆฌ์์ค์ ์ฑ๋ฅ ์ด์๋ฅผ ํ์ ํ๊ณ ํด๊ฒฐ
- ๋ฌธ์ ์์ธ ๋ถ์: ๋ฌธ์ ๋ฐ์ ์ ๋ฉํธ๋ฆญ์ ๋ถ์ํด์ ์์ธ ํ์ ๋ฐ ํด๊ฒฐ
- AWS ๋ฆฌ์์ค ์ฌ์ฉ๋ ์ต์ ํ: ๋ฏธ๋ฆฌ ์ ์ํ ํน์ AWS ๋ฆฌ์์ค์ ๋ฉํธ๋ฆญ(์: EC2์ CPU ๋๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋)์ด ์๊ณ๊ฐ์ ๋๋ฌ ์ ์ํํด์ผ ํ ์กฐ์น๋ฅผ ์ค์ ํด์ ๋ฆฌ์์ค ์ฌ์ฉ๋์ ์๋์ผ๋ก ์กฐ์ ํ๊ณ ๋น์ฉ ์ ์ฝ
CloudTrail๋ ๋น์ทํ ๊ฑฐ ์๋๊ฐ์?
CloudTrail์ ์ด๋ฆ์๋ Cloud๊ฐ ํฌํจ๋๊ธฐ ๋๋ฌธ์ CloudWatch์ ์ ์ฌํ ์๋น์ค๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฌ์ด๋ฐ์. ์ฌ์ค ๋ ์๋น์ค์ ์ฑ๊ฒฉ์ ๊ฝค ๋ค๋ฆ ๋๋ค.
CloudWatch๊ฐ ๋ฆฌ์์ค์ ๋ฉํธ๋ฆญ์ ์ง์ผ๋ณธ๋ค๋ฉด(Watch), CloudTrail์ AWS ์ฌ์ฉ์๊ฐ ์ด๋ค ํ์๋ฅผ ํ์๋์ง ์ถ์ (Trail)ํ๋ ์๋น์ค์ด๊ธฐ ๋๋ฌธ์ธ๋ฐ์.
AWS ๊ณ์ ์ ๋ํด ๊ท์ ์ค์ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ฑฐ๋ ๊ฐ์ฌ(Audit)๋ฅผ ์ํํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์๋น์ค๊ฐ ๋ฐ๋ก, CloudTrail์ ๋๋ค.
์ฌ์ฉ์๋ AWS ๊ณ์ ์ด ์๋ก ์์ฑ๋๋ ์์ ๋ถํฐ CloudTrail์ ์ ๊ทผ ๊ฐ๋ฅํ๋ฐ์. ํนํ CloudTrail์ Event History ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ ์ง๋ 90์ผ ๋์ AWS ๊ณ์ ์์ ๋ฐ์ํ ์ด๋ฒคํธ(AWS ๋ฆฌ์์ค ์์ฑ, ์์ ์ ๊ฑฐ ๋ฑ)์ ๊ธฐ๋ก์ ํ์ธ, ๊ฒ์, ๋ค์ด๋ก๋ํ ์ ์๊ฒ ๋ฉ๋๋ค.
Event History์์๋ ์ง๋ 90์ผ ๋์ ๋ฐ์ํ AWS ๊ณ์ ์ ์ด๋ฒคํธ๋ง ์กฐํ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ์ด๋ฐ ์ด๋ฒคํธ๋ฅผ ๋ ์ค๋ ๋ณด๊ดํ๋ ค๋ฉด CloudTrail Lake๋ผ๋ ๊ธฐ๋ฅ์ผ๋ก ์ด๋ฒคํธ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์์ฑํด์ผ ํ๋๋ฐ์.
CloudTrail Lake๋ฅผ ์ฌ์ฉ ์ ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ง๋ง, ํด๋น ๊ธฐ๋ฅ์์๋ ์๋์ ๊ฐ์ด ๋์๋ณด๋๋ฅผ ํตํด AWS ๊ณ์ ์ ์ด๋ฒคํธ ํธ๋ ๋๋ฅผ ์๊ฐํํ ์ ์์ต๋๋ค.
๊ทธ๋์ CloudTrail์ ์๋์ ๊ฐ์ด ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
- ๊ท์ ์ค์ ๋ฐ ๊ฐ์ฌ: ๊ท์ ์ค์ ์ฌ๋ถ ์ฆ๋ช ์ ํ์ํ ์ ๋ณด๋ฅผ CloudTrail ๋ก๊ทธ๋ก ํ์ฉ
- ๋ณด์: AWS ๊ณ์ ์ ์ด์ฉ์ ๋ฐ API ํ์๋ฅผ ๊ธฐ๋กํ์ฌ ๋ณด์์ฑ ์ ๊ณ
- ์ด์: AWS ๊ณ์ ์์ ๋ฐ์ํ ์ด๋ฒคํธ๋ฅผ ๊ฒ์ํ์ฌ ์ด์ ๋ถ์์ ํ์ฉ ๊ฐ๋ฅ. CloudTrail Lake ๋์๋ณด๋์์ AWS ๊ณ์ ์ด๋ฒคํธ์ ํธ๋ ๋๋ฅผ ์๊ฐํ
์ด๋ ๊ฒ CloudTrail๊ณผ CloudWatch๋ ์ฑ๊ฒฉ๊ณผ ์ฐ์์๊ฐ ์๋ก ๋ค๋ฆ ๋๋ค.
๊ทธ๋ผ X-Ray๋์?
AWS X-Ray๋ ํ๋ก๋์ ๋จ๊ณ ๋๋ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถ์ํ๊ณ ๋๋ฒ๊น ๊ฐ๋ฅํ ์๋น์ค์ธ๋ฐ์.
X-Ray๋ฅผ ์ฌ์ฉํ๋ฉด...
- ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฌ์ฉ์์ ์์ฒญ(Request)์ ์ฝ๊ฒ ์ถ์ฒ ๊ฐ๋ฅํ๊ณ ,
- ๋ณ๋ชฉ ํ์๊ณผ ๋์ ๋๊ธฐ ์๊ฐ(Latency)์ ํ์ ํ ์ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ํฅ์์ ํ์ฉ ๊ฐ๋ฅํ๋ฉฐ,
- ์ค์๊ฐ์ผ๋ก ์๋ฒ๋ฆฌ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฒ๊น ํจ์ผ๋ก์จ ํด๋ผ์ฐ๋ ์ฌ์ฉ ๋น์ฉ ์ ์ฝ๊ณผ ์ฑ๋ฅ ํฅ์์ด ๊ฐ๋ฅํ๋ค๋ ์ด์ ์ด ์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ด๋ผ๊ณ ํ๋ ์์์ ์ดํด๋ดค๋ CloudWatch๊ฐ ๋ ์ค๋ฅด๋๋ฐ์.
CloudWatch๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ AWS ๋ฆฌ์์ค์ ๋ํ ๋ฉํธ๋ฆญ์ ์์งํ๊ณ ํต๊ณ ๋ฐ ์กฐ์น๊ฐ ๊ฐ๋ฅํ๋ค๊ณ ํ์์ฃ .
ํ์ง๋ง X-Ray๋ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฑฐ์น๋ ์ฌ์ฉ์์ ์์ฒญ์ ๊ธฐ๋ฐ์ผ๋ก ๋๋ฒ๊น ์ ํ๊ฑฐ๋, ์ฑ๋ฅ ๋ถ์์ด ๊ฐ๋ฅํ๋ค๋ ์ ์์ CloudWatch์ ๋ค๋ฆ ๋๋ค.
X-Ray์ ๋์ ๋ฐฉ์์ ์ดํด๋ณด๋ฉด ๊ทธ ์ฐจ์ด์ ์ ์ข ๋ ๋ช ํํ๊ฒ ์ ์ ์๋๋ฐ์.
๋จผ์ X-Ray๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ X-Ray SDK๋ฅผ ํตํด X-Ray ๋ฐ๋ชฌ์ผ๋ก ์ธ๊ทธ๋จผํธ ์ ๋ณด๋ฅผ ์ ์กํฉ๋๋ค.
X-Ray SDK(Software Development Kit)๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ์์ฒด ์์ ์์ด๋ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๊ธฐ๋กํ๊ณ AWS์ X-Ray๋ก ์ ๋ฌํ ์ ์๋๋ก ๊ณ ์๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋๊ตฌ ๋ชจ์์ธ๋ฐ์. C#, Java, Go, Node.js, Python, Ruby๋ก ๊ฐ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ X-Ray SDK๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์ฐธ๊ณ ๋ก, AWS Lambda, AWS Elastic Beanstalk ๋ฑ์์๋ X-Ray์ ๋ฐ๋ก ์ฐ๋ ๊ฐ๋ฅํ ์ค์ ์ด ์กด์ฌํฉ๋๋ค.
์ธ๊ทธ๋จผํธ(Segment)๋ X-Ray์์ ์ฌ์ฉ๋๋ ๊ฐ๋ ์ผ๋ก, ํธ์คํธ ์ ๋ณด์ ์์ฒญ ๋ฐ ์๋ต, ์์ ๋ด์ฉ, ๋ฐ์ ์ด์์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ธด ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ๋งํฉ๋๋ค.
X-Ray ๋ฐ๋ชฌ์ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ X-Ray ์ฝ์๋ก ๋ค์ ์ ์กํ๋๋ฐ์. ์ดํ ์ฌ์ฉ์๋ ์น ๋ธ๋ผ์ฐ์ ์์์ X-Ray ์ฝ์๋ก ์ ๊ทผํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ถ์ ๋ฐ ๋๋ฒ๊น ์ด ๊ฐ๋ฅํ๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
X-Ray ์ฝ์์์๋ ์๋์ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ฒญ์ ๋ฐ๊ณ ๋ณด๋ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ AWS ๋ฆฌ์์ค๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋ณด์ฌ์ค ๋ฟ๋ง ์๋๋ผ, ๊ฐ ์์ฒญ๊ณผ ์๋ต์ ๊ฑธ๋ฆฌ๋ ์๊ฐ๋ ํจ๊ป ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ณ๋ชฉ ํ์์ด๋ ๋ ์ดํด์๋ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
์ง๊ธ๊น์ง ์ดํด๋ณธ X-Ray์ ์ฐ์์๋ฅผ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ๋ถ์ ๋ฐ ๋๋ฒ๊น : ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก๋ถํฐ ์์ฑ๋๋ ํธ๋ ์ด์ค ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ๋ถ์ ๋ฐ ๋๋ฒ๊น
- ์๋น์ค ๋งต ์์ฑ: ์์์ ์ดํด๋ณธ X-Ray ์ฝ์๊ณผ ๊ฐ์ด AWS ๋ฆฌ์์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์, ๊ตฌํํ ํด๋ผ์ฐ๋ ์ํคํ ์ฒ์ ๋ณ๋ชฉ ํ์์ ์๋์ง ๊ทธ๋ฆผ์ผ๋ก ํ์ํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ฐ์ง๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ํ์ธ ๋ฐ ํฅ์์ ํ์ฉ
๐ญ๋ง์น๋ฉฐ...
์ด๋ ๊ฒ AWS์ ๋ก๊น ๋ฐ ๋ชจ๋ํฐ๋ง ์๋น์ค์ธ CloudWatch, CloudTrail, X-Ray์ ๋ํด ์ดํด๋ดค๋๋ฐ์.
์ ๋ ์์ ๊ฐ์ด ์ ๋ฆฌํ๊ณ ๋น๊ตํ๋ฉด์ ๊ฐ๊ฐ์ ์ฑ๊ฒฉ๊ณผ ์ฐจ์ด์ ์ด ๋์ฑ ๋ช ํํ๊ฒ ์๋ฟ์๊ณ , ์์ผ๋ก ๋ ์ ์ฌ์ ์์ ํ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
์ฌ๋ฌ๋ถ๋ค์๊ฒ๋ ์ด๋ฒ ๊ธ์ด AWS์์ ๋ก๊น ๋ฐ ๋ชจ๋ํฐ๋ง ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ ๋ ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค.
ํน์ ์ด๋ฒ ๋ด์ฉ ๊ด๋ จํด์ ๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ์๋ ๋ฉ์ผ๋ฆฌ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.๐
๊ทธ๋ผ, ๋ค์ ์์์ง์์ ๋ณด๋ค ์์ฐจ๊ณ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ผ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
์ค๋๋ ๊ฐ์ฌํฉ๋๋ค, ๊ตฌ๋ ์๋ ๐บ
๐References
- https://docs.aws.amazon.com/whitepapers/latest/aws-overview/introduction.html
- https://aws.amazon.com/cloudwatch/?nc1=h_ls
- https://aws.amazon.com/cloudtrail/?nc1=h_ls
- https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html
- https://jibinary.tistory.com/334
- https://medium.com/@himanshkumar/a-brief-introduction-to-aws-x-ray-1437ac23f549
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์