Search

[SAP] Serverless & Container Architecture

Date
2026/03/12
Category
Infra
Tag
AWS
SAP

AWS Lambda

Lambda ํ•ต์‹ฌ ๊ฐœ๋…

Lambda๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ์„œ๋น„์Šค์ด๋‹ค. ์„œ๋ฒ„ ํ”„๋กœ๋น„์ €๋‹์ด๋‚˜ ๊ด€๋ฆฌ ์—†์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ํ•จ์ˆ˜๋Š” ์ด๋ฒคํŠธ์— ์˜ํ•ด ํŠธ๋ฆฌ๊ฑฐ๋˜๋ฉฐ, ์‹คํ–‰ ์‹œ๊ฐ„์— ๋Œ€ํ•ด์„œ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•œ๋‹ค.
โ€ข
Lambda ํ•ต์‹ฌ ์ œํ•œ โ€” ์‹œํ—˜ ๋‹จ๊ณจ
์ตœ๋Œ€ ์‹คํ–‰ ์‹œ๊ฐ„
15๋ถ„
๋ฉ”๋ชจ๋ฆฌ
128MB ~ 10,240MB
์ž„์‹œ ์Šคํ† ๋ฆฌ์ง€
/tmp ์ตœ๋Œ€ 10,240MB
ํŒจํ‚ค์ง€ ํฌ๊ธฐ
.zip 50MB (์••์ถ•), 250MB (๋น„์••์ถ•) ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ 10GB
๋™์‹œ ์‹คํ–‰
๋ฆฌ์ „๋‹น ๊ธฐ๋ณธ 1,000๊ฐœ (Soft Limit)
ํ™˜๊ฒฝ ๋ณ€์ˆ˜
์ตœ๋Œ€ 4KB

Lambda ํ˜ธ์ถœ ๋ฐฉ์‹

1.
๋™๊ธฐ(Synchronoous) ํ˜ธ์ถœ
ํ˜ธ์ถœ์ž โ†’ Lambda โ†’ ์‘๋‹ต ๋Œ€๊ธฐ โ†’ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
โ€ข
ํŠธ๋ฆฌ๊ฑฐ: API Gateway, ALB, Cognito, CloudFront
โ€ข
ํŠน์ง•:
โ—ฆ
์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ํ˜ธ์ถœ์ž๊ฐ€ ์ง์ ‘ ์ฒ˜๋ฆฌ
โ—ฆ
Lambda๊ฐ€ ์žฌ์‹œ๋„ ์•ˆ ํ•จ
2.
๋น„๋™๊ธฐ(Asynchronous) ํ˜ธ์ถœ
ํ˜ธ์ถœ์ž โ†’ Lambda โ†’ ์ฆ‰์‹œ 200 ๋ฐ˜ํ™˜ (๊ฒฐ๊ณผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Œ)
โ€ข
ํŠธ๋ฆฌ๊ฑฐ: S3, SNS, EventBridge, CloudWatch Events
โ€ข
ํŠน์ง•
โ—ฆ
์ž๋™ ์žฌ์‹œ๋„ 2ํšŒ (์ด 3๋ฒˆ ์‹คํ–‰)
โ—ฆ
์‹คํŒจ ์‹œ DLQ(Dead Letter Queue) ๋˜๋Š” Lambda Destinations๋กœ ๋ผ์šฐํŒ…
3.
์ŠคํŠธ๋ฆผ/ํด๋ง(Stream/Polling) ๊ธฐ๋ฐ˜
Lambda๊ฐ€ ์†Œ์Šค๋ฅผ ์ง€์†์ ์œผ๋กœ ํด๋ง
โ€ข
ํŠธ๋ฆฌ๊ฑฐ: SQS, Kinesis, DynamoDB Streams, MSK
โ€ข
ํŠน์ง•:
โ—ฆ
Lambda๊ฐ€ ๋ฐฐ์น˜๋กœ ๋ ˆ์ฝ”๋“œ ์ฒ˜๋ฆฌ
โ—ฆ
์‹คํŒจ ์‹œ ๋ฐฐ์น˜ ์žฌ์ฒ˜๋ฆฌ (SQS: DLQ ์„ค์ • ๊ถŒ์žฅ)
S3 ์ด๋ฒคํŠธ โ†’ Lambda โ†’ ๋น„๋™๊ธฐ (์ž๋™ ์žฌ์‹œ๋„ 2ํšŒ)
API Gateway โ†’ Lambda โ†’ ๋™๊ธฐ (์žฌ์‹œ๋„ ์—†์Œ)
SQS โ†’ Lambda โ†’ ํด๋ง (๋ฐฐ์น˜ ์ฒ˜๋ฆฌ)

Lambda ๋™์‹œ์„ฑ & Cold Start

โ€ข
Cold Start ๋ฐœ์ƒ ์กฐ๊ฑด:
โ—ฆ
์ƒˆ ์‹คํ–‰ ํ™˜๊ฒฝ ์ดˆ๊ธฐํ™” ์‹œ โ†’ ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ + ๋Ÿฐํƒ€์ž„ ์ดˆ๊ธฐํ™” + ํ•ธ๋“ค๋Ÿฌ ๋กœ๋“œ โ†’ ์ˆ˜๋ฐฑ ms ~ ์ˆ˜ ์ดˆ ์ง€์—ฐ
โ€ข
Cold Start ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:
โ—ฆ
Provisioned Concurrency
โ†’ ๋ฏธ๋ฆฌ ์ดˆ๊ธฐํ™”๋œ ์‹คํ–‰ ํ™˜๊ฒฝ ์œ ์ง€ โ†’ ์ฆ‰์‹œ ์‘๋‹ต ๋ณด์žฅ (Cold Start ์ œ๊ฑฐ) โ†’ ๋น„์šฉ ๋ฐœ์ƒ (ํ•ญ์ƒ ์ผœ์ง„ ์ƒํƒœ)
โ—ฆ
Reserved Concurrency
โ†’ ํŠน์ • ํ•จ์ˆ˜์— ์ตœ๋Œ€ ๋™์‹œ ์‹คํ–‰ ์ˆ˜ ์˜ˆ์•ฝ โ†’ ๋‹ค๋ฅธ ํ•จ์ˆ˜๊ฐ€ ์ด ํ• ๋‹น๋Ÿ‰ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ โ†’ Cold Start ํ•ด๊ฒฐ ย (์Šค๋กœํ‹€๋ง ์ œ์–ด์šฉ)
โ€ข
๋™์‹œ์„ฑ ๊ณ„์‚ฐ:
โ—ฆ
๋™์‹œ ์‹คํ–‰ ์ˆ˜ = ์ดˆ๋‹น ํ˜ธ์ถœ ์ˆ˜ x ํ‰๊ท  ์‹คํ–‰ ์‹œ๊ฐ„(์ดˆ)
โ—ฆ
์˜ˆ: ์ดˆ๋‹น 1,000๋ฒˆ ํ˜ธ์ถœ, ์‹คํ–‰ ์‹œ๊ฐ„ 0.5์ดˆ โ†’ ๋™์‹œ ์‹คํ–‰ 500๊ฐœ ํ•„์š”
Lambda ์‘๋‹ต ์ง€์—ฐ (์ฒซ ์š”์ฒญ๋งŒ ๋А๋ฆผ) โ†’ Cold Start
Cold Start ์™„์ „ ์ œ๊ฑฐ โ†’ Provisioned Concurrency
ํŠน์ • Lambda๊ฐ€ ๋ชจ๋“  ๋™์‹œ์„ฑ ์†Œ์ง„ ๋ฐฉ์ง€ โ†’ Reserved Concurrency

Lambda & VPC

โ€ข
๊ธฐ๋ณธ Lambda (VPC ์™ธ๋ถ€)
โ—ฆ
์ธํ„ฐ๋„ท ์ ‘๊ทผ
โ—ฆ
VPC ๋‚ด RDS ์ ‘๊ทผ
โ€ข
VPC ์—ฐ๊ฒฐ Lambda:
โ—ฆ
VPC ๋‚ด RDS/ElastiCache ์ ‘๊ทผ
โ—ฆ
์ธํ„ฐ๋„ท ์ ‘๊ทผ ย (NAT Gateway ํ•„์š”)
โ—ฆ
Cold Start ์‹œ๊ฐ„ ์ฆ๊ฐ€ (ENI ์ƒ์„ฑ)
โ€ข
VPC Lambda โ†’ ์ธํ„ฐ๋„ท ์ ‘๊ทผ ๊ตฌ์„ฑ:
โ—ฆ
Lambda โ†’ Private Subnet โ†’ NAT Gateway โ†’ Internet Gateway โ†’ ์ธํ„ฐ๋„ท

Lambda ์ด๋ฒคํŠธ ์†Œ์Šค & ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

์„œ๋ฒ„๋ฆฌ์Šค์—์„œ๋Š” ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ๋ณด๋‹ค ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ถŒ์žฅ๋œ๋‹ค. ๋ฐฐ์น˜๋Š” ๋” ์ž‘์€ ๋‹จ์œ„์˜ ์ฆ๋ถ„ ์—…๋ฐ์ดํŠธ๋กœ ๋Œ€์ฒด๋˜์–ด์•ผ ํ•œ๋‹ค.
โ€ข
Lambda ๊ฐ„ ์ง์ ‘ ๋™๊ธฐ ํ˜ธ์ถœ โ†’ Anti-Pattern
โ—ฆ
์ด์œ :
โ–ช
๋น„์šฉ: ๋Œ€๊ธฐ ์ค‘์ธ Lambda๋„ ๋น„์šฉ ๋ฐœ์ƒ
โ–ช
๋ณต์žก์„ฑ: ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ๋กค๋ฐฑ ๋ณต์žก
โ–ช
ํ™•์žฅ์„ฑ: ์ค‘์ฒฉ ํ˜ธ์ถœ ์‹œ ๋™์‹œ์„ฑ ๊ธ‰์ฆ
โ€ข
์˜ฌ๋ฐ”๋ฅธ ํŒจํ„ด:
โ—ฆ
Lambda โ†’ SQS โ†’ Lambda (๋น„๋™๊ธฐ ๋””์ปคํ”Œ๋ง)
โ—ฆ
Lambda โ†’ Step Functions (๋ณต์žกํ•œ ์›Œํฌํ”Œ๋กœ์šฐ)
โ—ฆ
Lambda โ†’ SNS โ†’ ์—ฌ๋Ÿฌ Lambda (ํŒฌ์•„์›ƒ)
โ—ฆ
Lambda โ†’ EventBridge (์ด๋ฒคํŠธ ๋ผ์šฐํŒ…)
Lambda ํ•จ์ˆ˜๋Š” ๋™์ผํ•œ ์ด๋ฒคํŠธ๋ฅผ ๋‘ ๋ฒˆ ์ด์ƒ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฉฑ๋“ฑ์„ฑ(idempotent)์„ ๊ฐ–๋„๋ก ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค. ๋™์ผํ•œ ์ด๋ฒคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ›์•„๋„ ์ฒซ ๋ฒˆ์งธ ์ฒ˜๋ฆฌ ์ดํ›„ ๊ฒฐ๊ณผ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. DynamoDB ํ…Œ์ด๋ธ”์— ์ตœ๊ทผ ์ฒ˜๋ฆฌ๋œ ์‹๋ณ„์ž๋ฅผ ์ถ”์ ํ•ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋œ ํŠธ๋žœ์žญ์…˜์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฉฑ๋“ฑ์„ฑ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

API Gateway

API Gateway ํƒ€์ž…

ํƒ€์ž…
ํ”„๋กœํ† ์ฝœ
ํŠน์ง•
REST API
HTTP/HTTPS
์™„์ „ํ•œ ๊ธฐ๋Šฅ, ์บ์‹ฑ, API Key, ์‚ฌ์šฉ๋Ÿ‰ ๊ณ„ํš
HTTP API
HTTP/HTTPS
REST๋ณด๋‹ค ์ €๋ ด(71%), ์ €์ง€์—ฐ, ๊ธฐ๋ณธ ๊ธฐ๋Šฅ๋งŒ
WebSocket API
WebSocket
์–‘๋ฐฉํ–ฅ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ , ์ฑ„ํŒ…/๊ฒŒ์ž„

REST API vs HTTP API ์„ ํƒ

โ€ข
์บ์‹ฑ ํ•„์š” โ†’ REST API
โ€ข
API Key/์‚ฌ์šฉ๋Ÿ‰ ๊ณ„ํš โ†’ REST API
โ€ข
AWS WAF ์—ฐ๋™ โ†’ REST API
โ€ข
๋‹จ์ˆœ Lambda ํ”„๋ก์‹œ โ†’ HTTP API (๋น„์šฉ ์ ˆ๊ฐ)
โ€ข
JWT ์ธ์ฆ โ†’ HTTP API (๊ธฐ๋ณธ ์ง€์›)

API Gateway ํ†ตํ•ฉ ์œ ํ˜•

โ€ข
Lambda Proxy integration(ํ†ตํ•ฉ):
โ—ฆ
์š”์ฒญ ์ „์ฒด(ํ—ค๋”, ์ฟผ๋ฆฌ, ๋ฐ”๋””)๋ฅผ Lambda์— ๊ทธ๋Œ€๋กœ ์ „๋‹ฌ
โ—ฆ
Lambda๊ฐ€ ์‘๋‹ต ํ˜•์‹ ์ง์ ‘ ์ œ์–ด
โ†’ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด
โ€ข
Lambda Non-Proxy (์ปค์Šคํ…€):
โ—ฆ
API Gateway์—์„œ ์š”์ฒญ/์‘๋‹ต ๋ณ€ํ™˜ (Mapping Template)
โ†’ VTL(Velocity Template Language)๋กœ ๋ณ€ํ™˜
โ†’ ๋ ˆ๊ฑฐ์‹œ ์—ฐ๋™ ์‹œ ์‚ฌ์šฉ
โ€ข
AWS Service Integration(์ง์ ‘ ํ†ตํ•ฉ):
โ—ฆ
API Gateway โ†’ Lambda ์—†์ด ์ง์ ‘ AWS ์„œ๋น„์Šค ํ˜ธ์ถœ
โ—ฆ
์˜ˆ: API Gateway โ†’ DynamoDB Put Item
โ—ฆ
์˜ˆ: API Gateway โ†’ SQS Send Message
โ†’ Lambda ๋ถˆํ•„์š”๋กœ ๋น„์šฉ ์ ˆ๊ฐ, ์ง€์—ฐ ๊ฐ์†Œ
API Gateway์—์„œ Lambda ์—†์ด DynamoDB์— ์ง์ ‘ ์“ฐ๊ธฐ โ†’ AWS Service ์ง์ ‘ ํ†ตํ•ฉ
โ€œ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜ ๊ฐ„์†Œํ™” ๋ฌธ์ œ์—์„œ ์ž์ฃผ ์ถœ์ œโ€

AWS Step Functions

Step Functions vs SQS vs SNS ์„ ํƒ ๊ธฐ์ค€

โ€ข
Step Functions:
โ—ฆ
๋ณต์žกํ•œ ์›Œํฌํ”Œ๋กœ์šฐ (์กฐ๊ฑด, ๋ณ‘๋ ฌ, ์žฌ์‹œ๋„, ์—๋Ÿฌ ์ฒ˜๋ฆฌ)
โ—ฆ
Lambda ํ•จ์ˆ˜ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜
โ—ฆ
์‹คํ–‰ ์ƒํƒœ ์‹œ๊ฐํ™” ๋ฐ ๊ฐ์‚ฌ
โ—ฆ
์ตœ๋Œ€ 1๋…„ ์‹คํ–‰ (Standard Workflow)
Standard: ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ์‹คํ–‰, ๊ฐ์‚ฌ ๊ฐ€๋Šฅ, ๋น„์Œˆ
Express: ์ตœ์†Œ ํ•œ ๋ฒˆ ์‹คํ–‰, ๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰, ์ €๋ ด, 5๋ถ„ ์ œํ•œ
โ€ข
SQS:
โ—ฆ
๊ฐ„๋‹จํ•œ ๋น„๋™๊ธฐ ๋””์ปคํ”Œ๋ง
โ—ฆ
์ˆœ์„œ ์—†๋Š” ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ (Standard)
โ—ฆ
์ˆœ์„œ ๋ณด์žฅ (FIFO)
โ—ฆ
Lambda ์ง์ ‘ ํŠธ๋ฆฌ๊ฑฐ ๊ฐ€๋Šฅ
โ€ข
SNS:
โ—ฆ
Pan out (1โ†’N ๋ฐฐํฌ)
โ—ฆ
์—ฌ๋Ÿฌ ๊ตฌ๋…์ž์—๊ฒŒ ๋™์‹œ ์ „๋‹ฌ
โ—ฆ
SQS + SNS ์กฐํ•ฉ: ํŒฌ์•„์›ƒ + ๋‚ด๊ตฌ์„ฑ
Lambda ์ˆœ์ฐจ ์‹คํ–‰ + ์—๋Ÿฌ ์ฒ˜๋ฆฌ + ์žฌ์‹œ๋„ โ†’ Step Functions
์„œ๋น„์Šค ๊ฐ„ ๋А์Šจํ•œ ๊ฒฐํ•ฉ, ๋น„๋™๊ธฐ โ†’ SQS
1:N ์ด๋ฒคํŠธ ์ „ํŒŒ โ†’ SNS
๋ณต์žกํ•œ ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ ์›Œํฌํ”Œ๋กœ์šฐ โ†’ Step Functions

์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค ๋น„๊ต

์„œ๋น„์Šค ๊ณ„์ธต ๊ตฌ์กฐ ์ดํ•ด

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ โ”‚ โ”‚ Amazon ECR (Elastic Container โ”‚ โ”‚ Registry) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๊ณ„์ธต โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ Amazon โ”‚ Amazon โ”‚ โ”‚ ECS โ”‚ EKS โ”‚ โ”‚ (AWS ์ž์ฒด) โ”‚ (Kubernetes) โ”‚ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ” โ”‚ ์ปดํ“จํŒ… ๊ณ„์ธต โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ EC2 โ”‚ Fargate โ”‚ โ”‚ (์ง์ ‘ ๊ด€๋ฆฌ) โ”‚ (์„œ๋ฒ„๋ฆฌ์Šค) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Plain Text
๋ณต์‚ฌ

ECS vs EKS ๋น„๊ต

Fargate๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„ํ•œ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ์—”์ง„์œผ๋กœ, ๊ธฐ๋ณธ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ECS์™€ EKS ๋ชจ๋‘์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
ECS
EKS
์—”์ง„
AWS ์ž์ฒด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ
Kubernetes (์˜คํ”ˆ์†Œ์Šค)
๋Ÿฌ๋‹ ์ปค๋ธŒ
๋‚ฎ์Œ (AWS ์นœํ™”์ )
๋†’์Œ (K8s ์ง€์‹ ํ•„์š”)
AWS ํ†ตํ•ฉ
๋งค์šฐ ๊นŠ์Œ
์ข‹์Œ (์ผ๋ถ€ ์ถ”๊ฐ€ ์„ค์ •)
๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ
ย AWS ์ „์šฉ
ย (K8s ํ‘œ์ค€)
์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ
AWS ์™„์ „ ๊ด€๋ฆฌ
AWS ๊ด€๋ฆฌ (๋น„์šฉ ๋ฐœ์ƒ)
๋น„์šฉ
์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ๋ฌด๋ฃŒ
์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ $0.10/์‹œ๊ฐ„
์ปค์Šคํ„ฐ๋งˆ์ด์ง•
์ œํ•œ์ 
๋งค์šฐ ๋†’์Œ (CRD, ํ”Œ๋Ÿฌ๊ทธ์ธ)
AWS๋งŒ ์‚ฌ์šฉ, ๋‹จ์ˆœํ•จ, ๋น ๋ฅธ ์‹œ์ž‘ โ†’ ECS
Kubernetes ๊ธฐ์กด ์‚ฌ์šฉ ์ค‘, ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ โ†’ EKS
์„œ๋ฒ„ ๊ด€๋ฆฌ ์—†์ด ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ โ†’ Fargate (ECS ๋˜๋Š” EKS์™€ ํ•จ๊ป˜)
EC2 ์ง์ ‘ ์ œ์–ด, GPU, ํŠน์ˆ˜ ์ธ์Šคํ„ด์Šค ํ•„์š” โ†’ EC2 Launch Type

Fargate vs EC2 Launch Type

โ€ข
Fargate Launch Type:
โ—ฆ
์ธํ”„๋ผ ๊ด€๋ฆฌ ๋ถˆํ•„์š”
โ—ฆ
ํƒœ์Šคํฌ๋ณ„ ๊ฒฉ๋ฆฌ๋œ ์‹คํ–‰ ํ™˜ใ„ด๊ฒฝ
โ—ฆ
์ž๋™ ์Šค์ผ€์ผ๋ง
โ—ฆ
GPU ์ง€์›
โ—ฆ
Windows ์ปจํ…Œ์ด๋„ˆ ์ œํ•œ์ 
โ—ฆ
๋น„์šฉ: ์‚ฌ์šฉํ•œ vCPU + ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ์ค€
โ€ข
EC2 Launch Type:
โ—ฆ
EC2 ์ธ์Šคํ„ด์Šค ์ง์ ‘ ๊ด€๋ฆฌ
โ—ฆ
GPU ์ธ์Šคํ„ด์Šค ์‚ฌ์šฉ ๊ฐ€๋Šฅ
โ—ฆ
๊ธฐ์กด EC2 ์˜ˆ์•ฝ ์ธ์Šคํ„ด์Šค ํ™œ์šฉ
โ—ฆ
๋” ์„ธ๋ฐ€ํ•œ ๋„คํŠธ์›Œํฌ ์ œ์–ด
โ—ฆ
๋น„์šฉ: EC2 ์ธ์Šคํ„ด์Šค ๋น„์šฉ

Amazon EventBridge

EventBridge = ์„œ๋ฒ„๋ฆฌ์Šค ์ด๋ฒคํŠธ ๋ฒ„์Šค

์ด๋ฒคํŠธ ์†Œ์Šค EventBridge ๋Œ€์ƒ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”€โ”€โ”€โ”€ AWS ์„œ๋น„์Šค โ†’ ์ด๋ฒคํŠธ ๋ฒ„์Šค โ†’ Lambda SaaS ์•ฑ(Zendesk) โ†’ (์ด๋ฒคํŠธ ๋ผ์šฐํŒ…) โ†’ Step Functions ์ปค์Šคํ…€ ์•ฑ โ†’ ๊ทœ์น™ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ โ†’ SQS/SNS ํŒจํ„ด ๋งค์นญ API Gateway ECS Task
Plain Text
๋ณต์‚ฌ

EventBridge vs SNS vs SQS ์„ ํƒ

โ€ข
EventBridge:
โ—ฆ
์ด๋ฒคํŠธ ๋ผ์šฐํŒ… ๋ฐ ํ•„ํ„ฐ๋ง
โ—ฆ
AWS ์„œ๋น„์Šค โ†’ ๋‹ค๋ฅธ ์„œ๋น„์Šค ์—ฐ๋™
โ—ฆ
SaaS ์ด๋ฒคํŠธ ์ˆ˜์‹  (Salesforce, Zendesk)
โ—ฆ
์Šค์ผ€์ค„ ๊ธฐ๋ฐ˜ ํŠธ๋ฆฌ๊ฑฐ (cron)
โ—ฆ
ํฌ๋กœ์Šค ๊ณ„์ • ์ด๋ฒคํŠธ ์ „๋‹ฌ
โ€ข
SNS:
โ—ฆ
๋‹จ์ˆœ ํŒฌ์•„์›ƒ (1:N)
โ—ฆ
SMS/์ด๋ฉ”์ผ/HTTP ์—”๋“œํฌ์ธํŠธ ์ง€์›
โ—ฆ
๋ฉ”์‹œ์ง€ ํ•„ํ„ฐ๋ง (๊ตฌ๋… ํ•„ํ„ฐ ์ •์ฑ…)
โ€ข
SQS:
โ—ฆ
๋ฉ”์‹œ์ง€ ํ, ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ
โ—ฆ
๊ฐ€์‹œ์„ฑ ํƒ€์ž„์•„์›ƒ, DLQ
โ—ฆ
Lambda ํŠธ๋ฆฌ๊ฑฐ ๊ฐ€๋Šฅ
AWS ์ด๋ฒคํŠธ๋ฅผ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ… โ†’ EventBridge
์—ฌ๋Ÿฌ ๊ตฌ๋…์ž์—๊ฒŒ ์•Œ๋ฆผ โ†’ SNS
๋‚ด๊ตฌ์„ฑ ์žˆ๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ โ†’ SQS

AWS App Runner

AWS App Runner๋Š” ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ธํ„ฐ๋„ท์— ๋ฐฐํฌํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

App Runner

โ€ข
์†Œ์Šค์ฝ”๋“œ ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ โ†’ ์ž๋™์œผ๋กœ ์›น ์„œ๋น„์Šค ๋ฐฐํฌ
โ€ข
์ธํ”„๋ผ ์™„์ „ ๊ด€๋ฆฌ (EC2, ECS, ALB ์ž๋™ ๊ตฌ์„ฑ)
โ€ข
์ž๋™ ์Šค์ผ€์ผ๋ง + HTTPS
โ€ข
ECS/EKS๋ณด๋‹ค ๋‹จ์ˆœ, Beanstalk์™€ ์œ ์‚ฌ

์„ ํƒ ๊ธฐ์ค€

โ€ข
App Runner โ†’ ๊ฐ€์žฅ ๋‹จ์ˆœ, ๋น ๋ฅธ ๋ฐฐํฌ, ์ปจํŠธ๋กค ๋ถˆํ•„์š”
โ€ข
Beanstalk โ†’ App Runner๋ณด๋‹ค ์„ค์ • ์ž์œ ๋„ ๋†’์Œ
โ€ข
ECS Fargate โ†’ Beanstalk๋ณด๋‹ค ๋” ์„ธ๋ฐ€ํ•œ ์ œ์–ด
โ€ข
EKS โ†’ ๊ฐ€์žฅ ๋†’์€ ์ œ์–ด, K8s ์ƒํƒœ๊ณ„

Summary

๊ฐœ๋…
ํ•œ ์ค„ ์š”์•ฝ
Lambda ์ตœ๋Œ€ ์‹คํ–‰ ์‹œ๊ฐ„
15๋ถ„
Lambda ๋™๊ธฐ ํ˜ธ์ถœ
API GW/ALB. ์žฌ์‹œ๋„ ์—†์Œ. ํ˜ธ์ถœ์ž๊ฐ€ ์—๋Ÿฌ ์ฒ˜๋ฆฌ
Lambda ๋น„๋™๊ธฐ ํ˜ธ์ถœ
S3/SNS/EventBridge. ์ž๋™ ์žฌ์‹œ๋„ 2ํšŒ. DLQ ์„ค์ • ๊ฐ€๋Šฅ
Lambda ํด๋ง
SQS/Kinesis/DynamoDB Streams. ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ
Provisioned Concurrency
Cold Start ์ œ๊ฑฐ. ํ•ญ์ƒ ์ดˆ๊ธฐํ™” ์ƒํƒœ ์œ ์ง€. ๋น„์šฉ ๋ฐœ์ƒ
Reserved Concurrency
๋™์‹œ์„ฑ ์˜ˆ์•ฝ. Cold Start ํ•ด๊ฒฐ . ์Šค๋กœํ‹€๋ง ์ œ์–ด
Lambda ๋ฉฑ๋“ฑ์„ฑ
๋™์ผ ์ด๋ฒคํŠธ ์ค‘๋ณต ์ฒ˜๋ฆฌ ๋ฐฉ์ง€. DynamoDB ์ถ”์ 
ECS
AWS ์ž์ฒด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ. ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ๋ฌด๋ฃŒ
EKS
๊ด€๋ฆฌํ˜• Kubernetes. ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ. ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ์œ ๋ฃŒ
Fargate
์„œ๋ฒ„๋ฆฌ์Šค ์ปจํ…Œ์ด๋„ˆ ์ปดํ“จํŒ…. ECS/EKS ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
Step Functions Standard
์ •ํ™•ํžˆ ํ•œ ๋ฒˆ. ์ตœ๋Œ€ 1๋…„. ๊ฐ์‚ฌ ๊ฐ€๋Šฅ
Step Functions Express
์ตœ์†Œ ํ•œ ๋ฒˆ. 5๋ถ„ ์ œํ•œ. ๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰. ์ €๋ ด
EventBridge
์ด๋ฒคํŠธ ๋ฒ„์Šค. AWS ์„œ๋น„์Šค ์—ฐ๋™. SaaS ์ด๋ฒคํŠธ ์ˆ˜์‹ 
API GW REST vs HTTP
REST: ์บ์‹ฑ/WAF/API Key. HTTP: ์ €๋ ด/์ €์ง€์—ฐ