2025-09-28 05:49:38
๋ฐ˜์‘ํ˜•

๐Ÿ“˜ ์˜ค๋‹ต๋…ธํŠธ - Q201

โ“ ๋ฌธ์ œ ์š”์•ฝ

  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ CloudFront ๋ฐฐํฌ์™€ ALB๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ.
  • ์กฐ๊ฑด: ALB๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ด์•ผ ํ•จ.
  • ์š”๊ตฌ์‚ฌํ•ญ: ์ฝ”๋“œ ์ˆ˜์ • ์—†์ด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜.

โœ… ์ •๋‹ต

D. ๋ฐฐํฌ ์›๋ณธ์— ์‚ฌ์šฉ์ž ์ •์˜ HTTP ํ—ค๋” ์ถ”๊ฐ€ + ALB ๋ฆฌ์Šค๋„ˆ ๊ทœ์น™์œผ๋กœ ํ—ค๋” ๊ฒ€์‚ฌ ํ›„ ์—†๋Š” ๊ฒฝ์šฐ 403 ๋ฐ˜ํ™˜.

  • CloudFront → ALB๋กœ ์š”์ฒญ ์ „๋‹ฌ ์‹œ, ํŠน์ • HTTP ํ—ค๋”๋ฅผ ์ž๋™ ์ถ”๊ฐ€.
  • ALB์—์„œ ํ•ด๋‹น ํ—ค๋” ๊ฐ’์ด ์—†์œผ๋ฉด ์š”์ฒญ์„ ๊ฑฐ๋ถ€(403 Forbidden).
  • ์ฆ‰, CloudFront๋ฅผ ํ†ตํ•ด ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ๋งŒ ALB ์ ‘๊ทผ ํ—ˆ์šฉ ๊ฐ€๋Šฅ.
  • ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ•„์š” ์—†์Œ → ๊ด€๋ฆฌ์ž๊ฐ€ ALB์™€ CloudFront ์„ค์ •์œผ๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ.

โŒ ์˜ค๋‹ต ํ•ด์„ค

  • A. ALB ์œ ํ˜• ๋ณ€๊ฒฝ
    → ๋‹จ์ˆœํžˆ ALB ๋„๋ฉ”์ธ ์ด๋ฆ„ ์„ค์ •์œผ๋กœ๋Š” CloudFront ์ „์šฉ ์ ‘๊ทผ์„ ๊ฐ•์ œํ•  ์ˆ˜ ์—†์Œ.
  • B. Lambda@Edge ํ•จ์ˆ˜ ์ƒ์„ฑ
    → ๋™์ž‘์€ ๊ฐ€๋Šฅํ•˜๋‚˜ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐ ๋ฐฐํฌ ํ•„์š” → ๋ฌธ์ œ ์กฐ๊ฑด(์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด) ์œ„๋ฐฐ.
  • C. ALB ๊ต์ฒด + ํ—ค๋” ์„ค์ •
    → ALB๋ฅผ ๊ต์ฒดํ•  ํ•„์š” ์—†์Œ. ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ณต์žก.

๐Ÿ“Š ๋น„๊ต ์š”์•ฝ

์˜ต์…˜ ์„ค๋ช… ์ ํ•ฉ ์—ฌ๋ถ€
A ALB ์œ ํ˜•/๋„๋ฉ”์ธ๋งŒ ์„ค์ •, CloudFront ์ „์šฉ ์ ‘๊ทผ ๋ถˆ๊ฐ€ โŒ
B Lambda@Edge ์ฝ”๋“œ ํ•„์š”, ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ฆ๊ฐ€ โŒ
C ALB ๊ต์ฒด ๋ถˆํ•„์š”, ๊ณผ๋„ํ•œ ๋ณ€๊ฒฝ โŒ
D CloudFront์—์„œ ํ—ค๋” ์ถ”๊ฐ€ + ALB ๋ฆฌ์Šค๋„ˆ ๊ทœ์น™ ๊ฒ€์‚ฌ โœ… ์ •๋‹ต

๐ŸŒ ๋™์ž‘ ํ๋ฆ„ (Mermaid)

```mermaid
flowchart TD
    User["๐ŸŒ ์‚ฌ์šฉ์ž ์š”์ฒญ"] --> CF["๐ŸŒ CloudFront ๋ฐฐํฌ"]
    CF -->|"๐Ÿ“ HTTP ํ—ค๋” ์ถ”๊ฐ€"| ALB["โš–๏ธ Application Load Balancer"]
    ALB -->|"โœ… ํ—ค๋” ๊ฒ€์ฆ ์„ฑ๊ณต"| App["๐Ÿ’ป ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜"]
    ALB -->|"โŒ ํ—ค๋” ์—†์Œ → 403 Forbidden"| Block["๐Ÿšซ ์ ‘๊ทผ ์ฐจ๋‹จ"]
```

๐Ÿ“Š ๊ฒฐ๊ณผ ์„ค๋ช…

  • ๐ŸŒ ์‚ฌ์šฉ์ž ์š”์ฒญ๐ŸŒ CloudFront ๋ฐฐํฌ
  • CloudFront๊ฐ€ ๐Ÿ“ HTTP ํ—ค๋” ์ถ”๊ฐ€ ํ›„ ALB๋กœ ์ „๋‹ฌ
  • ALB์—์„œ
    • โœ… ํ—ค๋” ๊ฒ€์ฆ ์„ฑ๊ณต๐Ÿ’ป ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ฐ๊ฒฐ
    • โŒ ํ—ค๋” ์—†์Œ๐Ÿšซ ์ ‘๊ทผ ์ฐจ๋‹จ (403 Forbidden)

๐ŸŽฏ ํ•ต์‹ฌ ์ •๋ฆฌ

  • CloudFront ์ „์šฉ ์ ‘๊ทผ ๋ณด์žฅ ๋ฐฉ๋ฒ• = ์‚ฌ์šฉ์ž ์ •์˜ ํ—ค๋” + ALB ๋ฆฌ์Šค๋„ˆ ๊ทœ์น™.
  • Lambda@Edge๋กœ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ฝ”๋“œ ์ˆ˜์ • ํ•„์š”ํ•˜๋ฏ€๋กœ ์กฐ๊ฑด ๋ถˆ์ผ์น˜.

๐Ÿ“˜ ์˜ค๋‹ต๋…ธํŠธ - Q204

โ“ ๋ฌธ์ œ ์š”์•ฝ

  • Amazon EC2 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Amazon RDS for PostgreSQL DB๋ฅผ ์‚ฌ์šฉ.
  • ํšŒ์‚ฌ ์š”๊ตฌ์‚ฌํ•ญ: DB ์—ฐ๊ฒฐ์€ ๋ชจ๋‘ ์•”ํ˜ธํ™”(SSL) ํ•ด์•ผ ํ•จ.
  • SysOps ๊ด€๋ฆฌ์ž๊ฐ€ ์–ด๋–ค ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ• ๊นŒ?

โœ… ์ •๋‹ต

C. ์‚ฌ์šฉ์ž ์ง€์ • ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ SSL ์—ฐ๊ฒฐ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • Amazon RDS์—์„œ SSL/TLS๋ฅผ ๊ฐ•์ œํ•˜๋ ค๋ฉด DB Parameter Group์—์„œ rds.force_ssl = 1 ๋กœ ์„ค์ •ํ•ด์•ผ ํ•จ.
  • ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด SSL์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฑฐ๋ถ€๋จ.
  • ๋”ฐ๋ผ์„œ DB ์—ฐ๊ฒฐ ์•”ํ˜ธํ™” ์š”๊ตฌ์‚ฌํ•ญ ์ถฉ์กฑ.

โŒ ์˜ค๋‹ต ํ•ด์„ค

  • A. ์ธ๋ฐ”์šด๋“œ ๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™
    → ๋ณด์•ˆ ๊ทธ๋ฃน์€ ๋‹จ์ˆœํžˆ ํฌํŠธ/ํ”„๋กœํ† ์ฝœ ์ ‘๊ทผ ์ œ์–ด๋งŒ ๊ฐ€๋Šฅ. SSL ์•”ํ˜ธํ™” ๊ฐ•์ œ ๋ถˆ๊ฐ€.
  • B. AWS KMS ์•”ํ˜ธํ™” ํ‚ค ์‚ฌ์šฉ
    → KMS๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ ์‹œ ์•”ํ˜ธํ™”(at rest) ์šฉ๋„.
    → ์—ฌ๊ธฐ์„œ๋Š” ์ „์†ก ์ค‘ ์•”ํ˜ธํ™”(in transit) ์š”๊ตฌ์‚ฌํ•ญ์ด๋ฏ€๋กœ ์ ํ•ฉํ•˜์ง€ ์•Š์Œ.
  • D. PostgreSQL ํ™•์žฅ ์‚ฌ์šฉ
    → ํ™•์žฅ์œผ๋กœ SSL/TLS ๊ฐ•์ œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ AWS RDS ๊ด€๋ฆฌํ˜• ํ™˜๊ฒฝ์—์„œ ๋ถˆํ•„์š”ํ•˜๊ณ  ์ง€์›๋˜์ง€ ์•Š์Œ.

๐Ÿ“Š ๋น„๊ต ์š”์•ฝ

์˜ต์…˜ ์„ค๋ช… ์ ํ•ฉ ์—ฌ๋ถ€
A ๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™์€ SSL ๊ฐ•์ œ ๋ถˆ๊ฐ€ โŒ
B KMS๋Š” ์ €์žฅ ์‹œ ์•”ํ˜ธํ™” (at rest) ์ „์šฉ โŒ
C DB ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ทธ๋ฃน์—์„œ SSL ๊ฐ•์ œ ์„ค์ • (rds.force_ssl) โœ… ์ •๋‹ต
D PostgreSQL ํ™•์žฅ ํ•„์š” ์—†์Œ (AWS ๊ด€๋ฆฌํ˜•์—์„œ ์ง€์›X) โŒ

๐ŸŒ ๋™์ž‘ ํ๋ฆ„ (Mermaid)

```mermaid
flowchart TD
    App["๐Ÿ’ป ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (EC2)"] -->|"๐Ÿ” SSL ์š”์ฒญ"| RDS["๐Ÿ—„๏ธ Amazon RDS: PostgreSQL"]
    RDS -->|"โœ… SSL ์ธ์ฆ ํ•„์ˆ˜"| Accept["๐ŸŸข ์—ฐ๊ฒฐ ํ—ˆ์šฉ"]

    App -.->|"โŒ Non-SSL ์š”์ฒญ"| RDS
    RDS -.-> Block["๐Ÿšซ ์—ฐ๊ฒฐ ๊ฑฐ๋ถ€"]
```

๐Ÿ“Š ๊ฒฐ๊ณผ ์„ค๋ช…

  • ๐Ÿ’ป EC2 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๐Ÿ” SSL ์š”์ฒญ๐Ÿ—„๏ธ RDS (PostgreSQL)
    • SSL ์ธ์ฆ์ด ํ•„์ˆ˜์ด๋ฏ€๋กœ → ๐ŸŸข ์—ฐ๊ฒฐ ํ—ˆ์šฉ
  • ๋งŒ์•ฝ โŒ Non-SSL ์š”์ฒญ์ด๋ผ๋ฉด → ๐Ÿšซ ์—ฐ๊ฒฐ ๊ฑฐ๋ถ€

๐ŸŽฏ ํ•ต์‹ฌ ์ •๋ฆฌ

  • ์š”๊ตฌ์‚ฌํ•ญ: DB ์—ฐ๊ฒฐ ์•”ํ˜ธํ™”(in transit).
  • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: DB Parameter Group์—์„œ SSL ๊ฐ•์ œ ์ ์šฉ.
  • ๋”ฐ๋ผ์„œ ์ •๋‹ต์€ C.

๐Ÿ‘‰ Q204๋Š” ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ์„ ๋™์‹œ์— ๊ณ ๋ คํ•˜๋Š” ๋ฌธ์ œ


๐Ÿ“˜ ์˜ค๋‹ต๋…ธํŠธ - Q210

โ“ ๋ฌธ์ œ ์š”์•ฝ

  • ํšŒ์‚ฌ๋Š” Active-Active(ํ™œ์„ฑ-์ˆ˜๋™ ๊ตฌ์„ฑ) ์œผ๋กœ ๋‘ ๊ฐœ ๋ฆฌ์ „์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ.
  • ๊ฐ ๋ฆฌ์ „: ALB + EC2 Auto Scaling ์œผ๋กœ ๊ตฌ์„ฑ.
  • DNS๋Š” Amazon Route 53 ์‚ฌ์šฉ.
  • ์š”๊ตฌ์‚ฌํ•ญ: ๋ณด์กฐ ๋ฆฌ์ „์—์„œ ์ž๋™ ์žฅ์•  ์กฐ์น˜(Failover) ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ.

โœ… ์ •๋‹ต

A. ๊ฐ ALB๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” Route 53 ๋ณ„์นญ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์žฅ์•  ์กฐ์น˜ ๋ผ์šฐํŒ… ์ •์ฑ…์„ ์„ ํƒ. ๋Œ€์ƒ ์ƒํƒœ ํ‰๊ฐ€๋ฅผ ์˜ˆ๋กœ ์„ค์ •.

  • Route 53์˜ Failover Routing Policy ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด
    • Primary ALB์™€ Secondary ALB๋ฅผ ๋“ฑ๋ก ๊ฐ€๋Šฅ.
    • Primary ์ƒํƒœ๊ฐ€ ๋น„์ •์ƒ์ด๋ฉด ์ž๋™์œผ๋กœ Secondary๋กœ ๋ผ์šฐํŒ….
  • ์ƒํƒœ ์ฒดํฌ(Health Check)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•จ.

โŒ ์˜ค๋‹ต ํ•ด์„ค

  • B. CNAME ๋ ˆ์ฝ”๋“œ ๊ตฌ์„ฑ
    → ๋‹จ์ˆœ CNAME์€ Failover ๊ธฐ๋Šฅ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ. ๋‹จ์ˆœ ๋งคํ•‘๋งŒ ๊ฐ€๋Šฅ.
  • C. ELB ์ƒํƒœ ํ™•์ธ ์ถ”๊ฐ€
    → ELB ์ƒํƒœ ํ™•์ธ์€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋‚ด๋ถ€์—์„œ๋งŒ ๋™์ž‘. ๋ฆฌ์ „ ๊ฐ„ ์žฅ์•  ์กฐ์น˜์™€ ์ง์ ‘ ๊ด€๋ จ ์—†์Œ.
  • D. EC2 ์ƒํƒœ ํ™•์ธ ์ถ”๊ฐ€
    → ๊ฐœ๋ณ„ EC2 ์ธ์Šคํ„ด์Šค ์ƒํƒœ ์ฒดํฌ๋Š” ๋ฆฌ์ „ ์žฅ์•  ์ƒํ™ฉ์„ ์ปค๋ฒ„ํ•˜์ง€ ๋ชปํ•จ. (ALB ๋‹จ์œ„ Failover ํ•„์š”)

๐Ÿ“Š ๋น„๊ต ์š”์•ฝ

์˜ต์…˜ ์„ค๋ช… ์ ํ•ฉ ์—ฌ๋ถ€
A Route 53 Alias + Failover Routing Policy โœ… ์ •๋‹ต
B ๋‹จ์ˆœ CNAME, Failover ๋ถˆ๊ฐ€ โŒ
C ELB ์ƒํƒœ ํ™•์ธ (๋ฆฌ์ „ Failover ๋ถˆ๊ฐ€) โŒ
D EC2 ์ƒํƒœ ํ™•์ธ (๋ฆฌ์ „ Failover ๋ถˆ๊ฐ€) โŒ

๐ŸŒ ์žฅ์•  ์กฐ์น˜ ํ๋ฆ„ (Mermaid)

```mermaid
flowchart TD
    User["๐ŸŒ ์‚ฌ์šฉ์ž ์š”์ฒญ"] --> Route53["๐ŸŒ Amazon Route 53"]
    Route53 -->|"โœ… ํ—ฌ์Šค ์ฒดํฌ ์ •์ƒ"| ALB1["โš–๏ธ Primary ALB: ๋ฆฌ์ „1"]
    Route53 -->|"โŒ ํ—ฌ์Šค ์ฒดํฌ ์‹คํŒจ"| ALB2["โš–๏ธ Secondary ALB: ๋ฆฌ์ „2"]

    ALB1 --> EC2A["๐Ÿ’ป ๋ฆฌ์ „1 EC2 Auto Scaling"]
    ALB2 --> EC2B["๐Ÿ’ป ๋ฆฌ์ „2 EC2 Auto Scaling"]
```

๐Ÿ“Š ๊ฒฐ๊ณผ ์„ค๋ช…

  • ๐ŸŒ ์‚ฌ์šฉ์ž ์š”์ฒญ๐ŸŒ Route 53
  • Route 53 ํ—ฌ์Šค ์ฒดํฌ ๊ฒฐ๊ณผ:
    • โœ… ์ •์ƒ → โš–๏ธ Primary ALB (๋ฆฌ์ „1)๐Ÿ’ป ๋ฆฌ์ „1 EC2 Auto Scaling
    • โŒ ์‹คํŒจ → โš–๏ธ Secondary ALB (๋ฆฌ์ „2)๐Ÿ’ป ๋ฆฌ์ „2 EC2 Auto Scaling

๐ŸŽฏ ํ•ต์‹ฌ ์ •๋ฆฌ

  • Route 53 Failover Routing Policy ์‚ฌ์šฉํ•ด์•ผ ์ž๋™ ์žฅ์•  ์กฐ์น˜ ๊ฐ€๋Šฅ.
  • ์ƒํƒœ ์ฒดํฌ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ Primary → Secondary๋กœ ํŠธ๋ž˜ํ”ฝ ์ž๋™ ์ „ํ™˜.

๐Ÿ“˜ ์˜ค๋‹ต๋…ธํŠธ - Q211

โ“ ๋ฌธ์ œ ์š”์•ฝ

  • ํšŒ์‚ฌ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜ ์‚ฌ์šฉ ์ค‘.
  • ์†”๋ฃจ์…˜์€ Amazon EventBridge(CloudWatch Events) ์ด๋ฒคํŠธ๋ฅผ ์ด์šฉํ•จ.
  • ๋ฌธ์ œ: ์ด๋ฒคํŠธ๊ฐ€ ์ˆ˜์‹ ๋˜์ง€ ์•Š์Œ → ๊ทœ์น™์€ ํ˜ธ์ถœ๋˜์ง€๋งŒ ์„ธ๋ถ€ ์˜ค๋ฅ˜ ์ •๋ณด ๋ถ€์กฑ.
  • ์š”๊ตฌ์‚ฌํ•ญ: ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜ ์„ธ๋ถ€ ์ •๋ณด ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ.

โœ… ์ •๋‹ต

B. Amazon Simple Queue Service(Amazon SQS) ํ‘œ์ค€ ๋Œ€๊ธฐ์—ด์„ ๋Œ€์ƒ์œผ๋กœ ๋ฐฐ๋‹ฌ ๋ชปํ•œ ํŽธ์ง€(Dead-letter queue, DLQ)๋ฅผ ๋Œ€๊ธฐ์—ด๋กœ ์ถ”๊ฐ€. ์˜ค๋ฅ˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ๋ฐฐ๋‹ฌ ๋ชปํ•œ ํŽธ์ง€ ๋Œ€๊ธฐ์—ด์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌ

  • EventBridge → SQS ๋Œ€๊ธฐ์—ด๋กœ ์ด๋ฒคํŠธ ์ „๋‹ฌ.
  • ์ฒ˜๋ฆฌ ์‹คํŒจ ์‹œ Dead-letter Queue(DLQ) ์— ๋ฉ”์‹œ์ง€๊ฐ€ ์ €์žฅ๋จ.
  • DLQ ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•˜์—ฌ ์˜ค๋ฅ˜ ์›์ธ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ถ„์„ ๊ฐ€๋Šฅ.
  • ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™” + ๋‚ด๊ตฌ์„ฑ ์žˆ๋Š” ์ด๋ฒคํŠธ ๋ณด๊ด€ ๊ฐ€๋Šฅ.

โŒ ์˜ค๋‹ต ํ•ด์„ค

  • A. EventBridge ์•„์นด์ด๋ธŒ ์ƒ์„ฑ ํ›„ ์žฌ์ƒ
    → ์ด๋ฒคํŠธ ์žฌ์ƒ์€ ๊ณผ๊ฑฐ ์ด๋ฒคํŠธ ์žฌ์ฒ˜๋ฆฌ์— ์œ ์šฉํ•˜์ง€๋งŒ, ์„ธ๋ถ€ ์˜ค๋ฅ˜ ์›์ธ ํŒŒ์•…๊ณผ๋Š” ๋ฌด๊ด€.
  • C. Lambda ํ•จ์ˆ˜๋กœ CloudWatch Logs ๊ธฐ๋ก
    → ๋กœ๊ทธ๋Š” ๋‹จ์ˆœ ์ €์žฅ์ผ ๋ฟ, ์‹คํŒจ ์ด๋ฒคํŠธ๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ๋ถ„์„ํ•˜๊ธฐ ์–ด๋ ค์›€.
  • D. SNS ์ฃผ์ œ๋กœ ์•Œ๋ฆผ ๋ฐœ์†ก
    → ๋‹จ์ˆœ ์•Œ๋ฆผ์œผ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‚ฌ์‹ค๋งŒ ์ „๋‹ฌ. ์„ธ๋ถ€ ์›์ธ ์ถ”์  ๋ถˆ๊ฐ€.

๐Ÿ“Š ๋น„๊ต ์š”์•ฝ

์˜ต์…˜ ์„ค๋ช… ์ ํ•ฉ ์—ฌ๋ถ€
A ์ด๋ฒคํŠธ ์žฌ์ƒ (์•„์นด์ด๋ธŒ) โŒ ์˜ค๋ฅ˜ ๋ถ„์„ ๋ถˆ๊ฐ€
B SQS DLQ๋กœ ์‹คํŒจ ์ด๋ฒคํŠธ ๋ณด๊ด€ ๋ฐ ๋ถ„์„ โœ… ์ •๋‹ต
C Lambda + Logs ๊ธฐ๋ก โŒ ๋‹จ์ˆœ ๋กœ๊น…
D SNS ์•Œ๋ฆผ โŒ ์•Œ๋ฆผ๋งŒ, ๋ถ„์„ ๋ถˆ๊ฐ€

๐ŸŒ ๋™์ž‘ ํ๋ฆ„ (Mermaid)

```mermaid
flowchart TD
    EventBridge["๐Ÿชข Amazon EventBridge: ์ด๋ฒคํŠธ"] --> SQS["๐Ÿ“ฌ Amazon SQS: ๋Œ€๊ธฐ์—ด"]

    SQS -->|"โœ… ์ •์ƒ ์ฒ˜๋ฆฌ"| Monitoring["๐Ÿค– ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜"]
    SQS -->|"โŒ ์ฒ˜๋ฆฌ ์‹คํŒจ"| DLQ["๐Ÿ“ฆ Dead-letter Queue: SQS"]

    DLQ --> Admin["๐Ÿ‘จ‍๐Ÿ’ป ๊ด€๋ฆฌ์ž: ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ๋ถ„์„"]
```

๐Ÿ“Š ๊ฒฐ๊ณผ ์„ค๋ช…

  • ๐Ÿชข EventBridge ๊ฐ€ ์ด๋ฒคํŠธ ๋ฐœ์ƒ → ๐Ÿ“ฌ SQS ๋Œ€๊ธฐ์—ด์— ์ „๋‹ฌ
  • SQS ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ:
    • โœ… ์ •์ƒ ์ฒ˜๋ฆฌ → ๐Ÿค– ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜
    • โŒ ์‹คํŒจ → ๐Ÿ“ฆ Dead-letter Queue (DLQ) ๋กœ ์ด๋™
  • ์ดํ›„ ๐Ÿ‘จ‍๐Ÿ’ป ๊ด€๋ฆฌ์ž๊ฐ€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ๋ถ„์„ ์ˆ˜ํ–‰

๐ŸŽฏ ํ•ต์‹ฌ ์ •๋ฆฌ

  • EventBridge ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์‹คํŒจ ์‹œ, DLQ(SQS Dead-letter Queue) ๋กœ ๋ณด๊ด€.
  • DLQ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์„ธ๋ถ€ ์˜ค๋ฅ˜ ์›์ธ ํŒŒ์•… ๊ฐ€๋Šฅ.
  • ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์ตœ์ ์˜ ๋ฐฉ์‹ 

๐Ÿ“˜ ์˜ค๋‹ต๋…ธํŠธ - Q215

โ“ ๋ฌธ์ œ ์š”์•ฝ

  • ํšŒ์‚ฌ์˜ AWS Lambda ํ•จ์ˆ˜์— ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ.
  • Lambda ํ•จ์ˆ˜๋Š” CPU ์ง‘์•ฝ์  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘.
  • ์ฆ์ƒ: ์‹คํ–‰ ์†๋„๊ฐ€ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด์ง€ ์•Š๊ณ , ์‹œ์Šคํ…œ ๋ณ‘๋ชฉ ํ˜„์ƒ ๋ฐœ์ƒ.
  • ํ•ด๊ฒฐ์ฑ…์€?

โœ… ์ •๋‹ต

C. Lambda ํ•จ์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ๋Š˜๋ฆฐ๋‹ค.

  • AWS Lambda์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋ฉด CPU์™€ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ๋„ ๋น„๋ก€ํ•ด์„œ ์ฆ๊ฐ€.
  • CPU ์ง‘์•ฝ์  ์ž‘์—…์ผ ๊ฒฝ์šฐ, ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •์„ ๋†’์—ฌ์ฃผ๋ฉด ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋จ.
  • ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ์ฆ‰๊ฐ์ ์ธ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•.

โŒ ์˜ค๋‹ต ํ•ด์„ค

  • A. CPU ์‹œ์ž‘ ์˜ต์…˜์—์„œ ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ ํ™œ์„ฑํ™”
    → Lambda์—๋Š” ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ ๊ฐ™์€ ์ง์ ‘ CPU ์˜ต์…˜ ์ œ์–ด ๋ถˆ๊ฐ€.
  • B. AWS ๊ด€๋ฆฌ ์•”ํ˜ธํ™”๋ฅผ ๋„๊ธฐ
    → ์•”ํ˜ธํ™” ์—ฌ๋ถ€๋Š” ๋ณด์•ˆ ๊ด€๋ จ ์„ค์ •์ด๋ฉฐ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ๊ณผ ๊ด€๊ณ„ ์—†์Œ.
  • D. ์ฝ”๋“œ ๋ ˆ์ด์–ด์— ํ•„์š”ํ•œ ์ฝ”๋“œ ๋กœ๋“œ
    → ๋ ˆ์ด์–ด๋Š” ์ฝ”๋“œ ๊ด€๋ฆฌ ๋ฐฉ์‹ ์ตœ์ ํ™”์ผ ๋ฟ, CPU ์‚ฌ์šฉ๋Ÿ‰ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ถˆ๊ฐ€.

๐Ÿ“Š ๋น„๊ต ์š”์•ฝ

์˜ต์…˜ ์„ค๋ช… ์ ํ•ฉ ์—ฌ๋ถ€
A CPU ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ (Lambda์— ๋ถˆ๊ฐ€๋Šฅ) โŒ
B ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ๋„๊ธฐ (๋ณด์•ˆ ๊ด€๋ จ, ์„ฑ๋Šฅ ๋ฌด๊ด€) โŒ
C ๋ฉ”๋ชจ๋ฆฌ ์ฆ์„ค → CPU ์„ฑ๋Šฅ๋„ ์ž๋™ ์ฆ๊ฐ€ โœ… ์ •๋‹ต
D ์ฝ”๋“œ ๋ ˆ์ด์–ด ์‚ฌ์šฉ (๋ฐฐํฌ ํšจ์œจ์„ฑ ๊ด€๋ จ) โŒ

๐ŸŒ ๋™์ž‘ ์›๋ฆฌ (Mermaid)

```mermaid
flowchart TD
    User["๐ŸŒ ์‚ฌ์šฉ์ž ์š”์ฒญ"] --> Lambda["๐ŸŸฆ AWS Lambda ํ•จ์ˆ˜"]
    Lambda -->|"โš™๏ธ CPU ์ง‘์•ฝ์  ์ž‘์—…"| Execution["๐Ÿ–ฅ๏ธ ์‹คํ–‰ ํ™˜๊ฒฝ"]
    Execution -->|"๐Ÿ“ˆ ๋ฉ”๋ชจ๋ฆฌ ์ฆ๊ฐ€ ์‹œ"| CPU["๐Ÿ”ง ๋” ๋งŽ์€ vCPU ๋ฐ ๐ŸŒ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ"]
    CPU --> Faster["โšก ๋น ๋ฅธ ์‹คํ–‰ ์†๋„ + ๐Ÿš€ ์„ฑ๋Šฅ ๊ฐœ์„ "]

```

๐Ÿ“Š ๊ฒฐ๊ณผ ์„ค๋ช…

  • ๐ŸŒ ์‚ฌ์šฉ์ž ์š”์ฒญ๐ŸŸฆ Lambda ํ•จ์ˆ˜ ์‹คํ–‰
  • Lambda์—์„œ โš™๏ธ CPU ์ง‘์•ฝ์  ์ž‘์—…์„ ์‹คํ–‰ ํ™˜๊ฒฝ์œผ๋กœ ์ „๋‹ฌ
  • ๋ฉ”๋ชจ๋ฆฌ ์ฆ๊ฐ€ ์‹œ → ๐Ÿ”ง vCPU์™€ ๐ŸŒ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ์ž๋™ ํ™•์žฅ
  • ์ตœ์ข…์ ์œผ๋กœ โšก ์‹คํ–‰ ์†๋„ ํ–ฅ์ƒ + ๐Ÿš€ ์„ฑ๋Šฅ ๊ฐœ์„ 

๐ŸŽฏ ํ•ต์‹ฌ ์ •๋ฆฌ

  • Lambda๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ CPU๊ฐ€ ๋น„๋ก€ํ•ด์„œ ํ• ๋‹น๋จ.
  • CPU ๋ณ‘๋ชฉ ๋ฐœ์ƒ ์‹œ, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Š˜๋ฆฌ๋ฉด CPU ์„ฑ๋Šฅ๋„ ๊ฐ™์ด ํ–ฅ์ƒ.
  • ๋”ฐ๋ผ์„œ ์ •๋‹ต์€ C. Lambda ํ•จ์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ๋Š˜๋ฆฐ๋‹ค.
๋ฐ˜์‘ํ˜•