๋ฐ˜์‘ํ˜•
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”
์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค

 
 

๊ตฌ๋™์ค‘์ธ ์„œ๋ฒ„์— ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

 
 

 
 
=> ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ณณ์—์„œ ์ž์›์˜ ์‹œ์ž‘, ์ข…๋ฃŒ, ์„ค์ •์„ ์ž๋™ํ™”๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ
 

์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ์ž์›๋“ค์„ ์ค„์ž„์œผ๋กœ ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ, ์ผ๊ด€์„ฑ, ํšจ์œจ์„ฑ์„ ๋†’์ด๋„๋ก ํ•ด์•ผํ•จ

 

DevOps

 
Development : ์„œ๋น„์Šค ๊ฐœ๋ฐœ
 
Operations : ์„œ๋น„์Šค ์šด์šฉ
 
ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ๋“ฑ์žฅ ๋ฐ ์›น ์„œ๋น„์Šค ๋ณดํŽธํ™”์— ๋”ฐ๋ฅธ Development์™€ Operations์˜ ๊ฒฝ๊ณ„ ๋ชจํ˜ธ
 
์›น ์„œ๋น„์Šค์˜ ๋น ๋ฅธ ๊ฐœ์„  ์ฃผ๊ธฐ๋กœ ์ธํ•œ ๊ฐ„๋‹จํ•œ ๋ฆด๋ฆฌ์ฆˆ ์‚ฌ์ดํด ํ•„์š”
=> ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•œ ์„œ๋น„์Šค ๋ฐฐํฌ ๋ณดํŽธํ™” (IaC)
 
 

Infrastructure-as-Code (์ฝ”๋“œ๋ฅผ ์ด์šฉํ•œ ์ž์› ๊ด€๋ฆฌ)

 

JSON์ด๋‚˜ YAML ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ๊ธฐ๋ฒ•์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ์ž์› ์ƒํƒœ ์„œ์ˆ 

 
์„œ๋น„์Šค์— ํ™œ์šฉ๋˜๋Š” ์ž์›๋“ค์„ ์ฝ”๋“œ๋กœ ๋งŒ๋“ค์–ด์„œ ๊ด€๋ฆฌ
 

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์šฉ ๊ฐ€๋Šฅ
    (๊ธฐ์กด์— ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์•ผ ํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ์ „๋ถ€ ์ฝ”๋“œ๋กœ)

  • ์žฌ์‚ฌ์šฉ

  • ์œ ์ง€ ๋ณด์ˆ˜

  • ํ™•์žฅ์„ฑ

  • ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ ํŠน์„ฑ์„ ๊ฐ€์ง

 

์ž์›์„ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•  ๋•Œ์˜ ์žฅ์ 

 
 

 
 
์ถ”๊ฐ€์ ์œผ๋กœ ์œ ์ง€ ๋ณด์ˆ˜ ๋ฐ ์‹œ์Šคํ…œ ์ผ๊ด€์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Œ

=> ํ…œํ”Œ๋ฆฟ ์—…๋ฐ์ดํŠธ๋ฅผ ํ†ตํ•œ ๋ชจ๋“  ์ž์› ํ™˜๊ฒฝ์˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ
(๋งŒ์•ฝ ์ˆ˜๋™์ด์—ˆ์œผ๋ฉด ๊ฐ๊ฐ์˜ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ์ง์ ‘ ์ˆ˜์ •ํ–ˆ์–ด์•ผํ•จ)
 

Infrastructure as Code(IaC) ์˜ ์žฅ์ 

 
1. ์†๋„ ๋ฐ ์•ˆ์ •์„ฑ
 
=> ๋ฐฐํฌ์ ˆ์ฐจ์˜ ์ž๋™ํ™”์— ๋”ฐ๋ฅธ ์ด๋“
(์‚ฌ๋žŒ์˜ ๊ฐœ์ž… ์ตœ์†Œํ™”)
 
2. ๋ฌธ์„œํ™”
 
=> ๋ˆ„๊ตฌ๋‚˜ ๋ฌธ์„œ ๋ฐ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด์„œ ์‹œ์Šคํ…œ ๊ตฌ์กฐ ์ดํ•ด ๊ฐ€๋Šฅ
 
3. ๋ฒ„์ „ ๊ด€๋ฆฌ
 
=> ๊ณผ๊ฑฐ ๋ณ€ํ™” ๊ธฐ๋ก ๋ฐ ์ฝ”๋ฉ˜ํŠธ ๊ฐ€๋Šฅ
 
4. ํ™•์ธ ๋ฐ ๊ฒ€์‚ฌ
 
=> ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•œ ๊ผผ๊ผผํ•œ ๊ฒ€์‚ฌ ๊ฐ€๋Šฅ
 
 

AWS CloudFormation์„ ํ™œ์šฉํ•œ ์ž์› ๊ด€๋ฆฌ

 
AWS CloudFormation : AWS ์ž์›๋“ค์„ ์‹œ์ž‘, ์„ค์ • ๋ฐ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์„œ๋น„์Šค
 
=> JSON ์ด๋‚˜ YAML ํฌ๋งท ํ…œํ”Œ๋ฆฟ์„ ํ™œ์šฉํ•˜์—ฌ ์ž‘์„ฑ ๊ฐ€๋Šฅ
 
Template :  ์ƒ์„ฑ๋  ์ž์›์„ ์„œ์ˆ ํ•˜๋Š” JSON ๋˜๋Š” YAML ํ˜•ํƒœ์˜ ํŒŒ์ผ
 
=> ์†Œ์Šค์ฝ”๋“œ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ (๋ฒ„์ „ ์ปจํŠธ๋กค ์‚ฌ์šฉ ์ถ”์ฒœ)
 
AWS CloudFormation Engine : AWS CloudFormation ํ…œํ”Œ๋ฆฟ์„ ํ•ด์„ํ•˜์—ฌ AWS ์„œ๋น„์Šค๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์Šคํƒ์„ ์ƒ์„ฑ
 
Stack : AWS CloudFormation์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ž์› ์ง‘ํ•ฉ
 

AWS CloudFormation Templates

 

JSON ๋˜๋Š” YAML๋กœ ์ž‘์„ฑ

 
 
CloudFormation ๋””์ž์ด๋„ˆ : AWS ์ฝ˜์†”์—์„œ ํ™œ์šฉ๊ฐ€๋Šฅํ•˜๋ฉฐ AWS ์ž์›๋“ค์„ ๋“œ๋ž˜๊ทธ - ๋“œ๋žํ•˜์—ฌ ํ…œํ”Œ๋ฆฟ์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์คŒ
 

CloudFormation Template ๊ตฌ์กฐ

 

JSON example

 
 
Description : ์ผ๋ฐ˜์ ์ธ ์„œ์ˆ 
 
Metadata : ํ…œํ”Œ๋ฆฟ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ‘œํ˜„ (๋ฐ์ดํ„ฐ์˜ ๋ฐ์ดํ„ฐ)
 

CloudFormation ์‚ฌ์šฉ ์ž์› ์ •์˜

 

 
 
Resource ์„น์…˜ : ์ƒ์„ฑ๋  ์Šคํƒ์— ํฌํ•จ๋  ์ž์› ๋ฐ ํŠน์ง•๋“ค์„ ์ •์˜ํ•จ
(๊ฐ๊ฐ์˜ ์ž์›์€ ๊ฐœ๋ณ„์ ์œผ๋กœ ์„ ์–ธ๋˜์–ด์•ผํ•จ)
 
 

CloudFormation Resource attribute : DependsOn

 

 
 
=> ์—ฌ๋Ÿฌ ์ž์›์˜ ์ƒ์„ฑ ์„ , ํ›„ ๊ด€๊ณ„๊ฐ€ ํ‘œํ˜„ ๋˜์–ด์•ผ ํ•  ๊ฒฝ์šฐ DependsOn ์‚ฌ์šฉ
 
 

๊ณ„์ •๊ฐ„ CloudFormation ํ…œํ”Œ๋ฆฟ Resources ๊ณต์œ ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ

 

 

ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์ž์›์˜ ์ •๋ณด๋Š” ํ…œํ”Œ๋ฆฟ ๊ณต์œ ์‹œ์— ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ
 

  • AWS EC2 key pairs

  • Security group names

  • ์„œ๋ธŒ๋„ท ์•„์ด๋””

  • AWS EBS ์Šค๋ƒ…์ƒท ์•„์ด๋””

 
=> ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ณ€์ˆ˜๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•จ
 
 

CloudFormation Parameters and Fn

 
Parameters๋Š” ์‹คํ–‰์‹œ์— ๊ฐ’์„ ์ „๋‹ฌํ•˜๊ฒŒ ํ•ด์คŒ
 
=> Customize๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ  ์‚ฌ์šฉ์ด ํ—ˆ์šฉ๋œ ๊ฐ’๊ณผ default ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ
 

Parameters ์˜ˆ์ œ

 

CloudFormation์€ ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ช‡๋ช‡ ํ•จ์ˆ˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ

 
 

CloudFormation Mappings

 

์ธ์Šคํ„ด์Šค ํƒ€์ž…์ด ๋‹ฌ๋ผ์ง€๋ฉด CPU๋„ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ OS ์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์“ด๋‹ค๋ฉด key-value๋กœ ์„ค์ •

 
 
Mappings๋Š” key-value ๊ฐ’์„ ํ‘œํ˜„ ํ•˜๊ฒŒ ํ•ด์คŒ
 
=> ๋‹ค์ค‘ layer์˜ key-value๋„ ํ‘œํ˜„ ๊ฐ€๋Šฅ (JSON ํ™œ์šฉ)
 

CloudFormation Conditions

 

 
 
Conditions๋Š” ํŠน์ • ๋ช…๋ น์ด ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ํŠน์ • ์ž์›์ด ์ƒ์„ฑ ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•˜๊ฒŒํ•ด์คŒ
 
=> PROD์™€ DEV ํ™˜๊ฒฝ์ด๋ƒ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๊ฐฏ์ˆ˜์˜ ์ž์›๋“ค ์ƒ์„ฑ
 

Condition ๊ฐ’์— ๋”ฐ๋ฅธ PRDO/DEV ํ™˜๊ฒฝ ๊ตฌ์ถ• ์˜ˆ์ œ

 

 

CloudFormation Outputs

 

ํ•ด๋‹น ์„น์…˜ ์—†์œผ๋ฉด outputs ํƒญ์—์„œ ์•„๋ฌด๊ฒƒ๋„ ํ™•์ธ X

 
 
Outputs๋Š” CloudFormation์œผ๋กœ ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ์Šคํƒ์„ ํ™•์ธํ•  ๋•Œ ๋ณด์—ฌ์ง€๋Š” ๊ฐ’๋“ค์„ ํ‘œํ˜„ํ•จ

๋ฐ˜์‘ํ˜•

'๐ŸŒŠ Infra > AWS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

AWS IAM ์‚ฌ์šฉ์ž ๋“ฑ๋ก  (2) 2025.02.20
Serverless Computing (ํด๋ผ์šฐ๋“œ๋ฅผ ์ด์šฉํ•œ Decoupling ๋ฐฉ์•ˆ๋“ค)  (0) 2024.11.30
Cloud High Availability  (1) 2024.10.17
Cloud Network  (3) 2024.10.16
Cloud Basic Service  (13) 2024.10.14