4์›” 20์ผ(๋ชฉ) 10~17์‹œ ํ•œ๊ตญ์ปจํผ๋Ÿฐ์Šค์„ผํ„ฐ

 

โœ… ๊ต์œก ๋ชฉํ‘œ

  • NHN Cloud ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ 2-tier ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธํ”„๋ผ ํ™•์žฅ ๊ธฐ์ˆ ์ธ Auto Scale ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์šด์˜ ๊ด€๋ฆฌ์— ํ•„์š”ํ•œ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

โœ… ๊ต์œก ๋ชฉ์ฐจ

  1. ์†Œ๊ทœ๋ชจ ์›น์‚ฌ์ดํŠธ ๊ตฌ์ถ•ํ•˜๊ธฐ
  2. ์ธ์Šคํ„ด์Šค ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฐ์‹œ ์„ค์ •ํ•˜๊ธฐ
  3. ์กฐ๊ฑด์— ๋งž์ถฐ ์„œ๋ฒ„ Scale In/Out ํ•ด๋ณด๊ธฐ

1. ์†Œ๊ทœ๋ชจ ์›น์‚ฌ์ดํŠธ ๊ตฌ์ถ•ํ•˜๊ธฐ

NHN Cloud์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•ด๋ณด์•˜๋‹ค!

 

 

Lab1. ๊ธฐ๋ณธ ์ธํ”„๋ผ ์„œ๋น„์Šค ํ™œ์„ฑํ™”

  1. ๋ฆฌ์ „๋ถ€ํ„ฐ ํ™•์ธํ•˜๊ณ  ์„ค์ •ํ•˜๊ธฐ! ์ž˜๋ชป๋œ ๋ฆฌ์ „์— ๋งŒ๋“ค์—ˆ์„ ๊ฒฝ์šฐ, ๋‹ค ๋ถ€์ˆ˜๊ณ  ๋‹ค์‹œ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•จ..
  2. ๊ธฐ๋ณธ ์ธํ”„๋ผ ์„œ๋น„์Šค ํ™œ์„ฑํ™”ํ•˜๊ธฐ

 

Lab2. 2๊ฐœ์˜ VPC ์„ค์ • / ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑ ํ›„ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์—ฐ๊ฒฐ

๋จผ์ €, ์‚ฌ์„ค๋ง์„ 2๊ฐœ ์ƒ์„ฑํ•œ๋‹ค.

  • ์„œ๋น„์Šค์šฉ : ์›น ์„œ๋ฒ„๊ฐ€ ๋Œ์•„๊ฐˆ Service VPC
  • ๊ด€๋ฆฌ์šฉ : Private Subnet์— DB ์„œ๋ฒ„๊ฐ€ ๋Œ์•„๊ฐˆ mgmt VPC (Default VPC๋ฅผ ์ด๊ฑธ๋กœ ๋ณ€๊ฒฝ)

 

์‚ฌ์„ค๋ง์€ ์ธํ„ฐ๋„ท์ด ์—ฐ๊ฒฐ์ด ์•ˆ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด(๋ฌธ๊ณผ ๊ฐ™์€ ์—ญํ• )๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค.

 

๋‹จ๊ณ„๋Š”..

1. ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด ์ƒ์„ฑ

2. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”(Service VPC)์— ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด ์—ฐ๊ฒฐ (๊ฒฝ๋กœ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ)

 

๋””ํดํŠธ๋กœ ์ƒ์„ฑ๋œ Default VPC์˜ ๊ฒฝ์šฐ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์ž๋™์œผ๋กœ ํ• ๋‹น๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์—์„œ Service VPC์—๋งŒ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

Lab3. Management vpc - public subnet ์ƒ์„ฑ / Service vpc - private subnet, public subnet ์ƒ์„ฑ

  • mgmt vpc : Default Network์˜ ๊ฒฝ์šฐ, public์šฉ subnet ๋˜ํ•œ ์ž๋™ ์ƒ์„ฑ → Default Network๋ฅผ ์„œ๋ธŒ๋„ท ๋ณ€๊ฒฝ์œผ๋กœ ์ด๋ฆ„๋งŒ ๋ณ€๊ฒฝ
  • service vpc : private, public์šฉ subnet ์ด 2๊ฐœ ์ƒ์„ฑ
  • ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ฒŒ ๋„ค์ด๋ฐ์ด ๋Œ€์ถฉ ํ•˜์ง€ ๋ง๊ณ  ์˜๋ฏธ๋ฅผ ๋‹ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

 

Lab4. mgmt vpc์˜ ์„œ๋ธŒ๋„ท์— mgmt ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ ์‹œ, ๋„คํŠธ์›Œํฌ ์„œ๋ธŒ๋„ท์— public-subnet-mgmt๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค.

 

Lab5. ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ • (local → mgmt-server)

๊ณต์ธ IP๋ฅผ ํ†ตํ•ด mgmt-server์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ mgmt-sg์— ๋‚ด IP๋กœ ๋ณด์•ˆ ๊ทœ์น™์„ ์ƒ์„ฑํ•œ๋‹ค.

 

Lab6. Service VPC์˜ Private Subnet์— MariaDB ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ

๐Ÿ’ก RDS for DB vs DB Instance

 

โœ”๏ธ RDS for DB

  • ๋ณต์žกํ•œ ์„ค์ • ์—†์ด ๊ณ ๊ฐ€์šฉ์„ฑ, ์ž๋™ ๋ฐฑ์—…, ๋ชจ๋‹ˆํ„ฐ๋ง์„ UI ์ƒ์—์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • PaaSํ˜• ์ƒํ’ˆ
  • ์„ค์น˜ ๊ฐ„ํŽธ์„ฑ : ํฌ๋ง ์„œ๋ฒ„ ์‚ฌ์–‘ ์„ ํƒ > ํฌ๋ง DB ๋ฒ„์ „ ์„ ํƒ > ์ƒ์„ฑ

1. ๊ณ ๊ฐ€์šฉ์„ฑ(HA)

  • Master์™€ Candidate Master ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‚˜๋ž€ํžˆ ์ƒ์„ฑ๋จ
  • Master๊ฐ€ ์ •์ง€๋˜๋ฉด Candidate๊ฐ€ ์ž๋™์œผ๋กœ Master๋กœ ์Šน๊ฒฉ๋˜์–ด ์žฅ์• ๋ฅผ ๋ง‰์Œ

2. ์ž๋™ํ™”๋œ ๋ฐฑ์—…

  • ์ง€์ •๋œ ์‹œ๊ฐ„ ๋ฒ”์œ„ ์•ˆ์— ์ž๋™์œผ๋กœ ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋จ
  • Object Storage์— ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๊ณ , ์›ํ•˜๋Š” ์‹œ์ ์œผ๋กœ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Œ

3. ์†์‰ฌ์šด ์„ค์ • ๋ณ€๊ฒฝ

  • ์›น ์ฝ˜์†”์„ ํ†ตํ•ด ์„ค์ •์„ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ

4. ๋ชจ๋‹ˆํ„ฐ๋ง

  • ํ•˜๋“œ์›จ์–ด ๋ฐ DB ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์Œ
  • ์Šฌ๋กœ์šฐ ์ฟผ๋ฆฌ ๊ฐ™์€ ๋ถ€๋ถ„๋„ ๊ฐ™์ด ์ œ๊ณต
  • ์ž„๊ณ„์น˜ ์„ค์ • ์‹œ ์•Œ๋ฆผ ์„ค์ •๋„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

 

โœ”๏ธ DB Instance

  • OS ์œ„์— DB๋ฅผ ์„ค์น˜ํ•œ ๋‹จ์ˆœ DB ์„ค์น˜ํ˜•, ๋‚˜๋จธ์ง€๋Š” ๊ณ ๊ฐ์ด ๊ด€๋ฆฌ
  • IaaSํ˜• ์ƒํ’ˆ

 

 

Lab7. Service VPC์˜ Public ์„œ๋ธŒ๋„ท์— ์›น์„œ๋ฒ„๋ฅผ ์„ค์น˜

 


  • mgmt vpc์™€ service vpc๊ฐ€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ์ณ์•ผ ํ•  ์„ค์ • ๋‹จ๊ณ„!

mgmt vpc ↔ Sevice vpc

0. local์— ์žˆ๋Š” ํŽจํ‚ค๋ฅผ mgmt-server๋กœ ์ „์†ก

1. ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด ์ƒ์„ฑ

2. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๋‘๊ฐœ ๋‹ค ์žก์•„์ฃผ๊ธฐ

3. ๋ณด์•ˆ๊ทธ๋ฃน mgmt์—์„œ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ๋งŒ ์—ด์–ด์ฃผ๋ฉด ๋จ

 

์•„๋ž˜์—์„œ ๋”ฐ๋ผํ•ด๋ณด์ž!

 

Lab8. Local ํ™˜๊ฒฝ์—์„œ mgmt-server๋กœ ํ‚คํŽ˜์–ด ์ „์†ก

ssh -i key.pem centos@[mgmt-server public ip]

 

Lab9. mgmt VPC ↔ Service VPC๋ฅผ ํ”ผ์–ด๋ง ์ž‘์—… / ๊ฐ๊ฐ์˜ VPC ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์„ค์ •

1. ๋„คํŠธ์›Œํฌ - ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด - ์ƒ์„ฑ

๋‘ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์‚ฌ์„ค ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

 

2. ๋„คํŠธ์›Œํฌ - ๋ผ์šฐํŒ… - ๋ผ์šฐํŠธ ์„ ํƒ - ๋ผ์šฐํŠธ ์ƒ์„ฑ

mgmt๋Š” service๋„ ๊ฐ€์•ผ ๋˜๊ณ , db์—๋„ ๊ฐ€์•ผํ•œ๋‹ค.

๋‘ ๊ตฐ๋ฐ์— ๊ฐ€์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ”์œ„๋ฅผ vpc ์ž์ฒด๋กœ ์—ด์–ด์ค„ ๊ฒƒ!

 

mgmt vpc ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์—์„œ 10์  ๋Œ€์—ญ์ด ๋“ค์–ด์˜ฌ ๊ฑฐ๋‹ˆ๊นŒ 10์  ๋Œ€์—ญ์ด ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํƒ€์•ผ ํ•˜๋ฏ€๋กœ

๋Œ€์ƒ CIDR์— 10.0.0.0/16์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.

service vpc์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์€ 192.168 ๋Œ€์—ญ์ด ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํƒ€์•ผ ํ•œ๋‹ค.

Lab10. ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ • ( mgmt → web, mydb )

 

Lab11. web1 → DB ์„œ๋ฒ„ ์ ‘์†

๋จผ์ € ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค.

 

  • ํฌํŠธ : 3306

db ์„œ๋ฒ„ ๋ณด์•ˆ๊ทธ๋ฃน(db-sg)์— 3306 ํฌํŠธ๋ฅผ ์—ด์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

  • IP : web-sg

web ์„œ๋ฒ„๊ฐ€ ํ˜„์žฌ๋Š” 1๊ฐœ์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด,

db ์„œ๋ฒ„ ๋ณด์•ˆ๊ทธ๋ฃน(db-sg)์— web ์„œ๋ฒ„ ๋ณด์•ˆ๊ทธ๋ฃน(web-sg) ์ž์ฒด๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด

๋‚˜์ค‘์— ์ถ”๊ฐ€๋˜๋Š” web ์„œ๋ฒ„๋ฅผ db-sg์— ๋งค๋ฒˆ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์•„๋„ ๋˜์–ด ํŽธ๋ฆฌํ•˜๋‹ค.

 

๐Ÿค” db-sg ๋ณด์•ˆ๊ทธ๋ฃน์— web-sg ๋ณด์•ˆ๊ทธ๋ฃน ์ž์ฒด๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค๋Š” ๊ฑด?

web-sg๋ฅผ ๋ณด์•ˆ๊ทธ๋ฃน์œผ๋กœ ์“ฐ๋Š” ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ db-sg์—์„œ ํ—ˆ์šฉํ•ด๋‹ฌ๋ผ๋Š” ์˜๋ฏธ์™€ ๊ฐ™๋‹ค.

 

๋‘๋‘ฅ

web ์„œ๋ฒ„์—์„œ db ์„œ๋ฒ„์— ์ ‘์†ํ–ˆ๋‹ค!

 

Lab12. ์›น์„œ๋ฒ„์˜ /www/var/htmlprocess_create.php ํŒŒ์ผ ์ˆ˜์ •

db ์„œ๋ฒ„์˜ ip๋กœ ๋ณ€๊ฒฝ

 

Lab13. ์ƒ์„ฑํ•œ ์›น์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ์ƒ์„ฑ

  • ์ด๋ฏธ์ง€ : ํ˜„์žฌ๊นŒ์ง€ ๊ตฌ์„ฑํ•œ ์ธ์Šคํ„ด์Šค ์ƒํƒœ๋ฅผ ์Šค๋ƒ…์ƒท

ํ™˜๊ฒฝ๊ตฌ์„ฑ์„ ๋‹ค ํ•˜๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์ธ์Šคํ„ด์Šค๋ฅผ ์ •์ง€ ํ›„ ์ด๋ฏธ์ง€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ๊ณ ํ•œ๋‹ค.

 

1. Compute - ์ธ์Šคํ„ด์Šค

2. ์ƒ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ์ธ์Šคํ„ด์Šค ์ค‘์ง€

3. ์ด๋ฏธ์ง€ ์ƒ์„ฑ

 

4. Compute - Image์—์„œ ํ™•์ธ

 

Lab14. LB ์ƒ์„ฑ ๋ฐ ์„ค์ •

๐Ÿ’ก Load Balancer

ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ์‹œ์ผœ์ฃผ๋Š” ๊ธฐ๋Šฅ

 

โœ”๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์˜ํ•ด ๋™์ž‘ ๋ฐฉ์‹์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฆ„

1. Round Robin (๋ผ์šด๋“œ ๋กœ๋นˆ)

  • ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์„ ํƒํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ์‹

2. Least Connections (์ตœ์†Œ ์—ฐ๊ฒฐ ์šฐ์„  ์„ ํƒ)

  • TCP ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋ฉฐ ๋ถ€ํ•˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์ธ์Šคํ„ด์Šค๋กœ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹
  • ํŠน์ • ์ธ์Šคํ„ด์Šค์— ๋ถ€ํ•˜๊ฐ€ ์ง‘์ค‘๋˜๋Š” ์ƒํ™ฉ ๋ฐฉ์ง€

3. Source IP(์›๋ณธ IP ๊ธฐ์ค€ ์„ ํƒ)

  • ์ฒญ์ž์˜ ์›๋ณธ IP๋ฅผ ํ•ด์‹ฑํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒ
  • ํ•œ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๊ธฐ์–ตํ•ด ๋งค๋ฒˆ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ ์ž ํ•  ๋•Œ ์œ ์šฉ

 

โœ”๏ธ ์ง€์› ํ”„๋กœํ† ์ฝœ

1. TCP : TCP(4๊ณ„์ธต) LB ์ œ๊ณต

2. HTTP / HTTPS : OSI 7๊ณ„์ธต LB ์ œ๊ณต

3. TERMINATED_HTTPS : HTTPS์—์„œ SSL Termination ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋ผ LB ์ œ๊ณต

 

โœ”๏ธ ๋ฆฌ์Šค๋„ˆ

  • LB ์•ž ๋‹จ์— ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์žˆ์Œ
  • ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋“ฃ๊ณ ์ž ํ•˜๋Š” ํฌํŠธ์™€ ํ”„๋กœํ† ์ฝœ ํฌํŠธ๋งŒ ํ—ˆ์šฉํ•ด์คŒ
  • HTTP/80๋ฅผ ๋“ฃ๊ณ ์ž ํ•˜๋Š”๋ฐ, HTTPS๊ฐ€ ๋“ค์–ด์˜ค๋ ค๊ณ  ํ•˜๋ฉด ๋ชป ๋“ค์–ด๊ฐ
  • ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋“ฃ๊ณ  ์žˆ๋Š” ์ •๋ณด๋งŒ ํ†ต์‹  ๊ฐ€๋Šฅ
  • ํ•„์š”ํ•œ ์ˆ˜๋งŒํผ ๋ฆฌ์Šค๋„ˆ ์ƒ์„ฑํ•˜๋ฉด ๋จ
  • ๋ณด์•ˆ๊ทธ๋ฃน์— LB ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ํ†ต์‹ ์ด ์•ˆ ๋˜๊ณ  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๋„ ์•ˆ ๋จ

 

โœ”๏ธ IP์ ‘๊ทผ์ œ์–ด๊ธฐ๋Šฅ

๐Ÿค” LB๋กœ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด? ๋„ˆ๋ฌด ๋Š๋ ค์ง€๋ฉด?

IP๋ฅผ ํ™•์ธํ•ด์„œ ์ด์Šˆ๊ฐ€ ์žˆ์„ ๋•Œ LB์— IP์ ‘๊ทผ์ œ์–ด๊ธฐ๋Šฅ์„ ์“ฐ๋ฉด ์ข‹์Œ

 

 

LB ์ƒ์„ฑ

1. network - Load Balancer

2. health check๋ฅผ ํ•ด์„œ ์ธ์Šคํ„ด์Šค ์ƒํƒœ๋ฅผ ํ™•์ธํ•จ -> 80 ํฌํŠธ, url ์ฒดํฌ(์›น์„œ๋ฒ„ ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์— ํŠน์ • ํŒŒ์ผ์ด ์žˆ๋Š”์ง€)

3. ๋„คํŠธ์›Œํฌ ์„ค์ • (web1)

 

 

 

Lab15. web-img ์ด๋ฏธ์ง€๋กœ web2 ์„œ๋ฒ„ ์ƒ์„ฑ / ์ข…๋ฃŒ๋œ web1 ์„œ๋ฒ„ ์‹œ์ž‘

1. ์ •์ง€ํ–ˆ๋˜ web1 ์„œ๋ฒ„ ์ผœ๊ธฐ

2. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ์ด๋ฏธ์ง€ ์‚ฌ์šฉ

 

Lab16. LB์— Floating IP๋ฅผ ํ• ๋‹น

LB์— ๊ณต์ธ IP ํ• ๋‹น

 

Lab17. LB์— web-2 ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€

  • LB - ์ธ์Šคํ„ด์Šค ์—ฐ๊ฒฐ ์ถ”๊ฐ€

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— ๋ผ์šด๋“œ ๋กœ๋นˆํ•  ์ด 2๋Œ€์˜ ์ธ์Šคํ„ด์Šค(web1, web2) ์ถ”๊ฐ€ ์™„๋ฃŒ!

 

  • web-sg ๋ณด์•ˆ ๊ทธ๋ฃน์— ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์‚ฌ์„ค IP ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ

์•ˆ ๊ทธ๋Ÿฌ๋ฉด 80ํฌํŠธ๋กœ ๋ชจ๋“  IP๊ฐ€ ๋‹ค ๋“ค์–ด์˜ค๊ฒŒ ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค.

 

30์ดˆ์— ํ•œ๋ฒˆ์”ฉ ์ถ”๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๋กœ ์•ˆ ๋  ์ˆ˜๋„ ์žˆ์Œ ๊ธฐ๋‹ค๋ ค์ค˜์•ผ ํ•œ๋‹ค.

๋Œ€์‹  LB๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋ฉด ๋ฐ”๋กœ ์ ์šฉ๋œ๋‹ค.

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ - ๋ฆฌ์Šค๋„ˆ - ๋ฆฌ์Šค๋„ˆ ๋ณ€๊ฒฝ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ๋ง๊ณ  ๋ˆ„๋ฅด๋ฉด ์žฌ์‹œ์ž‘ ๋œ๋‹ค.

 

๊ฒฐ๊ณผ

 

์ƒˆ๋กœ ๊ณ ์นจ ํ•  ๋•Œ๋งˆ๋‹ค ๋‘ ์ธ์Šคํ„ด์Šค๋กœ ๋ผ์šด๋“œ ๋กœ๋นˆ ๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค!

 

Lab18. ์›น์‚ฌ์ดํŠธ ํ™•์ธ

1. ๋ฐ์ดํ„ฐ ์ž…๋ ฅ

 

2. DB ์„œ๋ฒ„ ์ ‘์† ํ›„ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ํ™•์ธ!

์›น์—์„œ ์ž…๋ ฅํ•œ ์ •๋ณด๊ฐ€ DB์— ์ž˜ ๋“ค์–ด๊ฐ€์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

+ ์ถ”ํ›„ ๋„๋ฉ”์ธ์„ ๋‹ฌ๊ณ  ์‹ถ๋‹ค๋ฉด LB์— ๋„๋ฉ”์ธ ์„ค์ •๋งŒ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

+ ์›๋ณธ ์„œ๋ฒ„์— ์ ๊ฒ€์ด ํ•„์š”ํ•˜๋ฉด mgmt-server๋ฅผ ํ†ตํ•ด ์‚ฌ์„ค๋ง์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ์ ๊ฒ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋ชจ๋‹ˆํ„ฐ๋ง

๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•ด์ฃผ๋Š” ํ†ต๊ณ„ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.


2. ์ธ์Šคํ„ด์Šค ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฐ์‹œ ์„ค์ •ํ•˜๊ธฐ

๋ฌด๋ฃŒ๋‹ˆ๊นŒ ๊ผญ ์ด์šฉํ•ด๋ณด๊ธฐ

1๋ถ„ ๋‹จ์œ„ ์ˆ˜์ง‘ํ•ด์ฃผ๊ณ , ์ด์Šˆ๊ฐ€ ์žˆ์œผ๋ฉด ์—ฐ๋ฝ์„ ์ค€๋‹ค.

 

  • Compute - System Monitoring

 

๋‹จ๊ณ„๋Š”..

1. ๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ

2. ์•Œ๋ฆผ

2-1 ์•Œ๋ฆผ ๋ฐ›์„ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน ์ƒ์„ฑ

 

2-2 ์–ด๋–ค ๊ทธ๋ฃน์— ์–ด๋–ค ์•Œ๋ฆผ ์ค„ ์ง€ ์ƒ์„ฑ

 

2-3 ๊ฐ์‹œ ์„ค์ •

 

2-4 ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

 

2-5 ์‚ฌ์šฉ์ž ๊ทธ๋ฃน ์„ค์ •

 

 

ํ…Œ์ŠคํŠธ

  • systemctl stop httpd๋กœ ๊ฐ•์ œ๋กœ httpd ์ข…๋ฃŒํ•ด๋ณด๊ธฐ

 

SMS์™€ ์ด๋ฉ”์ผ๋กœ ๋ฐ”๋กœ ์—ฐ๋ฝ์ด ์˜จ๋‹ค!

 

 

์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง - ์ด๋ฒคํŠธ ํ˜„ํ™ฉ ํŽ˜์ด์ง€์—์„œ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


3. ์กฐ๊ฑด์— ๋งž์ถฐ ์„œ๋ฒ„๋ฅผ Scale In/Out ํ•ด๋ณด๊ธฐ

ํ•„์š”์— ๋”ฐ๋ผ ์„œ๋ฒ„๋ฅผ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ถ•์†Œํ•˜๋Š” ๊ฒƒ

 

๐Ÿ’ก Scaling

์ธ์Šคํ„ด์Šค ๋˜๋Š” ์ปดํ“จํŒ… ํŒŒ์›Œ๋ฅผ ํ™•์žฅํ•˜๋Š” ๊ฒƒ

 

  • Scale Up : ์žฅ๋น„์˜ ์„ค๋น„ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๊ฒƒ

 

  • Scale Out : ์žฅ๋น„์˜ ์„ค๋น„ ๊ทœ๋ชจ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ

Auto Scaling Group

  • Scale In/Out์„ ์ž๋™์œผ๋กœ ํ•ด์ฃผ๋Š” ๊ฒƒ
  • ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€๋กœ ์ƒ์„ฑ ๋˜๋Š” ์‚ญ์ œํ•˜๋Š” ์กฐ๊ฑด๊ณผ, ์กฐ๊ฑด์ด ๋งŒ์กฑํ•˜๋Š” ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•  ํ–‰๋™์„ ์ •์˜ํ•œ ๊ฒƒ
  • ์ตœ์†Œ, ์ตœ๋Œ€, ๊ตฌ๋™ ์ธ์Šคํ„ด์Šค๋Š” ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน์—์„œ ๋ฐ˜๋“œ์‹œ ์ •์˜ํ•ด์•ผ ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜
    • ์ตœ์†Œ, ์ตœ๋Œ€ : ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋Š” limit ์ˆ˜
    • ๊ตฌ๋™ : ๋Œ์•„๊ฐˆ ์ธ์Šคํ„ด์Šค
  • ์ž„๊ณ„์น˜ ๋˜๋Š” ๊ฐ์ถ• ์ •์ฑ…์„ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด๋†“์œผ๋ฉด ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋‹ค๊ฐ€ ์กฐ๊ฑด์ด ๋งŒ์กฑํ•˜๋ฉด Scale In/Out ํ•จ
  • ๋ชจ๋‹ˆํ„ฐ๋ง์€ ์•„๋ž˜ ํ•ญ๋ชฉ ์ค‘์— ์›ํ•˜๋Š” ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๋ฉด ๋จ

  • ์–ด๋–ค ๊ฐ’์„ ๋ณด๊ณ  ์›€์ง์ผ๊นŒ? Auto Scaling Group ์•ˆ์— ์žˆ๋Š” ์ธ์Šคํ„ด์Šค์˜ ํ‰๊ท ๊ฐ’์œผ๋กœ ์›€์ง์ž„
  • Instance Template์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Œ
    • ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ ์š”์†Œ ์ •๋ณด๋ฅผ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด ๋ณด๊ด€ํ•˜๋Š” ์„œ๋น„์Šค

 

์„ค์ •

1. ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ ์„ค์ •

์ŠคํŽ™์€ ํ•œ ๋ฒˆ ์„ค์ •ํ•˜๋ฉด ๋‚˜์ค‘์— ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

 

2. Compute - Auto Scale

2-1 ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ธ์Šคํ„ด์Šค ์„ค์ •

2-2 ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน ์„ค์ •

์ฆ์„ค ์ •์ฑ… - ์žฌ์‚ฌ์šฉ ๋Œ€๊ธฐ ์‹œ๊ฐ„ → ์ฟจํƒ€์ž„ : ํ•œ๋ฒˆ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚˜๋ฉด ์ฟจํƒ€์ž„ ๋™์•ˆ์€ ์กฐ๊ฑด์ด ๋งŒ์กฑํ•ด๋„ ์˜คํ†  ์Šค์ผ€์ผ๋ง์„ ํ•˜์ง€ ์•Š์Œ

 

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ž‘ ์—ฐ๋™ํ•ด์„œ ์ž๋™์œผ๋กœ LB ๋ฐ‘์œผ๋กœ ๋“ค์–ด๊ฐ€๋„๋ก ํ•œ๋‹ค.

 

์„ค์ • ๊ฒฐ๊ณผ

  • ์˜คํ†  ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน ์ƒ์„ฑ

 

  • ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ + ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ -> ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

 

  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์ธ์Šคํ„ด์Šค์— ์˜คํ†  ์Šค์ผ€์ผ๋ง ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€๋จ

 

3๋Œ€์—์„œ ์›€์ง์ด๋‹ค๊ฐ€ 4๋Œ€๊ฐ€ ๋๋‹ค๊ฐ€ 3๋Œ€๊ฐ€ ๋๋‹ค๊ฐ€ ๊ทธ๋Ÿฐ ๋ฐฉ์‹์ด๋‹ค.

 

โš ๏ธ ์˜คํ†  ์Šค์ผ€์ผ๋ง์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ธ์Šคํ„ด์Šค๋Š” ์ฝ˜์†”์—์„œ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ค‘์ง€ํ•  ์ˆ˜ ์—†์Œ

 

 

๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋ฐฉ์‹

  • ๋ฆฌ๋ˆ…์Šค ๋„๊ตฌ Stress๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ์ง„ํ–‰
  • web-auto์—์„œ ํ•ด์•ผ ๋จ
  • stress -c 1 --timeout 240
  • ์ธ์Šคํ„ด์Šค > web-auto > ๋ชจ๋‹ˆํ„ฐ๋ง > ์ „์ฒด ํŒ์—…์œผ๋กœ ๋ณด๊ธฐ
  • ์˜คํ†  ์Šค์ผ€์ผ > web-auto > ํ†ต๊ณ„ > ํ‰๊ท  ๊ฐ’ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ

 

๊ฒฐ๊ณผ

1. ์ธ์Šคํ„ด์Šค 1๋Œ€๊ฐ€ ์ถ”๊ฐ€๋จ

 

2. ์˜คํ†  ์Šค์ผ€์ผ ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์—๋„ ์ถ”๊ฐ€๋จ

 

3. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์—๋„ 2๋Œ€ ์ถ”๊ฐ€๋จ

 

 

4. ๋‚˜์ค‘์— ์ถ•์†Œ๋  ๋•Œ๋Š” ๋จผ์ € ๋งŒ๋“ค์–ด์ง„ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ญ์ œ๋จ

 

 

๋ชจ๋“  ๋กœ๊ทธ๋Š” Cloud Trail์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ

์˜คํ†  ์Šค์ผ€์ผ์€ SYSTEM์ด ํ•ด์ค€๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

++ ๋ฆฌ์†Œ์Šค ๋ฐ˜๋‚ฉ

๋‹ค ์ผ์œผ๋ฉด ์žŠ์ง€ ๋ง๊ณ  ๊ผญ ๋ฆฌ์†Œ์Šค ๋ฐ˜๋‚ฉํ•˜๊ธฐ

  1. ์ธ์Šคํ„ด์Šค ์‚ญ์ œ
  2. ์„œ๋น„์Šค ๋น„ํ™œ์„ฑํ™”
  3. ์กฐ์ง ์‚ญ์ œ

 

NHN Cloud ์ „๋ฐ˜์ ์ธ ๊ธฐ๋Šฅ์„ ์•Œ์ฐจ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ์œ ์ตํ•œ ์‹œ๊ฐ„์ด์—ˆ๋‹ค.

์ด๋ฏธ์ง€, ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ, VPC, ๋ผ์šฐํ„ฐ, ํ”ผ์–ด๋ง, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, ๋ชจ๋‹ˆํ„ฐ๋ง, ์Šค์ผ€์ผ๋ง๊นŒ์ง€-!

ํŠนํžˆ ์ฒ˜์Œ์— ๊ตฌ์„ฑํ•  ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋จผ์ € ๋ณด์—ฌ์ฃผ์‹œ๊ณ  ์ง์ ‘ ์‹ค์Šต์„ ํ†ตํ•ด์„œ ๋”ฐ๋ผ๊ฐ€๋‹ˆ๊นŒ ๋” ์ดํ•ด๊ฐ€ ์ž˜ ๋œ ๊ฒƒ ๊ฐ™๋‹ค.

์—”ํด ์ตœ๊ณ ๋‹น

4์›” 19์ผ (์ˆ˜) 10~17์‹œ | ํ•œ๊ตญ์ปจํผ๋Ÿฐ์Šค์„ผํ„ฐ

 

 

โ˜€๏ธ ์˜ค์ „ ์„ธ์…˜

NHN Cloud ๊ต์œก๊ณผ์ •

  • VPC, ์„œ๋ธŒ๋„ท, ๋ผ์šฐํŒ… ๋“ฑ
  • VPC ๋‚ด ์ƒํ’ˆ -> NAT ๊ฒŒ์ดํŠธ์›จ์ด, VPC ํ”ผ์–ด๋ง, ๋‚ด๋ถ€ ํ†ต์‹ ์„ ์œ„ํ•œ ์„œ๋น„์Šค ๊ฒŒ์ดํŠธ์›จ์ด
  • ์˜ฌํ•ด ์ž๊ฒฉ์ฆ๋„ ๋‚˜์˜จ๋‹ค!
  • ๊ณ ๋งค์ถœ ์ƒํ’ˆ : Nofi API
  • ๋‹ค์–‘ํ•œ ๊ต์œก์ด ์žˆ์Œ!

 

ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…๊ณผ NHN Cloud ์†Œ๊ฐœ

ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์ด์ 

  • ์‹ ์†ํ•œ ์ธํ”„๋ผ ๋„์ž…
  • ์œ ์—ฐํ•œ ์ธํ”„๋ผ ๊ด€๋ฆฌ
  • ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ํŠธ๋ž˜ํ”ฝ ํญ์ฃผ ๋Œ€์‘ -> ์˜คํ†  ์Šค์ผ€์ผ
  • ์ด์šฉํ•œ ๋งŒํผ ์ง€๋ถˆํ•˜๋Š” ๋น„์šฉ

 

Cloud Deployment Models

Public

Private

Hybrid

private <-> public, on-premise <-> public

Multi

  • CSP ์ด์ค‘ํ™” ๊ตฌ์„ฑ
  • ๋‘๊ฐœ ์ด์ƒ์˜ ์™ธ๋ถ€ ํด๋ผ์šฐ๋“œ๋ฅผ ํ™œ์šฉ
  • ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๊ณต๊ธ‰์—…์ฒด์—์„œ ์„ ํƒ๊ฐ€๋Šฅ

 

Cloud Computing Type

IaaS

  • OS๋ถ€ํ„ฐ ์„ค์ •
  • Instance, Storage, VPC

 

PaaS

  • OS ํ™˜๊ฒฝ๊ตฌ์„ฑ์ด ๋ฏธ๋ฆฌ ๋˜์–ด ์žˆ์Œ
  • RDS for DB, NKS(NHN Kubernetes Service)

 

SaaS

  • ์™„์ „ํžˆ ๋‹ค ๋งŒ๋“ค์–ด์ง„ ์†”๋ฃจ์…˜
  • ์›น์ด๋‚˜ ์•ฑ์—์„œ ๋ฐ”๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค
  • Dooray! Contact Center

 

Cloud Computing ์ฑ…์ž„๊ณต์œ ๋ชจ๋ธ

  • ๊ณ ๊ฐ(์‚ฌ์šฉ์ž)์™€ CSP๊ฐ€ ํ•จ๊ป˜ ๋ณด์•ˆ๊ณผ ์šด์˜์„ ๊ณต๋™์œผ๋กœ ์ฑ…์ž„์„ ๋ถ„๋ฐฐํ•˜๋Š” ์ฑ…์ž„๊ณต์œ  ๋ชจ๋ธ์„ ์ œ๊ณต
  • ๋ชจ๋“  CSP๊ฐ€ ๋™์ผํ•˜๊ฒŒ ์–˜๊ธฐํ•˜๋Š” ๋ถ€๋ถ„
  • CSP : ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค, IDC ์šด์˜

 

NHN Cloud ์„œ๋น„์Šค๋Š”?

  • Open Stack ๊ธฐ๋ฐ˜์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ
  • ๋ชจ๋“  ๋ถ€๋ถ„์„ ์˜คํ”ˆ ์Šคํƒ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ฒƒ์€ ์•„๋‹˜!
  • ๋ณด์•ˆ์ด ์ทจ์•ฝํ–ˆ๋˜ ๋„คํŠธ์›Œํฌ๋Š” ๋‚ด๋ถ€์—์„œ ๋‚ด๋ถ€ ๊ธฐ์ˆ ์„ ์ด์šฉํ•ด์„œ ๊ฐœ๋ฐœ
  • ๋ฆฌ์ „๋ณ„๋กœ ์ œ๊ณต ๋ฆฌ์†Œ์Šค๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ ๊ผญ ํ™•์ธํ•˜๊ณ  ๋ฆฌ์ „ ์„ ํƒํ•˜๊ธฐ
  • ๋””ํดํŠธ ๋ฆฌ์†Œ์Šค ์ •์ฑ…์„ ๊ผญ ํ™•์ธํ•˜๊ธฐ
  • ์ฟผํ„ฐ ์ œํ•œ๋„ ๊ผญ ๋ฏธ๋ฆฌ ์ƒ๊ฐํ•˜๊ธฐ

 

 

NHN Cloud ์š”๊ธˆ์ฒด๊ณ„

  • ์š”๊ธˆ ํƒญ์—์„œ ๊ณผ๊ธˆ ์ •์ฑ… ํ™•์ธ
  • ๋„คํŠธ์›Œํฌ ์š”๊ธˆ, OS์„ ๊ผญ ์ž˜ ๊ณ ๋ คํ•ด์•ผ ํ•จ
  • ์ธ์Šคํ„ด์Šค ์„œ๋ฒ„ ์ •์ง€๋„ ์ •์ง€์š”๊ธˆ์ด ์žˆ์Œ
  • ์š”๊ธˆ๊ณ„์‚ฐ๊ธฐ๋กœ ๊ณ„์‚ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์Œ
  • ์˜ˆ์‚ฐ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์žˆ์Œ : ์˜ˆ์‚ฐ์„ ์„ค์ •ํ•˜๊ณ , ์ดˆ๊ณผ ์‹œ ์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ (๋ฌด๋ฃŒ!)
  • ๊ฐ€์ž… ์ถ•ํ•˜ ํฌ๋ ˆ๋”ง์€ 1๋…„ ์œ ํšจ๊ธฐ๊ฐ„, ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ ํ•œ์ •๋˜์–ด ์žˆ์Œ

 

์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ด์šฉํ•˜์—ฌ NHN Cloud ์ดํ•ดํ•˜๊ธฐ

1. NHN Cloud Console์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๋ฆฌ์ „๋ถ€ํ„ฐ ์„ ํƒํ•˜๊ณ  ์‹œ์ž‘ํ•ด์•ผ ํ•จ!

 

  • ์—”ํด์˜ ์ฐจ๋ณ„์ !
  • ์กฐ์ง/ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

 

  • ์กฐ์ง
  • NHN Cloud ์„œ๋น„์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ทธ๋ฃน
  • ํšŒ์‚ฌ ๋‹จ์œ„๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ์กฐ์ง์„ ์‚ฌ์—… ๋‹จ์œ„๋กœ ๊ตฌ์„ฑ
  • ๋น„์šฉ ์ธก๋ฉด์—์„œ๋„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

 

  • ํ”„๋กœ์ ํŠธ
  • ์กฐ์ง๋‹น 5๊ฐœ๊นŒ์ง€ ์ƒ์„ฑ ๊ฐ€๋Šฅ
  • ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์€ ํ”„๋กœ์ ํŠธ ๋‹จ์œ„๋กœ ๊ณ„์‚ฐ๋จ
  • ๋…๋ฆฝ์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์‚ฌ์šฉ

 

  • ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ๊ณผ๊ธˆ๋˜๊ณ  ์กฐ์ง๋ณ„๋กœ ์ฒญ๊ตฌ๋œ ๊ธˆ์•ก์ด ๋‚˜์˜ด

 

1. ์กฐ์ง ์ƒ์„ฑ

2. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

3. ์„œ๋น„์Šค ํ™œ์„ฑํ™” (Cloud Trail, Resource watcher๋Š” ์ž๋™ ์ƒ์„ฑ๋จ)

4. ์กฐ์ง - ์˜ˆ์‚ฐ ๊ด€๋ฆฌ - ์˜ˆ์‚ฐ ์ถ”๊ฐ€

5. ๋ฉค๋ฒ„ ๊ด€๋ฆฌ

NHN Cloud ํšŒ์› 

์ด๋ฉ”์ผ์ด ์•„์ด๋””

 

IAM ๋ฉค๋ฒ„

  • ์กฐ์ง์˜ ์˜ค๋„ˆ๋‚˜ ์–ด๋“œ๋ฏผ์ด ์กฐ์ง ๋‚ด ์œ ์ผํ•œ ID๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋“ฑ๋ก
  • ์†Œ์œ ์ž๊ฐ€ IAM ๋ฉค๋ฒ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
  • ์กฐ์ง ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•จ
  • ์กฐ์ง ์„œ๋น„์Šค ์ด์šฉ
  • ์‹ ์ž…์‚ฌ์›์ด๋‚˜ ์™ธ์ฃผ ๊ฐœ๋ฐœ์ž๋ผ๋“ ์ง€..
  • ID์— ์„ค์ •๋œ ์ด๋ฉ”์ผ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋“ฑ๋กํ•˜๋ฉด ๋จ
  • ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„์˜ ๋„๋ฉ”์ธ์„ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•จ

 

๊ถŒํ•œ

์กฐ์ง ๊ถŒํ•œ๊ณผ ํ”„๋กœ์ ํŠธ ๊ถŒํ•œ

์กฐ์ง ๊ถŒํ•œ๊ณผ ํ”„๋กœ์ ํŠธ ๊ถŒํ•œ์€ ๊ณ„์ธต ๊ด€๊ณ„๊ฐ€ ์•„๋‹˜!

 

์กฐ์ง ๊ถŒํ•œ

  • NHN Cloud ํšŒ์›
    • ์˜ค๋„ˆ, ์–ด๋“œ๋ฏผ, ๋ฉค๋ฒ„, ๋นŒ๋ง๋ทฐ์–ด, ๋กœ๊ทธ๋ทฐ์–ด

 

  • IAM ํšŒ์›
    • ๋ฉค๋ฒ„ ๊ถŒํ•œ์€ ์„ ํƒ์ ์œผ๋กœ ๋ถ€์—ฌ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ
    • ์„œ๋น„์Šค ์‚ฌ์šฉ๋งŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ

 

 

ํ”„๋กœ์ ํŠธ ๊ถŒํ•œ

NHN Cloud ๊ณ„์ •์ด ์žˆ๋‹ค๋ฉด ์กฐ์ง์˜ ๋ฉค๋ฒ„๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ํ”„๋กœ์ ํŠธ ๋ฉค๋ฒ„๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ

IAM ๊ณ„์ •์€ ์กฐ์ง์— ๋จผ์ € ๋“ฑ๋ก์ด ๋ผ์•ผ ํ”„๋กœ์ ํŠธ ๋ฉค๋ฒ„๋กœ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Œ

 

ํ”„๋กœ์ ํŠธ/์„œ๋น„์Šค ์ด์šฉ๋ณ„๋กœ ๊ถŒํ•œ ๋”ฐ๋กœ ์ค„ ์ˆ˜ ์žˆ์Œ

VPC๋Š” Infrastructure ADMIN ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผ ํ•จ

IAM์—๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๊ถŒํ•œ์„ ์•ˆ ์ฃผ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ

 

๋ณด์•ˆ

์กฐ์ง ๊ด€๋ฆฌ - ๊ฑฐ๋ฒ„๋„Œ์Šค ์„ค์ • ๊ฐ€๋Šฅ

IP ACL์ด๋‚˜ IAM ๊ณ„์ • ๋กœ๊ทธ์ธ ๋ณด์•ˆ ์„ค์ • ๋“ฑ

 

2. Cloud ์„œ๋ฒ„ ์ƒ์„ฑํ•ด์„œ ์ ‘์†ํ•ด๋ณด๊ธฐ

IP

์‚ฌ์„คIP ๊ณต์ธIP

์‚ฌ์„คIP

ํšŒ์‚ฌ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋‚˜ ํ•™๊ต ๊ณต์šฉ ์ปดํ“จํ„ฐ ๋“ฑ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ ๊ฐ™์€ ์‚ฌ์„ค๋ง ์•ˆ์—์„œ๋Š” ์œ ์ผ, ๋‹ค๋ฅธ ์‚ฌ์„ค๋ง๋ผ๋ฆฌ๋Š” ์ค‘๋ณต ๊ฐ€๋Šฅ -> ์„œ๋กœ ๋‹ค๋ฅธ ์•„ํŒŒํŠธ๋ฉด ๋™๊ณผ ํ˜ธ์ˆ˜๋Š” ๊ฐ™์€ ๊ฒƒ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ

 

๊ณต์ธIP

์ „์„ธ๊ณ„์ ์œผ๋กœ ์œ ๋‹ˆํฌํ•จ -> ์ฃผ์†Œ

์ธํ„ฐ๋„ท์„ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ๊ณต์ธIP๊ฐ€ ์žˆ์–ด์•ผ ํ•จ

๋ผ์šฐํ„ฐ, ๊ณต์œ ๊ธฐ์— ๋ฌด์กฐ๊ฑด ๊ณต์ธIP๊ฐ€ ํ•˜๋‚˜ ํ• ๋‹น๋ผ ์žˆ์–ด์•ผ ์ธํ„ฐ๋„ท ํ†ต์‹ ์ด ๊ฐ€๋Šฅ

ํ•œ๊ตญ์€ KISA์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Œ

 

 

VPC(Virtual Private Cloud)

2019~

์ธ์Šคํ„ด์Šค๋‚˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋Š” ๊ฒฉ๋ฆฌ๋œ ๋„คํŠธ์›Œํฌ๊ฐ€ ํ•„์š”ํ•ด์„œ ๊ฐ€์ƒ์˜ "์‚ฌ์„ค" ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฐœ์ฒด

๊ฐ์ž ๊ณ„์ •์—์„œ ์›ํ•˜๋Š” ์‚ฌ์„ค ๋ง์„ ๋งŒ๋“ค๊ณ , ๊ฒฉ๋ฆฌ๋˜๊ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Œ

 

CIDR ๋ฐฉ์‹, ์„œ๋ธŒ๋„ท

 

VPC๋ฅผ ๋งŒ๋“ค๊ณ 

์šฉ๋„์— ๋งž์ถฐ์„œ ๋„คํŠธ์›Œํฌ ๊ณต๊ฐ„์„ ์„ธ๋ถ„ํ™” ํ•ด์•ผ ํ•จ -> ์„œ๋ธŒ๋„ท

์„œ๋ธŒ๋„ท์€ VPC ๋ฒ”์œ„ ๋‚ด์—์„œ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•จ

๊ธธ์ด๊ฐ€ ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์•„์•ผ ํ•จ

์„œ๋ธŒ๋„ท์ด ์ƒ์„ฑ๋˜๋ฉด VPC์— ํฌํ•จ๋œ ๊ธฐ๋ณธ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ๋จ

 

ํด๋ผ์šฐ๋“œ์—์„œ๋Š”

VPC๋ฅผ ๋งŒ๋“ค์ž๋งˆ์ž ๋กœ์ปฌ ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ๋ผ์šฐํŒ…์„ ์žก์•„์คŒ

 

๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”

 

์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด

์–‘๋ฐฉํ–ฅ ํ†ต์‹ (์•„์›ƒ๋ฐ”์šด๋“œ, ์ธ๋ฐ”์šด๋“œ ๋‘˜ ๋‹ค ๊ฐ€๋Šฅ)

์‚ฌ์„ค ๋„คํŠธ์›Œํฌ๊ฐ€ ์™ธ๋ถ€๋ž‘ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ VPC(์‚ฌ์„ค๋ง)๋ฅผ ์—ฌ๊ธฐ์— ์—ฐ๊ฒฐ

๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๋ฅผ ๋„ฃ์–ด์ค˜์•ผํ•จ

 

์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ

1. ๋ฆฌ์ „ ์„ ํƒ

2. VPC ์ƒ์„ฑ -> ๋ผ์šฐํŒ… ์ž๋™ ์ƒ์„ฑ -> ๋กœ์ปฌ ๊ฒŒ์ดํŠธ์›จ์ด ์ž๋™ ์ƒ์„ฑ

3. ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด ์ƒ์„ฑ ๋ฐ ๋ผ์šฐํŒ… ์—ฐ๊ฒฐ

์—ฐ๊ฒฐํ•ด์•ผ ์ธํ„ฐ๋„ท ํ†ต์‹ ์ด ๋จ

์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ผ์šฐํŒ…์—์„œ ์ƒ์„ฑํ•œ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผ ๋จ

4. subnet ์ƒ์„ฑ

๋ณดํ†ต DB๋‚˜ ์›น์„œ๋ฒ„ ๋“ฑ ์šฉ๋„๋ณ„๋กœ ์„œ๋ธŒ๋„ท์„ ์ƒ์„ฑ

๋„คํŠธ์›Œํฌ - ์„œ๋ธŒ๋„ท ์ƒ์„ฑ

 

Instance

๊ธฐ๋ณธ ์ œ๊ณต ์ด๋ฏธ์ง€ ๋ฐ ๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰

์ถ”๊ฐ€ ์Šคํ† ๋ฆฌ์ง€

์ธ์Šคํ„ด์Šค ํƒ€์ž… ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

๋ฆฌ์ „

๊ฐ€์šฉ์„ฑ ์˜์—ญ

 

ํ”Œ๋กœํŒ… IP(๊ณต์ธ IP)

์‚ฌ์„ค IP๋Š” ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”Œ๋กœํŒ… IP ์‚ฌ์šฉ

 

๋ณด์•ˆ ๊ทธ๋ฃน

๊ฐ€์ƒ์˜ ๋ฐฉํ™”๋ฒฝ ์—ญํ• 

๋ณด์•ˆ๊ทธ๋ฃน์„ ์—ด์–ด์•ผ ๋จ

๋‚ด๋ถ€ํ†ต์‹  ํ•  ๋•Œ๋„ ์—ด์–ด์ค˜์•ผ ํ•จ ๊ธฐ๋ณธ์ด all denied

์†ก์‹ ์€ ๋‹ค ์—ด์–ด์ฃผ๊ณ , ์ˆ˜์‹ ์€ ์–ด๋–ค ์›๊ฒฉ์ง€์—์„œ ๋“ค์–ด์˜ค๊ฒŒ ํ•  ์ง€๋งŒ ์กฐ์ ˆํ•˜๋ฉด ๋จ

CIDR/๋ณด์•ˆ๊ทธ๋ฃน/๋‚ดIP

 

Network ACL

VPC ์•ž ๋‹จ์—์„œ ์œ ์ž…๋˜๋Š” ๋„คํŠธ์›Œํฌ ํŒจํ‚ท ์ œ์–ด

NW ACL์—์„œ ํ—ˆ์šฉํ–ˆ๋”๋ผ๋„ ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ํ—ˆ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด ๋ง‰ํžˆ๊ฒŒ ๋จ

order ๋ฒˆํ˜ธ์— ๋”ฐ๋ผ์„œ ์ˆœ์„œ๋Œ€๋กœ ์ ์šฉ๋จ -> ์ฐจ๋‹จํ•˜๊ณ  ์‹ถ์€ IP๋ฅผ ๋จผ์ € ๋†“๊ณ , ํ—ˆ์šฉํ•ด์ฃผ๋ฉด ์ฐจ์ง‘ํ•ฉ ๊ฐ€๋Šฅ (๋ฐ˜๋Œ€๋กœ ํ•˜๋ฉด ์ฐจ๋‹จ์ด ์•ˆ๋จ!!!)

ACL์€ ๋ณ€๊ฒฝ์ด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— 10 ๋‹จ์œ„๋กœ ์ˆœ์„œ๋ฅผ ํ•ด์•ผ ์ค‘๊ฐ„์— ์ฑ„์›Œ๋†“์„ ์ˆ˜ ์žˆ์Œ

์„œ๋ธŒ๋„ท์ด ์•„๋‹˜

์„œ๋ธŒ๋„ท ๋‹จ์œ„๋กœ ACL ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹˜

 

์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๊ณผ์ •

1. ์ด๋ฏธ์ง€ ์„ ํƒ

2. ๊ฐ€์šฉ์„ฑ ์˜์—ญ ์„ ํƒ

3. ์ธ์Šคํ„ด์Šค ํƒ€์ž… ์„ ํƒ

4. ํ‚คํŽ˜์–ด ์„ ํƒ

5. ๋ธ”๋ก ์Šคํ„ฐ๋ฆฌ์ง€ ์„ค์ •

6. ๋„คํŠธ์›Œํฌ ์„ค์ •

7. ํ”Œ๋กœํŒ… IP ์„ค์ •

8. ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •

 

์ถ”๊ฐ€ ์„ค์ • ์˜์—ญ

1. ์ถ”๊ฐ€ ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€

2. ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ : ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ํ›„ ๋„คํŠธ์›Œํฌ ์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด, ์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์„ ์‹คํ–‰์‹œํ‚ด -> ๋กœ๊ทธ๋Š” /var/log/cloud-init-output.log์— ์žˆ์Œ

3. ์‚ญ์ œ๋ณดํ˜ธ

 

์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

 

 

ping ํ…Œ์ŠคํŠธ

Ping์€ TCP๊ฐ€ ์•„๋‹ˆ๋ผ ICMP๋ฅผ ์‚ฌ์šฉํ•จ

ALL ICMP๋กœ ํ•˜๊ณ  ์ˆ˜์‹  ํ—ˆ์šฉํ•ด์ฃผ๋ฉด ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ

 

 

์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ

case 1: ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋™์ผํ•œ ์‚ฌ์–‘์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ

์ธ์Šคํ„ด์Šค ์ด๋ฆ„, OS, ์ŠคํŽ™, ํ‚คํŽ˜์–ด, ๋ณด์•ˆ๊ทธ๋ฃน ๋“ฑ์„ ์‚ฌ์ „์— ์„ค์ •

 

case 2: auto scale์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน์„ ๋งŒ๋“ค ๋•Œ

 

์ด๋ฏธ์ง€

ํผ๋ธ”๋ฆญ

NHN Cloud์—์„œ ์ œ๊ณตํ•˜๋Š” ์ด๋ฏธ์ง€

 

์‚ฌ์šฉ์ž

ํผ๋ธ”๋ฆญ ์ด๋ฏธ์ง€๋ฅผ ํ† ๋Œ€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •ํ•œ ์ด๋ฏธ์ง€

 

๊ณต์œ 

์‚ฌ์šฉ์ž ์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ ๋˜๋Š” ๋‹ค๋ฅธ ๋ฆฌ์ „๊ณผ ๊ณต์œ ํ•˜๋„๋ก ์„ค์ •

 

์ƒ์„ฑ ๋ฐฉ๋ฒ• -> part2

 

3. VPC๋ณ„ ์‹œ๋‚˜๋ฆฌ์˜ค ๊ตฌ์„ฑํ•˜๊ธฐ

NAT ๊ฒŒ์ดํŠธ์›จ์ด

๋‹จ๋ฐฉํ–ฅ๋งŒ ๊ฐ€๋Šฅ(์•„์›ƒ ๋ฐ”์šด๋“œ๋งŒ ๊ฐ€๋Šฅ)

private subnet์— nat ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์—ฐ๊ฒฐํ•จ

ํ•ญ์ƒ ๊ณ ์ •๋œ ๊ณต์ธ IP

์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์ผ ๋•Œ ์†Œ์Šค IP๋ฅผ ๊ณ ์ •ํ•ด์•ผ ๋˜๊ฑฐ๋‚˜ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์— NAT ๊ฒŒ์ดํŠธ์›จ์ด ๋ถ™์ž„

 

#์‹ค์Šต

Public Subnet๊ณผ Private Subnet ์ƒ์„ฑํ•˜๊ณ  NAT Gateway ํ• ๋‹นํ•˜์—ฌ ํ†ต์‹  ์ฒดํฌํ•˜๊ธฐ

1. Private Subnet ์ƒ์„ฑ

 

2. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์ƒ์„ฑ private์€ ์ธํ„ฐ๋„ท์ด ๋˜์ง€ ์•Š๋„๋ก

VPC ์ƒ์„ฑ์‹œ ๊ธฐ๋ณธ ๋ผ์šฐํŒ…์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ, ๋ชจ๋“  ์„œ๋ธŒ๋„ท์€ ๋ณ„๋„ ์„ค์ •์ด ์—†์œผ๋ฉด ๊ธฐ๋ณธ ๋ผ์šฐํŒ…์œผ๋กœ ์„ค์ •๋จ

private-subnet์„ ์„œ๋ธŒ๋„ท์—์„œ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๋ณ€๊ฒฝ

 

3. Private Subnet์— ์„œ๋ฒ„ ์ƒ์„ฑ

์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ๋ถ™์ง€ ์•Š์€ ์„œ๋ธŒ๋„ท์€ ํ”Œ๋กœํŒ… IP ์„ค์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•จ

 

4. ์„œ๋ฒ„ ๋‚ด์—์„œ ์—…๋ฐ์ดํŠธ ์ง„ํ–‰

 

5. SCP๋ฅผ ์ด์šฉํ•˜์—ฌ pemkey ๋‹ค์šด๋กœ๋“œ

์™ธ๋ถ€์—์„œ 22๋ฒˆ์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ

ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ์žˆ๋Š” ์„œ๋ฒ„์™€ ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์— ์žˆ๋Š” ์„œ๋ฒ„๊ฐ€ ์‚ฌ์„ค ํ†ต์‹ ์„ ํ•ด์•ผํ•จ

key๋Š” ๋ฐ–์— ์žˆ์œผ๋‹ˆ๊นŒ ์—ด์‡ ๋ฅผ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ๋„ฃ์œผ๋ฉด ๋จ

SCP ์‚ฌ์šฉ

scp -i test1.pem test1.pem centos@125.6.45.216:~

private ์„œ๋ฒ„ ๋ณด์•ˆ๊ทธ๋ฃน์— ์ ‘์†ํ•˜๋ ค๋Š” public ์„œ๋ฒ„์˜ ์‚ฌ์„ค ip ๋„ฃ์–ด์•ผ ํ•จ

๋˜๋Š” ๋ณด์•ˆ๊ทธ๋ฃน ์ž์ฒด๋ฅผ ๋“ฑ๋ก - ํ•ด๋‹น ๋ณด์•ˆ๊ทธ๋ฃน์„ ์“ฐ๋Š” ์ธ์Šคํ„ด์Šค์˜ ์ ‘์†์€ ๋ชจ๋‘ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ๋œป

 

6. NAT Gateway ํ• ๋‹น

๊ณ ์ •๋œ ๊ณต์ธ IP๋ฅผ ํƒ€๊ณ  ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํ”Œ๋กœํŒ… IP๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์–ด์•ผ ํ•จ

nat gateway๋ฅผ ํƒ€๊ณ  ๋‚˜๊ฐ€๋ฉด ์ด ๊ณต์ธ IP๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒƒ

private ์„œ๋ฒ„์— ๋ผ์šฐํŒ… ์žก์•„์ค˜์•ผ ํ•จ

 

7. ์„œ๋ฒ„ ๋‚ด yum ์—…๋ฐ์ดํŠธ ์ง„ํ–‰

NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํƒ€๊ณ  ๋‚˜๊ฐ€๊ฒŒ ๋จ!

 

ํ”ผ์–ด๋ง

์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ VPC๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ฒƒ!

A <-> B <-> C ์—ฐ๊ฒฐ์—์„œ๋Š” A์™€ C์ฒ˜๋Ÿผ ๊ฑด๋„ˆ ๊ฑด๋„ˆ๋Š” ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๊ณ , ๋”ฐ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ์–ด์•ผ ํ•จ

 

ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด

์‹ค์Šต)

์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์‚ฌ์„ค๋ง ์ƒ์„ฑ -> ๋…ผ๋ฆฌ์ ์œผ๋กœ ์™„์ „ ๊ฒฉ๋ฆฌ๋œ ์‚ฌ์„ค๋ง์ž„ ํ†ต์‹  ๋ถˆ๊ฐ€์ž„ ์›๋ž˜

๋ผ์šฐํŒ…์— ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด ์—ฐ๊ฒฐ

์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ 192.168 ๋„คํŠธ์›Œํฌ๋กœ

 

ping test

์ž์‹ ์˜ ๋ณด์•ˆ๊ทธ๋ฃน์„ ๋„ฃ๋Š” ์ด์œ 

webserver์™€ vpc2-server ์„œ๋กœ ping ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ์œ„ํ•ด์„œ

์„œ๋กœ ์‚ฌ์„ค ํ†ต์‹ ์„ ํ—ˆ์šฉํ•ด์คŒ

ํ”Œ๋กœํŒ… IP ํ• ๋‹น

 

์„œ๋กœ ํ†ต์‹ ์ด ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ”ผ์–ด๋ง ์—ฐ๊ฒฐํ•ด์ค˜์•ผ ํ•จ

 

๋‘ ๊ฐœ์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์ž‘์—…

 

์ด ๋ฒ”์œ„์ธ ์• ๋“ค์€ ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํƒ€๋„๋ก ์ƒ์„ฑํ•œ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ๋„ฃ์–ด์คŒ

ํผ๋ธ”๋ฆญ๋งŒ ๋šซ์–ด์ค„๊ฑฐ๋‹ˆ๊นŒ

 

ํ†ต์‹ ์ด ๋œ๋‹ค..!!!

ํ”ผ์–ด๋ง ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํƒ€๊ณ  ํ†ต์‹ ์„ ํ•จ

 

 

์‹ค์Šต) ์„œ๋น„์Šค ๊ฒŒ์ดํŠธ์›จ์ด์™€ ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€ ์—ฐ๊ฒฐํ•ด ๋‚ด๋ถ€ ํ†ต์‹ ํ•ด๋ณด๊ธฐ

์„œ๋น„์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํƒ€๊ณ  ์‚ฌ์„ค ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ

์ธํ„ฐ๋„ท์ด ์•„๋‹ˆ๋ผ ๋‚ด๋ถ€ ์‚ฌ์„ค๋ง์„ ํ†ตํ•ด

public์œผ๋กœ ํ•ด์•ผ url์ด ๋‚˜์˜ด

์Šคํ† ๋ฆฌ์ง€ ์ €์žฅ ๊ณต๊ฐ„์˜ ๋‹จ์œ„ -> ์ปจํ…Œ์ด๋„ˆ

https://kr2-api-object-storage.nhncloudservice.com/v1/AUTH_e587438ab69747699bef427bb74e9ce9/obs/user_script_nhn%20for%20Web.txt

์ด ๋„๋ฉ”์ธ์€ ์ธํ„ฐ๋„ท์„ ํƒ€๊ณ  ๊ฐ€๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์„œ๋น„์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์„ค๋ง์„ ํ†ตํ•ด 

http://10.0.1.16/v1/AUTH_e587438ab69747699bef427bb74e9ce9/obs/user_script_nhn%20for%20Web.txt

์ฃผ์†Œ๋ฅผ ์‚ฌ์„ค IP๋กœ ๋ณ€๊ฒฝ

http๋กœ ํ•˜๊ณ  ์‚ฌ์„ค๋ง 80 ํ†ต์‹ 

obs์— ์ €์žฅํ•ด๋†“์€ ํŒŒ์ผ์„ ๋ฐ›์•˜๋‹ค!!

 

obs์— ์„œ๋น„์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ์‚ฌ์„ค๋ง ๋ถ™์—ฌ์„œ ์ฃผ์†Œ ๋ณ€๊ฒฝํ•˜๊ธฐ

 

ํ”ผ์–ด๋ง์„ ํ•ด๋†”์„œ 192.168.๋Œ€๋„ ๋จ

์•ˆ ๋˜๋Š”๊ฑฐ ๋ณด๊ณ  ์‹ถ์œผ๋ฉด ํ”ผ์–ด๋ง ๋นผ๋ฉด ๋จ

 

 

์‚ฌ์šฉํ•œ ๋ฆฌ์†Œ์Šค ๋ฐ˜๋‚ฉ

์ธ์Šคํ„ด์Šค ์‚ญ์ œ

ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ ์„œ๋น„์Šค ๋น„ํ™œ์„ฑํ™”

๊ฐœ๋ฐœํ•œ vue-django ํ”„๋กœ์ ํŠธ๋ฅผ ์‹ค์ œ ์šด์˜์„œ๋ฒ„์— ๋„์šฐ๋Š” ๊ณผ์ •์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค! 

 

๊ฐœ๋ฐœ์„œ๋ฒ„์—์„œ ๊ตฌ์ถ•ํ–ˆ๋˜ ๋ฐฉ๋ฒ•์ด ์šด์˜์„œ๋ฒ„์—์„œ ์ ์šฉํ•  ๋•Œ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ๋ถ€๋ถ„๋„ ์žˆ์—ˆ๊ณ , 

์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์žŠ์–ด ๋ฒ„๋ฆฌ์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•ด๋ด…๋‹ˆ๋‹ค ์Šคํƒ€ํŠธ..!

 

๐Ÿพ ๋‹จ๊ณ„

  1. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  2. ๋ณด์•ˆ๊ทœ์น™ ์ƒ์„ฑ
  3. DB ACL ํ—ˆ์šฉ ์š”์ฒญ
  4. ๋„์ปค ์„ค์น˜ - v23.0.3
  5. Jenkins ๋„์ปค ์„œ๋ฒ„ ๋„์šฐ๊ธฐ - v2.399
    1. Jenkins ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰
    2. Jenkins ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— DooD ๊ตฌ์„ฑํ•˜๊ธฐ
  6. ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ๊ตฌ์„ฑ
  7. ์›น ์„œ๋ฒ„ ๋„์šฐ๊ธฐ
    1. ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์›น ์„œ๋ฒ„ ๋„์šฐ๊ธฐ

 

1. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

๊ฐœ๋ฐœ์„œ๋ฒ„

ssh -i {pemํ‚ค} ubuntu@{ip}

  • OS : Ubuntu Server 20.04 LTS
  • ํƒ€์ž… : r2.c4m16 (4vCPU, 16GB)
  • ์Šคํ† ๋ฆฌ์ง€ : 300GB

์šด์˜์„œ๋ฒ„

  • OS : Ubuntu Server 20.04 LTS
  1. ssh {id}@{domain}
  2. (kinit)
  3. ssh {user}@{host}

๐Ÿ˜ƒ ์ปค๋ฒ„๋กœ์Šค์„ ์ด์šฉํ•ด ํ‹ฐ์ผ“์ด ๋ฐœ๊ธ‰๋œ ์‚ฌ์šฉ์ž๋งŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์•ˆ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค! 

 

2. ๋ณด์•ˆ๊ทœ์น™ ์ƒ์„ฑ

๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ํ•„์š”ํ•œ ํฌํŠธ ์—ด์–ด์ฃผ๊ธฐ

์  ํ‚จ์Šค ๊ธฐ๋ณธ ํฌํŠธ๋Š” 8080์ด์ง€๋งŒ ์žฅ๊ณ ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒน์น˜์ง€ ์•Š๊ฒŒ 7070์œผ๋กœ ๋ณ€๊ฒฝ!

  • 7070 : ์  ํ‚จ์Šค
  • 8080 : ์žฅ๊ณ 
  • 8000 : ๋ทฐ

 

3. DB ACL ํ—ˆ์šฉ

 

 

4. Docker ์„ค์น˜

  • Docker Latest : v23.0.3

๊ฐœ๋ฐœ์„œ๋ฒ„

# dependency library download  
sudo apt-get update  
sudo apt-get install -y curl apt-transport-https ca-certificates gnupg-agent software-properties-common  
  
# Docker ๋‹ค์šด๋กœ๋“œ ๋งํฌ ์ถ”๊ฐ€  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg  
  
# Docker Repository ๋“ฑ๋ก  
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  
  
# Docker ์„ค์น˜  
sudo apt-cache policy docker-ce  
sudo apt-get update  
sudo apt-get install -y docker-ce docker-ce-cli containerd.io  
  
# docker ๊ทธ๋ฃน์— ์‚ฌ์šฉ์ž ์ถ”๊ฐ€  
sudo usermod -aG docker $USER  
  
# ๊ทธ๋ฃน ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ™œ์„ฑํ™”  
sudo newgrp docker

 

์šด์˜์„œ๋ฒ„

# sudo ๊ถŒํ•œ์„ ์œ„ํ•ด ์•„๋ž˜ ๊ณ„์ •์œผ๋กœ ์ ‘์†
ssh {user}@{host}

# dependency library download  
sudo apt-get update  
sudo apt-get install -y curl apt-transport-https ca-certificates gnupg-agent software-properties-common  
  
# Docker ๋‹ค์šด๋กœ๋“œ ๋งํฌ ์ถ”๊ฐ€  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg  
  
# Docker Repository ๋“ฑ๋ก  
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  
  
# ์˜์กด์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ
curl -O http://archive.ubuntu.com/ubuntu/pool/main/libs/libseccomp/libseccomp2_2.5.1-1ubuntu1~20.04.2_amd64.deb
sudo dpkg -i libseccomp2_2.5.1-1ubuntu1~20.04.2_amd64.deb

# Docker ์„ค์น˜
sudo apt-cache policy docker-ce  
sudo apt-get update  
sudo apt-get install -y docker-ce docker-ce-cli containerd.io  
  
# docker ๊ทธ๋ฃน์— ์‚ฌ์šฉ์ž ์ถ”๊ฐ€  
sudo usermod -aG docker $USER

 

5. Jenkins ์„œ๋ฒ„ ๋„์šฐ๊ธฐ

Jenkins ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰

  • Jenkins ์ œ๊ณต ๊ณต์‹ ๋„์ปค ์ด๋ฏธ์ง€ ์‚ฌ์šฉ (Jenkins 2.399)
  • Jenkins ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ์‹œ --privileged ์˜ต์…˜ ํ•„์š”
    • Variable Parsing ์‹œ PostgreSQL๋Š” yum์œผ๋กœ ์„ค์น˜๋˜๋ฏ€๋กœ systemctl ๋ช…๋ น์–ด ์‚ฌ์šฉ ํ•„์š”
  • ํ”„๋กœ์ ํŠธ ๋‚ด ํด๋” ์ƒ์„ฑ ํ›„ ์‹คํ–‰ํ•  ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๋ชจ์œผ๊ธฐ (/home/ubuntu/variable-comparison/script/<DBMS๋ช…>)
  • ์ธ์Šคํ„ด์Šค์™€ ์ปจํ…Œ์ด๋„ˆ ํด๋” ์œ„์น˜ ๋งˆ์šดํŠธํ•˜๊ธฐ (/root/script)
sudo docker run --privileged -d --name jenkins -p 7070:8080 -v /home1/{user}/variable-comparison/script:/root/script -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins

์  ํ‚จ์Šค ์ดˆ๊ธฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ

docker exec -i jenkins bash <<< "cat /var/jenkins_home/secrets/initialAdminPassword"

 

Jenkins ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— DooD ๊ตฌ์„ฑํ•˜๊ธฐ

# jenkins ์ปจํ…Œ์ด๋„ˆ์— ๋ฃจํŠธ ๊ถŒํ•œ์œผ๋กœ ์ ‘์†
docker exec -it -u root jenkins bash

# docker ๊ทธ๋ฃน ์ƒ์„ฑ
groupadd docker
# docker ๊ทธ๋ฃน์— jenkins ์‚ฌ์šฉ์ž ์ถ”๊ฐ€
usermod -G docker -a jenkins
# ํ˜ธ์ŠคํŠธ์˜ docker ๊ทธ๋ฃน ID(998)๋กœ ์ง€์ •๋œ ๊ทธ๋ฃน๋ช…์„ docker๋กœ ๋ณ€๊ฒฝ
# docker ๊ทธ๋ฃน ID๋Š” /etc/group ํŒŒ์ผ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ
groupmod -g 499 docker
# ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ์‚ฌ์šฉ์ž๊ฐ€ ํ˜ธ์ŠคํŠธ์˜ ํŒŒ์ผ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ˜ธ์ŠคํŠธ ์‚ฌ์šฉ์ž ์•„์ด๋””(500)๋กœ ๋ณ€๊ฒฝ
usermod -u 500 jenkins

apt-get update
apt-get -y install lsb-release apt-transport-https ca-certificates curl gnupg2 software-properties-common
apt-get -y upgrade apt-transport-https

# Docker ๋‹ค์šด๋กœ๋“œ ๋งํฌ ์ถ”๊ฐ€
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey
apt-key add /tmp/dkey

# Docker Repository ๋“ฑ๋ก
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable"

# Docker ์„ค์น˜
apt-get update
apt-get -y install docker-ce docker-ce-cli containerd.io

 

6. ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ๊ตฌ์„ฑ

1. ํ”„๋กœ์ ํŠธ Git clone

  • ์•ˆ๋  ๊ฒฝ์šฐ, ์‚ฌ๋‚ด ๊ฒŒ์ดํŠธ์›จ์ด ์‹ ์ฒญ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
git clone {repository url}

 

2. pyenv ์„ค์น˜ (python 3.9.10)

sudo apt update
sudo apt install -y git sqlite3 build-essential libedit-dev make

# pyenv ์„ค์น˜๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๋‹ค์šด๋กœ๋“œ
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
# pyenv ๋‹ค์šด๋กœ๋“œ
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

# ~/.bashrc์— ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€
cat >> ~/.bashrc << 'EOF'
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PYENV_VIRTUALENV_DISABLE_PROMPT=1
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
EOF

# ~/.bashrc ์ ์šฉ
source ~/.bashrc

# pyenv๋กœ python 3.9.10 ๋ฒ„์ „ ๋‹ค์šด๋กœ๋“œ
#sudo apt install -y lzma
pyenv install 3.9.10
# py39๋ผ๋Š” ์ด๋ฆ„์˜ ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ
pyenv virtualenv 3.9.10 py39
# py39 ํ™œ์„ฑํ™”
pyenv activate py39

 

3. requirements.txt ์„ค์น˜

pip install -r requirements.txt

# setuptools๊ฐ€ ๋จผ์ € ์„ค์น˜๋˜์–ด์•ผ mysqlclient ์„ค์น˜๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋จ
# ์„ค์น˜ ์ˆœ์„œ๋„ ์ค‘์š”!

 

4. secret key ๋ฐœ๊ธ‰

 

5. ํ•„์š”ํ•œ ํŒจํ‚ค์ง€

  • Redis
sudo apt-get install -y libssl-dev default-mysql-server default-mysql-client default-libmysqlclient-dev
sudo apt-get install -y python3-pip
pip3 install requests bs4 sqlalchemy pymysql mysqlclient pandas redis
  • PostgreSQL
apt-get update && apt-get -y install sudo
sudo apt-get install -y postgresql-client
sudo apt-get install -y postgresql-client-common
sudo apt install pip 
sudo apt install default-libmysqlclient-dev
pip install sqlalchemy requests bs4 psycopg2-binary mysqlclient numpy pandas
  • ์„ค์น˜๊ฐ€ ์ž˜ ์•ˆ ๋  ๊ฒฝ์šฐ
# ModuleNotFoundError: No module named '_ctypes' ์—๋Ÿฌ
sudo apt-get install libffi-dev
# ๊ฐ€์ƒํ™˜๊ฒฝ ํŒŒ์ด์ฌ ์ œ๊ฑฐ
pyenv uninstall 3.9.10
# ๊ฐ€์ƒํ™˜๊ฒฝ ํŒŒ์ด์ฌ ์žฌ์„ค์น˜
pyenv install 3.9.10
# py39๋ผ๋Š” ์ด๋ฆ„์˜ ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ
pyenv virtualenv 3.9.10 py39
# py39 ํ™œ์„ฑํ™”
pyenv activate py39

 

6. npm, vue, nvm ์„ค์น˜

node ๋ฒ„์ „์„ ์ž˜ ๋งž์ถฐ ์ฃผ๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค! ์•ˆ ๋งž์œผ๋ฉด ๋„์›Œ์ง€์ง€๊ฐ€ ์•Š์Œ..

# npm ์„ค์น˜
sudo apt install npm

# vue-cli ์„ค์น˜
sudo npm install -g @vue/cli
vue --version #@vue/cli 5.0.8

# nvm ์„ค์น˜
sudo apt-get install build-essential libssl-dev
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc

# ์›ํ•˜๋Š” ๋ฒ„์ „ ์„ค์น˜
nvm install 16.14.2

# ์‹คํ–‰
# nvm use default 16.14.2

# ๋ฒ„์ „ ํ™•์ธ
node -v  # v16.14.2
npm -v # 8.5.0

 

7. vue.config.js ๋ณ€๊ฒฝ

publicPath: process.env.NODE_ENV === 'production' ? '/static/dist/' : 'http://{ip}:{port}',

.public('http://{ip}:{port}')

 

7. ์„œ๋ฒ„ ๋„์šฐ๊ธฐ

* ์ฃผ์˜

๋กœ์ปฌ์„ ๋„์šด ์ƒํƒœ์—์„œ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ๋กœ์ปฌ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ์„ ๋ˆ ์ƒํƒœ์—์„œ ์ง„ํ–‰ํ•ด์•ผ ์ง„์ •ํ•œ ์„œ๋ฒ„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!

 

์šด์˜์„œ๋ฒ„

๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋„์šฐ๊ธฐ!

  • nohup node ./node_modules/@vue/cli-service/bin/vue-cli-service serve --port 18080 &
  • nohup python manage.py runserver {ip}:{port} --settings=main.config.settings.debug
  • 15361๋ฒˆ ํฌํŠธ, 18080๋ฒˆ ํฌํŠธ ์‚ฌ์šฉ

๋“œ๋””์–ด ๋ฉ”์ธ ํ™”๋ฉด์ด ์˜ˆ์˜๊ฒŒ ๋œฌ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค~!!

 

์ด๋ ‡๊ฒŒ ์ •์‹์œผ๋กœ ์„œ๋ฒ„๋ฅผ ๋„์›Œ๋ณธ ๊ฒƒ์€ ์ฒ˜์Œ์ด์–ด์„œ ํ•œ ๋‹จ๊ณ„๋ฅผ ์•Œ์•„ ๊ฐˆ ๋•Œ๋งˆ๋‹ค ๋„ˆ๋ฌด ์žฌ๋ฐŒ๊ณ  ์ด๋Ÿฐ ์‹œ๊ฐ„์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ๊ฐ์‚ฌํ–ˆ๋‹ค!

๊ด€๋ จ ๋‚ด์šฉ์€ ๋” ๋ฐ˜๋ณตํ•˜๊ณ , ๋ชจ๋ฅด๋Š” ๋‚ด์šฉ์€ ์Šคํ„ฐ๋””ํ•ด์„œ ์ž˜ ์ •๋ฆฌํ•ด๋‘์–ด์•ผ๊ฒ ๋‹ค :)

IaaS vs. SaaS vs. PaaS

์š”์ฆ˜, ํด๋ผ์šฐ๋“œ ํ•˜๋ฉด IaaS, PaaS, SaaS ๋ฅผ ๋งŽ์ด ๋“ค์–ด๋ณด์…จ์„ํ…๋ฐ, ์ด๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ๋ถ„์•ผ๋ณ„ ํŠน์„ฑ์œผ๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

IaaS, PaaS, SaaS๊ฐ€ ๋Œ€์ฒด ๋ฌด์—‡์ธ์ง€ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

IaaS (Infrastructure-as-a-service)

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

NHN Cloud, AWS, MS Azure, GCE ๋“ฑ์—์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

PaaS (Platform-as-a-service)

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์„œ๋น„์Šค๋กœ์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์ž‘์„ฑ์„ ์œ„ํ•œ ํ”Œ๋žซํผ์„ ๊ฐ€์ƒํ™”ํ•˜์—ฌ ์ œ๊ณตํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์šด์˜์ฒด์ œ, ์†Œํ”„ํŠธ์›จ์–ด ์—…๋ฐ์ดํŠธ, ์ €์žฅ์†Œ ๋˜๋Š” ์ธํ”„๋ผ์— ๋Œ€ํ•œ ๊ด€๋ฆฌ์—†์ด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NHN Cloud PaaS-TA, AWS Elastic Beanstalk, Heroku, Google App Engine ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

SaaS (Software-as-a-service)

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„œ๋น„์Šค๋กœ์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ SaaS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์‹คํ–‰๋˜๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋‹ค์šด๋กœ๋“œ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

NHN Cloud Dooray!, Google Apps, Dropbox ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

NHN Cloud

๊ตญ๋‚ด NCP ์ค‘ ํ•˜๋‚˜์ธ NHN Cloud๋Š” IaaS, PaaS, SaaS๋ฅผ ๋ชจ๋‘ ์•„์šฐ๋ฅด๋Š” ์ „ ์˜์—ญ์—์„œ ๊ฐ ์‚ฐ์—… ๋ถ„์•ผ์— ๋งž๋Š” ํด๋ผ์šฐ๋“œ ์†”๋ฃจ์…˜์„ ์ง์ ‘ ๊ฐœ๋ฐœ ๋ฐ ์ถœ์‹œํ•˜์—ฌ ์‚ฌ์—…์˜์—ญ์„ ํ™•์žฅํ•ด๋‚˜๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

NHN Cloud์˜ ์„œ๋น„์Šค๋ฅผ ๋‚˜๋ˆ„์–ด ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

IaaS

  • Public Cloud
  • Private Cloud
  • Multi Cloud

 

PaaS

  • PaaS-TA

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ๊ณผ ์šด์˜์„ ์œ„ํ•ด ํ•„์š”ํ•œ ํ”Œ๋žซํผ์„ ์˜จ๋ผ์ธ ํ™˜๊ฒฝ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ณต๊ฐœํ˜• PaaS ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ธํ”„๋ผ ์ œ์–ด ๋ฐ ๊ด€๋ฆฌ ํ™˜๊ฒฝ, ์‹คํ–‰ ํ™˜๊ฒฝ, ๊ฐœ๋ฐœ ํ™˜๊ฒฝ, ์„œ๋น„์Šค ํ™˜๊ฒฝ, ์šด์˜ ํ™˜๊ฒฝ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ตญ๋‚ด ์ตœ์ดˆ๋กœ ๊ณต๊ณต ํด๋ผ์šฐ๋“œ PaaS ๋ถ€๋ฌธ ๋ณด์•ˆ์ธ์ฆ์„ ํš๋“ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Gamebase
  • Security
  • Notification
  • Search
  • Dev Tools
  • ๋“ฑ๋“ฑ

 

SaaS

  • Dooray! : ๋ฉ”์ผ๊ณผ ํ”„๋กœ์ ํŠธ ๋‹จ์œ„์˜ ์—…๋ฌด ๊ด€๋ฆฌ, ๋ฉ”์‹ ์ €๋ฅผ ํ†ตํ•ฉํ•œ ํ˜‘์—…๋„๊ตฌ
  • ๊ทธ๋ฃน์›จ์–ด : ์ „์ž๊ฒฐ์žฌ ๋ฐ ๊ฒŒ์‹œํŒ์„ ํ†ตํ•ฉ
  • ERP : ์ธ์‚ฌ์™€ ์žฌ๋ฌด ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ERP

 

 

 

 

์ฐธ๊ณ ๋งํฌ

โœ… ๊ณต์‹๋ฌธ์„œ

Install Redis on Linux

 

โฌ‡๏ธ Redis ์„ค์น˜ ์ „์— ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• โฌ‡๏ธ

2023.01.08 - [์ธํ”„๋ผ/NHN Cloud] - NHN Cloud ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ


์ธ์Šคํ„ด์Šค ํ™˜๊ฒฝ

  • OS : CentOS 7.9
  • ์•„ํ‚คํ…์ณ: x86_64

์„ค์น˜ํ•  Redis ๋ฒ„์ „

  • redis 7.0.8 (the lastest stable)

 

1. ์„ค์น˜ ๊ณผ์ •

( 1 / 4 ) ์ธ์Šคํ„ด์Šค์— SSH ๋ฐฉ์‹์œผ๋กœ ์ ‘์†

ssh -i [ํ‚คํŽ˜์–ด์ด๋ฆ„.pem] centos@[ํ”Œ๋กœํŒ…IP]

 

( 2 / 4 ) epel ๋‹ค์šด๋กœ๋“œ

  • yum ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—๋Š” ์ตœ์‹ ๋ฒ„์ „(7.0.8)์ด ์•„๋‹Œ 3.2.12 ๋ฒ„์ „์ด ์žˆ์œผ๋ฏ€๋กœ epel, remi ์ €์žฅ์†Œ๋ฅผ ์ด์šฉ
sudo yum install epel-release

๐Ÿ’ก EPEL์ด๋ž€?

๋”๋ณด๊ธฐ
  • Extra Packages for Enterprise Linux์˜ ์•ฝ์ž
  • Fedora์—์„œ ๊ด€๋ฆฌ
  • CentOS Default ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํฌํ•จ๋˜์ง€ ์•Š์€ ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋“ค์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜ ์ €์žฅ์†Œ

 

( 3 / 4 ) REMI ์ €์žฅ์†Œ ํŒจํ‚ค์ง€ ์„ค์น˜

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

๐Ÿ’กREMI๋ž€?

๋”๋ณด๊ธฐ
  • Default ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—๋Š” ์˜ค๋ž˜๋œ ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€๋“ค์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์‹  ๋ฒ„์ „์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ remi ์‚ฌ์šฉ
  • remi ์ €์žฅ์†Œ๋Š” epel ์ €์žฅ์†Œ ์˜์กด์„ฑ์ด ์žˆ์Œ (epel์ด ์žˆ์–ด์•ผ remi ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

 

( 4 / 4 ) yum์„ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ

sudo yum install redis

 

2. ์„ค์น˜ ๊ฒฐ๊ณผ

( 1 / 7 ) redis ์„œ๋ฒ„ ์‹คํ–‰

sudo systemctl start redis
sudo systemctl enable redis  # Redis๋ฅผ ์ž๋™ ์‹œ์ž‘๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

 

# Redis ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ
systemctl status redis

( 2 / 7 ) redis ํด๋ผ์ด์–ธํŠธ ์‹คํ–‰

redis-cli

 

( 3 / 7 ) ping ๋‚ ๋ ค๋ณด๊ธฐ

 

( 4 / 7 ) strings ์ƒ์„ฑ

 

( 5 / 7 ) hashes ์ƒ์„ฑ

 

( 6 / 7 ) set key ์ƒ์„ฑ

 

( 7 / 7 ) ์ข…๋ฃŒํ•˜๊ธฐ

์ข…๋ฃŒํ•˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•จ

# redis-cli์—์„œ
redis-cli shutdown

 

๋ถ€๋ก) ์ œ๊ฑฐ ๋ฐฉ๋ฒ•

1. ์„ค์น˜ํ•œ redis ํŒจํ‚ค์ง€๋ช… ํ™•์ธ

# / ์œ„์น˜์—์„œ
sudo yum list installed redis*

 

2. ์ œ๊ฑฐ ๋ช…๋ น

# redis ์ค‘๋‹จ
sudo service redis stop

# redis ์ œ๊ฑฐ
sudo yum remove redis.x86_64

 

 

 

 

 

์ฐธ๊ณ 

https://puttico.tistory.com/151

https://www.lesstif.com/system-admin/epel-yum-100205250.html

+ Recent posts