๐Ÿ›ณ DevOps

๋‹จ๊ณ„๋ณ„๋กœ ์„ฑ์žฅํ•˜์ž!
FEP (Front End Processor) ๋ณดํ†ต ๊ธˆ์œต ๊ด€๋ จ์œผ๋กœ, ์ „์šฉ์„ ์„ ํ†ตํ•ด ๋Œ€์™ธ์  ๊ฑฐ๋ž˜ ๋˜๋Š” B2B ์—ฐ๊ณ„์— ์‚ฌ์šฉ๋˜๋Š” ํ†ต์‹  ๋ฐฉ์‹์œผ๋กœ, Client์™€ BE Server ์‚ฌ์ด์—์„œ ํ†ต์‹  ์ œ์–ด ๋ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹œ์Šคํ…œ์„ ์˜๋ฏธํ•œ๋‹ค. ์•”ํ˜ธํ™”๋˜์–ด FEP ์„œ๋ฒ„๋กœ ์ „๋‹ฌ๋œ ์™ธ๋ถ€ ์ „๋ฌธ์„ ๋‚ด๋ถ€ ์ „๋ฌธ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‚ด๋ถ€ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์—ญํ• ๋„ ํ•œ๋‹ค. EX) ๊ธˆ๊ฒฐ์›์— ๊ณ ๊ฐ์˜ ๊ณ„์ขŒ๋ฅผ ์กฐํšŒ or ์ฆ๊ถŒ์‚ฌ์—์„œ ๊ฑฐ๋ž˜์†Œ์˜ ์ฃผ๋ฌธ ์‹œ์Šคํ…œ์— ์ ‘๊ทผ FEP๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ์ „๋ฌธ์ด ๋‚ด๋ถ€ ์ „๋ฌธ์œผ๋กœ ๋ณ€ํ™˜๋˜๋ฉด ์ฝ”์–ด ์‹œ์Šคํ…œ์ด๋‚˜ ๋ฐฐ์น˜ ์‹œ์Šคํ…œ ๊ฐ™์€ ๊ณณ์— ์ „๋‹ฌ๋˜์–ด ํ™œ์šฉ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์œ„์— ์ž‘์„ฑํ–ˆ๋“ฏ์ด ๊ฐœ์ธ์ด ์ ๋ฆฝ๋ฐ›์€ ํฌ์ธํŠธ๋ฅผ ํ˜„๊ธˆ์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, FEP์™€ ๊ธˆ๊ฒฐ์›์ด ์—ฐ๊ฒฐ๋œ ์ „์šฉ์„ ์„ ํ†ตํ•ด ๊ณ„์ขŒ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
365์ผ 24์‹œ๊ฐ„ ์žฅ์•  ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ•˜์ง€ ์•Š์œผ๋ฉด ์ฆ‰๊ฐ์ ์ธ ๋Œ€์‘์ด ๋ถˆ๊ฐ€ํ•  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. ์–ด๋–ค ์‹์œผ๋กœ ๊ธฐ์—…์—์„œ๋Š” ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”์ง€ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ AWS CloudWatch์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ์ „์ฒด์ ์ธ ํ๋ฆ„์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. CloudWatch์—์„œ ์•Œ๋žŒ ๋ฐœ์ƒ -> SNS ํ‘ธ์‹œ ์„œ๋น„์Šค ํ˜ธ์ถœ -> Lambda ํ•จ์ˆ˜ ํŠธ๋ฆฌ๊ฑฐ -> Slack ์ฑ„๋„๋กœ ์•Œ๋žŒ์ „์†ก 1. Slack ์šฐ์„  Slack์—์„œ ์ƒˆ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์„ค์ •์—์„œ web hook์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. web hook์ด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ์˜ˆ์‹œ ๋ช…๋ น์–ด๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰์‹œํ‚จ๋‹ค. OK๊ฐ€ ๋œจ๋ฉด ์ •์ƒ์ ์œผ๋กœ ์„ค์ •๋œ ๊ฒƒ์ด๋‹ค. OK๊ฐ€ ๋œจ๋ฉด ๊ทธ ๋’ค์— slack channel์— ๋“ค์–ด๊ฐ€๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ w..
๋กœ๊ทธ ์ˆ˜์ง‘์˜ ๋ฐฐ๊ฒฝ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Pod๊ฐ€ ์ •์ƒ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด Pod๋ฅผ killํ•˜๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์šด์˜์ž ์ž…์žฅ์—์„œ๋Š” Pod๊ฐ€ ์ฃฝ์€ ์›์ธ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, Pod๊ฐ€ ์ฃฝ์œผ๋ฉด ๋กœ๊ทธ๊นŒ์ง€ ๊ฐ™์ด ์—†์–ด์ง„๋‹ค. (Pod ์•ˆ์˜ ์ž„์‹œ ๋ณผ๋ฅจ์ด ์‚ญ์ œ๋จ) ๋”ฐ๋ผ์„œ, ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ด์•„์žˆ์„ ๋•Œ ๋กœ๊ทธ ์ €์žฅ์†Œ์— ๋กœ๊ทธ๋ฅผ ๋‚จ๊ฒจ๋†“์•„์•ผ ํ•œ๋‹ค. EFK Stack ๊ตฌ์ถ•์„ ํ†ตํ•œ ๋กœ๊ทธ ์ˆ˜์ง‘ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ๋Š” ๋กœ๊ทธ ์ˆ˜์ง‘์„ ์œ„ํ•ด EFK Stack์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค. ( EFK = ElasticSearch + Fluentd + Kibana ) ElasticSearch: ๋Œ€์šฉ๋Ÿ‰ ๋กœ๊ทธ ์ €์žฅ์†Œ๋กœ ์ด์šฉ Fluentd: ์ปจํ…Œ์ด๋„ˆ์˜ ์ŠคํŠธ๋ฆผ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋กœ๊ทธ ์ˆ˜์ง‘๊ธฐ. (๋ชจ๋“  ๋…ธ๋“œ๋งˆ๋‹ค ๋™์ผํ•˜๊ฒŒ ๋ฐฐํฌํ•ด์•ผํ•จ) Kibana: ๋กœ๊ทธ ์‹œ๊ฐํ™” ํˆด (El..
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
1. yum update ๋ฐ aws ๋ฒ„์ „ ํ™•์ธ ec2-user ๊ณ„์ •์œผ๋กœ ์ ‘์†(sudo su - ec2-user) sudo yum update -y ๋ช…๋ น์„ ํ†ตํ•ด yum์„ ์—…๋ฐ์ดํŠธ ํ•ด์ค€๋‹ค. aws --version์„ ํ†ตํ•ด 1.18 ๋ฒ„์ „ ์ด์ƒ์ธ์ง€ ํ™•์ธํ•œ๋‹ค. => ๊ทธ๋ž˜์•ผ kubectl ๋ช…๋ น์ด ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ 2. EC2 Role ์ƒ์„ฑ ํ›„ Bastion EC2(NAT ์ธ์Šคํ„ด์Šค)์— ๋ถ€์—ฌ Role ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด ์ด์ œ EC2์— ๋“ค์–ด๊ฐ€์„œ IAM ์—ญํ• ์„ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 3. Kubectl ์„ค์น˜ https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/install-kubectl.html kubectl ์„ค์น˜ ๋˜๋Š” ์—…๋ฐ์ดํŠธ - Amazon EKS Amazon EKS ํด๋Ÿฌ์Šคํ„ฐ ์ œ์–ด ์˜..
VPC (Virtual Private Cloud) ๋…๋ฆฝ์ ์ธ ๊ฐ€์ƒ์˜ ๋„คํŠธ์›Œํฌ ๊ณต๊ฐ„์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์„ค์ •์— ๋”ฐ๋ผ ์ž์œ ๋กญ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Space ์„œ๋ธŒ๋„ท ์ƒ์„ฑ, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”, ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด ๋“ฑ์„ ๊ตฌ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑ ๋ฐ ์ œ์–ด ์‚ฌ์šฉ๊ฐ€๋Šฅ ์‚ฌ์„ค IP ๋Œ€์—ญ (RFC 1918) 10.0.0.0 ~ 10.255.255.255 172.16.0.0 ~ 172.32.255.255 192.168.0.0 ~ 192.168.255.255 ์„œ๋ธŒ๋„ท ์„œ๋ธŒ๋„ท์€ VPC์•ˆ์— ๋” ๋งŽ์€ ๋„คํŠธ์›Œํฌ ๋ง์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋” ์ž˜๊ฒŒ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด๋‹ค. ๋ผ์šฐํŠธ๋ž€? ๋„คํŠธ์›Œํฌ ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋Š” ๋ผ์šฐํ„ฐ๋กœ ํ–ฅํ•˜๊ฒŒ ๋˜๊ณ  ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์ด๋ผ๋Š” ์ด์ •ํ‘œ๋ฅผ ๋”ฐ๋ผ ์ด๋™ํ•˜๋ฉฐ ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋œ๋‹ค. VPC์—๋Š” ๊ธฐ๋ณธ Route Table์ด ์กด์žฌํ•˜..
DevPoong
'๐Ÿ›ณ DevOps' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก