๊ณต์ง€
๋‰ด์Šค๋ ˆํ„ฐ ํ”Œ๋žซํผ ๋ณ€๊ฒฝ ์•ˆ๋‚ด

์ฃผ๊ฐ„ ์†Œ์‹์ง€

๐Ÿ”ญIaC ํˆด, ์šฐ๋ฆฌ์—๊ฒŒ๋„ ํ•„์š”ํ• ๊นŒ? - ์šฐ๋ฆฌ ํŒ€์— ๋งž๋Š” IaC ํˆด ์„ ํƒํ•˜๋Š” ๋ฒ• & Pulumi ์†Œ๊ฐœ

IaC๋ฅผ ๋„์ž…ํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์™€ ํˆด ์„ ํƒ ๊ฐ€์ด๋“œ, Pulumi์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

2025.05.26 | ์กฐํšŒ 185 |
0
|
Aidens Lab ๋‰ด์Šค๋ ˆํ„ฐ์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

Aidens Lab ๋‰ด์Šค๋ ˆํ„ฐ

๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๋Š” DevOps์™€ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ  ์†์—์„œ ๊ธธ์„ ์žƒ์ง€ ์•Š๋„๋ก, 1์ธ ๊ฐœ๋ฐœ์ž์™€ ํŒ€์˜ ์„ฑ์žฅ์„ ๋•๋Š” ์ฃผ๊ฐ„ IT/๊ฐœ๋ฐœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ „๋‹ฌํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ๊ตฌ๋…์ž๋‹˜, IT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์†Œ์‹์ง€์ž…๋‹ˆ๋‹ค.

 

์„œ๋น„์Šค ๊ฐœ๋ฐœ์ด ๋๋‚˜๋ฉด ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๋ณดํ†ต ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.

AWS๋‚˜ GCP, Azure ๊ฐ™์€ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋•๋ถ„์—, ๊ทœ๋ชจ๊ฐ€ ํฌ์ง€ ์•Š์€ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ์ปดํ“จํŒ… ์„œ๋ฒ„์™€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, DB ์ •๋„๋งŒ ์„ค์ •์— ์‹ ๊ฒฝ์“ฐ๋ฉด ๊ธˆ๋ฐฉ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์ฃ .

ํ•˜์ง€๋งŒ ์„œ๋น„์Šค๋‚˜ ํŒ€์˜ ๊ทœ๋ชจ๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค๋ฉด ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ๊ด€๋ฆฌ๋Š” ์ ์  ๋ถ€๋‹ด์ด ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ๊ตฌ์กฐ๋Š” ๋”์šฑ ๋ณต์žกํ•ด์ง€๊ณ , ์ธํ”„๋ผ ๊ตฌ์กฐ ๋ณ€๊ฒฝ์ด๋‚˜ ์šด์˜ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ž…๋Š” ํ”ผํ•ด๋„ ์ปค์ง€๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .

๊ทธ๋ž˜์„œ ์ด๋Ÿฐ ๋ถ€๋‹ด์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ, IaC(Infrastructure as Code)์ž…๋‹ˆ๋‹ค.

์ด๋ฆ„์—์„œ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐœ๋…์ธ๋ฐ์š”.

IaC๋Š” DevOps ๊ด€์ ์—์„œ๋„ ์ค‘์š”ํ•œ ํ‚ค์›Œ๋“œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

DevOps ์ ‘๊ทผ๋ฒ•์„ ํ†ตํ•ด ๊ฐœ๋ฐœ ๋‹ด๋‹น์ž์™€ ์šด์˜ ๋‹ด๋‹น์ž์˜ ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ๋งž์ถœ ๋•Œ, IaC๋ฅผ ๋„์ž…ํ•˜๋ฉด ๊ฐ–๊ฐ€์ง€ ์˜ค๋ฅ˜๋‚˜ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ณ  ์ˆ˜์›”ํ•˜๊ฒŒ ๋งž์ถœ ์ˆ˜ ์žˆ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ž๋™ํ™”์— ๋„์›€์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ IaC๋ฅผ ์ ์šฉํ•˜๋ฉด ์ธํ”„๋ผ ์—ญ์‹œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒ„์ „ ์ปจํŠธ๋กค์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— DevOps ๊ด€์ ์—์„œ IaC ๋„์ž…์ด ๊ถŒ์žฅ๋˜์ฃ .

IaC๋Š” ๋น„๋‹จ ๊ทœ๋ชจ๊ฐ€ ํฐ ๊ธฐ์—…์—๋งŒ ๊ตญํ•œ๋˜๋Š” ๊ธฐ์ˆ ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์˜คํžˆ๋ ค ํ•œ์ •๋œ ์ž์›์œผ๋กœ ๋งŽ์€ ์ผ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์†Œ๊ทœ๋ชจ ํŒ€์—๊ฒŒ๋„ ์ธํ”„๋ผ ๊ด€๋ฆฌ ์ž๋™ํ™”๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

IaC๋ฅผ ๋„์ž…ํ•˜๋ฉด ์ˆ˜๋™ ์ž‘์—…์œผ๋กœ ์ธํ•œ ์‹ค์ˆ˜๋ฅผ ์ค„์ด๊ณ , ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜์—ฌ ํŒ€์˜ ์ƒ์‚ฐ์„ฑ์„ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

์ด๋Š” ํŒ€์ด ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜ ์ฐฝ์ถœ์— ๋” ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์†Œ๊ทœ๋ชจ ํŒ€์—๊ฒŒ๋„ IaC ๋„์ž…์€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

 


โœจ๋‚ด ์ƒํ™ฉ์— ๋งž๋Š” IaC ํˆด์„ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ•์€?

 

์ฒจ๋ถ€ ์ด๋ฏธ์ง€

"IaC์˜ ์ค‘์š”์„ฑ์€ ์•Œ๊ฒ ๋Š”๋ฐ IaC ํˆด์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ๊ณ ๋ฅด๊ธฐ ํž˜๋“ค์–ด์š”."

 

๋งž์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์„ค๋ช…๋“œ๋ฆฐ ๊ฒƒ์ฒ˜๋Ÿผ IaC๋Š” ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ๊ด€๋ฆฌ์— ์ฃผ์š” ํ‚ค์›Œ๋“œ๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ์—ฌ๋Ÿฌ IaC ํˆด๋“ค์ด ์„ธ์ƒ์— ๋‚˜์™”๋Š”๋ฐ์š”.

์˜คํ”ˆ์†Œ์Šค IaC ํˆด๋งŒํ•ด๋„ Terraform๋‚˜ Pulumi, Crossplane ๋“ฑ ๋‹ค์–‘ํ•˜์ฃ .

๊ทธ๋Ÿผ ๋‚ด๊ฒŒ ๋งž๋Š” IaC ํˆด์„ ๊ณ ๋ฅด๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?

์ €๋Š” ์•„๋ž˜ 3๊ฐ€์ง€ ๊ธฐ์ค€์œผ๋กœ IaC ํˆด์„ ์„ ํƒํ•˜์‹ค ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

 

1. ์‚ฌ์šฉ์ž์˜ ๊ธฐ์ˆ  ์Šคํƒ

2. ๋Œ€์ƒ ํด๋ผ์šฐ๋“œ ๋ฐ ์„œ๋น„์Šค ์ง€์› ๋ฒ”์œ„

3. ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ ์ƒํƒœ๊ณ„ ์„ฑ์ˆ™๋„

 

๋จผ์ € ์‚ฌ์šฉ์ž์˜ ๊ธฐ์ˆ  ์Šคํƒ์ด๋ž€, ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ ์ต์ˆ™ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ  ์Šคํƒ๊ณผ ์–ธ์–ด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Terraform์€ ์ž์ฒด์ ์ธ ๋ฌธ๋ฒ•์˜ DSL(Domain Specific Language)์„ ์‚ฌ์šฉํ•ด์„œ IaC๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ Terraform์„ ์‚ฌ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์ด ์—†๋‹ค๋ฉด ๋ณ„๋„์˜ ๋ฌธ๋ฒ•์„ ์ƒˆ๋กœ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ๊ฒƒ์ด ๋ถ€๋‹ด์ด ๋  ์ˆ˜ ์žˆ๊ฒ ์ฃ .

๋ฐ˜๋ฉด์— Python์ด๋‚˜ TypeScript, Go์™€ ๊ฐ™์€ ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” Pulumi๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ดˆ๊ธฐ ๋„์ž… ์žฅ๋ฒฝ์ด ๋‚ฎ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋‘ ๋ฒˆ์งธ๋กœ ๋Œ€์ƒ ํด๋ผ์šฐ๋“œ ๋ฐ ์„œ๋น„์Šค ์ง€์› ๋ฒ”์œ„๋Š”, ๋„์ž…ํ•˜๋ ค๋Š” IaC ํˆด์ด ํ˜„์žฌ ๋‚ด๊ฐ€ ์‚ฌ์šฉ ์ค‘์ด๊ฑฐ๋‚˜ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ๊ณ„ํš์ด ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž(AWS, GCP, Azure)์™€ ํŠน์ • ์„œ๋น„์Šค(Kubernetes ๋“ฑ)๋ฅผ ์–ผ๋งˆ๋‚˜ ์•ˆ์ •์ ์œผ๋กœ ํญ๋„“๊ฒŒ ์ง€์›ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ๋ฒค๋”์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ๊ณ ๋ คํ•œ๋‹ค๋ฉด, ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์ง€์›ํ•˜๋Š” ํˆด์ด ์œ ๋ฆฌํ•˜๊ฒ ์ฃ .

Pulumi์™€ Terraform์˜ ๊ฒฝ์šฐ, ๋ชจ๋‘ ํŠน์ • ํด๋ผ์šฐ๋“œ์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ ์ƒํƒœ๊ณ„ ์„ฑ์ˆ™๋„์ž…๋‹ˆ๋‹ค.

Terraform๋Š” ์ด๋ฏธ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ™œ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Pulumi๋ณด๋‹ค ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋งŽ์€ ํŽธ์ด์ฃ .

 

์œ„ 3๊ฐ€์ง€ ๊ธฐ์ค€์˜ ์ค‘์š”๋„๋Š” ์ด ๊ธ€์„ ์ฝ๊ณ  ๊ณ„์‹  ๋ถ„๋“ค๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด์‹ค ๊ฒ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ €๋Š” ๋„์ž…์— ๋Œ€ํ•œ ๋ถ€๋‹ด์ด ๋‚ฎ๋‹ค๋Š” ์ ์—์„œ Pulumi๋ฅผ ์—ฌ๋Ÿฌ๋ถ„๋“ค๊ป˜ ์ข€ ๋” ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Pulumi๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ต์ˆ™ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ”„๋ผ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํฐ ์žฅ์ ์„ ์ง€๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ณ„๋„์˜ DSL ํ•™์Šต ๋ถ€๋‹ด์„ ์ค„์—ฌ์คŒ๊ณผ ๋™์‹œ์— ๊ธฐ์กด ์–ธ์–ด์˜ ํ’๋ถ€ํ•œ ์ƒํƒœ๊ณ„์™€ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ํ…Œ์ŠคํŠธ, ์žฌ์‚ฌ์šฉ, ์ถ”์ƒํ™”์— ์œ ๋ฆฌํ•˜์ฃ .

ํŠนํžˆ ๊ธฐ์กด ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•˜์—ฌ ์ธํ”„๋ผ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค.

 


๐Ÿ’ซPulumi๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?

 

๊ทธ๋Ÿผ ์ด์ œ Pulumi๊ฐ€ ์–ด๋–ค ๊ตฌ์กฐ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ํ•ต์‹ฌ๋งŒ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Pulumi์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ์š”์†Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • CLI
  • ์–ธ์–ด๋ณ„ SDK
  • ๋ฐฐํฌ ์—”์ง„
  • ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

์•„๊นŒ Pulumi๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ต์ˆ™ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ธํ”„๋ผ ๊ด€๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ–ˆ์—ˆ์ฃ ?

๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœ์ž๋Š” ์›ํ•˜๋Š” ์–ธ์–ด๋ณ„ SDK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ”„๋ผ ๊ด€๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , Pulumi CLI๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ ์—”์ง„์— ๋ช…๋ น์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์œ„ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜: https://www.pulumi.com/docs/iac/concepts/how-pulumi-works
์ถœ์ฒ˜: https://www.pulumi.com/docs/iac/concepts/how-pulumi-works

Pulumi์˜ ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ IaC ๊ด€์ ์—์„œ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ธˆ๋งŒ ๋” ์•Œ์•„๋ณผ๊ฒŒ์š”.

๋ฐฐํฌ๋œ ์ธํ”„๋ผ์˜ ์ตœ์‹  ์ƒํƒœ๋Š” ๋กœ์ปฌ ํŒŒ์ผ์ด๋‚˜ Pulumi์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค, ์•„๋‹ˆ๋ฉด S3์™€ ๊ฐ™์€ ๋ฐฑ์—”๋“œ์— ์ €์žฅํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

์ด ์ƒํƒœ ์ •๋ณด๋Š” ์‹ค์ œ ์ธํ”„๋ผ์™€ ์ฝ”๋“œ ๊ฐ„์˜ ๋“œ๋ฆฌํ”„ํŠธ(Drift)๋ฅผ ํƒ์ง€ํ•˜๊ฑฐ๋‚˜, ๊ธฐ์กด ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ์— ๊ผญ ํ•„์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

๋“œ๋ฆฌํ”„ํŠธ๋ž€, ๋ณ€๊ฒฝ๋œ ์ธํ”„๋ผ ์ƒํƒœ๊ฐ€ ์ธํ”„๋ผ ๊ด€๋ฆฌ ์ฝ”๋“œ์— ์ •์˜๋œ ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ํ˜„์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

IaC ํˆด์˜ ํšจ์œจ์„ฑ๊ณผ ๋ณด์•ˆ์„ฑ์„ ์•ฝํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ํƒ์ง€ํ•˜๋Š” ๊ฒŒ ์ค‘์š”ํ•œ๋ฐ์š”.

Pulumi๋Š” ์ž์‹ ์˜ ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•˜์—ฌ ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ํƒ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 


๐Ÿ‘Pulumi๋ฅผ ๋„์ž…ํ•˜๋ฉด ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์„๊นŒ?

 

๊ทธ๋ ‡๋‹ค๋ฉด ๋‚ด๊ฐ€ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์— Pulumi๋ฅผ ๋„์ž…ํ•ด์„œ ์–ด๋–ค ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ์š”?

IaC๋ฅผ ๋„์ž…ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ธํ”„๋ผ ๊ตฌ์ถ• ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•ด์„œ ์ธํ”„๋ผ ํ”„๋กœ๋น„์ €๋‹ ๋ฐ ๊ด€๋ฆฌ์— ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ ๋ฒ ์ด์Šค๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Human error๋ฅผ ์ค„์ด๊ณ , ์ผ๊ด€์„ฑ ์žˆ๋Š” ํ™˜๊ฒฝ ๊ตฌ์ถ•๋„ ๊ฐ€๋Šฅํ•˜์ฃ .

์ธํ”„๋ผ ๋ณ€๊ฒฝ ์ด๋ ฅ์ด ์ฝ”๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๋ก๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ ๊ณผ ๋ฌธ์„œํ™”์—๋„ ์šฉ์ดํ•˜๊ณ ์š”.

ํŠนํžˆ Pulumi๋Š” ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—,

  • ์ฝ”๋“œ ์ž๋™ ์™„์„ฑ
  • ์‹ค์‹œ๊ฐ„ ์˜ค๋ฅ˜ ๊ฒ€์ถœ
  • ๋ฆฌํŒฉํ† ๋ง ๋“ฑ...

IDE๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ธํ”„๋ผ ์ฝ”๋“œ ์ž‘์„ฑ์—๋„ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ณ„๋„์˜ ๋„๊ตฌ๋‚˜ ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๋Š” ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜๋ฉด์„œ๋„ ๊ฐœ๋ฐœ ํ๋ฆ„์„ ๋Š์ง€ ์•Š์•„, ์ธํ”„๋ผ ๊ตฌ์ถ• ๋ฐ ์ˆ˜์ • ์†๋„๊ฐ€ ๋ˆˆ์— ๋„๊ฒŒ ํ–ฅ์ƒ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋˜ํ•œ ์ธํ”„๋ผ๊ฐ€ ๋ชจ๋“  ํŒ€์›์—๊ฒŒ ์ต์ˆ™ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ด€๋ฆฌ๋˜๋ฉด, ๊ฐœ๋ฐœ๊ณผ ์šด์˜ ํŒ€ ๊ฐ„์˜ ์žฅ๋ฒฝ์ด ๋‚ฎ์•„์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ธํ”„๋ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ , Git์„ ํ†ตํ•ด ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋ฉฐ ํ˜‘์—…ํ•˜๋Š” ๊ฒƒ์ด ์ž์—ฐ์Šค๋Ÿฌ์›Œ ์ง€๋Š” ๊ฑฐ์ฃ .

๊ทœ๋ชจ๊ฐ€ ์–ด๋А ์ •๋„ ์žˆ๋Š” ํŒ€์ด๋ผ๋„ ๊ฐœ๋ฐœ ๋‹ด๋‹น๊ณผ ์šด์˜ ๋‹ด๋‹น ์ธ์›๋“ค ๊ฐ„์˜ ์ธํ”„๋ผ ์ดํ•ด๋„๋ฅผ ๋†’์—ฌ, ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋” ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

Pulumi๋Š” ์ผ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ์ฝ”๋“œ์ฒ˜๋Ÿผ ์ธํ”„๋ผ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœ์ž๋Š” ์ž์‹ ์—๊ฒŒ ์ต์ˆ™ํ•œ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ”„๋ผ ๊ด€๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๋ฏธ๋ฆฌ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์ฃ .

์‹ค์ œ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•˜๊ธฐ ์ „ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•  ๊ธฐํšŒ๊ฐ€ ์ฃผ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์ธํ”„๋ผ ๋ณ€๊ฒฝ ์ž‘์—…์˜ ์‹ ๋ขฐ๋„์™€ ์•ˆ์ •์„ฑ๋„ ๋”์šฑ ๋†’์•„์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 


๐Ÿ”ญ๋งˆ์น˜๋ฉฐ...

 

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” IaC๋ฅผ ๋„์ž…ํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์™€ IaC ํˆด ์„ ํƒ ๊ธฐ์ค€, ๊ทธ๋ฆฌ๊ณ  Pulumi์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ๊ธ€์„ ์ฝ์œผ์‹œ๋‹ค๋ณด๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ Pulumi๋ฅผ ์–ด๋–ป๊ฒŒ ๋„์ž…ํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ ๊ถ๊ธˆํ•˜์‹ค ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

๊ทธ๋ž˜์„œ ๋‹ค์Œ ๊ธ€์—์„œ๋Š” Pulumi ์„ค์น˜๋ถ€ํ„ฐ ์ธํ”„๋ผ ์ฝ”๋“œ ์ž‘์„ฑ, ๋ฐฐํฌ๊นŒ์ง€ Python ์–ธ์–ด๋กœ AWS ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ•ต์‹ฌ ๊ฐ€์ด๋“œ๋ฅผ ์ œ๊ณตํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜ ์ด์•ผ๊ธฐ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์—ฌ์ •์— ๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ, ๋‹ค์Œ ์†Œ์‹์ง€์—์„œ ๋ณด๋‹ค ์•Œ์ฐจ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ๊ตฌ๋…์ž๋‹˜ ๐Ÿ˜บ

 


๐Ÿ”—References

 

 

 

์ด๋ฒˆ ์†Œ์‹์ง€ ๋‚ด์šฉ์€ ์–ด๋– ์…จ๋‚˜์š”? ์†Œ์‹์ง€๋ฅผ ๋” ๋‚˜์€ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ํผ์—์„œ 1~2๋ถ„ ์ •๋„๋ฉด ๋๋‚˜๋Š” ์งง์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์žˆ์–ด์š”.๐Ÿ‘‡

https://forms.gle/jjkvp9htV3atYLHG8

์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์†Œ์ค‘ํ•œ ์˜๊ฒฌ์— ํ•ญ์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

 

๋ณธ ์†Œ์‹์ง€ ์•„์นด์ด๋น™ ๋ฐ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ธ”๋กœ๊ทธ๋„ ์šด์˜ ์ค‘์ž…๋‹ˆ๋‹ค :)

๐Ÿ”ญIT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์•ˆ๋‚ด์„œ

 

๋‹ค๊ฐ€์˜ฌ ๋‰ด์Šค๋ ˆํ„ฐ๊ฐ€ ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๊ตฌ๋…ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”

โœ‰๏ธ

์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ ์–ด๋– ์…จ๋‚˜์š”?

Aidens Lab ๋‰ด์Šค๋ ˆํ„ฐ ๋‹˜์—๊ฒŒ โ˜•๏ธ ์ปคํ”ผ์™€ โœ‰๏ธ ์ชฝ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”!

๋Œ“๊ธ€

์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

ํ™•์ธ
์˜๊ฒฌ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ œ์ผ ๋จผ์ € ๋Œ“๊ธ€์„ ๋‹ฌ์•„๋ณด์„ธ์š” !

๋‹ค๋ฅธ ๋‰ด์Šค๋ ˆํ„ฐ

ยฉ 2025 Aidens Lab ๋‰ด์Šค๋ ˆํ„ฐ

๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๋Š” DevOps์™€ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ  ์†์—์„œ ๊ธธ์„ ์žƒ์ง€ ์•Š๋„๋ก, 1์ธ ๊ฐœ๋ฐœ์ž์™€ ํŒ€์˜ ์„ฑ์žฅ์„ ๋•๋Š” ์ฃผ๊ฐ„ IT/๊ฐœ๋ฐœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ „๋‹ฌํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌธ์˜eduukulelekim@gmail.com

๋ฉ”์ผ๋ฆฌ ๋กœ๊ณ 

๋„์›€๋ง ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ ์˜ค๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ œ๋ณด ๋‰ด์Šค๋ ˆํ„ฐ ๊ด‘๊ณ  ๋ฌธ์˜

์„œ๋น„์Šค ์ด์šฉ ๋ฌธ์˜admin@team.maily.so

๋ฉ”์ผ๋ฆฌ ์‚ฌ์—…์ž ์ •๋ณด

๋ฉ”์ผ๋ฆฌ (๋Œ€ํ‘œ์ž: ์ดํ•œ๊ฒฐ) | ์‚ฌ์—…์ž๋ฒˆํ˜ธ: 717-47-00705 | ์„œ์šธ ์„œ์ดˆ๊ตฌ ๊ฐ•๋‚จ๋Œ€๋กœ53๊ธธ 8, 8์ธต 11-7ํ˜ธ

์ด์šฉ์•ฝ๊ด€ | ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ | ์ •๊ธฐ๊ฒฐ์ œ ์ด์šฉ์•ฝ๊ด€ | ๋ผ์ด์„ ์Šค