top of page

IaC ์ž‘์„ฑ์ด ํž˜๋“ค๊ณ  ๊ท€์ฐฎ์„ ๋• ์ด๊ฑธ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”. AWS Application Composer

  • 2023๋…„ 3์›” 15์ผ
  • 2๋ถ„ ๋ถ„๋Ÿ‰

AWS Hands-on Lab #1 : IaC ์ž‘์„ฑ์ด ํž˜๋“ค๊ณ  ๊ท€์ฐฎ์„ ๋• ์ด๊ฑธ ์จ๋ณด์„ธ์š”. AWS Application Composer

AWS Hands-on Lab #1 : IaC ์ž‘์„ฑ์ด ํž˜๋“ค๊ณ  ๊ท€์ฐฎ์„ ๋• ์ด๊ฑธ ์จ๋ณด์„ธ์š”. AWS Application Composer

Written by Minhyeok Cha ํ˜„์žฌ ํด๋ผ์šฐ๋“œ IaC๋Š” ์ฃผ๋กœ Terraform์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ AWS์˜ CloudFormation์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์— ์‚ฌ์šฉํ•œ ์‚ฌ๋žŒ๋“ค์€ Yaml, Json ๋“ฑ ๊ธฐ์กด ์–‘์‹์„ ๊ฐ–๊ณ  ์žˆ์ง€๋งŒ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์— ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.


์ด ๋•Œ AWS Application Composer ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ด IaC ์ฝ”๋“œ์ž‘์„ฑ ๋ฐ ๊ณต๋ถ€ ์‹œ๊ฐ„์„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธฐ์กด IaC ์‚ฌ์šฉ์ž์ธ ๊ฒฝ์šฐ ์„œ๋ฒ„๋ฆฌ์Šค ํ™˜๊ฒฝ์˜ ๊ตฌ์„ฑํ™˜๊ฒฝ์„ IaC๋กœ ๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋ฉด Yaml, Json ํŒŒ์ผ์ด ๋’ค์—‰์ผœ ๋…ํ•ดํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค์ง€๋งŒ AWS Application Composer๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ AWS ์„œ๋ฒ„๋ฆฌ์Šค ์„œ๋น„์Šค๋ฅผ ์ ‘๋ชฉ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


AWS Application Composer๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์บ”๋ฒ„์Šค๋กœ ์ง์ ‘ ๋””์ž์ธํ•˜๊ณ  ์„ค๊ณ„ํ•œ ์„œ๋น„์Šค๋ฅผ ๋‚˜์—ด ํ›„ ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋ถ€ํ•ฉํ•˜๋Š” CloudFormation yaml ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AWS Application Composer๋ž€?


AWS Application Composer๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์‹œ๊ฐ์  ๋„๊ตฌ๋กœ, ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.


AWS Application Composer๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์บ”๋ฒ„์Šค๋กœ ์ง์ ‘ ๋””์ž์ธํ•˜๊ณ  ์„ค๊ณ„ํ•œ ์„œ๋น„์Šค๋ฅผ ๋‚˜์—ด ํ›„ ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋ถ€ํ•ฉํ•˜๋Š” CloudFormation yaml ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


AWS Application Composer์˜ ๋ฐ๋ชจ ์•„ํ‚คํ…์ฒ˜ ์ƒ์„ฑํ•œ ์‚ฌ์ง„
AWS Application Composer์˜ ๋ฐ๋ชจ ์•„ํ‚คํ…์ฒ˜ ์ƒ์„ฑํ•œ ์‚ฌ์ง„

๊ฐ„๋‹จํ•œ AWS ์„œ๋ฒ„๋ฆฌ์Šค ํ…Œ์ŠคํŠธ ์บ”๋ฒ„์Šค ์ƒ์„ฑ


์ด๋ฒˆ ๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ์˜ˆ์‹œ๋กœ Game Item DB๋ฅผ AWS Application Composer๋ฅผ ์‚ฌ์šฉํ•ด ๋งŒ๋“ค์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.


API G/W ์™€ DB๋ฅผ ๊ฐ„๋‹จํžˆ ์—ฐ๊ฒฐ ํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์ƒˆ๋กœ์šด ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธ ๊ฒธ ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ ์œ„ํ•ด SNS์™€ SQS๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.


1. ์บ”๋ฒ„์Šค ์ƒ์„ฑ

AWS Application Composer ์บ”๋ฒ„์Šค ์ƒ์„ฑ

์บ”๋ฒ„์Šค๋กœ ์„œ๋น„์Šค๋ฅผ ๋‚˜์—ดํ•˜๊ณ  ๊ฐ ๋ฆฌ์†Œ์Šค ์„ค์ •์„ ๋๋‚ด๋ฉด ์ขŒ์ธก ์ƒ๋‹จ์˜ ํ…œํ”Œ๋ฆฟ์„ ํ†ตํ•ด AWS CloudFormation์œผ๋กœ IaC๋ฅผ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” Yaml ํŒŒ์ผ์ด ์ž๋™์œผ๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค.


2. ํ…Œ์ŠคํŠธ ๋ชฉ์ 

  • ๊ฐ€์ƒ์˜ ๊ฒŒ์ž„ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‚˜์˜จ API ๋ฐ์ดํ„ฐ๋ฅผ API G/W์— ์ „๋‹ฌ (์ด ๋•Œ ๊ฒŒ์ž„ ์•ฑ์€ ๋”ฐ๋กœ ์—†์Œ์œผ๋กœ API G/W์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉ)

  • Lambda๋ฅผ ํ†ตํ•ด SNS ๋ฐ SQS๋ฅผ ํ†ตํ•ด ์—”๋“œํฌ์ธํŠธ ์ˆ˜์‹  (์ด ๋ถ€๋ถ„์€ ํ…Œ์ŠคํŠธ, ๊ณต๋ถ€ ๊ฒธ ์˜ฌ๋ฆฐ ๊ฑฐ๋ผ ๋ฌด์‹œํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.)

  • ๋‘ ๋ฒˆ์งธ Lambda์—์„œ DynamoDB ํ…Œ์ด๋ธ”์„ ์ง€์ • ๋ฐ Key-Value ๋งคํ•‘ํ•˜์—ฌ DB ์ ์žฌ


3. Lambda ํ•ธ๋“ค๋ง ์ฝ”๋“œ ์ƒ์„ฑ

 AWS ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ๊ฐ„๋‹จํ•œ ์„ค์ •์€ ์ˆ˜์ • ๊ฐ€๋Šฅ

๋ฌผ๋ก  ์œ„์— ๋ณด์ด๋“ฏ AWS ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ๊ฐ„๋‹จํ•œ ์„ค์ •์€ ์ˆ˜์ • ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, Lambda ๊ฐ™์€ ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์จ ๋„ฃ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Lambda์˜ ๊ฒฝ์šฐ ํ•ธ๋“ค๋ง ์ฝ”๋“œ ์ง์ ‘ ์จ ๋„ฃ์–ด ์ƒ์„ฑ

์œ„์—์„œ ์ƒ์„ฑํ•œ Yaml ํŒŒ์ผ์€ SAM์„ ์‚ฌ์šฉํ•ด ๋ฆฌ์†Œ์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.


AWS SAM (Serverless Application Model)


SAM์€ ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธํ”„๋ผ ์ฝ”๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ  ๊ด€๋ฆฌ๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ํ…œํ”Œ๋ฆฟ์„ ํ†ตํ•ด ์ธํ”„๋ผ๋ฅผ ์ž๋™์œผ๋กœ ์ •์˜ํ•ด์ฃผ๊ณ  CLI๋ฅผ ํ†ตํ•ด ๊ตฌ์ถ• ๋ฐ ์‹คํ–‰์„ ๋„์™€์ฃผ๋Š” AWS ํˆด ํ‚ท์ž…๋‹ˆ๋‹ค.


SAM์„ Application Composer์™€ ํ†ตํ•ฉํ•˜์—ฌ ๋ณต์žก์„ฑ์„ ์ถ”์ƒํ™”๋ฅผ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์œ„์—์„œ ์ƒ์„ฑ๋œ Yaml ํŒŒ์ผ๋กœ CloudFormation์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ SAM์€ CloudFormation ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Application Composer๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ์„œ๋น„์Šค๋งŒ ๊ตฌ์„ฑํ•˜๋‹ค ๋ณด๋‹ˆ CloudFormation ๋ณด๋‹จ ์œ„์—์„œ ์–ธ๊ธ‰๋œ ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•œ SAM์—์„œ ๊ตฌ๋™ํ•˜๋Š” ํŽธ์ด ํšจ์œจ์ ์ด๋ผ ์ƒ๊ฐํ•˜์—ฌ ์‚ฌ์šฉํ•ด๋ดค์Šต๋‹ˆ๋‹ค.


์ด๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์€ SAM์— ๊ด€๋ จ๋œ ๊ธ€์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋”์šฑ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋‹ค์Œ์— ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


SAM ๊ตฌ์„ฑ

ํˆด์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € AWS SAM CLI๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


์ดํ›„ ํ„ฐ๋ฏธ๋„์— ๋“ค์–ด๊ฐ€ ์œ„์—์„œ ์ •์˜ํ•œ Yaml ๋ฐ Lambda ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ์— ๋“ค์–ด๊ฐ€ โ€œsam buildโ€๋ฅผ ์‚ฌ์šฉํ•ด ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

sam build๋ฅผ ์‚ฌ์šฉํ•ด ๋นŒ๋“œ ์‹œ์ž‘

์ดํ›„ โ€œsam deploy โ€”guidedโ€ ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 โ€œsam deploy โ€”guidedโ€ ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐํฌ ์ง„ํ–‰

SAM์œผ๋กœ ์ƒ์„ฑํ•œ ๋ฆฌ์†Œ์Šค ํ™•์ธ
SAM์œผ๋กœ ์ƒ์„ฑํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ™•์ธ

API Gateway๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ DB ์Œ“๊ธฐ

API Gateway๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ DB ์Œ“๊ธฐ

๊ฒŒ์ž„ ์•ฑ์€ ์˜ˆ์‹œ๋กœ ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— API G/W์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋„ฃ๊ณ  ํ…Œ์ŠคํŠธ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

API G/W ํ…Œ์ŠคํŠธ ๊ตฌ๋ฌธ
API G/W ํ…Œ์ŠคํŠธ ๊ตฌ๋ฌธ

DynamoDB ํ…Œ์ด๋ธ”์— ๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ
DynamoDB ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ


์ด๋ฒˆ ๋ธ”๋กœ๊ทธ๋Š” AWS ์ƒˆ๋กœ์šด ์„œ๋น„์Šค์ธ Application Composer๋ฅผ ์‚ฌ์šฉํ•œ Yaml ์ƒ์„ฑ๊ณผ SAM์„ ์‚ฌ์šฉํ•œ ์ธํ”„๋ผ ๋ฆฌ์†Œ์Šค ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.


์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜๋„ ์žˆ๊ณ , Application Composer์—์„œ ์ƒ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ€์ ธ์™€์„œ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๋” ์‰ฝ๊ฒŒ ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ณ  ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.


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

SmileShark Logo

์Šค๋งˆ์ผ์ƒคํฌ๋Š” 
AWS ํ”„๋ฆฌ๋ฏธ์–ด ํŒŒํŠธ๋„ˆ์ด๋ฉฐ
AI MSP ์„ธ์ƒ์„ ๋งŒ๋“ค์–ด ๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

์ž์‚ฐ 2premier tier.png
ISMS-P.webp

์ธ์ฆ๋ฒ”์œ„  |  ํด๋ผ์šฐ๋“œ ๋ฉ”๋‹ˆ์ง€๋“œ ์„œ๋น„์Šค ์šด์˜           Cloud MSP

โ€‹์œ ํšจ๊ธฐ๊ฐ„  |  2026-03-05 ~ 2029-03-04     (์‹ฌ์‚ฌ ๋ฐ›์ง€ ์•Š์€ ๋ฌผ๋ฆฌ์  ์ธํ”„๋ผ ๋ฐ SaaS ์„œ๋น„์Šค ์ธํ”„๋ผ ์˜์—ญ ์ œ์™ธ)

์Šค๋งˆ์ผ์ƒคํฌ ์ฃผ์‹ํšŒ์‚ฌ  |  ์‚ฌ์—…์ž๋ฒˆํ˜ธ : 198-87-01516  |  ๋Œ€ํ‘œ์ด์‚ฌ : ์žฅ์ง„ํ™˜      ์„œ์šธ ๊ฐ•๋‚จ๊ตฌ ํ…Œํ—ค๋ž€๋กœ44๊ธธ 5, 8์ธต (๋Œ€์•„๋นŒ๋”ฉ)  |  ๋Œ€ํ‘œ์ „ํ™” : 070-5001-2205 

 |  ์ด๋ฉ”์ผ : contact@smileshark.kr

  • LinkedIn
  • Youtube
  • Facebook
ยฉCopyright
bottom of page