»Ë»Ñ ´º½º

IT/Å×Å© ÀÔ´Ï´Ù.

  • ºÏ¸¶Å© ¾ÆÀÌÄÜ
IT/Å×Å© ¼Ò½ÄÀ» °øÀ¯ÇÏ´Â °ø°£ÀÔ´Ï´Ù. (»Ë»Ñ´º½º, Å×ũȦ¸¯ ±â»ç´Â Á¦ÈÞ¸¦ ÅëÇØ Á¦°ø¹Þ°í ÀÖ½À´Ï´Ù.)

[OSS 2018 Berlin] BMWÀÇ Zuul µµÀÔ »ç·Ê ¼Ò°³ ¼¼¼Ç

¿ÀǽºÅà Àç´Ü(OSF: OpenStack Foundation)Àº ÇöÁö ½Ã°¢ 11¿ù 13ÀϺÎÅÍ 15ÀϱîÁö µ¶ÀÏ º£¸¦¸° ½ÃƼťºê º£¸¦¸°(Citycube Berlin)¿¡¼­ ¡®¿ÀǽºÅà ¼­¹Ô º£¸¦¸°(OpenStack Summit Berlin)¡¯À» °³ÃÖÇß´Ù. À̹ø ¡®¿ÀǽºÅà ¼­¹Ô º£¸¦¸°¡¯Àº ¡®¿ÀÇ ÀÎÇÁ¶ó½ºÆ®·°Ã³(Open Infrastructure)¡¯¸¦ ±âÁ¶·Î, 35°³ ÀÌ»óÀÇ ÇÁ·ÎÁ§Æ®¿¡¼­ 200°³ ÀÌ»óÀÇ ¼¼¼Ç°ú ¿öÅ©¼¥µéÀÌ 50¿©°³ ±¹¿¡¼­ Âü¼®ÇÑ Àü¹®°¡ ¹× °ü°èÀÚµé°ú ÇÔ²² ÁøÇàµÇ¾ú´Ù.

À̹ø ¡®¿ÀǽºÅà ¼­¹Ô º£¸¦¸°¡¯Àº Ŭ¶ó¿ìµå »Ó ¾Æ´Ï¶ó ¿§Áö ÄÄÇ»ÆÃ, CI/CD, AI, ³×Æ®¿öÅ© °¡»óÈ­(NFV), ÄÁÅ×ÀÌ³Ê ÀÎÇÁ¶ó¿¡ À̸£±â±îÁö ´Ù¾çÇÑ ÇüÅÂÀÇ ¡®¿ÀÇ ÀÎÇÁ¶ó½ºÆ®·°Ã³¡¯¿¡¼­ÀÇ Çõ½Å ±â¼úµé°ú »ç·Êµé¿¡ ´ëÇØ ´Ù·ç¸ç, 35°³ ÀÌ»óÀÇ ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿¡¼­ 200°³ ÀÌ»óÀÇ ¼¼¼Ç°ú ¿öÅ©¼¥µéÀÌ ¸¶·ÃµÇ¾ú´Ù. ƯÈ÷ À̹ø ¼­¹ÔÀÌ ¿­¸®´Â µ¶ÀÏÀº ¿ÀǽºÅÃÀÌ °¡Àå È°¹ßÇÏ°Ô »ç¿ëµÇ´Â Áö¿ªÀ¸·Îµµ ²ÅÈ÷´Âµ¥, ´ëÇü Åë½Å»ç³ª ¿£ÅÍÇÁ¶óÀÌÁî, ÆÛºí¸¯ Ŭ¶ó¿ìµå ¼­ºñ½º »ç¾÷ÀÚµéÀÌ ¿ÀǽºÅà ±â¹Ý ȯ°æÀ» È°¹ßÈ÷ È°¿ëÇÏ°í ÀÖÀ¸¸ç, Ä¿¹Â´ÏƼ ±Ô¸ð¿Í È°µ¿ ¸é¿¡¼­µµ È°¹ßÇÑ ¸ð½ÀÀ» º¸ÀÌ´Â Áö¿ªÀ¸·Î ²ÅÈù´Ù.

À̹ø ¿ÀǽºÅà ¼­¹Ô º£¸¦¸°¿¡¼­, BMW´Â ÀÚ»çÀÇ ÀÚµ¿Â÷¿ë ¼ÒÇÁÆ®¿þ¾î °³¹ß ȯ°æ¿¡ ZuulÀ» Àû¿ëÇÑ »ç·Ê¸¦ ¼Ò°³Çß´Ù. ÃÖ±Ù ÀÚµ¿Â÷ÀÇ Àüµ¿È­ µîÀ¸·Î ¸¹Àº ECU¿Í ¼ÒÇÁÆ®¿þ¾î°¡ »ç¿ëµÊ¿¡ µû¶ó, ¼ÒÇÁÆ®¿þ¾îÀÇ Ç°Áú °ü¸®¿Í ÀÚµ¿È­ Ãø¸éÀÇ Á߿伺µµ Ä¿Áö°í ÀÖ´Ù. ÀÌ¿¡ BMW´Â Zuul v3¸¦ µµÀÔ, »ç³»ÀÇ ÇÁ·ÎÁ§Æ®¿Í ¿ÜºÎ ÆÄÆ®³ÊµéÀ» ¾Æ¿ì¸£´Â ´ë±Ô¸ðÀÇ ¼ÒÇÁÆ®¿þ¾î °³¹ß ȯ°æÀ» È¿°úÀûÀ¸·Î °ü¸®ÇÏ°í ÀÖ´Ù°í ¼Ò°³ÇßÀ¸¸ç, ZuulÀº °³¹ß ȯ°æÀÇ ¾Õ´Ü¿¡¼­, °³¹ßÀÚµéÀÌ º¸³»´Â ÄÚµåµé¿¡ ´ëÇÑ ÀÚµ¿È­µÈ °ËÁõ°ú ÅëÇÕÀÌ ÀÌ·ç¾îÁö´Â ȯ°æÀ» Á¦°øÇØ, CI ȯ°æÀÇ È¿À²À» Å©°Ô ³ô¿´´Ù°í ¹àÇû´Ù.

 
¡ãBMWÀÇ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î Tobias Henkel

 
¡ãBMWÀÇ Zuul µµÀÔ »ç·Ê´Â Àç´Ü°ú ¿ÀǽºÅà ÀÌ¿Ü¿¡´Â ÃÖÃÊÀÇ »ç·Ê Áß Çϳª·Î ²ÅÈù´Ù

BMWÀÇ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î Tobias HenkelÀº ÀÌ ÀÚ¸®¿¡¼­, BMW´Â ÀÚµ¿Â÷ »Ó ¾Æ´Ï¶ó ¹é¿£µå, ¸ðºô¸®Æ¼ ¼­ºñ½º, ÆÄÀ̳½¼È ¼­ºñ½º, ÀÎÇÁ¶ó¿¡ À̸£±â±îÁö ´Ù¾çÇÑ ¿µ¿ªÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÏ°í ÀÖ´Ù°í ¼Ò°³Çß´Ù. ±×¸®°í ÀÚµ¿Â÷¿¡¼­ÀÇ ¼ÒÇÁÆ®¿þ¾î´Â ÀÛÀº °³º° ECUµéÀ» À§ÇÑ °Í¿¡¼­ºÎÅÍ Ãâ¹ßÇϴµ¥, ÀÌ ÀÛÀº ECUµéÀ» À§ÇÑ ¼ÒÇÁÆ®¿þ¾î¿¡´Â ¾ÆÁÖ ³ôÀº ¼öÁØÀÇ ¾ÈÀü ¿ä±¸»çÇ×ÀÌ Àû¿ëµÇ¸ç, ÀÚµ¿È­µÈ Å×½ºÆ®´Â ¼ÒÇÁÆ®¿þ¾î Ç°Áú¿¡ Áß¿äÇÑ ºÎºÐÀ̶ó°í ¼Ò°³Çß´Ù. ±×¸®°í ÃʱâÀÇ CI/CD ½Ã½ºÅÛÀº ¸î ´ëÀÇ ºôµå ½Ã½ºÅÛÀ» °®Ãá Á¨Å²½º(Jenkins) ±â¹Ý ȯ°æÀ¸·Î ÃæºÐÇß´Ù°í µ¡ºÙ¿´´Ù.

¹°·Ð ÀüÀÚ ÀåÄ¡µéÀÇ ±â´É°ú ¼º´ÉÀÌ ³ô¾ÆÁö¸é¼­, ´õ ¸¹Àº Äڵ尡 ½Ã½ºÅÛ¿¡ »ç¿ëµÇ¸ç, ECUÀÇ »ç¿ë ¶ÇÇÑ ´Ã¾î³ª°í ÀÖ´Ù. ÀÌ´Â °³¹ß ȯ°æÀÇ ÀÔÀå¿¡¼­´Â CI ½Ã½ºÅÛÀÇ ÀνºÅϽº Áõ°¡·Î À̾îÁö¸ç, ÀÌ ¶§´Â ±âÁ¸ Á¨Å²½º ±â¹ÝÀÇ ½Ã½ºÅÛ¿¡ ´õ ¸¹Àº ºôµå ¼­¹ö¸¦ ±¸¼ºÇϸ鼭 ´ëÀÀÇß´Ù°í ¹àÇû´Ù. ±×¸®°í Áö±Ý¿¡ À̸£·¯¼­´Â ÀÚµ¿Â÷ÀÇ ¸ðµç ºÎºÐ¿¡ ¼ÒÇÁÆ®¿þ¾î°¡ »ç¿ëµÇ°í, ÀÚµ¿Â÷ ³»ÀÇ ¸¹Àº ECUµéÀÌ ±ä¹ÐÇÏ°Ô ¿¬°áµÇ¾î, ÀÚµ¿Â÷¿¡ »ç¿ëµÇ´Â ÄÚµå ¶ÇÇÑ ´õ¿í ¸¹°í, º¹ÀâÇØÁö°í ÀÖ´Ù°í °­Á¶Çß´Ù. ¶ÇÇÑ °³¹ß¿¡ À־µµ, ³»ºÎ ÆÀ »Ó ¾Æ´Ï¶ó ¿ÜºÎ¿ÍÀÇ Çù·Âµµ ¸¹¾ÆÁ³À¸¸ç, ÀÚµ¿È­´Â ¼ÒÇÁÆ®¿þ¾î Ç°Áú »Ó ¾Æ´Ï¶ó °³¹ß ÇÁ·Î¼¼½º ÀÚü¿¡µµ Áß¿äÇÑ ºÎºÐÀÌ µÇ¾ú´Ù°í ¹àÇû´Ù.

ÀÌ·± º¯È­¿¡ ´ëÀÀÇØ BMW´Â ±âÁ¸ Á¨Å²½º ±â¹Ý ½Ã½ºÅÛÀ» ¸ÖƼ ¸¶½ºÅÍ ³ëµå¿Í ´Ù¼öÀÇ ºôµå ¼­¹ö·Î È®ÀåÇßÀ¸¸ç, ¾à 4³â ÀüºÎÅÍ ¼Ò±Ô¸ð·Î Zuul v2¿Í v3 ȯ°æÀ» ³»ºÎÀÇ ¿ÀǽºÅà ±â¹Ý Ŭ¶ó¿ìµå·Î ±¸¼ºÇØ È°¿ëÇØ ¿Ô¾ú´Ù°í ¹àÇû´Ù. ƯÈ÷ Zuul v3ÀÇ °æ¿ì ¿ÀǽºÅà ÀÌ¿ÜÀÇ »ç¿ëÀڷδ ÃÖÃÊ »ç·Ê Áß Çϳª·Î ²ÅÈù´Ù. ±×¸®°í ÇâÈÄ Â÷·®¿ë ¼ÒÇÁÆ®¿þ¾î °³¹ßÀº ´õ ¸¹Àº ÇÁ·ÎÁ§Æ®°¡ µ¿½Ã¿¡ ÁøÇàµÉ °ÍÀ̸ç, ¸¹Àº ÆÀ°ú °ø±ÞÀÚµéÀÌ ÇÔ²² ÇÒ °ÍÀ¸·Î ¿¹»óµÇ°í, ÀÚÀ²ÁÖÇàÂ÷ÀÇ °³¹ß¿¡¼­ º¸À̴ Ư¡ÀÎ º¹ÀâÇÑ ¼ÒÇÁÆ®¿þ¾î, ³ôÀº ¾ÈÀü¼º°ú º¸¾È¿¡ ´ëÇÑ ¿ä±¸, ½Ã¹Ä·¹À̼ÇÀÇ ÇÊ¿ä µîÀº ÇϳªÀÇ ¿¹°¡ µÉ °ÍÀ̶ó°í ¼Ò°³Çß´Ù. ¶ÇÇÑ ÀÌ¿¡ µû¶ó ´õ Å« ±Ô¸ðÀÇ CI ½Ã½ºÅÛÀÌ ÇÊ¿äÇÒ °ÍÀ̶ó°íµµ µ¡ºÙ¿´´Ù.

BMW´Â ÇöÀç¿Í ¹Ì·¡¿¡ ÇÊ¿äÇÑ ¡®´ë±Ô¸ð CI ½Ã½ºÅÛ¡¯ÀÇ ±¸Ãà¿¡ Zuul ÇÁ·ÎÁ§Æ®¸¦ Àû¿ëÇØ, ÀÌ¹Ì ´ë±Ô¸ð ÇÁ·ÎÁ§Æ®µé¿¡¼­ Zuul ±â¹Ý ȯ°æÀ» »ç¿ëÇÏ°í ÀÖ°í, ÀÎÅͳ»¼Å³Î °³¹ß ÆÀ°ú ÆÄÆ®³ÊµéÀÌ À̸¦ È°¿ëÇØ ¼ÒÇÁÆ®¿þ¾î °³¹ß °úÁ¤À» ÁøÇàÇÏ°í ÀÖ´Ù°í ¹àÇû´Ù. ±×¸®°í ZuulÀÇ Áß¿äÇÑ ÀåÁ¡À¸·Î´Â ¡®È®À强¡¯ÀÌ ²ÅÇûÀ¸¸ç, ÇÁ·ÎÁ§Æ®¿¡ ´õ ¸¹Àº ÀÚ¿øÀÌ ÇÊ¿äÇÒ °æ¿ì Ŭ¶ó¿ìµå¸¦ ÅëÇØ È®ÀåÇÏ°í, ÇÁ·ÎÁ§Æ®¿¡¼­ ´õ ¸¹Àº °³¹ßÀÚµéÀ» Áö¿øÇÒ ¼ö ÀÖ´Ù°í ¼³¸íÇß´Ù. ¶ÇÇÑ ¡®°¡Àå Áß¿äÇÑ¡¯ ÀåÁ¡À¸·Î´Â ¡®ÇÁ·ÎÁ§Æ® °ÔÀÌÆÃ(Project Gating)¡¯ ±â´ÉÀ» ²Å°í, À̸¦ ÅëÇØ À߸øµÈ Äڵ尡 ÇÁ·ÎÁ§Æ®¿¡ ÅëÇյǴ °ÍÀ» ¸·À» ¼ö ÀÖÀ¸¸ç, À̸¦ ÅëÇØ ´õ ¸¹Àº °³¹ßÀÚµéÀÌ ÅõÀԵǴ »óȲ¿¡¼­ ¾ÈÁ¤ÀûÀÎ ÇÁ·ÎÁ§Æ® °ü¸®°¡ °¡´ÉÇØ, °³¹ß ÆÀÀÇ È®ÀåÀÌ °¡´ÉÇÏ´Ù°í ¼Ò°³Çß´Ù.

 
¡ãCI ½Ã½ºÅÛ¿¡ ´ëÇÑ ¿ä±¸ »çÇ×À¸·Î´Â Å©°Ô ´Ù¼¸ °¡Áö°¡ ²ÅÇû´Ù

 
¡ã¿ÀǽºÅðú Äí¹ö³×Ƽ½º, ¿ÀǽÃÇÁÆ® ȯ°æ ±â¹Ý¿¡¼­ ±¸¼ºµÇ¾î À¯¿¬ÇÔÀ» °®Ãè´Ù

BMW°¡ CI ½Ã½ºÅÛ¿¡ ¿ä±¸ÇÏ´Â Á¡Àº Å©°Ô ´Ù¼¸ °¡Áö Á¤µµ·Î ¿ä¾àµÈ´Ù. ¸ÕÀú, ¡®ÇÁ·ÎÁ§Æ® °Ý¸®¡¯´Â ȸ»ç°¡ ÆÄÆ®³Êµé°ú ÁøÇàÇÏ´Â ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®µé¿¡ ´ëÇØ, ¼­·Î°£¿¡ ¿µÇâÀ» ÁÙ ¼ö ¾øµµ·Ï °Ý¸®ÇÏ´Â °ÍÀ¸·Î, Zuul¿¡ ³»ÀåµÈ Å׳ÍÆ® Áö¿ø ±â´ÉÀ» È°¿ëÇØ ÃæÁ·½Ãų ¼ö ÀÖ¾ú´Ù°í ¼Ò°³µÇ¾ú´Ù. ¶ÇÇÑ °³¹ß °á°úÀÇ Àç»ç¿ë µî°ú °ü·ÃÇØ °³¹ßÀڵ鿡 Àͼ÷ÇÑ ¡®GitHub¡¯ÀÇ Áö¿øÀÌ ÇÊ¿äÇßÀ¸¸ç, ÀÌ¿¡ BMW ¶ÇÇÑ ZuulÀÇ GitHub Áö¿ø¿¡ ¸¹Àº ±â¿©¸¦ Çß´Ù°í ¹àÇû´Ù. ÀÌ ¿Ü¿¡µµ ¡®Äڵ带 ÅëÇÑ ¼³Á¤¡¯Àº ¹öÀü °ü¸®¿Í ÀÌ·Â ÃßÀû, ÄÚµå Àç»ç¿ë µîÀ» À§ÇØ Áß¿äÇϸç, Áß¾ÓÁýÁßÈ­µÈ ´ÜÀÏ È¯°æÀÇ ´ë±Ô¸ð ¿î¿µ°ú °í°¡¿ë¼ºÀ» À§ÇÑ ´ëºÎºÐÀÇ ÄÄÆ÷³ÍÆ®ÀÇ ½ºÄÉÀϾƿô È®Àå, ¸ÖƼŬ¶ó¿ìµå Áö¿ø µîÀÌ ÁÖ¿ä ¿ä±¸»çÇ×À¸·Î ²ÅÇû´Ù.

Á¶Á÷ Ãø¸é¿¡¼­, BMW´Â ÀÎÇÁ¶ó¿Í ÇÁ·ÎÁ§Æ® ¾ç ÂÊ¿¡¼­ º°µµÀÇ CI °³¹ßÀÚ ÆÀÀ» °®Ãß°í ÀÖÀ¸¸ç, ´Ù¾çÇÑ »óȲ¿¡¼­ µðÀÚÀο¡ ´ëÇÑ Àü¹®¼ºÀ» Á¦°øÇÏ°í ÀÖ´Ù°í ¼Ò°³Çß´Ù. ¶ÇÇÑ ÇâÈÄ CI Ä¿¹Â´ÏƼÀÇ ±¸ÃàÀ» ÅëÇØ, ÀÎÇÁ¶ó ÆÀ°ú ÇÁ·ÎÁ§Æ® ¼­Æ÷Æ® ÆÀ, Ä¿¹Â´ÏƼÀÇ ÁÖ¿ä »ç¿ëÀڵ鰣ÀÇ ¼ÒÅëÀ» ÅëÇÑ ¹ßÀüÀ» µµ¸ðÇÏ°íÀÚ ÇÑ´Ù°í ¹àÇû´Ù. ¶ÇÇÑ CI ½Ã½ºÅÛÀÌ »ç¿ëÇϴ Ŭ¶ó¿ìµå ¸®¼Ò½ºÀÇ ÃÖÀûÈ­¸¦ À§ÇØ ¸ðµç ÇÁ·ÎÁ§Æ®°¡ ¸®¼Ò½º¸¦ °øÀ¯Çϵµ·Ï ÇÏ´Â ±¸¼ºÀ» Àû¿ëÇÒ °ÍÀ̸ç, ÀÌ ¶§ ÀϺΠÇÁ·ÎÁ§Æ®°¡ ÇÑÁ¤µÈ ¸®¼Ò½ºÀÇ ´ëºÎºÐÀ» Á¡À¯ÇÏ´Â µîÀÇ ¹®Á¦¸¦ ÇØ°áÇÒ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÌ¶ó µ¡ºÙ¿´´Ù. ÀÌ ¿Ü¿¡µµ ¿ÀǼҽº Ä¿¹Â´ÏƼ¿¡ ´ëÇÑ Àü·«À¸·Î´Â °³¹ß ¼º°ú¿¡ ´ëÇÑ ¡®¾÷½ºÆ®¸² ¿ì¼±¡¯À» Á¦½ÃÇß´Ù.

BMW´Â Zuul ±â¹ÝÀÇ CI ½Ã½ºÅÛ ±¸¼º¿¡ ´ëÇØ, Zuul°ú NodepoolÀÌ ¿ÀǽºÅà À§¿¡¼­ ±¸µ¿µÇ´Â Äí¹ö³×Ƽ½º(Kubenetes)¿Í ¿ÀǽÃÇÁÆ®(OpenShift) À§¿¡ ±¸¼ºµÇ°í, ¿ÀǽÃÇÁÆ®ÀÇ ¼¿ÇÁ Èú¸µÀ̳ª »óÅ ȮÀÎ µîÀ» È°¿ëÇÒ ¼ö ÀÖ¾î, Zuul ±â¹Ý ȯ°æ¿¡ ¹®Á¦°¡ »ý°åÀ» ¶§ ±âº» ´ëÀÀÀ» ÀÚµ¿ÀûÀ¸·Î ÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ ÀåÁ¡À̶ó°í ¹àÇû´Ù. ±×¸®°í ¿ÀǽºÅà ±â¹Ý ȯ°æÀº ÄÁÆ®·Ñ Ç÷¹ÀÎ Å׳ÍÆ®¿Í ºôµå Å׳ÍÆ®·Î ±¸ºÐµÇ¸ç, Zuul ȯ°æÀº ÄÁÆ®·Ñ Ç÷¹ÀÎ Å׳ÍÆ®¿¡ ¼ÓÇÏ°í, ³ëµåÇ®Àº ºôµå Å׳ÍÆ® ȤÀº ¿ÜºÎÀÇ Á¤Àû ³ëµå·Î ¿¬°áµÇ´Â ¸ð½ÀÀÌ´Ù. ÀÌ·¸°Ô Å׳ÍÆ®¸¦ ºÐ¸®ÇÑ ÀÌÀ¯·Î´Â ¿î¿µÀÚÀÇ ½Ç¼ö µîÀÇ »óȲÀ» °í·ÁÇÑ ¡®¾ÈÁ¤¼º¡¯ ¶§¹®À̶ó°í ¼³¸íÇß´Ù. ¶ÇÇÑ ZuulÀº Github¿Í ¿¬°áµÇ¸ç, Zuul À§¿¡´Â Zuul Jobs ¸®Æ÷ÁöÅ͸®¿Í CI ¶óÀ̺귯¸® µîÀÌ À§Ä¡ÇÑ´Ù.

¾à ¹Ý ³â °¡·®ÀÇ ½Ã½ºÅÛ ¿î¿µ¿¡ ´ëÇÑ Çǵå¹éÀ¸·Î´Â, ¿©·¯ ¸ð·Î ¡®Ã¹ ½Ãµµ¡¯¿¡¼­ ¿À´Â ¡®°ÔÀÌÆà ÀÚµ¿È­¡¯ÀÇ ÀÌÇØ ºÎÁ·À̳ª ÀνÄÀÇ Àüȯ µîÀÌ ÇÊ¿äÇßÁö¸¸, ½Ã½ºÅÛ »ç¿ë ÈÄ ´ëºÎºÐ ¸¸Á·½º·¯¿ö Çß´Ù°í ¹àÇû°í, ÆÀ ±¸¼ºÀÇ È®À强À» Çâ»ó½ÃÄ×´Ù°í ÆòÇß´Ù. ÇÏÁö¸¸ »õ·Î¿î ½Ã½ºÅÛ¿¡¼­´Â ¡®Ansible¡¯¿¡ ´ëÇÑ ÀûÀÀÀÌ ÇÊ¿äÇÏ°í, ´Ù¼Ò °¡Æĸ¥ ¹è¿ò °î¼±Àº ´ÜÁ¡À¸·Î ²ÅÇû´Ù.
´º½º ½ºÅ©·¦À» Çϸé ÀÚÀ¯°Ô½ÃÆÇ ¶Ç´Â Á¤Ä¡ÀÚÀ¯°Ô½ÃÆÇ¿¡ °Ô½Ã±ÛÀÌ µî·ÏµË´Ï´Ù. ½ºÅ©·¦Çϱâ >

0
ÃßõÇϱ⠴ٸ¥ÀÇ°ß 0
ºÏ¸¶Å©¹öÆ° °øÀ¯¹öÆ°
  • ¾Ë¸² ¿å¼³, »óó ÁÙ ¼ö ÀÖ´Â ¾ÇÇÃÀº »ï°¡ÁÖ¼¼¿ä.
©¹æ »çÁø  
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û