¸ñ·Ï

±¹³»µµ¼­»ó¼¼

Home

½É°¢ÇÑ Å×¶óÆû Áßµ¶ÀÔ´Ï´Ù

 
 
 
 
Àú   ÀÚ
È«¼ö¹Î, Á¤À±ÀÇ
ÃâÆÇ»ç
Á¦ÀÌÆà
°¡   °Ý
28000
ÃâÆÇÀÏ
2025³â 07¿ù

* TTS ´Â º» ÆäÀÌÁö Áß°£ µµ¼­¿ä¾à
ºÎºÐÀ» ÀоîÁÖ´Â ±â´ÉÀÔ´Ï´Ù.

µµ¼­Á¤º¸


¡á Ã¥ ¼Ò°³


±¸¼ºÇϰí, °ü¸®Çϰí, È®ÀåÇÏ´Â Å×¶óÆûÀÇ Á¤¼®

IaC(ÄÚµåÇü ÀÎÇÁ¶ó)´Â ´õ ÀÌ»ó ¼±ÅÃÀÌ ¾Æ´Ï´Ù. ½Ç¹«¿¡¼­ ¾ÈÁ¤ÀûÀ̰í ÀϰüµÈ ÀÎÇÁ¶ó¸¦ ¿î¿µÇÏ·Á¸é, ÄÚµå·Î ¼±¾ðÇÏ°í °ü¸®ÇÏ´Â ¹æ½ÄÀÌ Çʼö°¡ µÇ¾ú´Ù. ±× Á߽ɿ¡ ÀÖ´Â µµ±¸°¡ ¹Ù·Î Å×¶óÆûÀÌ´Ù. ±×·±µ¥ ¹®Á¦´Â ¿©±â¼­ ½ÃÀ۵ȴÙ. Å×¶óÆû ¼³Ä¡¿Í ¸®¼Ò½º ¼±¾ðÀº ½±´Ù. ¹®Á¦´Â ±×´ÙÀ½ÀÌ´Ù. »óÅ °ü¸®´Â ¾î¶»°Ô ÇÒ±î? ½ÇÇà ȯ°æÀº ¾î¶»°Ô ³ª´­±î? ¸ðµâÀº ¾îµð¼­ºÎÅÍ ¾î¶»°Ô Âɰ¶±î?

ÀÌ Ã¥Àº ¹®¹ý¸¸ ÈÈ´Â ÀÔ¹®¼­°¡ ¾Æ´Ñ, ½Ç¹«¿¡ ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖ´Â ½ÇÀüÇü °¡À̵å´Ù. ¿Ö Å×¶óÆûÀ» ½á¾ß ÇÏ´ÂÁöºÎÅÍ ¼±¾ð¸¸À¸·Î´Â ÇØ°áµÇÁö ¾Ê´Â ¼³°è¿Í ¿î¿µ ¹æ¹ý±îÁö ´Ü°èº°·Î ¤¾îÁØ´Ù.

ÀÌ Ã¥Àº ´Ü¼øÇÑ ¼±¾ðÀ» ³Ñ¾î ±¸Á¶ÀûÀ̰í ÀϰüµÈ ÀÎÇÁ¶ó¸¦ ¼³°èÇÏ°í ¿î¿µÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. ¹Ýº¹Àº ÁÙÀ̰í, ´Ù¾çÇÑ È¯°æ¿¡ À¯¿¬ÇÏ°Ô ´ëÀÀÇϸç, ÄÚµå ÇÑ ÁÙ·Î ÀÎÇÁ¶ó¸¦ Á¶À²ÇÏ´Â °¨°¢À» Ű¿ï ¼ö ÀÖ´Ù. Ã¥À» µû¶ó°¡´Ù º¸¸é ¾î´À»õ Å×¶óÆûÀÇ È¿À²¼º¿¡ ºüÁ® 'ÀÌÁ¦ Å×¶óÆû ¾øÀÌ´Â ÀÎÇÁ¶ó¸¦ °ü¸®ÇÒ ¼ö ¾ø´Ù'°í ´À³¢°Ô µÉ °ÍÀÌ´Ù.

¡á ÀúÀÚ 
È«¼ö¹Î
ÀúÀÚ È«¼ö¹ÎÀº īī¿ÀÆäÀÌÁõ±ÇÀÇ DevOps Ç÷§Æû °³¹ßÀÚÀÌ´Ù. AWS ÆÄÆ®³Ê»ç, ¿À´ÃÀÇÁý, ijġÅ×ÀÌºí µî ´Ù¾çÇÑ IT ½ºÅ¸Æ®¾÷¿¡¼­ ¹Ðµµ ³ôÀº °æÇèÀ» ½×À¸¸ç ¼ºÀåÇØ¿Ô´Ù. Ŭ¶ó¿ìµå¿Í Å×¶óÆûÀÇ ¸Å·Â¿¡ ºüÁ® ¼Ö·ç¼Ç ¾ÆÅ°ÅØÆ®¿¡¼­ DevOps ¿£Áö´Ï¾î·Î ÀüȯÇßÀ¸¸ç, ÇöÀç´Â ÄÚµå ±â¹ÝÀ¸·Î ÀÎÇÁ¶ó ÀÚ¿øÀ» °ü¸®ÇÏ°í »õ·Î¿î ±â¼úÀ» ¿ì¼±ÀûÀ¸·Î °ËÁõÇÏ´Â ¾÷¹«¸¦ ´ã´çÇϰí ÀÖ´Ù. ÃÖ±Ù¿¡´Â AI ±â¼ú¿¡µµ °ü½ÉÀ» µÎ°í ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®¸¦ ¼öÇà ÁßÀ̸ç, ƯÈ÷ īī¿ÀÆäÀÌÁõ±ÇÀÇ AI 꺿 ¡®Ãá½Ã¸®¡¯ °³¹ß °æÇèÀ» ±â¼ú ºí·Î±×¸¦ ÅëÇØ °øÀ¯Çϱ⵵ Çß´Ù. Àç¹ÌÀÖ°í »õ·Î¿î ±â¼ú¿¡ ²÷ÀÓ¾øÀÌ µµÀüÇϸç, ¿À´Ãµµ Èï¹Ì·Î¿î ±â¼úÀ» ã¾Æ ޱ¸ ÁßÀÌ´Ù. ÇöÀç īī¿ÀÅå ¿ÀÇÂäÆÃ¹æÀ» ÅëÇØ 'Terraform Áú¹®°øºÎ¹æ'À» ¿î¿µÇϰí ÀÖ´Ù.

Á¤À±ÀÇ
ÀúÀÚ Á¤À±ÀÇ´Â À¯Àú ¸®¼­Ä¡ SaaS¸¦ ¼­ºñ½ºÇÏ´Â ½ºÅ¸Æ®¾÷ÀÎ µðºñµð·¦ÀÇ CTOÀÌ´Ù. ÃÖ°íÀÇ °³¹ßÆÀÀ» °æÇèÇÏ°í ½ÍÀº ¿­¸ÁÀ¸·Î ¿À´Ãµµ °í±ººÐÅõÇϰí ÀÖ´Ù. AWS¿Í ¿À´ÃÀÇÁý µî ±¹³»¿Ü ´Ù¾çÇÑ ±Ô¸ðÀÇ Á¶Á÷¿¡¼­ Ŭ¶ó¿ìµå ±â¹ÝÀÇ °³¹ß°ú ½Ã½ºÅÛ ¼³°è¸¦ ¼öÇàÇÏ¿´À¸¸ç, ¼ö³â°£ Å×¶óÆû°ú °°Àº ÄÚµåÇü ÀÎÇÁ¶ó¸¦ ±â¹ÝÀ¸·Î Ŭ¶ó¿ìµå ÀÚ¿øÀ» ¿î¿µÇؿԴÙ. ÆÐ½ºÆ®Ä·ÆÛ½º¿¡¼­ ¡®½Ç¹« Àå¾Ö ´ëÀÀ ÇÁ·Î¼¼½º·Î ³¡³»´Â Àå¾ÖÀ² 0% ¼­ºñ½º ¿î¿µÀÇ ¸ðµç °Í¡¯À̶ó´Â ÁÖÁ¦·Î Àå¾Ö ´ëÀÀ °ü·Ã ¿Â¶óÀÎ °­ÀǸ¦ Çϰí ÀÖÀ¸¸ç, ¸àÅ丵 Ç÷§Æû F-Lab¿¡¼­´Â Çö¾÷ ¹é¿£µå ¹× DevOps ¿£Áö´Ï¾î¸¦ ´ë»óÀ¸·Î ¸àÅä·Î Ȱµ¿Çϰí ÀÖ´Ù.
  
¡á Â÷·Ê
ÃßõÀÇ ±Û
º£Å¸¸®´õ Èıâ
½ÃÀÛÇϸç
ÀÌ Ã¥¿¡ ´ëÇÏ¿©

PART 1. ¿Ö Å×¶óÆûÀΰ¡?
CHAPTER 1 Ŭ¶ó¿ìµå¿Í ÄÚµåÇü ÀÎÇÁ¶ó½ºÆ®·°Ã³
CHAPTER 2 ¿ì¸®´Â ¿Ö Å×¶óÆûÀ» ¾²´Â°¡?

PART 2. Å×¶óÆû ±âº»
CHAPTER 3 Å×¶óÆû ÀÛµ¿ ¹æ½Ä
CHAPTER 4 Å×¶óÆû ±âº» ¹®¹ý
CHAPTER 5 Å×¶óÆû ¸ðµâ

PART 3. Å×¶óÆû ±â´Éº° ½Ç¹« »ç·Ê
CHAPTER 6 ½ÇÇà ȯ°æ °ü¸® 
CHAPTER 7 ´Ù¾çÇÑ ÀζóÀÎ ºí·Ï
CHAPTER 8 À¯È¿¼º °Ë»ç
CHAPTER 9 À¯Æ¿¸®Æ¼ ¸ðµâ ¸¸µé±â

PART 4. AWS ¸ðµâ »ç·Ê
CHAPTER 10 ¸ðµâÀ» Á÷Á¢ ¸¸µå´Â ÀÌÀ¯¿Í ¸¸µå´Â ¹æ¹ý
CHAPTER 11 YAML ÆÄÀÏ·Î °ü¸®ÇÏ´Â VPC ¸ðµâ ¸¸µé±â
CHAPTER 12 CSV ÆÄÀÏ·Î °ü¸®ÇÏ´Â º¸¾È ±×·ì ¸ðµâ ¸¸µé±â
CHAPTER 13 VPC¿Í º¸¾È ±×·ì ¸ðµâÀÇ Ãâ·Â°ªÀ» Ȱ¿ëÇÏ´Â EC2 ¸ðµâ ¸¸µé±â
CHAPTER 14 ´Ù¸¥ ½ÇÇà ȯ°æÀÇ Ãâ·Â°ªÀ» ÂüÁ¶ÇÏ´Â ³×Æ®¿öÅ© ½ÇÇà ȯ°æ ±¸¼ºÇϱâ

PART 5. ´Ù¾çÇÑ ÇÁ·Î¹ÙÀÌ´õ Ȱ¿ë ¿¹Á¦
CHAPTER 15 ÇϽÃÄÚÇÁ °ø½Ä À¯Æ¿¸®Æ¼ ÇÁ·Î¹ÙÀÌ´õ
CHAPTER 16 Äí¹ö³×Ƽ½º °ü·Ã ÇÁ·Î¹ÙÀÌ´õ
CHAPTER 17 ŰŬ·Ï ÇÁ·Î¹ÙÀÌ´õ·Î AWS SSO ±¸ÇöÇϱâ

APPENDIX Å×¶óÆû Q&A
APPENDIX A Å×¶óÆûÀ» »ç¿ëÇϸ鼭 »ý±â´Â ¹®Á¦´Â ¾î¶»°Ô Æ®·¯ºí½´ÆÃÇϳª¿ä? 
APPENDIX B Å×¶óÆû ÀÛ¾÷ÇÒ ¶§ ÆÀ¿øµé°ú Àß Çù¾÷ÇÏ´Â ¹æ¹ýÀÌ ÀÖ³ª¿ä? 
APPENDIX C ÀÌ¹Ì Á¸ÀçÇÏ´Â ÀÎÇÁ¶ó ¸®¼Ò½º¸¦ Å×¶óÆûÀ¸·Î °ü¸®ÇÏ°í ½Í¾î¿ä 
APPENDIX D Å×¶óÆû °ü·Ã ¼­µåÆÄƼ ¿ÀǼҽº µµ±¸´Â ¾î¶² °É ¾²¼¼¿ä? 
APPENDIX E Å×¶óÆûÀÇ ¶óÀ̼±½º°¡ º¯°æµÈ´Ù°í Çϴµ¥ ¹®Á¦¾øÀ»±î¿ä? 

ã¾Æº¸±â

 



µµ¼­¿ä¾à

¿Ö Å×¶óÆûÀΰ¡?

Ŭ¶ó¿ìµå¿Í ÄÚµåÇü ÀÎÇÁ¶ó½ºÆ®·°Ã³
ÄÚµåÇü ÀÎÇÁ¶ó½ºÆ®·°Ã³(Infrastructure as Code, laC)´Â ½Ã½ºÅÛ ÀÎÇÁ¶ó½ºÆ®·°Ã³(system infrastructur) ÀÌÇÏ ÀÎÇÁ¶ó¸¦ »ç¶÷ÀÇ °³ÀÔ¿¡ ÀÇÇÑ ¹°¸®ÀûÀΠ¹æ½Ä¿¡ ÀÇÁ¸ÇÏÁö ¾Ê°í, ±â°è°¡ ÀÐÀ» ¼ö Àִ ¼³Á¤ ÄÚµå·Î Á¤ÀÇÇÏ¿© ÀÚµ¿À¸·Î °ü¸®Çϴ ÇÁ·ÎºñÀú´×(provisioning) ¹æ½ÄÀ» ¸»ÇÑ´Ù. IaC°¡ °ü¸®Çϴ ÀÎÇÁ¶ó´Â º£¾î¸ÞÅ» ¼­¹ö(bare-metal server), °¡»ó ¸Ó½Å(virtual machine, VM) µîÀ» °¡¸®Áö ¾Ê´Â´Ù. ´Ù¸¸ laC¶ó´Â °³³äÀÌ ´ëÁßÈ­µÈ °è±â´Â Å¬¶ó¿ìµå ÄÄÇ»ÆÃÀÇ ¹ßÀü°ú ÀÌ¿¡ µû¸¥ Å¬¶ó¿ìµå ³×ÀÌÆ¼ºê ÆÐ·¯´ÙÀÓÀǠź»ýÀÌ´Ù. ±×·¯¹Ç·Î Å¬¶ó¿ìµå ³×ÀÌÆ¼ºê ÆÐ·¯´ÙÀÓ¿¡ ´ëÇÑ ÀÌÇØ°¡ ¸ÕÀú ÇÊ¿äÇÏ´Ù.

À̹̠Å×¶óÆû(Terraform)°ú ¾Æ¸¶Á¸ À¥ ¼­ºñ½º(Amazon Web Services, AWS)¿¡ ´ëÇÑ °æÇèÀÌ Àִ µ¶Àڵ鵵 ¸¹°ÚÁö¸¸, ¹è°æÁö½ÄÀ» Âª°Ô ¼Ò°³ÇϰíÀÚ ÇÑ´Ù. ´Ù¸¸ À̴ À̠å ÀüüÀÇ ¾ö¹ÐÇÑ ¼­¼úÀ» À§ÇÑ °ÍÀÌÁö, »çÀü Áö½ÄÀÌ ¾ø´Â »ç¶÷µé¿¡°Ô ¹è°æÁö½ÄÀ» Àü´ÞÇϱâ À§ÇØ ¼³¸íÇϴ °ÍÀº ¾Æ´Ï´Ù.

Ŭ¶ó¿ìµå ÄÄÇ»ÆÃ vs. ¿ÂÇÁ·¹¹Ì½º ÄÄÇ»ÆÃ
Ŭ¶ó¿ìµå ÄÄÇ»ÆÃ(cloud computing)ÀÌ °íµµ·Î ¹ßÀüÇϸ鼭 AWS³ª ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ¾ÖÀú(Microsoft Azure) µî »ç¼³ Å¬¶ó¿ìµå Á¦°øÀڷκÎÅÍ ÄÄÇ»ÆÃ ÀνºÅϽº¸¦ ´ë¿©ÇÏ°í ½ÇÇàÇϴ °ÍÀÌ ¸Å¿ì ½±°í Àú·ÅÇØÁ³´Ù. ÀÌ¿¡ µû¶ó ÀüÅëÀûÀ¸·Î º£¾î¸ÞÅ» ¼­¹ö¸¦ ¾÷ü¸¶´Ù º¸À¯Çϰí, ±× À§¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¹èÆ÷Çϴ ¿ÂÇÁ·¹¹Ì½º(on-premises) Á¢±Ù ¹æ½ÄÀÇ ´ÜÁ¡ÀÌ µå·¯³ª±â ½ÃÀÛÇß´Ù.

- Àú·ÅÇÑ Ãʱ⠺ñ¿ë
Ŭ¶ó¿ìµå ÄÄÇ»ÆÃÀÇ ¹ßÀüÀÌ ºÒ·¯¿Â ±Ùº»ÀûÀΠº¯È­´Â ÀÎÇÁ¶ó ÇÁ·ÎºñÀú´×¿¡ µé¾î°¡´Â Ãʱ⠺ñ¿ë ÅõÀÚ°¡ ¾ø¾îÁ³´Ù´Â °ÍÀÌ´Ù. À̷ΠÀÎÇØ ¼ö¸¹Àº ±â¾÷ÀÌ ÀûÀº ÀÚº»À¸·Îµµ ¾ÖÇø®ÄÉÀ̼Ǡ°³¹ßÀ» ½ÃÀÛÇÒ ¼ö ÀÖ°Ô µÇ¾úÀ¸¸ç, Æ¯È÷ ¼Ò±Ô¸ð ½ºÅ¸Æ®¾÷À̳ª 1ÀΠ°³¹ßÀÚµéÀÌ Àú·ÅÇÑ ºñ¿ëÀ¸·Î ÀÚ½ÅÀÇ ¾ÆÀ̵ð¾î¸¦ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ±¸ÇöÇÏ¿© ¼¼»ó¿¡ º¸¿©ÁÙ ¼ö ÀÖ°Ô µÇ¾ú´Ù. À̷ΠÀÎÇØ ÆÄ»ýµÈ °¡Àå Áß¿äÇѠŬ¶ó¿ìµå ÄÄÇ»ÆÃÀǠƯ¼ºÀÌ ¹Ù·Î ´ÙÀ½¿¡ ¾ð±ÞÇÒ ¼öÁ÷ È®À强°ú ¼öÆò È®À强ÀÌ´Ù.

- ¼öÁ÷ È®À强
¾ÖÇø®ÄÉÀ̼ÇÀÇ º¹À⼺ÀÌ Áõ°¡Çϰųª ¿äû ¼ö¿ä°¡ Áõ°¡Çϸé Á¡Á¡ ÄÄÇ»ÆÃ ¸®¼Ò½º ÇÑ ´ë°¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿ä±¸»çÇ×À» ¼ÒÈ­ÇÒ ¼ö ¾ø°Ô µÇ´Â ½ÃÁ¡ÀÌ ¿Â´Ù. À̸¦ ¸®¼Ò½º °ú´Ù»ç¿ë(resource over-utilization)À̶ó°í ÇÑ´Ù. À̶§ CPU ¼º´ÉÀ̳ª ·£´ý ¾×¼¼½º ¸Þ¸ð¸®(random-access memory, RAM)ÀÇ ¿ë·® ¹× ³×Æ®¿öÅ© ¼º´ÉÀ» ¾÷±×·¹À̵带 ÇؾߠÇϴµ¥, Å¬¶ó¿ìµå ÄÄÇ»ÆÃÀ» ÀÌ¿ëÇϸ頰£´ÜÇÑ API ¿äûÀ¸·Î ¾÷±×·¹À̵带 ¼öÇàÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ¸®¼Ò½º °ú¼Ò»ç¿ë(resource under-utilization)ÀÇ °æ¿ì¿¡´Â ¼º´ÉÀ» ³·Ãç ºñ¿ëÀ» Àý¾àÇϴ °Íµµ °¡´ÉÇÏ´Ù. À̸¦ Å¬¶ó¿ìµå ÄÄÇ»ÆÃ ¸®¼Ò½ºÀÇ ¼öÁ÷ È®À强(vertical scalability)À̶ó°í ÇÑ´Ù

- ¼öÆò È®À强
º£¾î¸ÞÅ» ¼­¹ö¸¦ ¹°¸®ÀûÀΠ°ø°£¿¡ µÑ Çʿ䰡 ¾ø¾îÁö¸é¼­ ÀÚ¿¬½º·´°Ô ¿©·¯ ´ëÀÇ ÄÄÇ»ÆÃ ¸®¼Ò½º¸¦ ÇÁ·ÎºñÀú´×Çϴ °ÍÀÌ ¸Å¿ì ¿ëÀÌÇØÁ³´Ù. ÀÌ·¯ÇѠƯ¼ºÀ» ÀÌ¿ëÇÏ¿© HTTP ¿äûÀÇ ¼ö°¡ ±ÞÁõÇϴ µîÀÇ À̺¥Æ®°¡ ÀÖÀ» ¶§ ÄÄÇ»ÆÃ ¸®¼Ò½º¸¦ ÀϽÃÀûÀ¸·Î ´õ ¶ç¿ö¼­ ¿äûÀ» Ã³¸®ÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ¶ÇÇÑ ¿äû ¼ö¿ä°¡ Æò»ó½Ã »óÅ·Πµ¹¾Æ°¬À» ¶§ ´Ù½Ã ¿ø·¡ÀÇ ÄÄÇ»ÆÃ ¸®¼Ò½ºÀÇ ¼ö·Î µÇµ¹¸®´Â °Íµµ °¡´ÉÇØÁ³´Ù. À̸¦ Å¬¶ó¿ìµå ÄÄÇ»ÆÃ ¸®¼Ò½ºÀÇ ¼öÆò È®À强(horizontal scalability)À̶ó°í ÇÑ´Ù.

¿ÂÇÁ·¹¹Ì½º ÄÄÇ»ÆÃ È¯°æÀ̶ó¸é Æ®·¡ÇÈ »óȲ¿¡¼­ ¸Å¿ì ¹«°Ì°í °ø°£À» ¸¹ÀÌ Â÷ÁöÇϴ ¼­¹ö ·¢À» ±ä±ÞÇϰԠ±¸¸ÅÇÒ ¼öµµ ¾ø°í, ¼³»ç ¼­¹ö¸¦ Áõ¼³Çß´Ù ÇÏ´õ¶óµµ ºñ»ó »óȲÀÌ ³¡³­ ÀÌÈÄ ½±»ç¸® µÇÆÈ ¼öµµ ¾ø´Ù. ±×·¯¹Ç·Î Å¬¶ó¿ìµå ÄÄÇ»ÆÃÀÇ ¼öÆò È®À强Àº ¿ÂÇÁ·¹¹Ì½º ÄÄÇ»ÆÃ¿¡ ºñÇØ È®½ÇÇÑ ºñ±³¿ìÀ§¸¦ °¡Áö°í ÀÖ´Ù. ¼öÆò È®À强 °³³äÀ¸·Î ÀÎÇØ »ç¿ëÀÚµéÀº È®Àå °¡´É¼ºÀ» ¿°µÎ¿¡ µÐ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇϱ⠽ÃÀÛÇß°í, ²÷ÀÓ¾øÀÌ ´õ ³ôÀº ´Ü°èÀÇ È®À强À» Ãß±¸Çϸç ÄÁÅ×À̳ʠ±â¹Ý ¼­ºñ½º ¹× ¸¶ÀÌÅ©·Î ¼­ºñ½º(microservice) µîÀÇ °³³äÀ̠ź»ýÇß´Ù.

¼±¾ðÇü laC µµ±¸ÀÇ Çʿ伺
Áö±Ý±îÁö ¾ð±ÞÇÑ °Í󷳠Ŭ¶ó¿ìµå ÀÎÇÁ¶ó °ü¸®´Â ´Ù¾çÇÑ Á¾·ùÀÇ ÀÎÇÁ¶ó ¸®¼Ò½º¸¦ µ¿½Ã¿¡ ´ë±Ô¸ð·Î °ü¸®ÇؾߠÇϹǷÎ, ¼­ºñ½º°¡ ¼ºÀåÇÒ¼ö·Ï ¼öµ¿À¸·Î °ü¸®Çϱ⿡´Â ¹«¸®°¡ µû¸¥´Ù. Æ¯È÷ ÀÎÇÁ¶óÀÇ ±Ô¸ð¿Í º¹Àâµµ¸¸ Áõ°¡Çϴ °ÍÀÌ ¾Æ´Ï¶ó, À̸¦ °ü¸®Çϴ °ü¸®ÀÚÀÇ ¼öµµ ´Ã¾î³ª¸ç ÀÚ¿¬½º·´°Ô Çù¾÷¿¡ ´ëÇÑ ¾ÈÀü¼ºÀÌ È®º¸µÇ¾î¾ß ÇÑ´Ù. À̰ÍÀÌ IaC µµ±¸¿¡ ¼±¾ðÇü(declarative) ÆÐ·¯´ÙÀÓÀÌ »ç¿ëµÇ±â ½ÃÀÛÇÑ ÀÌÀ¯´Ù.

¼±¾ðÇü ÆÐ·¯´ÙÀÓÀº ¸í·ÉÇü ÆÐ·¯´ÙÀÓ°ú ¹Ý´ë·Î ÇÁ·Î±×·¥À̳ª ½Ã½ºÅÛÀÇ »óŰ¡ ¡®¾î¶»°Ô¡¯ ±¸¼ºµÇ¾î¾ß ÇÏ´ÂÁö¸¦ ¹Ì¸® ¡®¼±¾ð¡¯Çϴ ¹æ½ÄÀ» ÃëÇÑ´Ù. IaC µµ±¸¸¦ ¼±¾ðÇüÀ¸·Î ¸¸µé¸é »ç¿ëÀڴ ÇൿÀ» Äڵ忡 ÀÛ¼ºÇϴ °ÍÀÌ ¾Æ´Ï¶ó ÀÎÇÁ¶ó ¸®¼Ò½º¿Í ¸®¼Ò½º »çÀÌÀÇ °ü°è¸¦ ÀÛ¼ºÇϰԠµÈ´Ù.

¼±¾ðÇü IaC µµ±¸¿¡¼­ ÀÎÇÁ¶ó ¸®¼Ò½ºÀÇ »óÅ º¯°æÀÌ ÇÊ¿äÇÑ °æ¿ì, »óÅ º¯°æ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇϴ °ÍÀÌ ¾Æ´Ï¶ó ¸®¼Ò½ºÀÇ ±â´ë »óÅÂ(desired status)¸¦ º¯°æÇϴ °ÍÀ¸·Î ¸ñÀûÀ» ´Þ¼ºÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ÇöÀç ÀÎÇÁ¶ó ÇÁ·ÎºñÀú´× »óÅ¿͠ÄÚµåÀÇ ±â´ë »óŰ¡ °°´Ù¸é, ÀÎÇÁ¶óÀÇ »óÅ º¯°æÀº ÀϾÁö ¾Ê´Â´Ù. À̹̠Äڵ尡 ±â´ëÇϴ »óŸ¦ ½ÇÁ¦ ÀÎÇÁ¶ó°¡ ¸¸Á·Çϱ⠶§¹®ÀÌ´Ù.

±×·¯¹Ç·Î À̠å¿¡¼­ ÁַΠÀ̾߱âÇÒ Å×¶óÆûÀ» Æ÷ÇÔÇÑ ¼±¾ðÇü IaC µµ±¸¿¡¼­´Â »óÅ º¯°æ ¿¬»êÀ» ¿©·¯ ¹ø ¹Ýº¹ÇØ ¼öÇàÇÏ´õ¶óµµ ÇØ´ç ¿¬»êÀ» µü ÇÑ ¹ø ¼öÇàÇßÀ» ¶§¿Í µ¿ÀÏÇÑ ÀÎÇÁ¶ó »óŸ¦ À¯ÁöÇÑ´Ù. ¼öÇÐÀ̳ª ÄÄÇ»ÅÍ °úÇп¡¼­´Â ÀÌ·¸°Ô ¹Ýº¹ ¿¬»ê¿¡µµ °á°ú°¡ ´Þ¶óÁöÁö ¾Ê´Â ¼ºÁúÀ» ¸èµî¼ºÀÌ ÀÖ´Ù(idempotent)¶ó°í ¸»ÇÑ´Ù. À̴ ¸í·ÉÇü ÆÐ·¯´ÙÀÓ¿¡¼­´Â ´Þ¼ºÇϱ⠾î·Á¿î ¼±¾ðÇü IaC µµ±¸ÀÇ Áß¿ä Æ¯Â¡ÀÌ´Ù.

¶ÇÇÑ ÀÎÇÁ¶ó ¸®¼Ò½ºº° ±â´ë »óŸ¦ Äڵ忡 ±â¼úÇϴ ¹æ½ÄÀ̹ǷΠÇü»ó°ü¸® ½Ã °¡Àå ÃÖ±Ù Ä¿¹ÔÀ» º¸±â¸¸ Çصµ ÇöÀç ÀÎÇÁ¶óÀÇ »óŸ¦ Àß ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ÀÎÇÁ¶óÀÇ ÀüüÀûÀΠ¸ð½ÀÀÌ ½Ã°£¼øÀ¸·Î ¾î¶»°Ô º¯°æµÇ¾î ¿Ô´ÂÁö ¸Æ¶ôÀ» Àß ÆÄ¾ÇÇÒ ¼ö ÀÖÀ¸¸ç, Àå¾Ö »óȲ¿¡¼­ ÀÌÀü Ä¿¹ÔÀ¸·Î ½±°Ô ·Ñ¹éÇÏ¿© ÇÁ·ÎºñÀú´×ÇÒ ¼ö ÀÖ´Ù.

¿ì¸®´Â ¿Ö Å×¶óÆûÀ» ¾²´Â°¡?
IaC µµ±¸´Â ¿ì¼±¼øÀ§¿¡ µû¶ó ³ª¿­µÈ ´ÙÀ½°ú °°Àº Æ¯¼ºÀ» °¡Á®¾ß ÇÑ´Ù.
1) ÇØ´ç µµ±¸ÀÇ ÀÎÇÁ¶ó °ü¸® ¹æ½ÄÀÌ ¼±¾ðÇü ÆÐ·¯´ÙÀÓÀ» µû¶ó¾ß ÇÑ´Ù.
2) ÃÖ¼Ò AWS, Äí¹ö³×Ƽ½º, Ç︧À» Æ÷ÇÔÇÑ ´Ù¾çÇÑ ÇÁ·Î¹ÙÀÌ´õ¸¦ Á¦°øÇؾߠÇÑ´Ù.
3) ÇØ´ç µµ±¸ÀÇ ½ºÅ©¸³Æ® ¾ð¾î°¡ ¼±¾ðÇü ÆÐ·¯´ÙÀÓÀ» µû¶ó¾ß ÇÑ´Ù.

¼±¾ðÇü ÀÎÇÁ¶ó °ü¸®
Å×¶óÆûÀº ÀüÇüÀûÀΠ¼±¾ðÇü laC µµ±¸·Î, ¸®¼Ò½º¿¡ ´ëÇÑ ¸í·ÉÀÌ ¾Æ´Ñ ¸®¼Ò½ºÀÇ »óŸ¦ ¼±¾ðÇϴ ÇüÅ·Π½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù. ±×¸®°í ¸èµî¼ºÀ» º¸ÀåÇϱâ À§ÇØ ÇöÀç ÀÎÇÁ¶óÀÇ ÇÁ·ÎºñÀú´× »óŸ¦ ½ºÄµÇÏ¿© Å×¶óÆû »óÅÂ(Terraform states)ÀÇ ÇüÅ·ΠÀúÀåÇϸç, ÄÚµåÀÇ ±â´ë »óÅ¿͠ºñ±³ÇÑ´Ù. ¸¸¾à Å×¶óÆû »óŰ¡ ±â´ë »óÅ¿͠´Ù¸£´Ù¸é ÇöÀ砻󟦠±â´ë »óÅ¿¡ ¸Â°Ô º¯°æÇÑ µÚ Å×¶óÆû »óŸ¦ °»½ÅÇÑ´Ù. ¸¸¾à Å×¶óÆû »óŰ¡ ±â´ë »óÅ¿͠°°´Ù¸é, ¾Æ¹«·± Çൿµµ ÇÏÁö ¾Ê´Â´Ù.

´Ù¾çÇÑ ÇÁ·Î¹ÙÀÌ´õ
¿ì¸®´Â IaC µµ±¸¸¦ »ç¿ëÇÏ¿© ÁַΠAWS ÀÎÇÁ¶ó¸¦ °ü¸®ÇϰíÀÚ ÇÑ´Ù. ¿©±â¿¡ ´õÇØ, EKS(Elastic Kubernetes Service)·Î ÇÁ·ÎºñÀú´×µÇ´Â Äí¹ö³×Ƽ½º Å¬·¯½ºÅÍÀÇ ºÒº¯(immutable) ¸®¼Ò½º¸¦ °ü¸®Çϱâ À§ÇØ Äí¹ö³×Ƽ½º³ª Ç︧ µîÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ Áö¿øÇؾߠÇÑ´Ù. ÁַΠAWS¸¦ »ç¿ëÇÑ´Ù ÇÏ´õ¶óµµ, ºñÁî´Ï½º È®Àå¿¡ µû¸¥ ¿ä±¸»çÇ× ¸¸Á·À» À§ÇØ ¿©·¯ °³ÀǠŬ¶ó¿ìµå ÇÁ·Î¹ÙÀÌ´õ, ´õ ³ª¾Æ°¡ ¿ÂÇÁ·¹¹Ì½º »ç¿ë¿¡ ´ëÇÑ ´ëºñµµ ÇÊ¿äÇÏ´Ù. ¿¹¸¦ µé¸é ºÎºÐÀûÀΠ¸ÖƼ Å¬¶ó¿ìµå È¯°æÀ» ±¸¼ºÇϴ °Íµµ ¸Å¿ì °¡´É¼ºÀÌ ³ôÀº ½Ã³ª¸®¿À´Ù. µ¥ÀÌÅÍ ¿þ¾îÇϿ콺(data warehouse)¸¦ µµÀÔÇØ¾ß ÇÒ °æ¿ì ¾Æ¸¶Á¸ ·¹µå½ÃÇÁÆ®(Amazon Redshift)¸¦ »ç¿ëÇϱ⺸´Ù´Â °æ¿µÁøÀÇ ÀǰßÀ̳ª µ¥ÀÌÅÍ ºÐ¼®À» ½ÇÁ¦·Î ¼öÇàÇϴ ÆÀ¿øÀÇ Àǰ߿¡ µû¶ó ±¸±Û ºòÄõ¸®(Google BigQuery)³ª ½º³ë¿ìÇ÷¹ÀÌÅ©(Snowflake)¸¦ »ç¿ëÇØ¾ß ÇÒ ¼öµµ ÀÖ´Ù.

Å×¶óÆûÀº À§¿¡¼­ ¾ð±ÞÇÑ ¸ðµç ¼­ºñ½º¿¡ ´ëÇÑ ÇÁ·Î¹ÙÀÌ´õ¸¦ Á¦°øÇϸç, Çö ½ÃÁ¡¿¡¼­ ½º³ë¿ìÇ÷¹ÀÌÅ©¸¦ Á¦¿ÜÇÑ ¸ðµç ÇÁ·Î¹ÙÀÌ´õ°¡ ¼­µåÆÄƼ°¡ ¾Æ´Ñ °ø½Ä Å×¶óÆû ÇÁ·Î¹ÙÀÌ´õ·Î Á¦°øµÈ´Ù. À§¿¡ ¾ð±ÞÇÑ ÇÁ·Î¹ÙÀÌ´õ»Ó¸¸ ¾Æ´Ï¶ó DNS, HTTP, TLS µî ÀüÅëÀûÀΠ³×Æ®¿öÅ© ±â¼ú¿¡ ´ëÇÑ ÇÁ·Î¹ÙÀÌ´õ¿Í ±¸±Û ¿öÅ©½ºÆäÀ̽º(Google Workspace), ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ¾×Ƽºê µð·ºÅ͸®(Active Directory, AD), VMWare vSphere µî ±²ÀåÈ÷ ´Ù¾çÇÑ Á¾·ùÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ °ø½ÄÀ¸·Î Á¦°øÇϸç, ´õ ³ÐÀº ¹üÀ§ÀÇ ¼­µåÆÄƼ ÇÁ·Î¹ÙÀÌ´õµµ Á¦°øÇϰí ÀÖ´Ù.


Å×¶óÆû ±âº»
Å×¶óÆû ÀÛµ¿ ¹æ½Ä
Å×¶óÆû ÇÁ·ÎÁ§Æ® ±¸Á¶
¿ì¼± Å×¶óÆû ÇÁ·ÎÁ§Æ®°¡ ¾î¶»°Ô ±¸¼ºµÇ´ÂÁö »ìÆìº¸ÀÚ. °¡Àå ¸ÕÀú, ÀÎÇÁ¶óÀÇ ±â´ë »óŸ¦ HCL·Î ±â¼úÇÑ ÆÄÀÏÀ» ±¸¼º ÆÄÀÏ(configuration file)À̶ó°í ÇÑ´Ù. ÀÌ ÆÄÀÏÀº ¾î¶² ÀÎÇÁ¶ó ¸®¼Ò½º°¡ ÇÁ·ÎºñÀú´×µÇ¾î¾ß ÇÏ´ÂÁö, °¢ ¸®¼Ò½º´Â ¾î¶² ¼³Á¤°ªÀ» °¡Á®¾ß ÇÏ´ÂÁö ¼±¾ðÇϱâ À§ÇØ ¾²À̸ç, ÀÎÇÁ¶ó ±¸¼º Àǵµ°¡ ´ã°Ü Àִ Å×¶óÆûÀÇ ÇÙ½ÉÀÌ´Ù. È®ÀåÀڴ ÀϹÝÀûÀ¸·Î .tf¸¦ °¡Áö¸ç, ÇϳªÀÇ µð·ºÅ͸® ¾È¿¡ ¿©·¯ °³ÀÇ ±¸¼º ÆÄÀÏÀ» µÑ ¼ö ÀÖ´Ù. À̠å¿¡¼­´Â ¼³¸íÀÇ ÆíÀÇ»ó Å×¶óÆû ÄÚµå¶ó°íµµ ºÎ¸¦ °ÍÀÌ´Ù.

±¸¼º ÆÄÀÏÀ» ´ã°í Àִ µð·ºÅ͸®¿¡¼­ Å×¶óÆû ÃʱâÈ­ ¸í·É(terraform init)À» ¼öÇàÇϸé ÁÖ¿ä Å×¶óÆû ¸í·ÉÀ» ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇÊ¿äÇÑ ¼³Á¤ÀÌ ÁøÇàµÈ´Ù. ÀÌ·¸°Ô ÃʱâÈ­°¡ ¿Ï·áµÈ µð·ºÅ͸®¸¦ ·çÆ® ¸ðµâÀ̶ó°í ÇÑ´Ù. ·çÆ® ¸ðµâ ¾È¿¡´Â ÃʱâÈ­ ÀÌÈÄ .terraform µð·ºÅ͸®°¡ »ý¼ºµÇ¸ç, ÀÌ µð·ºÅ͸®¿¡ µÚ¿¡ ¾ð±ÞÇÒ ÇÁ·Î¹ÙÀÌ´õ¿Í ¸ðµâÀÌ ÀúÀåµÇ´Â µî Å×¶óÆû ¸í·É ½ÇÇà¿¡ Áß¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù. »ç¿ëÀڴ ÀÌ ·çÆ® ¸ðµâ¿¡¼­ Å×¶óÆû ¸í·ÉÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ·çÆ® ¸ðµâÀ» ½ÇÇà È¯°æ(execution environment)À̶ó°íµµ ºÎ¸¦ ¼ö ÀÖ´Ù. À̠å¿¡¼­´Â Æ¯º°ÇÑ ¾ð±ÞÀÌ ¾ø´Ù¸é µÎ ¿ë¾î¸¦ °°Àº ¶æÀ¸·Î »ç¿ëÇÒ °ÍÀÌ´Ù. ½ÇÇà È¯°æ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »çÇ×Àº 3ºÎ¿¡¼­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
ÃæºÐÇÑ AWS ±ÇÇÑÀÌ Àִ »óÅ·Π·çÆ® ¸ðµâ¿¡¼­ »óÅ µ¿±âÈ­°¡ ¼ö¹ÝµÇ´Â Ç÷¡´×, ¹Ý¿µ µîÀÇ ¸í·ÉÀ» ½ÇÇàÇϸé, Å×¶óÆûÀÌ Äڵ忡 Á¤ÀÇÇÑ ¸®¼Ò½º¿¡ µû¸¥ ½ÇÁ¦ ÀÎÇÁ¶ó ¸®¼Ò½º¸¦ Àоîµé¿© JSON Çü½ÄÀÇ Å×¶óÆû »óÅ·ΠÀúÀåÇÑ´Ù. ÀÌ·¸°Ô ÀúÀåµÈ JSON Çü½ÄÀÇ ÆÄÀÏÀ» »óÅ ÆÄÀÏ(state file)À̶ó°í Çϸç, È®ÀåÀڷΠ.tfstate¸¦ °¡Áø´Ù.

»óÅ ÆÄÀÏÀº ÇÑ ½ÇÇà È¯°æ ¾È¿¡ Çϳª¸¸ °¡Áú ¼ö ÀÖÀ¸¸ç, º°µµÀÇ ¼³Á¤À» ÇÏÁö ¾ÊÀ¸¸é terraform. tfstateÀÇ À̸§À¸·Î ·çÆ® ¸ðµâ ÃÖ»óÀ§¿¡ »ý¼ºµÈ´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ ¹æ½ÄÀº ½Ç¹«»ó ±ÇÀåÇÏÁö ¾ÊÀ¸¸ç, S3 µîÀÇ »óÅ ¹é¿£µå¸¦ ¼³Á¤Çϱ⸦ ±ÇÀåÇÑ´Ù. »óÅ ¹é¿£µå¸¦ ¼³Á¤Çϸ頻óÅ ÆÄÀÏÀÌ ·ÎÄàȯ°æÀÌ ¾Æ´Ñ S3 µîÀÇ ¸®¸ðÆ® ½ºÅ丮Áö¿¡ ÀúÀåµÇ¸ç .terraform µð·ºÅ͸® ¾È¿¡ »óÅ ¹é¿£µå¿¡ ´ëÇÑ Á¤º¸°¡ ÀúÀåµÈ´Ù. »óÅ ¹é¿£µå¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Àý¿¡¼­ ¼³¸íÇÑ´Ù.

Å×¶óÆû »óÅÂÀÇ ¿ªÇÒ
¾Õ¼­ Å×¶óÆûÀ» ÅëÇÑ ÀÎÇÁ¶ó °ü¸®¿¡¼­ °ü¸®ÇؾߠÇÒ ¼¼ °¡Áö »óÅÂ, Áï ¡®±â´ë »óÅ¡¯, ¡®Å×¶óÆû »óÅ¡¯, ¡®½ÇÁ¦ ÀÎÇÁ¶ó »óÅ¡¯°¡ Å×¶óÆûÀÇ ÇÁ·ÎÁ§Æ® ±¸Á¶¿¡ ¾î¶»°Ô Ç¥ÇöµÇ´ÂÁö »ìÆìº¸¾Ò´Ù. ¿ä¾àÇÏÀÚ¸é Å×¶óÆû Äڵ带 ÅëÇØ ±â´ë »óŸ¦ ¼±¾ðÇϰí, »óÅ µ¿±âÈ­°¡ ÀϾ´Â Å×¶óÆû ¸í·ÉÀ» ÅëÇØ Å×¶óÆû »óŸ¦ ½ÇÁ¦ ÀÎÇÁ¶ó ¸®¼Ò½º·ÎºÎÅÍ ÀоîµéÀδÙ.

Å×¶óÆûÀÌ ÀÎÇÁ¶ó °ü¸® µµ±¸·Î¼­ Àǹ̸¦ °¡Áö·Á¸é ¾Õ¼­ Àоî¿Â ½ÇÁ¦ ¸®¼Ò½ºÀÇ »óÅ¿͠±â´ë »óŸ¦ ºñ±³ÇÏ¿© ±â´ë »óŸ¦ ÀÎÇÁ¶ó¿¡ ¹Ý¿µÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀÏ´Ü »óÅ ºñ±³¸¦ ÅëÇØ ÀÎÇÁ¶ó¿¡ ¾î¶² Á¶ÀÛÀ» °¡ÇؾߠÇÒÁö °áÁ¤ÀÌ ³ª¸é, ½ÇÁ¦·Î Á¶ÀÛÀ» °¡Çϱâ À§Çؼ­´Â °¢ Å¬¶ó¿ìµå Á¦°øÀÚ, Áï ÇÁ·Î¹ÙÀÌ´õ¿¡¼­ Á¦°øÇϴ API¸¦ ¿Ã¹Ù¸¥ ¼ø¼­´ë·Î È£ÃâÇϸ頵ȴÙ. ±×·¸´Ù¸é ½ÇÁ¦ »óÅ¿͠±â´ë »óÅÂÀÇ Â÷À̷κÎÅÍ ¾î¶² ÀÎÇÁ¶ó Á¶ÀÛÀ» ÇؾߠÇÏ´ÂÁö ¾î¶»°Ô ¿Ã¹Ù¸£°Ô À¯µµÇÒ ¼ö ÀÖÀ»±î? ¶ÇÇÑ ÀÎÇÁ¶ó ¹Ý¿µ °úÁ¤¿¡¼­ ¾î¶»°Ô ¸èµî¼ºÀ» º¸ÀåÇÒ ¼ö ÀÖÀ»±î? ¹Ù·Î Å×¶óÆû »óŰ¡ ÀÌ ¸ñÇ¥¸¦ ´Þ¼ºÇϴ µ¥ Áß¿äÇÑ ¿ªÇÒÀ» Çϴ ±¸¼º ¿ä¼Ò´Ù.

- ±â´ë »óÅ¿͠½ÇÁ¦ ÀÎÇÁ¶ó ¸®¼Ò½ºÀÇ ¸ÅÇÎ
Å×¶óÆû »óÅÂÀÇ ¿ªÇÒÀº ¿©·¯ °¡Áö°¡ ÀÖÁö¸¸, ÁֵȠ¸ñÀûÀº Å×¶óÆû Äڵ忡 Á¤ÀÇÇÑ ¸®¼Ò½º¿Í ½ÇÁ¦ ÀÎÇÁ¶ó ¸®¼Ò½ºÀÇ ¸ÅÇο¡ ÀÖ´Ù. Áï Å×¶óÆûÀ¸·Î EC2 ÀνºÅϽº 100°³¸¦ ÇÁ·ÎºñÀú´×ÇÑ´Ù¸é, °¢°¢ÀÇ EC2 ÀνºÅϽº¸¦ ¼±¾ðÇÑ Å×¶óÆû ÄÚµåÀÇ ¸®¼Ò½º¿Í ½ÇÁ¦ EC2 ÀνºÅϽºÀÇ ID¸¦ Å×¶óÆû »óŸ¦ ÅëÇØ ¸ÅÇÎÇϴ °ÍÀÌ´Ù. ¸®¼Ò½º ¸ÅÇÎÀ» ÅëÇØ Å×¶óÆû Äڵ忡 Á¤ÀǵȠ¸®¼Ò½º Çϳª°¡ Á¤È®È÷ ÇÑ °³ÀÇ ½ÇÁ¦ ÀÎÇÁ¶ó ¸®¼Ò½º¸¦ ¹Ù¶óº¸°Ô µÇ¸ç, ºñ½ÁÇÑ Á¾·ùÀÇ ¸®¼Ò½º°¡ ÇÁ·ÎºñÀú´×µÈ »óȲ¿¡¼­µµ ¸ðÈ£ÇÔ ¾øÀÌ ¼öÁ¤ ¹× »èÁ¦ ¿¬»êÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù.

- Å×¶óÆûÀ» ÅëÇÑ °ü¸® ´ë»ó ¸í½ÃÀû ÁöÁ¤
Å×¶óÆû »óÅ¿¡ ¸®¼Ò½º ¸ÅÇÎÀ̶ó´Â ÁֵȠ±â´É ¿Ü¿¡µµ, ½ÇÁ¦ »óÅ¿͠±â´ë »óÅÂÀÇ Â÷À̷κÎÅÍ ÇÊ¿äÇÑ Á¶ÀÛÀÇ ¸ñ·ÏÀ» ¿Ã¹Ù¸£°Ô ¾ò¾î³»±â À§Çؼ­ ¹Ýµå½Ã ÇÊ¿äÇÑ ±â´ÉÀÌ ÀÖ´Ù. ¹Ù·Î ¾î¶² ÀÎÇÁ¶ó ¸®¼Ò½º°¡ Å×¶óÆûÀ» ÅëÇÑ °ü¸® ´ë»óÀÎÁö ÁöÁ¤Çϴ °ÍÀÌ´Ù. Å×¶óÆûÀº »óÅ µ¿±âÈ­¸¦ ÇÒ ¶§, ¿ì¼± Å×¶óÆû Äڵ忡 Á¸ÀçÇϴ ¸®¼Ò½º¸¶´Ù ÇϳªÇϳª Å×¶óÆû »óÅ¿¡ ÀúÀåÇϰí, ÀÌ Å×¶óÆû »óŸ¦ ÃÖ¼Ò ´ÜÀ§·Î ÇÏ¿© ½ÇÁ¦ ÀÎÇÁ¶óÀÇ »óŸ¦ ÀоîµéÀδÙ.

- ¸®¼Ò½º Á¶ÀÛ ¼ø¼­¿Í ÀÇÁ¸¼º ÁöÁ¤
Å×¶óÆû »óÅÂÀÇ ¸®¼Ò½º ¸ÅÇΰú °ü¸® ´ë»ó ÁöÁ¤À» ÅëÇØ ¾î¶² ¸®¼Ò½º¿¡ ¾î¶² ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÏ´ÂÁö °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÀÎÇÁ¶ó ¹Ý¿µ ÀÛµ¿À» Á¤È®ÇϰԠ¼öÇàÇϱâ À§Çؼ­´Â ¾î¶² ¼ø¼­·Î ¸®¼Ò½º¸¦ Á¶ÀÛÇØ¾ß ÇÏ´ÂÁöµµ ¾Ë ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î AWS VPC°¡ Á¸ÀçÇϰí VPC ¾Æ·¡¿¡ ¼­ºê³ÝÀÌ Á¸ÀçÇÑ´Ù¸é VPC¸¦ ¸ÕÀú »ý¼ºÇÏ°í ¼­ºê³ÝÀ» »ý¼ºÇؾߠÇÑ´Ù. ¹Ý´ë·Î µÎ ¸®¼Ò½º¸¦ »èÁ¦ÇÏ°í ½Í´Ù¸é ¼­ºê³ÝÀ» ¸ÕÀú »èÁ¦Çϰí VPC¸¦ »èÁ¦ÇؾߠÇÑ´Ù. ±×·¯¹Ç·Î ÀÎÇÁ¶ó ¹Ý¿µ ´Ü°è¿¡¼­ ¸®¼Ò½º¸¦ ¿Ã¹Ù¸¥ ¼ø¼­·Î Á¶ÀÛÇϱâ À§ÇØ »óÅ µ¿±âÈ­ °úÁ¤¿¡¼­ ´ÙÀ½¿¡ ¿­°ÅÇÑ Á¾·ùÀÇ ÀÇÁ¸¼ºÀ» Å×¶óÆû »óÅ¿¡ ÀúÀåÇÑ´Ù.

1) Å×¶óÆû Äڵ忡¼­ ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÑ ÀÇÁ¸¼ºÀ¸·Î ¸®¼Ò½º, ¸ðµâ, ÇÁ·Î¹ÙÀÌ´õ ¸ðµÎ ÇØ´ç
2) Å×¶óÆû ÇÁ·Î¹ÙÀÌ´õ¿¡¼­ ÂüÁ¶(reference)¸¦ ÅëÇØ ¾Ï½ÃÀûÀ¸·Î Ãß·ÐÇÑ ÀÇÁ¸¼º

Å×¶óÆû ±âº» ¹®¹ý
¹Ýº¹¹®
Å×¶óÆû¿¡¼­ ¸®¼Ò½º¸¦ ¿©·¯ ¹ø »ý¼ºÇϱâ À§ÇÑ ¹Ýº¹¹®Àº count ¶Ç´Â for_each¶ó´Â ¸ÞŸÀμö¸¦ ÅëÇØ ¸¸µé ¼ö ÀÖ´Ù. HCL¿¡¼­ ¸ÞŸÀμö(meta-argument)´Â ¸ðµç Å¸ÀÔÀÇ ¸®¼Ò½º¿¡¼­ »ç¿ëÇÒ ¼ö Àִ Ư¼öÇÑ Àμö¸¦ ¸»ÇÑ´Ù. µÎ ¸ÞŸÀμö´Â ¼­·Î ´Ù¸¥ »ç¿ë »ç·Ê¿Í ÀåÁ¡À» °¡Áö°í ÀÖÁö¸¸, À̠å¿¡¼­´Â for_each »ç¿ëÀ» ±ÇÀåÇÒ °ÍÀÌ´Ù. °¢ ¸ÞŸÀμöÀÇ »ç¿ë¹ý°ú for_each¸¦ ´õ ±ÇÀåÇϴ ÀÌÀ¯¿¡ ´ëÇØ¼­ °°ÀÌ »ìÆìº¸µµ·Ï ÇÏÀÚ.

- count »ç¿ë¹ý
count´Â Á¤¼ö¸¦ ¸Å°³º¯¼ö·Î ¹Þ¾Æ, ÇØ´ç Á¤¼öÀÇ °ª¸¸Å­ ¸®¼Ò½º¸¦ ¹Ýº¹ »ý¼ºÇÑ´Ù. ÀÌ ¹æ¹ýÀº ÁַΠµ¿ÀÏÇÑ ¼³Á¤À» °¡Áø ¸®¼Ò½º¸¦ ¿©·¯ °³ »ý¼ºÇÒ ¶§ »ç¿ëÇÑ´Ù.

- for_each »ç¿ë¹ý
for_each´Â ¸Ê(map)À̳ª ÁýÇÕ(set) µ¥ÀÌÅÍ À¯ÇüÀ» ¸Å°³º¯¼ö·Î ¹Þ¾Æ, °¢ µ¥ÀÌÅ͸¦ ¼øÈ¸ÇÏ¿© ¸®¼Ò½º¸¦ »ý¼ºÇÑ´Ù. for_each¸¦ »ç¿ëÇϴ ÁֵȠÀÌÀ¯´Â ¸®¼Ò½º °ü¸®ÀÇ À¯¿¬¼º°ú ¸íÈ®¼º ¶§¹®ÀÌ´Ù. ´ÙÀ½°ú °°Àº ¿¹½Ã¸¦ ÇÑ ¹ø »ý°¢Çغ¸ÀÚ. ¿ì¸®´Â À©µµ¿ì ¼­¹ö ÇÑ ´ë, ¸®´ª½º ¼­¹ö ÇÑ ´ë¸¦ »ý¼ºÇؾߠÇÑ´Ù. µÎ ¼­¹ö´Â »ç¿ëÇØ¾ß Çϴ AMIµµ, CPU¿Í ¸Þ¸ð¸® ¿ä±¸»çÇ×, Áï »ç¿ëÇØ¾ß Çϴ ÀνºÅϽº Å¸ÀÔµµ ´Ù¸£´Ù. ÀÌ µÎ ¼­¹ö°¡ °¡Á®¾ß Çϴ ¼³Á¤°ªÀº Á¤¼öÀΠÀ妽º°ªÀ¸·Î ±¸ºÐÇÒ ¼ö ¾ø´Ù. µû¶ó¼­ °¢ ¼­¹ö¿¡ ÇÊ¿äÇÑ ¿É¼Ç°ªµéÀº °á±¹ °¢°¢ ¸í¼¼ÇØÁÙ Çʿ䰡 ÀÖ´Ù. for_each¿¡ ¸Ê Å¸ÀÔÀÇ °ªÀ» ÀÔ·ÂÀ¸·Î ³Ö¾î µÎ ´ëÀÇ ¼­¹ö¸¦ °¢°¢ ¿øÇϴ ½ºÆåÀ¸·Î »ý¼ºÇϴ Äڵ带 »ìÆìº¸ÀÚ.

- for_each »ç¿ëÀ» ±ÇÀåÇϴ ÀÌÀ¯
¹Ýº¹¹®¿¡¼­ for_each¸¦ ±ÇÀåÇϴ °¡Àå Å« ÀÌÀ¯´Â ¸®¼Ò½º ÁÖ¼ÒÀÇ °¡µ¶¼ºÀÌ °³¼±µÇ°í, Àǹ̰¡ ÈξÀ ¸íÈ®ÇØÁö±â ¶§¹®ÀÌ´Ù. ¾Õ¿¡¼­µµ ¼³¸íÇßÁö¸¸, count¸¦ »ç¿ëÇϴ °æ¿ì¿¡´Â aws_instance.this[0]À¸·Î Ç¥½ÃµÇ°í, for_each¸¦ »ç¿ëÇϴ °æ¿ì¿¡´Â aws_instance.this[¡°windows¡±]·Î Ç¥½ÃµÈ´Ù. ÀüÀÚÀÇ °æ¿ì´Â ¸®¼Ò½º ºí·Ï À̸§¸¸À¸·Î ÇØ´ç ¸®¼Ò½ºÀÇ ¸ñÀûÀ» ¾Ë±â ½±Áö ¾Ê´Ù. ¶ÇÇÑ ¼­·Î ´Ù¸¥ ¸®¼Ò½º³¢¸® ÂüÁ¶ÇؾߠÇϴ °æ¿ì ´õ¿í ºÒÆíÇØÁø´Ù.

for_each¸¦ ±ÇÀåÇϴ µÎ ¹øÂ° ÀÌÀ¯´Â ¸®½ºÆ® Å¸ÀÔÀÇ °ªÀ» ´Ù·ê ¶§ Ä¡¸íÀûÀΠ½Ç¼ö°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ Àֱ⠶§¹®ÀÌ´Ù. ¾Õ¿¡¼­ »ç¿ë ¿¹½Ã¸¦ Á¦½ÃÇÑ °Íó·³, ½ÇÁ¦ ¾÷¹« È¯°æ¿¡¼­ count¸¦ »ç¿ëÇÒ ¶§ ´Ü¼øÈ÷ Á¤¼ý°ª¸¸ ³Ñ±â´Â ÀÏÀº ¸¹Áö ¾Ê´Ù. º¸Åë ¸®½ºÆ® º¯¼ö¿¡¼­ ¿øÇϴ °ªµéÀ» ´ã°í, ÇØ´ç ¸®½ºÆ®ÀÇ ±æÀ̸¦ °è»êÇØ count¸¦ »ç¿ëÇϰԠµÈ´Ù. À̶§ °£°úÇϱ⠽¬¿î ÁöÁ¡ÀÌ, ¸®½ºÆ®¿¡´Â ¼ø¼­°¡ Àִٴ Á¡ÀÌ´Ù.

Á¶°Ç¹®
Å×¶óÆû¿¡¼­ Á¶°ÇºÎ ·ÎÁ÷À» Ã³¸®Çϱâ À§Çؼ­ ±âº»ÀûÀ¸·Î »ïÇ× ¿¬»êÀ» »ç¿ëÇÑ´Ù. ±×¸®°í ÀÌ »ïÇ× ¿¬»ê°ú count ¸ÞŸÀμö¸¦ Á¶ÇÕÇØ ÀÌ ¸®¼Ò½º¸¦ »ý¼ºÇÒÁö ¿©ºÎ µî ¸®¼Ò½º ´ÜÀ§ÀÇ Á¶°Ç¹®µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡ ´õÇØ ´ÙÀ½ Àý¿¡¼­ ´Ù·ê ¿¹Á¤ÀΠfor Ç¥Çö½Ä¿¡¼­´Â ¾Æ¿¹ if ±¸¹®µµ »ç¿ë °¡´ÉÇÏ´Ù. °¢ ¹æ¹ýÀ» »ìÆìº¸µµ·Ï ÇÏÀÚ.

- »ïÇ× ¿¬»êÀÚ
»ïÇ× ¿¬»êÀÚ(ternary operation)´Â ¸¹Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ À¯¿ëÇϰԠ»ç¿ëµÇ¸ç, Á÷Á¢ÀûÀΠÇüÅ·Π»ïÇ× ¿¬»êÀÌ Áö¿øµÇÁö ¾Ê´õ¶óµµ À¯»çÇÑ ÀÛµ¿À» Çϵµ·Ï ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.

Á¶°Ç ? ÂüÀÏ ¶§ÀÇ °ª : °ÅÁþÀÏ ¶§ÀÇ °ª

À̴ ƯÁ¤ Á¶°Ç¿¡ µû¸¥ º¯¼ö³ª ¸®¼Ò½ºÀÇ ¼³Á¤°ªÀ» °áÁ¤ÇÒ ¶§ À¯¿ëÇÏ´Ù.

µµ¼­ ¿ä¾à ¼­ºñ½º