์ œ1์žฅ: ํƒ„๋ ฅ์  ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ ์ปดํ“จํŒ… (Compute)

  • 1.1 Amazon EC2: ์ธ์Šคํ„ด์Šค ์œ ํ˜• ์„ ํƒ, ๊ตฌ๋งค ์˜ต์…˜(Spot, RI, On-Demand) ๊ณต๋žต

  • 1.2 Auto Scaling & ELB: ๊ณ ๊ฐ€์šฉ์„ฑ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„, ์ƒํƒœ ํ™•์ธ(Health Check)

  • 1.3 ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… (Lambda): ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜, ํ”„๋กœ๋น„์ €๋‹๋œ ๋™์‹œ์„ฑ

  • 1.4 ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค: ECS, EKS, AWS Fargate (์„œ๋ฒ„๋ฆฌ์Šค ์ปจํ…Œ์ด๋„ˆ)

์ œ2์žฅ: ๊ณ ์„ฑ๋Šฅ ๋ฐ ํ™•์žฅ ๊ฐ€๋Šฅ ์Šคํ† ๋ฆฌ์ง€ (Storage)

  • 2.1 Amazon S3: ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค(Intelligent-Tiering, Glacier), ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ •์ฑ…, ๋ณต์ œ(CRR/SRR)

  • 2.2 ๋ธ”๋ก ๋ฐ ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€: EBS(GP3, IO2), EFS(๋ฆฌ๋ˆ…์Šค ๊ณต์œ ), FSx(Windows, Lustre, ONTAP)

  • 2.3 ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ: Storage Gateway, AWS DataSync, Snow Family, Transfer Family

์ œ3์žฅ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ๋ฐ ์ตœ์ ํ™” (Database)

  • 3.1 ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (RDS): Multi-AZ vs ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ(Read Replica), RDS Proxy

  • 3.2 Amazon Aurora: ๊ธ€๋กœ๋ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, Aurora Serverless v2, ๋ณต์ œ ์ง€์—ฐ ํ•ด๊ฒฐ

  • 3.3 NoSQL ๋ฐ ์บ์‹ฑ: DynamoDB(TTL, DAX, ๊ธ€๋กœ๋ฒŒ ํ…Œ์ด๋ธ”), ElastiCache(Redis, Memcached)

  • 3.4 ๋ถ„์„์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: Amazon Redshift, Athena(S3 ์ฟผ๋ฆฌ), Glue(ETL)

์ œ4์žฅ: ๋„คํŠธ์›Œํ‚น ๋ฐ ์ฝ˜ํ…์ธ  ์ „์†ก (Networking)

  • 4.1 VPC (Virtual Private Cloud): ์„œ๋ธŒ๋„ท ์„ค๊ณ„, NAT Gateway vs NAT ์ธ์Šคํ„ด์Šค, ๋ณด์•ˆ ๊ทธ๋ฃน vs ๋„คํŠธ์›Œํฌ ACL

  • 4.2 ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์—ฐ๊ฒฐ: Site-to-Site VPN, Direct Connect, Transit Gateway

  • 4.3 ์—”๋“œํฌ์ธํŠธ: VPC Endpoint (Gateway vs Interface), PrivateLink

  • 4.4 ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค: Route 53(๋ผ์šฐํŒ… ์ •์ฑ…), CloudFront(์บ์‹ฑ), Global Accelerator

์ œ5์žฅ: ๋ณด์•ˆ, ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง (Security & Monitoring)

  • 5.1 ๊ถŒํ•œ ๋ฐ ๊ณ„์ • ๊ด€๋ฆฌ: IAM Role, AWS Organizations, SCP(์„œ๋น„์Šค ์ œ์–ด ์ •์ฑ…)

  • 5.2 ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ: AWS KMS(์•”ํ˜ธํ™” ํ‚ค), Secrets Manager, AWS Certificate Manager(ACM)

  • 5.3 ์œ„ํ˜‘ ํƒ์ง€ ๋ฐ ๊ฐ์‚ฌ: CloudTrail, AWS Config, GuardDuty, Amazon Inspector, Amazon Macie

  • 5.4 ๋ชจ๋‹ˆํ„ฐ๋ง: CloudWatch(์•Œ๋žŒ, ๋กœ๊ทธ, ๋Œ€์‹œ๋ณด๋“œ), EventBridge(์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ)

์ œ6์žฅ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ ๋ฐ ๋ฉ”์‹œ์ง• (App Integration)

  • 6.1 ๋ฉ”์‹œ์ง€ ํ ๋ฐ ์•Œ๋ฆผ: Amazon SQS (Standard vs FIFO), Amazon SNS (ํŒฌ์•„์›ƒ ์•„ํ‚คํ…์ฒ˜)

  • 6.2 ์›Œํฌํ”Œ๋กœ ์ž๋™ํ™”: AWS Step Functions, AppFlow

  • 6.3 ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ: Amazon Kinesis(Data Streams, Firehose, Analytics)

์ œ7์žฅ: ๋น„์šฉ ์ตœ์ ํ™” ๋ฐ ์žฌํ•ด ๋ณต๊ตฌ (Cost & DR)

  • 7.1 ๋น„์šฉ ๊ด€๋ฆฌ: AWS ์˜ˆ์‚ฐ(Budgets), Cost Explorer, Savings Plans

  • 7.2 ์žฌํ•ด ๋ณต๊ตฌ(DR) ์ „๋žต: RPO/RTO ๊ธฐ๋ฐ˜ ์„ค๊ณ„ (Pilot Light, Warm Standby, Multi-site)


# 1.1 Amazon EC2 (Elastic Compute Cloud)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ์ •์˜: ํด๋ผ์šฐ๋“œ์—์„œ ๊ฐ€์ƒ ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค.

  • ์„ค๊ณ„ ์›์น™:

    • ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™” โ†’ ์„œ๋ฒ„๋ฆฌ์Šค(Lambda/Fargate) ๊ณ ๋ ค.

    • ๋น„์šฉ ์ตœ์ ํ™” โ†’ ๊ตฌ๋งค ์˜ต์…˜(Spot, Savings Plans) ํ™œ์šฉ.

    • ๊ณ ๊ฐ€์šฉ์„ฑ โ†’ Multi-AZ ๋ฐ Auto Scaling ํ•„์ˆ˜.


๐Ÿ’ฐ 1. ๊ตฌ๋งค ์˜ต์…˜ (๋น„์šฉ ์ตœ์ ํ™”์˜ ํ•ต์‹ฌ)

์‹œํ—˜ ๋ฌธ์ œ์—์„œ โ€˜๋น„์šฉ ์ตœ์†Œํ™”โ€™ ๋‹จ์–ด๊ฐ€ ๋‚˜์˜ฌ ๋•Œ ์„ ํƒํ•˜๋Š” ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.

์˜ต์…˜ํŠน์ง•์ •๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑดโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
On-Demand์•ฝ์ • ์—†์Œ, ์ดˆ ๋‹จ์œ„ ๊ณผ๊ธˆ๋‹จ๊ธฐ, ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅ, ์ค‘๋‹จ๋˜๋ฉด ์•ˆ ๋จ์žฅ๊ธฐ ์šด์˜ + โ€œ๋น„์šฉ ์ ˆ๊ฐโ€ ์š”๊ตฌ ์‹œ
Spot Instance์ตœ๋Œ€ 90% ํ• ์ธ, AWS๊ฐ€ ํšŒ์ˆ˜ ๊ฐ€๋Šฅ์ƒํƒœ ๋น„์ €์žฅ(Stateless), ๋ฐฐ์น˜ ์ž‘์—…, ์ค‘๋‹จ ํ—ˆ์šฉ์ค‘๋‹จ๋˜๋ฉด ์•ˆ ๋˜๋Š” DB, ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ, ๊ฒฐ์ œ ์ฒ˜๋ฆฌ
Reserved(RI)1~3๋…„ ์•ฝ์ •, ๋†’์€ ํ• ์ธ๊พธ์ค€ํ•œ ์‚ฌ์šฉ๋Ÿ‰(Steady State)์ธ์Šคํ„ด์Šค ํŒจ๋ฐ€๋ฆฌ/๋ฆฌ์ „ ๋ณ€๊ฒฝ์ด ์˜ˆ์ƒ๋  ๋•Œ
Savings Plans์‹œ๊ฐ„๋‹น ์ผ์ • ๊ธˆ์•ก($) ์•ฝ์ •์œ ์—ฐ์„ฑ ํ•„์š” (์ธ์Šคํ„ด์Šค ํŒจ๋ฐ€๋ฆฌ/์ง€์—ญ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)ํŠน์ • ์ธ์Šคํ„ด์Šค๋ฅผ ์ •ํ™•ํžˆ ์ง€์ •ํ•ด์•ผ ํ•  ๋•Œ
Dedicated Host๋ฌผ๋ฆฌ์  ์„œ๋ฒ„ ์ „์šฉ ์ ์œ ๋ผ์ด์„ ์Šค ์ค€์ˆ˜(BYOL), ๊ธฐ์—… ๊ทœ์ •๋‹จ์ˆœ ๋น„์šฉ ์ ˆ๊ฐ์ด ๋ชฉ์ ์ผ ๋•Œ (๊ฐ€์žฅ ๋น„์Œˆ)

์‹œํ—˜ ํŒ (Q140, Q167 ์ฐธ๊ณ )

โ€œ์ค‘๋‹จ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ๋น„์ €์žฅ ์ž‘์—…โ€ + โ€œ์ตœ์ € ๋น„์šฉโ€ = Spot Instance โ€œ1๋…„ ์ด์ƒ ๊พธ์ค€ํ•œ ํ™œ์šฉโ€ + โ€œ์œ ์—ฐํ•œ ์ธ์Šคํ„ด์Šค ๋ณ€๊ฒฝโ€ = Compute Savings Plans

์˜ค๋‹ต ํ•จ์ •

Spot Instance๋Š” โ€œ๋น„์šฉ ์ ˆ๊ฐโ€์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋งŒ ๋ณด๊ณ  ๊ณ ๋ฅด๋ฉด ํ‹€๋ฆฝ๋‹ˆ๋‹ค. โ€œ์ค‘๋‹จ๋˜๋ฉด ์•ˆ ๋œ๋‹ค(must not be interrupted)โ€ ์กฐ๊ฑด์ด ์žˆ์œผ๋ฉด ์ฆ‰์‹œ ์ œ์™ธํ•˜์„ธ์š”.


โšก 2. ์ธ์Šคํ„ด์Šค ํŒจ๋ฐ€๋ฆฌ (์ƒํ™ฉ๋ณ„ ์„ ํƒ)

๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ์›Œํฌ๋กœ๋“œ์— ๋”ฐ๋ผ ์•ž ๊ธ€์ž๋ฅผ ๋ณด๊ณ  ๊ณ ๋ฅด์„ธ์š”.

ํŒจ๋ฐ€๋ฆฌ์ตœ์ ํ™” ๋Œ€์ƒํ‚ค์›Œ๋“œโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
C (Compute)CPU๋ฐฐ์น˜ ์ฒ˜๋ฆฌ, ๋ฏธ๋””์–ด ์ธ์ฝ”๋”ฉ, ๊ณผํ•™์  ๋ชจ๋ธ๋ง๋ฉ”๋ชจ๋ฆฌ ์ง‘์•ฝ์  DB ์›Œํฌ๋กœ๋“œ
R / X (Memory)RAMSAP, ์ธ๋ฉ”๋ชจ๋ฆฌ DB, ์˜คํ”ˆ์„œ์น˜ (Q219)CPU ์ง‘์•ฝ์  ์—ฐ์‚ฐ๋งŒ ํ•„์š”ํ•  ๋•Œ
I / D / H (Storage)๋กœ์ปฌ IOPSNoSQL DB, ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์ง•๋ฐ์ดํ„ฐ ๋‚ด๊ตฌ์„ฑ์ด ์ค‘์š”ํ•  ๋•Œ (๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€๋Š” ์ธ์Šคํ„ด์Šค ์ข…๋ฃŒ ์‹œ ์†Œ๋ฉธ)
T / M (General)๊ท ํ˜•์›น ์„œ๋ฒ„, ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ทน๋‹จ์  ์„ฑ๋Šฅ ์š”๊ตฌ ์‹œ

๐Ÿ•ธ๏ธ 3. ๋ฐฐ์น˜ ๊ทธ๋ฃน (Placement Groups)

์ธ์Šคํ„ด์Šค๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•  ๊ฒƒ์ธ๊ฐ€? (Q306, Q712, Q723)

์œ ํ˜•๋ฐฐ์น˜ ๋ฐฉ์‹์ •๋‹ต ํ‚ค์›Œ๋“œโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
ํด๋Ÿฌ์Šคํ„ฐ(Cluster)๋‹จ์ผ AZ, ์ธ์Šคํ„ด์Šค๋ผ๋ฆฌ ๊ฐ€๊น๊ฒŒ๋‚ฎ์€ ์ง€์—ฐ์‹œ๊ฐ„, HPC, ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰์žฅ์•  ๊ฒฉ๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ (๋‹จ์ผ AZ๋ผ AZ ์žฅ์•  ์‹œ ์ „์ฒด ์˜ํ–ฅ)
๋ถ„์‚ฐ(Spread)๊ฐ ์ธ์Šคํ„ด์Šค โ†’ ์„œ๋กœ ๋‹ค๋ฅธ ๋ž™๊ฐœ๋ณ„ ์ธ์Šคํ„ด์Šค ์žฅ์•  ๊ฒฉ๋ฆฌ, ์†Œ๊ทœ๋ชจ ์ค‘์š” ์ธ์Šคํ„ด์ŠคAZ๋‹น ์ตœ๋Œ€ 7๊ฐœ ์ œํ•œ โ†’ ๋Œ€๊ทœ๋ชจ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ๋ถ€์ ํ•ฉ
ํŒŒํ‹ฐ์…˜(Partition)์—ฌ๋Ÿฌ ๋ž™์„ ๋…ผ๋ฆฌ์  ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ถ„ํ• HDFS, HBase, Cassandra ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ๋‹จ์ˆœ ์ง€์—ฐ ์ตœ์†Œํ™”๊ฐ€ ๋ชฉ์ ์ผ ๋•Œ

๐Ÿ” 4. EC2 ๋ณด์•ˆ ๋ฐ ๊ถŒํ•œ (Q17, Q289, Q403)

  • IAM Role (์ธ์Šคํ„ด์Šค ํ”„๋กœํŒŒ์ผ): EC2 ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด S3๋‚˜ DynamoDB์— ์ ‘๊ทผํ•  ๋•Œ Access Key๋ฅผ ์ง์ ‘ ๋„ฃ์ง€ ๋งˆ์„ธ์š”. ๋Œ€์‹  IAM ์—ญํ• ์„ ์ธ์Šคํ„ด์Šค์— ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

  • Security Groups: ์ƒํƒœ ์ €์žฅ(Stateful). ํ—ˆ์šฉ ๊ทœ์น™๋งŒ ์„ค์ • ๊ฐ€๋Šฅ.

Access Key ์ง์ ‘ ์ž…๋ ฅ์€ ํ•ญ์ƒ ์˜ค๋‹ต

๋ฌธ์ œ์—์„œ โ€œ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•โ€์„ ๋ฌผ์œผ๋ฉด Access Key ํ•˜๋“œ์ฝ”๋”ฉ์€ ๋ฌด์กฐ๊ฑด ์˜ค๋‹ต์ž…๋‹ˆ๋‹ค. EC2 โ†’ IAM Role / Lambda โ†’ Execution Role / ECS Task โ†’ Task Role


๐Ÿ› ๏ธ 5. ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์•ผ๊ฐ„ ๋ฐฐ์น˜ ์ž‘์—…์˜ ์‹คํ–‰ ์‹œ๊ฐ„ ๋‹จ์ถ• (Q271, Q680)

  • ๋ฌธ์ œ: ๋งค์ผ ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— ์‹คํ–‰๋˜๋Š”๋ฐ ํ™•์žฅ์ด ๋А๋ฆผ.

  • ํ•ด๊ฒฐ: **์˜ˆ์•ฝ๋œ ์กฐ์ •(Scheduled Scaling)**์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—… ์‹œ์ž‘ 30๋ถ„ ์ „์— ๋ฏธ๋ฆฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋Š˜๋ ค๋‘ .

โœ… ์‚ฌ๋ก€ 2: ์ธ์Šคํ„ด์Šค ์ƒํƒœ ์œ ์ง€ ๋ฐ ๋น ๋ฅธ ์ดˆ๊ธฐํ™” (Q335, Q594)

  • ๋ฌธ์ œ: ์ธ์Šคํ„ด์Šค ์‹œ์ž‘ ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆผ.

  • ํ•ด๊ฒฐ: ์ตœ๋Œ€ ์ ˆ์ „ ๋ชจ๋“œ(Hibernation) ๋˜๋Š” **EC2 ์›œ ํ’€(Warm Pools)**์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋ฆฌ ์ดˆ๊ธฐํ™”๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋Œ€๊ธฐ์‹œํ‚ด.

โœ… ์‚ฌ๋ก€ 3: ํ•˜์ดํผ๋ฐ”์ด์ € ์ˆ˜์ค€์˜ ๊ด€๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ ์ œ๊ฑฐ (Q163, Q516)

  • ๋ฌธ์ œ: ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ๊ฐ€ ๊ท€์ฐฎ๊ณ  ํ™•์žฅ์„ฑ์ด ์ค‘์š”ํ•จ.

  • ํ•ด๊ฒฐ: AWS Fargate (์„œ๋ฒ„๋ฆฌ์Šค ์ปจํ…Œ์ด๋„ˆ ์ปดํ“จํŒ…) ์‚ฌ์šฉ.


๐Ÿ”€ 6. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

SAA ๊ณ ๋“์  ๋ฌธ์ œ๋Š” ๋‹จ์ผ ์„œ๋น„์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์˜ ์กฐํ•ฉ์„ ๋ฌป์Šต๋‹ˆ๋‹ค.

ํŒจํ„ด 1: ๊ธฐ๋ณธ ๊ณ ๊ฐ€์šฉ์„ฑ ์›น ์•„ํ‚คํ…์ฒ˜

[Route 53]
    |
[CloudFront] โ† ์ „ ์„ธ๊ณ„ ์บ์‹ฑ
    |
[ALB] โ† Multi-AZ ๋ถ„์‚ฐ
 /     \
[EC2-AZ-A]  [EC2-AZ-B]  โ† ASG (Auto Scaling Group)
    |             |
      [RDS Multi-AZ]  โ† ์ž๋™ Failover

ํ‚ค์›Œ๋“œ ์กฐํ•ฉ: โ€œ๊ณ ๊ฐ€์šฉ์„ฑโ€ + โ€œ์žฅ์•  ํ—ˆ์šฉโ€ + โ€œ์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ์žโ€

ํŒจํ„ด 2: ๋น„์šฉ ์ตœ์ ํ™” ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ

[EventBridge Schedule]
    |
[SQS Queue] โ† ์ž‘์—… ๋ฒ„ํผ๋ง
    |
[EC2 Spot Fleet] โ† ์ตœ๋Œ€ 90% ์ ˆ๊ฐ
    |
[S3] โ† ๊ฒฐ๊ณผ ์ €์žฅ

ํ‚ค์›Œ๋“œ ์กฐํ•ฉ: โ€œ์ค‘๋‹จ ๊ฐ€๋Šฅโ€ + โ€œ๋น„์šฉ ์ตœ์†Œํ™”โ€ + โ€œ๋ฐฐ์น˜ ์ฒ˜๋ฆฌโ€

ํŒจํ„ด 3: Spot ํ˜ผํ•ฉ ์ „๋žต (์ค‘๋‹จ ๋ฐฉ์ง€)

[ASG Mixed Policy]
 โ”œโ”€ On-Demand (๊ธฐ๋ณธ ์šฉ๋Ÿ‰, 20%)  โ† ์ ˆ๋Œ€ ์ค‘๋‹จ๋˜๋ฉด ์•ˆ ๋˜๋Š” ์ตœ์†Œ ์šฉ๋Ÿ‰
 โ””โ”€ Spot (๋‚˜๋จธ์ง€ 80%)           โ† ๋น„์šฉ ์ ˆ๊ฐ

ํ‚ค์›Œ๋“œ ์กฐํ•ฉ: โ€œ๋น„์šฉ ์ ˆ๊ฐโ€ + โ€œ์ผ๋ถ€ ์ค‘๋‹จ์€ ํ—ˆ์šฉโ€ + โ€œ์•ˆ์ •์„ฑ๋„ ํ•„์š”โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œ๋น„์šฉ ์ ˆ๊ฐ + ์ค‘๋‹จ ๊ฐ€๋Šฅ + ์ƒํƒœ ๋น„์ €์žฅโ€ โ†’ ์–ด๋–ค ๊ตฌ๋งค ์˜ต์…˜? ์™œ?
  2. โ€œ๋น„์šฉ ์ ˆ๊ฐ + ์ ˆ๋Œ€ ์ค‘๋‹จ ๋ถˆ๊ฐ€ + 1๋…„ ์ด์ƒโ€ โ†’ RI vs Savings Plans ์ฐจ์ด๋Š”?
  3. HPC ์›Œํฌ๋กœ๋“œ์—์„œ 1ms ๋ฏธ๋งŒ ์ง€์—ฐ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค โ†’ ๋ฐฐ์น˜ ๊ทธ๋ฃน ์œ ํ˜•๊ณผ ์ด์œ ๋Š”?
  4. EC2๊ฐ€ S3 ํŒŒ์ผ์„ ์˜ฌ๋ ค์•ผ ํ•  ๋•Œ ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์€? Access Key ๋ฐฉ์‹์˜ ๋ฌธ์ œ์ ์€?
  5. ํŠน์ • ์‹œ๊ฐ„์—๋งŒ ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆฐ๋‹ค โ†’ Target Tracking vs Scheduled Scaling ์ค‘ ๋ฌด์—‡, ์™œ?

# 1.2 Auto Scaling & ELB (Elastic Load Balancing)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ๋ชฉ์ : ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜ ๋ถ„์‚ฐ(ELB)๊ณผ ์ˆ˜์š”์— ๋”ฐ๋ฅธ ์ž์› ์กฐ์ ˆ(ASG)์„ ํ†ตํ•ด ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ๋น„์šฉ ํšจ์œจ์„ฑ ๋‹ฌ์„ฑ.

  • ์„ค๊ณ„ ์›์น™:

    • ๋‹จ์ผ ์žฅ์•  ์ง€์ (SPOF) ์ œ๊ฑฐ โ†’ Multi-AZ ๋ฐฐ์น˜.

    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ ๋ถ„๋ฆฌ โ†’ Stateless(์ƒํƒœ ๋น„์ €์žฅ) ์„ค๊ณ„ (์„ธ์…˜์€ ElastiCache์— ์ €์žฅ).


โš–๏ธ 1. Elastic Load Balancer (ELB) ์œ ํ˜• ๋น„๊ต

๋ฌธ์ œ์—์„œ โ€˜์–ด๋–ค ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์“ธ ๊ฒƒ์ธ๊ฐ€?โ€˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.

์œ ํ˜•๊ณ„์ธต (Layer)์ •๋‹ต ํ‚ค์›Œ๋“œโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
ALB (Application)L7 (HTTP/HTTPS)๊ฒฝ๋กœ(/images) ๋˜๋Š” ํ˜ธ์ŠคํŠธ(api.com) ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ECS๊ณ ์ • IP ํ•„์š” ์‹œ / ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ TCP ์š”์ฒญ ์ฒ˜๋ฆฌ ์‹œ
NLB (Network)L4 (TCP/UDP)์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ ์š”์ฒญ, ๊ณ ์ • IP, ๋‚ฎ์€ ์ง€์—ฐ์‹œ๊ฐ„, ๊ฒŒ์ž„/์ŠคํŠธ๋ฆฌ๋ฐ (Q352, Q642)HTTP ํ—ค๋”/๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ… ํ•„์š” ์‹œ
GLB (Gateway)L3 (IP Packets)ํƒ€์‚ฌ ๊ฐ€์ƒ ๋ฐฉํ™”๋ฒฝ/๋ณด์•ˆ ์–ดํ”Œ๋ผ์ด์–ธ์Šค ๊ฒ€์‚ฌ (Q19, Q21)๋‹จ์ˆœ ์›น ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ์‹œ (์˜ค๋ฒ„์ŠคํŽ™)

์˜ค๋‹ต ์ฃผ์˜ (Q70, Q713)

  • ALB๋Š” HTTP ์˜ค๋ฅ˜(5xx)๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ƒ์„ธํ•œ ์ƒํƒœ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, NLB๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ TCP ํ•ธ๋“œ์…ฐ์ดํฌ ์„ฑ๊ณต ์—ฌ๋ถ€๋งŒ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ CPU/Memory๊ฐ€ ๋‚ฎ๋‹ค๋ฉด? โ†’ RDS Proxy(Q713)๋‚˜ ์—ฐ๊ฒฐ ํ’€๋ง ๋ฌธ์ œ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ.
  • ALB๋Š” ๊ณ ์ • IP๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณ ์ • IP๊ฐ€ ํ•„์š”ํ•˜๋ฉด NLB๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ALB ์•ž์— NLB๋ฅผ ๋‘๋Š” ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ˆ 2. Auto Scaling Group (ASG) ์กฐ์ • ์ •์ฑ…

โ€˜์–ธ์ œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋Š˜๋ฆฌ๊ณ  ์ค„์ผ ๊ฒƒ์ธ๊ฐ€?โ€˜์— ๋Œ€ํ•œ ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค.

์ •์ฑ…๋™์ž‘ ๋ฐฉ์‹์ •๋‹ต ํ‚ค์›Œ๋“œโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
๋Œ€์ƒ ์ถ”์  (Target Tracking)CPU ๋“ฑ ์ง€ํ‘œ๋ฅผ ๋ชฉํ‘œ๊ฐ’์œผ๋กœ ์œ ์ง€โ€CPU 50% ์œ ์ง€โ€, ์ผ๋ฐ˜์ ์ธ ํ™•์žฅ (Q130, Q297)ํŠธ๋ž˜ํ”ฝ ํŒจํ„ด์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ (๋” ๋‚˜์€ ์˜ต์…˜ ์žˆ์Œ)
์˜ˆ์•ฝ๋œ ์กฐ์ • (Scheduled)์ •ํ•ด์ง„ ์‹œ๊ฐ„์— ๋ฏธ๋ฆฌ ํ™•์žฅโ€๊ธˆ์š”์ผ ์„ธ์ผโ€, โ€œ๋งค์ผ 9์‹œ ์ถœ๊ทผโ€, ์˜ˆ์ธก ๊ฐ€๋Šฅ ํŒจํ„ด (Q271, Q333)ํŒจํ„ด์ด ๋ถˆ๊ทœ์น™ํ•˜๊ณ  ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ
์˜ˆ์ธก ์กฐ์ • (Predictive)ML๋กœ ๊ณผ๊ฑฐ ํŒจํ„ด ๋ถ„์„ ํ›„ ์„ ์ œ ํ™•์žฅโ€๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜โ€, โ€œ๋ฏธ๋ฆฌ ๋Œ€๋น„โ€ (Q342, Q720)์„œ๋น„์Šค ์ดˆ๊ธฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๋•Œ
๋‹จ๊ณ„ ์กฐ์ • (Step Scaling)์•Œ๋žŒ ์ž„๊ณ„๊ฐ’์— ๋”ฐ๋ผ ๋‹จ๊ณ„๋ณ„ ํ™•์žฅCloudWatch ์•Œ๋žŒ๊ณผ ์—ฐ๋™, ์„ธ๋ฐ€ํ•œ ์กฐ์ • ํ•„์š” ์‹œ๋‹จ์ˆœํ•œ ๋ชฉํ‘œ๊ฐ’ ์œ ์ง€๋กœ ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ

๐Ÿ—๏ธ 3. ๊ณ ๊ฐ€์šฉ์„ฑ ์„ค๊ณ„ ์ „๋žต (HA)

โœ… ์„ธ์…˜ ๊ด€๋ฆฌ (Sticky Sessions vs Stateless)

  • Sticky Sessions (์„ธ์…˜ ๊ณ ์ •): ํŠน์ • ์‚ฌ์šฉ์ž๋ฅผ ํŠน์ • ์ธ์Šคํ„ด์Šค์— ๊ณ„์† ์—ฐ๊ฒฐ. ์ธ์Šคํ„ด์Šค ์žฅ์•  ์‹œ ๋ฐ์ดํ„ฐ ์œ ์‹ค ์œ„ํ—˜.

  • Stateless (์ƒํƒœ ๋น„์ €์žฅ): ์„ธ์…˜ ์ •๋ณด๋ฅผ ElastiCache(Redis) ๋˜๋Š” DynamoDB์— ์ €์žฅ. ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ญ์ œ๋˜์–ด๋„ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์œ ์ง€. (Q209, Q390)

Sticky Session์€ ๊ฑฐ์˜ ํ•ญ์ƒ ์˜ค๋‹ต

โ€œ๊ณ ๊ฐ€์šฉ์„ฑโ€ + โ€œ์„ธ์…˜ ์œ ์ง€โ€๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋ฉด Sticky Session์ด ์•„๋‹ˆ๋ผ ElastiCache์— ์„ธ์…˜ ์™ธ๋ถ€ ์ €์žฅ์ด ์ •๋‹ต์ž…๋‹ˆ๋‹ค. Sticky Session์€ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ฃฝ์œผ๋ฉด ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋„ ๊ฐ™์ด ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

โœ… ์ƒํƒœ ํ™•์ธ (Health Checks)

  • EC2 ์ƒํƒœ ํ™•์ธ: ์ธ์Šคํ„ด์Šค ํ™œ์„ฑ ์—ฌ๋ถ€๋งŒ ํ™•์ธ.

  • ELB ์ƒํƒœ ํ™•์ธ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹ค์ œ ์‘๋‹ต์„ ํ•˜๋Š”์ง€ ํ™•์ธ.

  • ํŒ: ASG๊ฐ€ ๋น„์ •์ƒ ์ธ์Šคํ„ด์Šค๋ฅผ ๋นจ๋ฆฌ ๊ต์ฒดํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด ELB ์ƒํƒœ ํ™•์ธ์„ ASG์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•จ. (Q70, Q264)


๐Ÿ› ๏ธ 4. ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ํŠน์ • ๊ตญ๊ฐ€์˜ ์ ‘์†๋งŒ ํ—ˆ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ (Q170, Q399, Q608)

  • ํ•ด๊ฒฐ: ALB ์•ž์— AWS WAF๋ฅผ ๋‘๊ณ  ์ง€๋ฆฌ์  ์ผ์น˜(Geo-match) ๊ทœ์น™์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, CloudFront์˜ ์ง€๋ฆฌ์  ์ œํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ.

โœ… ์‚ฌ๋ก€ 2: ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ ์‹œ ๋ฐ์ดํ„ฐ ์œ ์‹ค ๋ฐฉ์ง€ (Q228, Q404, Q462)

  • ๋ฌธ์ œ: ํŠธ๋ž˜ํ”ฝ์ด ๋„ˆ๋ฌด ๋ชฐ๋ ค ์„œ๋ฒ„๊ฐ€ ์ฃฝ๊ฑฐ๋‚˜ DB ์“ฐ๊ธฐ๊ฐ€ ์‹คํŒจํ•จ.

  • ํ•ด๊ฒฐ: **SQS(Simple Queue Service)**๋ฅผ ์•ž์— ๋‘์–ด ํŠธ๋ž˜ํ”ฝ์„ ๋ฒ„ํผ๋ง(Buffering)ํ•˜๊ณ , ์„œ๋ฒ„๋Š” ํ์—์„œ ๊ฐ€์ ธ์™€ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„(Decoupling).

โœ… ์‚ฌ๋ก€ 3: ์ธํ„ฐ๋„ท ํ†ต์‹  ์—†์ด S3/DynamoDB ์ ‘๊ทผ (Q4, Q91, Q176)

  • ํ•ด๊ฒฐ: VPC Endpoint (Gateway) ์‚ฌ์šฉ. ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋‚˜ NAT ๊ฒŒ์ดํŠธ์›จ์ด ๋น„์šฉ์„ ์•„๋ผ๊ณ  ๋ณด์•ˆ ๊ฐ•ํ™”.

๐Ÿ”€ 5. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๋ณด์•ˆ ๊ฐ•ํ™” ์›น ์•„ํ‚คํ…์ฒ˜

[์‚ฌ์šฉ์ž]
    |
[Route 53] โ† ์ง€์—ญ๋ณ„ ์ง€์—ฐ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…
    |
[CloudFront] โ† WAF ์—ฐ๋™ (์ง€์—ญ ์ฐจ๋‹จ, SQL Injection ๋ฐฉ์–ด)
    |
[ALB] โ† HTTPS ๋ฆฌ์Šค๋„ˆ, ์ธ์ฆ์„œ(ACM)
    |
[EC2 ASG, Multi-AZ]
    |
[RDS Aurora Multi-AZ]

ํ‚ค์›Œ๋“œ: โ€œ์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ์žโ€ + โ€œ๋ณด์•ˆ ๊ฐ•ํ™”โ€ + โ€œ๊ณ ๊ฐ€์šฉ์„ฑโ€

ํŒจํ„ด 2: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ผ์šฐํŒ…

[ALB]
 โ”œโ”€ /api/*     โ†’ [ECS Service A] (API ์„œ๋ฒ„)
 โ”œโ”€ /images/*  โ†’ [ECS Service B] (์ด๋ฏธ์ง€ ์„œ๋ฒ„)
 โ””โ”€ /auth/*    โ†’ [ECS Service C] (์ธ์ฆ ์„œ๋ฒ„)

ํ‚ค์›Œ๋“œ: โ€œ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…โ€ + โ€œ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šคโ€ + โ€œ๋…๋ฆฝ ํ™•์žฅโ€

ํŒจํ„ด 3: ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ ์™„์ถฉ (Decoupling)

[ALB]
    |
[EC2 ASG] โ”€โ”€ ์ง์ ‘ DB ์“ฐ๊ธฐ ๋Œ€์‹  โ”€โ”€โ†’ [SQS Queue]
                                          |
                                   [EC2 Worker ASG] โ† ์†๋„ ์ œ์–ดํ•˜๋ฉฐ ์ฒ˜๋ฆฌ
                                          |
                                       [RDS]

ํ‚ค์›Œ๋“œ: โ€œDB ๊ณผ๋ถ€ํ•˜ ๋ฐฉ์ง€โ€ + โ€œํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆโ€ + โ€œ๋ฐ์ดํ„ฐ ์œ ์‹ค ๋ฐฉ์ง€โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ ๊ฑด์˜ UDP ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ โ†’ ALB vs NLB, ์ด์œ ๋Š”?
  2. โ€œ๊ณ ๊ฐ€์šฉ์„ฑโ€ + โ€œ์„ธ์…˜ ์œ ์ง€โ€๊ฐ€ ํ•„์š”ํ•  ๋•Œ โ†’ Sticky Session์ด ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ค๊ณ„๋Š”?
  3. CPU๊ฐ€ ๋‚ฎ์€๋ฐ ์‘๋‹ต์ด ๋А๋ฆฌ๋‹ค โ†’ ์–ด๋””๋ฅผ ๋จผ์ € ์˜์‹ฌํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
  4. ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆฌ๊ธฐ 30๋ถ„ ์ „์— ๋ฏธ๋ฆฌ ์„œ๋ฒ„๋ฅผ ๋Š˜๋ ค์•ผ ํ•œ๋‹ค โ†’ ์–ด๋–ค ASG ์ •์ฑ…, ์ด์œ ๋Š”?
  5. ALB์— ๊ณ ์ • IP๋ฅผ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์š”๊ตฌ์‚ฌํ•ญ โ†’ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š”๊ฐ€?

# 1.3 ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… (AWS Lambda)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ์ •์˜: ์„œ๋ฒ„๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ ๋„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์ปดํ“จํŒ… ์„œ๋น„์Šค.

  • ์„ค๊ณ„ ์›์น™:

    • ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”: ์ธํ”„๋ผ ๊ด€๋ฆฌ ์—†์ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—๋งŒ ์ง‘์ค‘.

    • ๊ฒฐํ•ฉ ํ•ด์ œ(Decoupling): SQS, SNS ๋“ฑ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๊ตฌํ˜„.

    • ๋น„์šฉ ์ตœ์ ํ™”: ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„)์— ๋Œ€ํ•ด์„œ๋งŒ ๊ณผ๊ธˆ.


โš™๏ธ 1. ์ฃผ์š” ํŠน์ง• ๋ฐ ์ œํ•œ ์‚ฌํ•ญ

์‹œํ—˜์—์„œ Lambda๊ฐ€ ์ •๋‹ต์ด ๋˜๊ฑฐ๋‚˜ ์˜ค๋‹ต์ด ๋˜๋Š” ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.

ํŠน์ง•์ƒ์„ธ ๋‚ด์šฉ์ •๋‹ต ํฌ์ธํŠธโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
์‹คํ–‰ ์‹œ๊ฐ„์ตœ๋Œ€ 15๋ถ„์งง์€ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ15๋ถ„ ์ด์ƒ ์ž‘์—… โ†’ EC2 ๋˜๋Š” AWS Batch (Q369)
์ž„์‹œ ์ €์žฅ์†Œ/tmp (512MB ~ 10GB)๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ž„์‹œ ์ฒ˜๋ฆฌ (Q107)์ฒ˜๋ฆฌ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ ๋ณด์กดํ•ด์•ผ ํ•  ๋•Œ (S3/EFS ํ•„์š”)
์ƒํƒœ์ƒํƒœ ๋น„์ €์žฅ(Stateless)๋‹จ๋ฐœ์„ฑ ์ฒ˜๋ฆฌ ์ž‘์—…์ƒํƒœ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ์žฅ๊ธฐ ํ”„๋กœ์„ธ์Šค
ํŠธ๋ฆฌ๊ฑฐS3, SQS, API Gateway, EventBridgeโ€๊ฐ์ฒด๊ฐ€ ์—…๋กœ๋“œ๋˜๋ฉด ์ž๋™์œผ๋กœโ€ฆโ€ (Q18, Q63)์ง€์†์ ์ธ ํด๋ง์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
๋™์‹œ์„ฑ๊ธฐ๋ณธ 1,000 (๋ฆฌ์ „๋ณ„ ์ œํ•œ)์ ์ • ๊ทœ๋ชจ ์ฒ˜๋ฆฌ๊ทน๋„๋กœ ๋†’์€ ๋™์‹œ์„ฑ์ด ์˜ˆ์ธก๋  ๋•Œ โ†’ ์‚ฌ์ „ ๋™์‹œ์„ฑ ์„ค์ • ํ•„์š”

Lambda๊ฐ€ ์˜ค๋‹ต์ด ๋˜๋Š” ๋Œ€ํ‘œ ์‹œ๋‚˜๋ฆฌ์˜ค

  • ์‹คํ–‰ ์‹œ๊ฐ„์ด 15๋ถ„ ์ดˆ๊ณผ โ†’ AWS Batch ๋˜๋Š” EC2
  • ์ง€์†์ ์ธ ์†Œ์ผ“ ์—ฐ๊ฒฐ ์œ ์ง€ ํ•„์š” โ†’ EC2
  • ๋Œ€์šฉ๋Ÿ‰ ๋ฉ”๋ชจ๋ฆฌ(์ˆ˜๋ฐฑ GB) ์ฒ˜๋ฆฌ โ†’ EC2 ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ์ธ์Šคํ„ด์Šค
  • GPU ํ•„์š” (ML ์ถ”๋ก  ๋“ฑ) โ†’ EC2 GPU ์ธ์Šคํ„ด์Šค ๋˜๋Š” SageMaker

๐Ÿš€ 2. Lambda ์„ฑ๋Šฅ ๋ฐ ์ตœ์ ํ™”

์ง€์—ฐ ์‹œ๊ฐ„(Latency)์ด๋‚˜ ์ฝœ๋“œ ์Šคํƒ€ํŠธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œํ•ด๊ฒฐ์ฑ…ํ‚ค์›Œ๋“œ
์ฝœ๋“œ ์Šคํƒ€ํŠธ ์ง€์—ฐProvisioned Concurrencyโ€์ฆ‰๊ฐ์ ์ธ ์‘๋‹ตโ€, โ€œํ”ผํฌ ์‹œ๊ฐ„ ๋Œ€๋น„โ€ (Q516, Q724)
Java ๋Ÿฐํƒ€์ž„ ์ดˆ๊ธฐํ™” ๋А๋ฆผLambda SnapStartโ€Javaโ€, โ€œ์‹œ์ž‘ ์ง€์—ฐ ๋‹จ์ถ•โ€ (Q573)
CPU ๋ถ€์กฑ (๊ณ„์‚ฐ ์ง‘์•ฝ)๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์ฆ๊ฐ€๋ฉ”๋ชจ๋ฆฌ โ†‘ = CPU โ†‘ (๋น„๋ก€ ๊ด€๊ณ„)
ํ•จ์ˆ˜ ์‹คํ–‰ 15๋ถ„ ์ดˆ๊ณผAWS Batch / Step Functions์žฅ๊ธฐ ์ž‘์—…, ์›Œํฌํ”Œ๋กœ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

๐Ÿ›ก๏ธ 3. ๋ณด์•ˆ ๋ฐ ๋„คํŠธ์›Œํฌ (VPC Access)

Lambda๊ฐ€ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋‚˜ ํ”„๋ผ์ด๋น— ์ž์›์— ์ ‘๊ทผํ•  ๋•Œ์˜ ๊ทœ์น™์ž…๋‹ˆ๋‹ค.

  • ์‹คํ–‰ ์—ญํ• (Execution Role): Lambda๊ฐ€ S3๋‚˜ DynamoDB๋ฅผ ์ฝ์œผ๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ IAM Role์ด ํ•„์š”ํ•จ (Q403, Q289).

  • VPC ๋‚ด๋ถ€ ์—ฐ๊ฒฐ: ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์˜ RDS ๋“ฑ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด VPC ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜๋ฉฐ, ๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์–ด์•ผ ํ•จ (Q184).

  • ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ: VPC ๋‚ด๋ถ€์— ๋ฐฐ์น˜๋œ Lambda๊ฐ€ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์— ๋‚˜๊ฐ€๋ ค๋ฉด NAT Gateway๊ฐ€ ํ•„์ˆ˜์ž„.

VPC Lambda์˜ ํ•จ์ •

Lambda๋ฅผ VPC์— ๋ฐฐ์น˜ํ•˜๋ฉด ์ธํ„ฐ๋„ท ์ ‘๊ทผ์ด ๊ธฐ๋ณธ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. S3๋‚˜ DynamoDB์— ํ”„๋ผ์ด๋น—ํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๋ ค๋ฉด โ†’ VPC Endpoint ์‚ฌ์šฉ. ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์ด ํ•„์š”ํ•˜๋ฉด โ†’ NAT Gateway ํ•„์ˆ˜.


๐Ÿ› ๏ธ 4. ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ๋Œ€๋Ÿ‰์˜ ํŒŒ์ผ ๋ณ€ํ™˜ ๋ฐ ์ฒ˜๋ฆฌ (Q18, Q63, Q110, Q161)

  • ๋ฌธ์ œ: ์‚ฌ์šฉ์ž๊ฐ€ S3์— ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๋ฉด ์ฆ‰์‹œ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๊ฑฐ๋‚˜ ํ˜•์‹์„ ๋ณ€ํ™˜ํ•ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ: S3 ์ด๋ฒคํŠธ ์•Œ๋ฆผ + Lambda.

  • ์‹ฌํ™”: ํŠธ๋ž˜ํ”ฝ์ด ๋„ˆ๋ฌด ๋ชฐ๋ ค ์ฒ˜๋ฆฌ๊ฐ€ ๋ˆ„๋ฝ๋œ๋‹ค๋ฉด? โ†’ SQS๋ฅผ ์ค‘๊ฐ„์— ๋‘์–ด ๋ฒ„ํผ๋ง (Q404, Q195).

โœ… ์‚ฌ๋ก€ 2: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„์˜ ๋น„๋™๊ธฐ ํ†ต์‹  (Q10, Q462, Q672)

  • ๋ฌธ์ œ: ์ฃผ๋ฌธ ์‹œ์Šคํ…œ์—์„œ ํŠธ๋ž˜ํ”ฝ์ด ๊ธ‰์ฆํ•  ๋•Œ DB ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ  ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ: API Gateway + SQS(FIFO) + Lambda.

  • ์ด์œ : SQS๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๊ด€ํ•ด์ฃผ๊ณ , Lambda๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋งŒํผ์”ฉ ๊ฐ€์ ธ๊ฐ€์„œ ์ฒ˜๋ฆฌํ•จ(Throttling ๋ฐฉ์ง€).

โœ… ์‚ฌ๋ก€ 3: ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ (Q316)

  • ๋ฌธ์ œ: EC2์—์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋Œ๋ฆฌ๋Š”๋ฐ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค๊ณ  ๊ด€๋ฆฌ๊ฐ€ ํž˜๋“ฆ.

  • ํ•ด๊ฒฐ: EventBridge(Schedule) + Lambda.

  • ์ด์œ : ์„œ๋ฒ„๋ฅผ 24์‹œ๊ฐ„ ์ผœ๋‘˜ ํ•„์š” ์—†์ด ํ•„์š”ํ•  ๋•Œ๋งŒ ์‹คํ–‰๋จ.


๐Ÿ’ก 5. ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ + โ€œ์ด๋ฒคํŠธโ€ = Lambda

  • โ€œ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌโ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šคโ€ = Lambda

  • โ€œ์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์†Œํ™”(์ฝœ๋“œ ์Šคํƒ€ํŠธ)โ€ = Provisioned Concurrency

  • โ€œ15๋ถ„ ์ด์ƒ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…โ€ = ์˜ค๋‹ต(Lambda ๋ถˆ๊ฐ€)

  • โ€œ์ˆœ์„œ ๋ณด์žฅ ์ฒ˜๋ฆฌโ€ + โ€œLambda ํŠธ๋ฆฌ๊ฑฐโ€ = SQS FIFO


๐Ÿ”€ 6. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์ฒ˜๋ฆฌ

[์‚ฌ์šฉ์ž] โ†’ S3 ์—…๋กœ๋“œ
    |
[S3 Event Notification]
    |
[SQS Queue] โ† ๋ฒ„ํผ๋ง (ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ ๋Œ€๋น„)
    |
[Lambda] โ† ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ง• / ํ˜•์‹ ๋ณ€ํ™˜
    |
[S3 Output Bucket] + [DynamoDB] โ† ๊ฒฐ๊ณผ ์ €์žฅ + ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

ํ‚ค์›Œ๋“œ: โ€œํŒŒ์ผ ์—…๋กœ๋“œ ์‹œ ์ž๋™ ์ฒ˜๋ฆฌโ€ + โ€œ๋ˆ„๋ฝ ์—†์ดโ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šคโ€

ํŒจํ„ด 2: API ๊ธฐ๋ฐ˜ ๋น„๋™๊ธฐ ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ

[์‚ฌ์šฉ์ž]
    |
[API Gateway] โ† REST API, ์ธ์ฆ(Cognito/IAM)
    |
[SQS FIFO] โ† ์ˆœ์„œ ๋ณด์žฅ, ์ค‘๋ณต ์ œ๊ฑฐ
    |
[Lambda] โ† ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ ๋กœ์ง (๋™์‹œ์„ฑ ์ œ์–ด)
    |
[RDS / DynamoDB] โ† ์ตœ์ข… ์ €์žฅ
    |
[SNS] โ† ์ฒ˜๋ฆฌ ์™„๋ฃŒ ์•Œ๋ฆผ (์ด๋ฉ”์ผ, SMS)

ํ‚ค์›Œ๋“œ: โ€œ์ˆœ์„œ ๋ณด์žฅโ€ + โ€œํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ ํ—ˆ์šฉโ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šค APIโ€

ํŒจํ„ด 3: ์„œ๋ฒ„๋ฆฌ์Šค ์Šค์ผ€์ค„ ์ž‘์—…

[EventBridge Rule (cron)]
    |
[Lambda] โ† ๋ฆฌํฌํŠธ ์ƒ์„ฑ, ๋ฐ์ดํ„ฐ ์ •์ œ
    |
[S3] โ† ๋ฆฌํฌํŠธ ์ €์žฅ
    |
[SES / SNS] โ† ์ด๋ฉ”์ผ ๋ฐœ์†ก

ํ‚ค์›Œ๋“œ: โ€œ์ฃผ๊ธฐ์  ์ž‘์—…โ€ + โ€œ์„œ๋ฒ„ ๋ถˆํ•„์š”โ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์Œโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. Lambda๊ฐ€ S3์— ์ ‘๊ทผ ๋ชป ํ•œ๋‹ค โ†’ ๊ฐ€์žฅ ๋จผ์ € ํ™•์ธํ•  ๊ฒƒ๊ณผ ์ด์œ ๋Š”?
  2. ์ฃผ๋ฌธ ์ •๋ณด๋ฅผ โ€˜์ˆœ์„œ๋Œ€๋กœโ€™ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค โ†’ ์–ด๋–ค ์„œ๋น„์Šค ์กฐํ•ฉ, SQS Standard๊ฐ€ ์•ˆ ๋˜๋Š” ์ด์œ ๋Š”?
  3. Lambda๋ฅผ VPC์— ๋„ฃ์—ˆ๋”๋‹ˆ ์™ธ๋ถ€ API ํ˜ธ์ถœ์ด ์•ˆ ๋œ๋‹ค โ†’ ์›์ธ๊ณผ ํ•ด๊ฒฐ์ฑ…์€?
  4. Java Lambda๊ฐ€ ์ฝœ๋“œ ์Šคํƒ€ํŠธ ๋•Œ๋ฌธ์— ๋А๋ฆฌ๋‹ค โ†’ Provisioned Concurrency vs SnapStart ์ฐจ์ด๋Š”?
  5. ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด 20๋ถ„์ธ ์ž‘์—…์„ Lambda๋กœ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ๋Œ€์•ˆ์€ ๋ฌด์—‡์ธ๊ฐ€?

# 1.4 ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค (ECS, EKS, Fargate)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ๋ชฉ์ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํŒจํ‚ค์ง•ํ•˜์—ฌ ์ผ๊ด€๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ ๋ฐ ํ™•์žฅ.

  • ์„ค๊ณ„ ์›์น™:

    • ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”: ์„œ๋ฒ„ ๊ด€๋ฆฌ ์—†์ด ์ปจํ…Œ์ด๋„ˆ๋งŒ ์‹คํ–‰ํ•˜๋ ค๋ฉด Fargate ์„ ํƒ.

    • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ถ„ํ• : ๋ชจ๋†€๋ฆฌ์‹ ์•ฑ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„์–ด ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ (Q143, Q670).

    • ์ด์‹์„ฑ(Portability): ์˜คํ”ˆ ์†Œ์Šค ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ‘œ์ค€์ด ํ•„์š”ํ•˜๋ฉด EKS ์„ ํƒ.


๐Ÿ—๏ธ 1. ์„œ๋น„์Šค๋ณ„ ๋น„๊ต (๋ฌด์—‡์„ ์“ธ ๊ฒƒ์ธ๊ฐ€?)

์„œ๋น„์ŠคํŠน์ง•์ •๋‹ต ํ‚ค์›Œ๋“œโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
Amazon ECSAWS ์ „์šฉ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜AWS ์„œ๋น„์Šค ํ†ตํ•ฉ, ๋‹จ์ˆœํ•จ๊ธฐ์กด K8s ํ™˜๊ฒฝ์„ ๊ทธ๋Œ€๋กœ ์ด์ „ํ•ด์•ผ ํ•  ๋•Œ
Amazon EKS๊ด€๋ฆฌํ˜• Kubernetes์˜คํ”ˆ ์†Œ์Šค ํ‘œ์ค€, ๊ธฐ์กด K8s ์ด์ „ (Q198, Q263)K8s ๊ฒฝํ—˜์ด ์—†๊ณ  ๋‹จ์ˆœํ•จ์ด ์šฐ์„ ์ผ ๋•Œ (์˜ค๋ฒ„์ŠคํŽ™)
AWS Fargate์„œ๋ฒ„๋ฆฌ์Šค ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์„œ๋ฒ„ ๊ด€๋ฆฌ ์—†์Œ, ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™” (Q163, Q516, Q659)ํŠน์ • ์ธ์Šคํ„ด์Šค ํƒ€์ž… ์ œ์–ด๊ฐ€ ํ•„์š”ํ•  ๋•Œ (GPU ๋“ฑ)
Amazon ECR์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ์ด๋ฏธ์ง€ ์ €์žฅ ๋ฐ ECS/EKS ๋ฐฐํฌ (Q163)์ด๋ฏธ์ง€ ์ €์žฅ๋งŒ์ด ๋ชฉ์ ์ด ์•„๋‹ ๋•Œ (์‹คํ–‰์€ ECS/EKS)

ECS vs EKS ์„ ํƒ ๊ธฐ์ค€

  • โ€œ๊ธฐ์กด Kubernetesโ€, โ€œK8s ํ‘œ์ค€ ๋„๊ตฌโ€, โ€œ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด AWS ์ด์ „โ€ โ†’ EKS
  • โ€œAWS ๋„ค์ดํ‹ฐ๋ธŒโ€, โ€œ๋‹จ์ˆœโ€, โ€œ๋น ๋ฅธ ์‹œ์ž‘โ€ โ†’ ECS
  • ๋‘˜ ๋‹ค + โ€œ์„œ๋ฒ„ ๊ด€๋ฆฌ ์—†์Œโ€ โ†’ ๊ฐ๊ฐ + Fargate

โšก 2. ECS/EKS์˜ ์‹คํ–‰ ๋ชจ๋ธ (Launch Types)

์‹คํ–‰ ๋ชจ๋ธํŠน์ง•์ •๋‹ต ํ‚ค์›Œ๋“œโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
EC2 Launch TypeEC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌ๋น„์šฉ ์ตœ์ ํ™”(Reserved EC2), ํŠน์ˆ˜ ์ธ์Šคํ„ด์Šค ํƒ€์ž… ํ•„์š”โ€์ธํ”„๋ผ ๊ด€๋ฆฌ ์ฑ…์ž„์„ ์›ํ•˜์ง€ ์•Š์Œโ€ ์กฐ๊ฑด ์กด์žฌ ์‹œ
Fargate Launch Type์„œ๋ฒ„ ์—†์ด ์ปจํ…Œ์ด๋„ˆ ๋‹จ์œ„ ์‹คํ–‰โ€์ธํ”„๋ผ ํ”„๋กœ๋น„์ €๋‹ ๋ฐ ๊ด€๋ฆฌ ์ตœ์†Œํ™”โ€ (Q58, Q178)GPU ์ธ์Šคํ„ด์Šค๋‚˜ ํŠน์ • ํ•˜๋“œ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ

๐Ÿ’พ 3. ์ปจํ…Œ์ด๋„ˆ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋„คํŠธ์›Œํฌ

์š”๊ตฌ์‚ฌํ•ญํ•ด๊ฒฐ์ฑ…โŒ ์˜ค๋‹ต ๋ฐ ์ด์œ 
์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ ์ธ์Šคํ„ด์Šค๊ฐ€ ํŒŒ์ผ ๊ณต์œ Amazon EFS (Q566, Q691)EBS๋Š” ๋‹จ์ผ ์ธ์Šคํ„ด์Šค ์—ฐ๊ฒฐ๋งŒ ๊ฐ€๋Šฅ
๋‹จ์ผ ์ปจํ…Œ์ด๋„ˆ์˜ ๋กœ์ปฌ ์ €์žฅ์†ŒEBSEFS๋Š” NFS ๊ณต์œ  ๋ชฉ์ , ๋‹จ์ผ ๊ณ ์„ฑ๋Šฅ์—๋Š” EBS
๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„ ๊ฒฝ๋กœ/ํ˜ธ์ŠคํŠธ ๋ผ์šฐํŒ…ALB (Q112, Q657)NLB๋Š” L4 โ†’ HTTP ๊ฒฝ๋กœ ์ธ์‹ ๋ถˆ๊ฐ€
๊ณ ์„ฑ๋Šฅ / ๊ณ ์ • IP ํ•„์š”NLBALB๋Š” ๊ณ ์ • IP ๋ฏธ์ง€์›

EBS๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€๋กœ ์˜ค๋‹ต

EBS๋Š” ๋‹จ์ผ EC2 ์ธ์Šคํ„ด์Šค์—๋งŒ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ AZ์— ๊ฑธ์นœ ECS ์ž‘์—…๋“ค์ด ๋™์ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์จ์•ผ ํ•œ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ EFS๋ฅผ ์„ ํƒํ•˜์„ธ์š”.


๐Ÿ› ๏ธ 4. ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ๋ชจ๋†€๋ฆฌ์‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ˜„๋Œ€ํ™” (Q670)

  • ๋ฌธ์ œ: ๋‹จ์ผ EC2์—์„œ ๋Œ์•„๊ฐ€๋Š” ์•ฑ์ด ์ˆ˜์ •/ํŒจ์น˜๊ฐ€ ์–ด๋ ต๊ณ  ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง.

  • ํ•ด๊ฒฐ: ์•ฑ์„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋กœ ๋ถ„ํ• ํ•˜๊ณ  Amazon ECS + Fargate๋กœ ๋ฐฐํฌ.

  • ์ด์œ : ์šด์˜ ๋ถ€๋‹ด์„ ์ค„์ด๋ฉด์„œ ์ˆ˜์š”์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ํ™•์žฅ(Service Auto Scaling) ๊ฐ€๋Šฅ.

โœ… ์‚ฌ๋ก€ 2: ์˜จํ”„๋ ˆ๋ฏธ์Šค ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ด์ „ (Q198, Q263)

  • ๋ฌธ์ œ: ๊ธฐ์กด์— Kubernetes๋ฅผ ์“ฐ๊ณ  ์žˆ๊ณ , ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด AWS๋กœ ์˜ฎ๊ธฐ๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ: Amazon EKS + Fargate (๋˜๋Š” EKS ๊ด€๋ฆฌํ˜• ๋…ธ๋“œ ๊ทธ๋ฃน).

  • ์ด์œ : ํ‘œ์ค€ K8s API๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ธํ”„๋ผ ๊ด€๋ฆฌ๋งŒ AWS์— ์œ„์ž„.

โœ… ์‚ฌ๋ก€ 3: ์ปจํ…Œ์ด๋„ˆ์˜ ๊ถŒํ•œ ๊ด€๋ฆฌ (Q185)

  • ๋ฌธ์ œ: ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ์•ฑ์ด S3์— ์ ‘๊ทผํ•ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ: **Task Role(์ž‘์—… ์—ญํ• )**์— IAM ์ •์ฑ… ์—ฐ๊ฒฐ.

  • ์˜ค๋‹ต: EC2 ์ธ์Šคํ„ด์Šค ์—ญํ• (Instance Role)์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ™์€ ์„œ๋ฒ„ ๋‚ด ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ถŒํ•œ์„ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์–ด ๋ณด์•ˆ์ƒ ์œ„ํ—˜.


๐Ÿ’ก 5. ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ์ปจํ…Œ์ด๋„ˆโ€ + โ€œ์„œ๋ฒ„ ๊ด€๋ฆฌ ์ตœ์†Œํ™”โ€ = Fargate

  • โ€œKubernetes(์ฟ ๋ฒ„๋„คํ‹ฐ์Šค)โ€ = EKS

  • โ€œ์ปจํ…Œ์ด๋„ˆ ๊ณต์œ  ํŒŒ์ผ ์ €์žฅ์†Œโ€ = EFS (EBS ์•„๋‹˜!)

  • โ€œ์ด๋ฏธ์ง€ ์ €์žฅโ€ = ECR

  • โ€œ์ปจํ…Œ์ด๋„ˆ S3 ์ ‘๊ทผโ€ = Task Role (Instance Role ์•„๋‹˜!)


๐Ÿ”€ 6. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์„œ๋ฒ„๋ฆฌ์Šค ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ „์ฒด ์•„ํ‚คํ…์ฒ˜

[Route 53]
    |
[ALB]
 โ”œโ”€ /order/*   โ†’ [ECS Task: Order Service, Fargate]
 โ”‚                   |
 โ”‚              [SQS FIFO] โ†’ [ECS Task: Payment Worker]
 โ”‚                                   |
 โ”œโ”€ /user/*    โ†’ [ECS Task: User Service, Fargate]   [RDS Aurora]
 โ”‚                   |                                     โ†‘
 โ””โ”€ /product/* โ†’ [ECS Task: Product Service, Fargate]โ”€โ”€โ”€โ”€โ”€โ”˜
                         |
                [ElastiCache Redis] โ† ์„ธ์…˜/์บ์‹œ

ํ‚ค์›Œ๋“œ: โ€œ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šคโ€ + โ€œ์„œ๋ฒ„ ๊ด€๋ฆฌ ์—†์Œโ€ + โ€œ๋…๋ฆฝ ํ™•์žฅโ€

ํŒจํ„ด 2: K8s ์˜จํ”„๋ ˆ๋ฏธ์Šค โ†’ AWS ์ด์ „

[๊ธฐ์กด ์˜จํ”„๋ ˆ๋ฏธ์Šค K8s]
    |
    | (์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ์ด์ „)
    โ†“
[Amazon EKS]
 โ”œโ”€ Managed Node Group (EC2)  โ† ๊ธฐ์กด ์›Œํฌ๋กœ๋“œ
 โ””โ”€ Fargate Profile           โ† ์„œ๋ฒ„๋ฆฌ์Šค ์›Œํฌ๋กœ๋“œ
         |
    [ECR] โ† ์ด๋ฏธ์ง€ ์ €์žฅ
    [EFS] โ† ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ (PVC ์—ฐ๋™)
    [ALB Ingress Controller] โ† ์ธ๊ทธ๋ ˆ์Šค ์ฒ˜๋ฆฌ

ํ‚ค์›Œ๋“œ: โ€œKubernetes ๊ทธ๋Œ€๋กœโ€ + โ€œ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ดโ€ + โ€œAWS ์ด์ „โ€

ํŒจํ„ด 3: ์ปจํ…Œ์ด๋„ˆ CI/CD ํŒŒ์ดํ”„๋ผ์ธ

[CodeCommit / GitHub]
    |
[CodeBuild] โ† Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ
    |
[ECR] โ† ์ด๋ฏธ์ง€ push
    |
[CodeDeploy / ECS Rolling Update]
    |
[ECS Fargate] โ† ์ƒˆ Task ๋ฐฐํฌ (Blue/Green ๊ฐ€๋Šฅ)

ํ‚ค์›Œ๋“œ: โ€œCI/CDโ€ + โ€œ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ์ž๋™ํ™”โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. ์„œ๋ฒ„ ํŒจ์น˜/์šฉ๋Ÿ‰ ๊ด€๋ฆฌ๋ฅผ ์•„์˜ˆ ์•ˆ ํ•˜๊ณ  ์‹ถ๋‹ค โ†’ Fargate๋ฅผ ์“ฐ๋Š” ์ด์œ ๋ฅผ EC2 Launch Type๊ณผ ๋น„๊ตํ•ด ์„ค๋ช…ํ•˜๋ฉด?
  2. ๊ธฐ์กด ์˜คํ”ˆ ์†Œ์Šค K8s ๋„๊ตฌ๋ฅผ ๊ณ„์† ์จ์•ผ ํ•œ๋‹ค โ†’ ECS๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  3. ์—ฌ๋Ÿฌ AZ์— ๊ฑธ์ณ ์žˆ๋Š” ECS ์ž‘์—…๋“ค์ด ๋™์ผ ํŒŒ์ผ์— ์ฝ๊ณ  ์จ์•ผ ํ•œ๋‹ค โ†’ EBS๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?
  4. ํŠน์ • ๊ฒฝ๋กœ(/api/v1)์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด์•ผ ํ•œ๋‹ค โ†’ NLB๊ฐ€ ์•ˆ ๋˜๋Š” ์ด์œ ๋Š”?
  5. ECS Task๊ฐ€ S3์— ์ ‘๊ทผํ•ด์•ผ ํ•  ๋•Œ โ†’ Instance Role vs Task Role ์ฐจ์ด์™€ Task Role์ด ๋งž๋Š” ์ด์œ ๋Š”?

# 2.1 Amazon S3 (Simple Storage Service)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ์ •์˜: ๋ฌด์ œํ•œ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด ์ˆ˜์ค€(Object-level) ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค.

  • ๋‚ด๊ตฌ์„ฑ: 99.999999999% (11 nines).

  • ์„ค๊ณ„ ์›์น™:

    • ๋น„์šฉ ์ตœ์ ํ™”: ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋นˆ๋„์— ๋งž๋Š”ย ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šคย ์„ ํƒ.

    • ์ž๋™ํ™”: **์ˆ˜๋ช… ์ฃผ๊ธฐ ์ •์ฑ…(Lifecycle Policy)**์„ ํ†ตํ•œ ์ž๋™ ๊ณ„์ธต ์ด๋™.

    • ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ: ๋ฒ„์ „ ๊ด€๋ฆฌ, MFA ์‚ญ์ œ, Object Lock ํ™œ์šฉ.


๐Ÿ“ฆ 1. ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค (๋น„์šฉ ์ตœ์ ํ™”์˜ ํ•ต์‹ฌ)

๋ฌธ์ œ์—์„œ โ€œ๊ฐ€์žฅ ๋น„์šฉ ํšจ์œจ์ ์ธโ€ ์†”๋ฃจ์…˜์„ ์ฐพ์„ ๋•Œ ๊ธฐ์ค€์ด ๋ฉ๋‹ˆ๋‹ค.

ํด๋ž˜์ŠคํŠน์ง•์šฉ๋„ (ํ‚ค์›Œ๋“œ)โŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
Standard๋†’์€ ๊ฐ€์šฉ์„ฑ, ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„์ž์ฃผ ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ์ดํ„ฐ๋น„์šฉ ์ ˆ๊ฐ ์š”๊ตฌ + ์•ก์„ธ์Šค ๋นˆ๋„ ๋‚ฎ์„ ๋•Œ
Intelligent-TieringํŒจํ„ด์„ ์•Œ ์ˆ˜ ์—†๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋จ๋ถ„์„, ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฐ์ดํ„ฐ (Q22, Q212)์•ก์„ธ์Šค ํŒจํ„ด์ด ๋ช…ํ™•ํ•  ๋•Œ (๋ชจ๋‹ˆํ„ฐ๋ง ๋น„์šฉ ๋‚ญ๋น„)
Standard-IA๋‚ฎ์€ ๋น„์šฉ, ์•ก์„ธ์Šค ์‹œ ์š”๊ธˆ ๋ฐœ์ƒ๊ฐ€๋” ์•ก์„ธ์Šค, ์ฆ‰์‹œ ํ•„์š” (Q153, Q606)์ž์ฃผ ์ฝ๋Š” ๋ฐ์ดํ„ฐ (์•ก์„ธ์Šค ๋น„์šฉ์ด Standard๋ณด๋‹ค ๋น„์Œ€ ์ˆ˜ ์žˆ์Œ)
One Zone-IA๋‹จ์ผ AZ์— ์ €์žฅ (๊ฐ€์šฉ์„ฑ ๋‚ฎ์Œ)์žฌ์ƒ์„ฑ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ, ๋น„์šฉ ์ ˆ๊ฐ ์šฐ์„ ์›๋ณธ ๋ฐ์ดํ„ฐ, ์žฌ์ƒ์„ฑ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ค‘์š” ๋ฐ์ดํ„ฐ
Glacier Instant์•„์นด์ด๋ธŒ๊ธ‰ ๋น„์šฉ, ๋ฐ€๋ฆฌ์ดˆ ๊ฒ€์ƒ‰๊ฑฐ์˜ ์•ˆ ๋ณด์ง€๋งŒ ๋ณผ ๋•Œ ๋ฐ”๋กœ ๋ด์•ผ ํ•จ (Q49)๋ช‡ ๋ถ„~์‹œ๊ฐ„ ์ง€์—ฐ ํ—ˆ์šฉ๋  ๋•Œ (Flexible์ด ๋” ์ €๋ ด)
Glacier Flexible๊ฒ€์ƒ‰์— 1๋ถ„~12์‹œ๊ฐ„ ์†Œ์š”๋ฐฑ์—… ๋ฐ์ดํ„ฐ์ฆ‰๊ฐ ๊ฒ€์ƒ‰์ด ํ•„์š”ํ•  ๋•Œ
Deep Archive์ตœ์ € ๋น„์šฉ, 12~48์‹œ๊ฐ„ ์†Œ์š”์ˆ˜๋…„๊ฐ„ ๋ณด๊ด€, ๊ทœ์ • ์ค€์ˆ˜์šฉ (Q23, Q126)1๋…„ ์ด๋‚ด ์ž์ฃผ ๊ฒ€์ƒ‰์ด ์˜ˆ์ƒ๋  ๋•Œ

Glacier ๊ณ„์—ด ์˜ค๋‹ต ํ•จ์ •

  • ์ฆ‰์‹œ ๊บผ๋‚ด์•ผ ํ•œ๋‹ค + โ€œ์•„์นด์ด๋ธŒโ€ โ†’ Glacier Instant (Flexible ์•„๋‹˜)
  • ์•ก์„ธ์Šค ํŒจํ„ด ๋ชจ๋ฆ„ โ†’ Glacier๊ฐ€ ์•„๋‹ˆ๋ผ Intelligent-Tiering
  • One Zone-IA โ†’ AZ ์žฅ์•  ์‹œ ๋ฐ์ดํ„ฐ ์œ ์‹ค. โ€œ์žฌ์ƒ์„ฑ ๋ถˆ๊ฐ€๋Šฅโ€ ๋ฐ์ดํ„ฐ์—๋Š” ์ ˆ๋Œ€ ์˜ค๋‹ต

๐Ÿ”„ 2. ์ˆ˜๋ช… ์ฃผ๊ธฐ ๋ฐ ๋ณต์ œ (Lifecycle & Replication)

  1. ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ •์ฑ… (Lifecycle Policy):

    • ์ „ํ™˜(Transition): ์ƒ์„ฑ ํ›„ 30์ผ ๋’ค Standard-IA๋กœ ์ด๋™, 1๋…„ ๋’ค Glacier๋กœ ์ด๋™ ๋“ฑ (Q167, Q214).

    • ๋งŒ๋ฃŒ(Expiration): ์ผ์ • ๊ธฐ๊ฐ„ ํ›„ ๊ฐ์ฒด ์ž๋™ ์‚ญ์ œ.

  2. ๋ณต์ œ (Replication):

    • CRR (Cross-Region): ์žฌํ•ด ๋ณต๊ตฌ(DR) ๋˜๋Š” ์ง€๋ฆฌ์  ๊ทผ์ ‘์„ฑ์„ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ฆฌ์ „์œผ๋กœ ๋ณต์ œ (B1, Q621).

    • SRR (Same-Region): ๋™์ผ ๋ฆฌ์ „ ๋‚ด ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ.


๐Ÿ”’ 3. ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ฐ ๊ทœ์ • ์ค€์ˆ˜ (Protection)

โ€œ์‹ค์ˆ˜๋‚˜ ์•…์˜์  ์˜๋„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•ด์•ผ ํ•จโ€ ๋ฌธ๊ตฌ ์‹œ ๊ฒ€ํ† ํ•˜์„ธ์š”.

  • ๋ฒ„์ „ ๊ด€๋ฆฌ(Versioning): ๊ฐ์ฒด์˜ ๊ณผ๊ฑฐ ๋ฒ„์ „์„ ๋ณด์กดํ•˜์—ฌ ์‹ค์ˆ˜๋กœ ๋ฎ์–ด์“ฐ๊ฑฐ๋‚˜ ์‚ญ์ œํ•œ ๊ฒฝ์šฐ ๋ณต๊ตฌ ๊ฐ€๋Šฅ (Q44, Q89).

  • MFA ์‚ญ์ œ(MFA Delete): ๊ฐ์ฒด๋ฅผ ์˜๊ตฌ ์‚ญ์ œํ•  ๋•Œ ์ธ์ฆ๊ธฐ(OTP) ๋ฒˆํ˜ธ๋ฅผ ์š”๊ตฌ (Q256).

  • S3 Object Lock (WORM):ย โ€œ์ˆ˜์ • ๋ฐ ์‚ญ์ œ ๋ถˆ๊ฐ€โ€ย ์š”๊ฑด ์‹œ ํ•„์ˆ˜. (Q85, Q154, Q189)

    • ๊ทœ์ • ์ค€์ˆ˜ ๋ชจ๋“œ(Compliance): ๊ด€๋ฆฌ์ž ํฌํ•จ ์•„๋ฌด๋„ ์‚ญ์ œ ๋ถˆ๊ฐ€.

    • ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ชจ๋“œ(Governance): ํŠน์ • ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋งŒ ์‚ญ์ œ ๊ฐ€๋Šฅ.


โšก 4. ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ๋ถ„์„

  • S3 Transfer Acceleration:

    • ํ‚ค์›Œ๋“œ: โ€œ๋Œ€๋ฅ™ ๊ฐ„ ์ „์†กโ€, โ€œ๊ธ€๋กœ๋ฒŒ ์—…๋กœ๋“œ ์†๋„ ํ–ฅ์ƒโ€ (Q1, Q711).

    • ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋กœ๋“œ ๊ฒฝ๋กœ๋ฅผ ์ตœ์ ํ™”.

  • ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ (Multipart Upload): ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ(100MB ์ด์ƒ ๊ถŒ์žฅ)์„ ์กฐ๊ฐ๋‚ด์–ด ๋ณ‘๋ ฌ๋กœ ์—…๋กœ๋“œ.

  • Amazon Athena:

    • ํ‚ค์›Œ๋“œ: โ€œS3์— ์ €์žฅ๋œ ๋กœ๊ทธ๋ฅผ SQL๋กœ ๋ถ„์„โ€ (Q2, Q280, Q708).

    • ์„œ๋ฒ„๋ฆฌ์Šค ๋Œ€ํ™”ํ˜• ์ฟผ๋ฆฌ ์„œ๋น„์Šค.


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: 500GB ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€๋ฅ™์—์„œ ์ˆ˜์ง‘ (Q1)

  • ํ•ด๊ฒฐ:ย S3 Transfer Acceleration + ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ.

  • ์ด์œ : ๊ณ ์† ์ธํ„ฐ๋„ท์ด ์žˆ์–ด๋„ ๋ฌผ๋ฆฌ์  ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€๋ฉด ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ๊ฐ€์†ํ™”๊ฐ€ ํ•„์š”ํ•จ.

โœ… ์‚ฌ๋ก€ 2: 30์ผ ํ›„์—” ๊ฑฐ์˜ ์•ˆ ๋ณด๊ณ , 7๋…„ ๋ณด๊ด€ (Q153, Q666)

  • ํ•ด๊ฒฐ: Lifecycle ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌย Standard โ†’ Standard-IA (30์ผ ํ›„) โ†’ Deep Archive (90์ผ+ ํ›„)ย ์ด๋™.

โœ… ์‚ฌ๋ก€ 3: โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ ํ•˜๋ฉฐ S3 ๋ฐ์ดํ„ฐ ๊ณต์œ  (Q634, Q718)

  • ํ•ด๊ฒฐ:ย ๊ต์ฐจ ๊ณ„์ • IAM Roleย ๋ถ€์—ฌ ๋˜๋Š”ย S3 ๋ฒ„ํ‚ท ์ •์ฑ…ย ์ˆ˜์ •.

  • ์˜ค๋‹ต: ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ๋ฒ„ํ‚ท์œผ๋กœ ๋ณต์‚ฌ(Replication)ํ•˜๋Š” ๊ฒƒ์€ ๋น„์šฉ๊ณผ ๊ด€๋ฆฌ ํฌ์ธํŠธ๊ฐ€ ๋Š˜์–ด๋‚จ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ์•ก์„ธ์Šค ํŒจํ„ด์„ ๋ชจ๋ฆ„โ€ย =ย Intelligent-Tiering

  • โ€œ๋ฐ์ดํ„ฐ๋ฅผ ์ ˆ๋Œ€ ์ง€์šฐ๋ฉด ์•ˆ ๋จโ€ย =ย Object Lock

  • โ€œS3์—์„œ ๋ฐ”๋กœ SQL ์ฟผ๋ฆฌโ€ย =ย Athena

  • โ€œ๊ธ€๋กœ๋ฒŒ ์ „์†ก ๊ฐ€์†โ€ย =ย Transfer Acceleration


๐Ÿ”€ 5. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์ •์  ์›น์‚ฌ์ดํŠธ + ๊ธ€๋กœ๋ฒŒ ๊ฐ€์†

[์‚ฌ์šฉ์ž (์ „ ์„ธ๊ณ„)]
    |
[Route 53] โ† ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ
    |
[CloudFront] โ† ์—ฃ์ง€ ์บ์‹ฑ, HTTPS ๊ฐ•์ œ
    |
[S3 ๋ฒ„ํ‚ท] โ† ์ •์  ํŒŒ์ผ (HTML, CSS, JS, ์ด๋ฏธ์ง€)
    |
[S3 Transfer Acceleration] โ† ์—…๋กœ๋“œ ๊ฐ€์† (์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ์ž์šฉ)

ํ‚ค์›Œ๋“œ: โ€œ์ •์  ์›น ํ˜ธ์ŠคํŒ…โ€ + โ€œ์ „ ์„ธ๊ณ„ ์ €์ง€์—ฐโ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šคโ€

ํŒจํ„ด 2: ๋น„์šฉ ์ตœ์ ํ™” ๋ฐ์ดํ„ฐ ์ˆ˜๋ช… ์ฃผ๊ธฐ

[๋ฐ์ดํ„ฐ ์ƒ์„ฑ ์‹œ] โ†’ S3 Standard
    |
[30์ผ ํ›„] โ†’ Standard-IA  (Lifecycle ์ž๋™ ์ด๋™)
    |
[90์ผ ํ›„] โ†’ Glacier Flexible  (๋ฐฑ์—…์šฉ)
    |
[365์ผ ํ›„] โ†’ Deep Archive  (๊ทœ์ • ์ค€์ˆ˜ ์žฅ๊ธฐ ๋ณด๊ด€)

ํ‚ค์›Œ๋“œ: โ€œ๋น„์šฉ ์ตœ์†Œํ™”โ€ + โ€œ์ž๋™ ๊ณ„์ธต ์ด๋™โ€ + โ€œ๊ทœ์ • ์ค€์ˆ˜ ๋ณด๊ด€โ€

ํŒจํ„ด 3: ๋ณด์•ˆ ๊ฐ•ํ™” S3 ์•„ํ‚คํ…์ฒ˜

[์‚ฌ์šฉ์ž/์•ฑ]
    |
[VPC Endpoint (Gateway)] โ† ์ธํ„ฐ๋„ท ๊ฒฝ์œ  ์—†์ด S3 ์ ‘๊ทผ
    |
[S3 ๋ฒ„ํ‚ท]
 โ”œโ”€ ๋ฒ„์ „ ๊ด€๋ฆฌ ON
 โ”œโ”€ Object Lock (WORM) โ† ์‚ญ์ œ/์ˆ˜์ • ๋ถˆ๊ฐ€
 โ”œโ”€ MFA Delete โ† ์˜๊ตฌ ์‚ญ์ œ ์‹œ OTP ํ•„์š”
 โ””โ”€ [Amazon Macie] โ† ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ(๊ฐœ์ธ์ •๋ณด) ์ž๋™ ๊ฐ์ง€

ํ‚ค์›Œ๋“œ: โ€œ๋ฐ์ดํ„ฐ ๋ณดํ˜ธโ€ + โ€œ๊ทœ์ • ์ค€์ˆ˜โ€ + โ€œ์‹ค์ˆ˜๋กœ ์‚ญ์ œ ๋ฐฉ์ง€โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œ์•ก์„ธ์Šค ํŒจํ„ด์„ ๋ชจ๋ฅธ๋‹คโ€ โ†’ Intelligent-Tiering์ด ์ •๋‹ต์ด๊ณ  Glacier๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  2. ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ์ผœ์ง„ ๋ฒ„ํ‚ท์—์„œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋ฉด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€? ์™„์ „ ์‚ญ์ œํ•˜๋ ค๋ฉด?
  3. โ€œ๋ฐ์ดํ„ฐ๋ฅผ ์ ˆ๋Œ€ ์ˆ˜์ •/์‚ญ์ œํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•จโ€ โ†’ ์–ด๋–ค ๊ธฐ๋Šฅ, Compliance vs Governance ์ฐจ์ด๋Š”?
  4. 30์ผ ํ›„ Standard-IA, 1๋…„ ํ›„ Deep Archive๋กœ ์ž๋™ ์ด๋™์‹œํ‚ค๋ ค๋ฉด โ†’ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋Š”๊ฐ€?
  5. S3์—์„œ SQL ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค โ†’ ์–ด๋–ค ์„œ๋น„์Šค, ์„œ๋ฒ„๋ฅผ ๋„์šธ ํ•„์š”๊ฐ€ ์—†๋Š” ์ด์œ ๋Š”?

# 2.2 ๊ณต์œ  ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€ (EFS, FSx, Storage Gateway)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • EBS: ๋‹จ์ผ EC2 ์ „์šฉ (๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€).

  • EFS: ๋ฆฌ๋ˆ…์Šค ์ „์šฉ ๊ณต์œ  ํด๋” (NFS ํ”„๋กœํ† ์ฝœ).

  • FSx for Windows: ์œˆ๋„์šฐ ์ „์šฉ ๊ณต์œ  ํด๋” (SMB, AD ํ†ตํ•ฉ).

  • FSx for Lustre: ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ…(HPC), ๊ธฐ๊ณ„ ํ•™์Šต์šฉ ์ดˆ๊ณ ์† ์Šคํ† ๋ฆฌ์ง€.

  • Storage Gateway: ์˜จํ”„๋ ˆ๋ฏธ์Šค์™€ ํด๋ผ์šฐ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์†”๋ฃจ์…˜.


๐Ÿ“Š 1. ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค ๋น„๊ต (ํ•ต์‹ฌ ๊ฐ€์ด๋“œ)

์„œ๋น„์Šคํ”„๋กœํ† ์ฝœ๋Œ€์ƒ OSํŠน์ง• (ํ‚ค์›Œ๋“œ)
------------------------
EBSBlock๊ด€๊ณ„์—†์Œ๋‹จ์ผ AZ, ๋‹จ์ผ ์ธ์Šคํ„ด์Šค ์ „์šฉ
EFSNFSLinuxMulti-AZ, ์ž๋™ ํ™•์žฅ (Q5, Q566)
FSx (Windows)SMBWindowsAD ํ†ตํ•ฉ, DFS ์ง€์› (Q186, Q260)
FSx (Lustre)Lustre๊ด€๊ณ„์—†์ŒHPC, 1ms ๋ฏธ๋งŒ, S3 ์—ฐ๋™ (Q162, Q299)
FSx (ONTAP)๋‹ค์ค‘๊ด€๊ณ„์—†์ŒNetApp ์ด์ „, NFS/SMB/iSCSI ๋™์‹œ ์ง€์› (Q635)

EFS vs FSx ์˜ค๋‹ต ํ•จ์ •

  • โ€œWindowsโ€ or โ€œSMBโ€ or โ€œActive Directoryโ€ โ†’ FSx for Windows (EFS ์˜ค๋‹ต)
  • โ€œLinuxโ€ or โ€œNFSโ€ or โ€œ์—ฌ๋Ÿฌ EC2 ๊ณต์œ โ€ โ†’ EFS (FSx ์˜ค๋‹ต)
  • โ€œHPCโ€ or โ€œ์ดˆ๊ณ ์† ๋ณ‘๋ ฌโ€ or โ€œML ํ•™์Šตโ€ โ†’ FSx for Lustre

๐Ÿ“‚ 2. ์„œ๋น„์Šค๋ณ„ ์ƒ์„ธ ์„ค๊ณ„ ํฌ์ธํŠธ

โœ… Amazon EFS (Elastic File System)

  • ํ‚ค์›Œ๋“œ: โ€œ์ˆ˜์ฒœ ๊ฐœ์˜ EC2๊ฐ€ ๋™์‹œ ์ ‘์†โ€, โ€œ๋ฆฌ๋ˆ…์Šค ๊ณต์œ  ํŒŒ์ผ ์‹œ์Šคํ…œโ€, โ€œ๊ณ ๊ฐ€์šฉ์„ฑโ€.

  • ์žฅ์ : ์šฉ๋Ÿ‰์„ ๋ฏธ๋ฆฌ ์‚ฐ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Œ(์ž๋™ ํ™•์žฅ).

  • ์‹œํ—˜ ํŒ: EBS๋Š” ํ•œ AZ ์•ˆ์—์„œ๋งŒ ๋ถ™์ง€๋งŒ, EFS๋Š” ์—ฌ๋Ÿฌ AZ์— ๊ฑธ์ณ ๊ณต์œ  ๊ฐ€๋Šฅ (Q5, Q691).

โœ… Amazon FSx ์‹œ๋ฆฌ์ฆˆ

  1. Windows File Server:

    • ํ‚ค์›Œ๋“œ: โ€œWindows ํ˜ธํ™˜โ€, โ€œSMB ์ „์šฉโ€, โ€œAD ์ž๊ฒฉ ์ฆ๋ช… ์‚ฌ์šฉโ€ (Q64, Q186).
  2. Lustre:

    • ํ‚ค์›Œ๋“œ: โ€œ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ…(HPC)โ€, โ€œ๊ธฐ๊ณ„ ํ•™์Šต(ML)โ€, โ€œ๋ฐ์ดํ„ฐ ๋ถ„์„โ€ (Q646, Q664).

    • S3 ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋น ๋ฅด๊ฒŒ ์—ฐ์‚ฐํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ S3์— ์ €์žฅํ•˜๋Š” ์šฉ๋„๋กœ ์ž์ฃผ ๋‚˜์˜ด.

โœ… AWS Storage Gateway (ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์Šคํ† ๋ฆฌ์ง€)

์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„๊ฐ€ ํด๋ผ์šฐ๋“œ ์ €์žฅ์†Œ๋ฅผ ๋กœ์ปฌ ๋””์Šคํฌ์ฒ˜๋Ÿผ ์“ฐ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • S3 File Gateway: ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ S3๋กœ ํŒŒ์ผ ์ €์žฅ (NFS/SMB). (Q6, Q362)

  • Volume Gateway:

    • Cached: ์ž์ฃผ ์“ฐ๋Š” ๊ฒƒ๋งŒ ๋กœ์ปฌ ์ €์žฅ, ์ „์ฒด๋Š” S3์—. (Q307)

    • Stored: ์ „์ฒด๋ฅผ ๋กœ์ปฌ ์ €์žฅ, ๋ฐฑ์—…๋งŒ S3์—. (Q293, Q324)

  • Tape Gateway: ๋ฌผ๋ฆฌ์  ํ…Œ์ดํ”„ ๋ฐฑ์—…์„ ํด๋ผ์šฐ๋“œ(VTL)๋กœ ๋Œ€์ฒด. (Q546)


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์—ฌ๋Ÿฌ ๋ฆฌ์ „ ๊ฐ„ NFS ํŒŒ์ผ ๊ณต์œ  ๋ฐ ๋ฐ์ดํ„ฐ ์ด๋™ (Q304, Q661)

  • ํ•ด๊ฒฐ:ย AWS DataSyncย ์‚ฌ์šฉ.

  • ์ด์œ : ๋‹จ์ˆœ ๋ณต์‚ฌ๋ณด๋‹ค ๋น ๋ฅด๊ณ , ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋™๊ธฐํ™”๊ฐ€ ์ž๋™ํ™”๋จ.

โœ… ์‚ฌ๋ก€ 2: โ€œ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์—†์ดโ€ ์˜จํ”„๋ ˆ๋ฏธ์Šค ํŒŒ์ผ ์ ‘๊ทผ (Q9, Q324)

  • ๋ฌธ์ œ: ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ์šฉ๋Ÿ‰์€ ๋ถ€์กฑํ•œ๋ฐ, ์†๋„๋Š” ๋นจ๋ผ์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย Storage Gateway (Volume Gateway - Stored ๋˜๋Š” Cached).

  • ์ด์œ : ๋กœ์ปฌ์— ์บ์‹œ๋ฅผ ๋‘์–ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋กœ์ปฌ๊ธ‰ ์†๋„๋ฅผ ์ œ๊ณตํ•˜๋ฉด์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” S3์— ๋ณด๊ด€.

โœ… ์‚ฌ๋ก€ 3: ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ ์•ฑ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ณต์œ  ์ €์žฅ์†Œ (Q60, Q186)

  • ํ•ด๊ฒฐ:ย FSx for Windows File Server (Multi-AZ ๊ตฌ์„ฑ).

  • ์˜ค๋‹ต: EFS๋Š” ์œˆ๋„์šฐ(SMB)๋ฅผ ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ์ง€์›ํ•˜์ง€ ์•Š์Œ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œLinux ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€โ€ย =ย EFS

  • โ€œWindows ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ / AD ํ†ตํ•ฉโ€ย =ย FSx for Windows

  • โ€œHPC / ์ดˆ๊ณ ์† ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌโ€ย =ย FSx for Lustre

  • โ€œ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ…Œ์ดํ”„ ๋ฐฑ์—… ๋Œ€์ฒดโ€ย =ย Tape Gateway

  • โ€œ๋Œ€๋Ÿ‰์˜ ํŒŒ์ผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(๋„คํŠธ์›Œํฌ)โ€ย =ย DataSync


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์˜จํ”„๋ ˆ๋ฏธ์Šค + ํด๋ผ์šฐ๋“œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํŒŒ์ผ ์‹œ์Šคํ…œ

[์˜จํ”„๋ ˆ๋ฏธ์Šค Windows ์„œ๋ฒ„]
    |
[FSx for Windows (Multi-AZ)] โ† SMB, AD ํ†ตํ•ฉ
    |
[Active Directory (AWS Managed AD)]
    |
[Storage Gateway (File)] โ† ๋กœ์ปฌ ์บ์‹œ ์ œ๊ณต

ํ‚ค์›Œ๋“œ: โ€œWindows ์•ฑโ€ + โ€œAD ์ž๊ฒฉ์ฆ๋ช… ์œ ์ง€โ€ + โ€œํด๋ผ์šฐ๋“œ ํ™•์žฅโ€

ํŒจํ„ด 2: ML ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ + ๊ณ ์„ฑ๋Šฅ ์Šคํ† ๋ฆฌ์ง€

[S3] โ† ์›์‹œ ํ•™์Šต ๋ฐ์ดํ„ฐ ์ €์žฅ
    |
[FSx for Lustre] โ† S3 ๋ฐ์ดํ„ฐ๋ฅผ ์ดˆ๊ณ ์†์œผ๋กœ ๋งˆ์šดํŠธ (1ms)
    |
[EC2 P3/P4 (GPU ์ธ์Šคํ„ด์Šค)] โ† ๋ชจ๋ธ ํ•™์Šต
    |
[S3] โ† ํ•™์Šต ๊ฒฐ๊ณผ ์ €์žฅ

ํ‚ค์›Œ๋“œ: โ€œ๊ธฐ๊ณ„ ํ•™์Šตโ€ + โ€œ๊ณ ์„ฑ๋Šฅโ€ + โ€œS3 ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐโ€

ํŒจํ„ด 3: ์˜จํ”„๋ ˆ๋ฏธ์Šค NAS โ†’ AWS ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

[์˜จํ”„๋ ˆ๋ฏธ์Šค NFS ์„œ๋ฒ„]
    |
[AWS DataSync Agent] โ† ์˜จํ”„๋ ˆ๋ฏธ์Šค์— ์„ค์น˜
    |
[AWS DataSync] โ† ์ฆ๋ถ„ ๋ณต์‚ฌ, ์ž๋™ ๊ฒ€์ฆ
    |
[Amazon EFS] โ† ํด๋ผ์šฐ๋“œ ๊ณต์œ  ํŒŒ์ผ ์‹œ์Šคํ…œ (Linux)
    ๋˜๋Š”
[FSx for Windows] โ† Windows ํ™˜๊ฒฝ

ํ‚ค์›Œ๋“œ: โ€œNAS ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜โ€ + โ€œ์ž๋™ ๋™๊ธฐํ™”โ€ + โ€œ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. ์—ฌ๋Ÿฌ Linux EC2๊ฐ€ ๊ฐ™์€ ํŒŒ์ผ์„ ๊ณต์œ ํ•ด์•ผ ํ•œ๋‹ค โ†’ EBS๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?
  2. Windows ์„œ๋ฒ„ + Active Directory ์ธ์ฆ ํ•„์š” โ†’ EFS๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  3. ML ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ S3์—์„œ ๊ฐ€์ ธ์™€ ์ดˆ๊ณ ์†์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค โ†’ ์–ด๋–ค ์„œ๋น„์Šค, ์ด์œ ๋Š”?
  4. ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ S3๋ฅผ ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ์ฒ˜๋Ÿผ ๋งˆ์šดํŠธํ•˜๊ณ  ์‹ถ๋‹ค โ†’ ์–ด๋–ค Gateway ์œ ํ˜•?
  5. ์˜จํ”„๋ ˆ๋ฏธ์Šค NFS ๋ฐ์ดํ„ฐ๋ฅผ ๋งค์ผ ๋ฐค EFS๋กœ ์ž๋™ ๋™๊ธฐํ™” โ†’ Snowball์ด ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?

# 2.3 ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (Snow Family, DataSync)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • Snow Family: ๋„คํŠธ์›Œํฌ๊ฐ€ ๋А๋ฆฌ๊ฑฐ๋‚˜ ๋Š๊ธด ํ™˜๊ฒฝ์—์„œย ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ์ด์šฉํ•œ ์˜คํ”„๋ผ์ธ ์ด์ „.

  • DataSync: ์ธํ„ฐ๋„ท์ด๋‚˜ Direct Connect๋ฅผ ์ด์šฉํ•œย ์˜จ๋ผ์ธย ์ž๋™ ๋ฐ์ดํ„ฐ ์ „์†ก.

  • Transfer Family:ย SFTP/FTPย ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ S3๋‚˜ EFS๋กœ ์ง์ ‘ ํŒŒ์ผ ์ „์†ก.


๐Ÿ“ฆ 1. AWS Snow Family (์˜คํ”„๋ผ์ธ ์ „์†ก)

๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์ด ๋ถ€์กฑํ•˜์—ฌ ์˜จ๋ผ์ธ ์ „์†ก์— ์ˆ˜๊ฐœ์›”์ด ๊ฑธ๋ฆด ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (Q6, Q331, Q435)

์žฅ์น˜๋ช…์šฉ๋Ÿ‰ (์ตœ๋Œ€)ํŠน์ง• (ํ‚ค์›Œ๋“œ)โŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
Snowcone8TB ~ 14TB์ž‘๊ณ  ๊ฐ€๋ฒผ์›€, ์—ด์•…ํ•œ ํ™˜๊ฒฝ, IoT (Q125)์ˆ˜์‹ญ TB ์ด์ƒ ๋Œ€๋Ÿ‰ ์ด์ „ ์‹œ (Snowball ํ•„์š”)
Snowball Edge80TB ~ 100TB๋Œ€๊ทœ๋ชจ ์ด์ „, EC2 ์‹คํ–‰ ๊ฐ€๋Šฅ (Q6, Q215)๋„คํŠธ์›Œํฌ ์ƒํƒœ ์–‘ํ˜ธ + ์ •๊ธฐ ๋™๊ธฐํ™” ํ•„์š” ์‹œ (DataSync)
Snowmobile100PB์ดˆ๋Œ€ํ˜• ๋ฐ์ดํ„ฐ์„ผํ„ฐ ์ด์ „, ํŠธ๋Ÿญ ์ด๋™์ˆ˜ TB ์ˆ˜์ค€์˜ ์†Œ๊ทœ๋ชจ ์ด์ „ ์‹œ (์˜ค๋ฒ„์ŠคํŽ™)

Snowball vs DataSync ์„ ํƒ ๊ธฐ์ค€

  • ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ์ œํ•œ / ์ˆ˜์‹ญ TB ์ด์ƒ / 1ํšŒ์„ฑ ์ด์ „ โ†’ Snowball
  • ๋„คํŠธ์›Œํฌ ์–‘ํ˜ธ / ์ฃผ๊ธฐ์  ๋™๊ธฐํ™” / ์ฆ๋ถ„ ๋ณต์‚ฌ โ†’ DataSync
  • ๋‘ ์กฐ๊ฑด์ด ์„ž์ด๋ฉด: ์ดˆ๊ธฐ ๋Œ€๋Ÿ‰ ์ด์ „์€ Snowball, ์ดํ›„ ๋™๊ธฐํ™”๋Š” DataSync

์‹œํ—˜ ํŒ: Snowball vs DataSync ์„ ํƒ ๊ธฐ์ค€

  • โ€œ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ์ œํ•œโ€ + โ€œ์ˆ˜์‹ญ TB ์ด์ƒโ€ =ย Snowball

  • โ€œ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์–‘ํ˜ธโ€ + โ€œ์ฃผ๊ธฐ์ ์ธ ๋™๊ธฐํ™”โ€ =ย DataSync


๐Ÿ”„ 2. AWS DataSync (์˜จ๋ผ์ธ ์ „์†ก)

์˜จํ”„๋ ˆ๋ฏธ์Šค ์Šคํ† ๋ฆฌ์ง€(NFS, SMB)์™€ AWS(S3, EFS, FSx) ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • ํŠน์ง•:

    • ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋ณด๋‹คย 10๋ฐฐ ๋น ๋ฆ„.

    • ์ฆ๋ถ„ ์ „์†ก: ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๊ณจ๋ผ์„œ ๋ณต์‚ฌ (Q445).

    • ์˜ˆ์•ฝ ๊ธฐ๋Šฅ: ๋งค์ผ ๋ฐค ํŠน์ • ์‹œ๊ฐ„์— ์‹คํ–‰ ๊ฐ€๋Šฅ (Q304, Q528).

    • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ: ์ „์†ก ์ค‘ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ์ž๋™ ์ˆ˜ํ–‰ (Q626).

  • ๊ตฌ์„ฑ ์š”์†Œ: ์˜จํ”„๋ ˆ๋ฏธ์Šค์—ย ์—์ด์ „ํŠธ(Agent)ย ์„ค์น˜ ํ•„์ˆ˜. (Q102, Q694)


๐Ÿ“‚ 3. AWS Transfer Family (ํŒŒ์ผ ๊ด€๋ฆฌ)

๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ SFTP, FTPS, FTP ์›Œํฌํ”Œ๋กœ๋ฅผ ๋ณ€๊ฒฝ ์—†์ด AWS๋กœ ์˜ฎ๊ธธ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์šฉ๋„: ์™ธ๋ถ€ ํŒŒํŠธ๋„ˆ์™€์˜ ์•ˆ์ „ํ•œ ํŒŒ์ผ ๊ตํ™˜ (Q188, Q334).

  • ์žฅ์ : ์„œ๋ฒ„๋ฆฌ์Šค(๊ด€๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์Œ), ๋ฐ์ดํ„ฐ๋Š” ์ž๋™์œผ๋กœย S3ย ๋˜๋Š”ย EFS์— ์ €์žฅ๋จ. (Q421, Q510)

  • ๋ณด์•ˆ: IAM, Route 53, AS2 ํ”„๋กœํ† ์ฝœ ์ง€์› (Q457).


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: 70TB ๋น„๋””์˜ค ํŒŒ์ผ์„ โ€œ์ตœ์†Œ ๋Œ€์—ญํญโ€์œผ๋กœ ์ด์ „ (Q6, Q215, Q583)

  • ๋ฌธ์ œ: ์ธํ„ฐ๋„ท ์†๋„๋Š” ๋А๋ฆฐ๋ฐ ๋ฐ์ดํ„ฐ ์–‘์€ ๋„ˆ๋ฌด ๋งŽ์Œ.

  • ํ•ด๊ฒฐ:ย AWS Snowball Edge.

  • ์ด์œ : ์˜จ๋ผ์ธ์œผ๋กœ ๋ณด๋‚ด๋ฉด ์ˆ˜๊ฐœ์›”์ด ๊ฑธ๋ฆฌ์ง€๋งŒ, Snowball์€ ์žฅ์น˜๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›๋Š” ๋ฐ ๋ฉฐ์น ์ด๋ฉด ์ถฉ๋ถ„ํ•จ.

โœ… ์‚ฌ๋ก€ 2: ๋‘ ๋ฆฌ์ „์˜ NFS ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฐ„ โ€œ์ฃผ๊ธฐ์ โ€ ๋ฐ์ดํ„ฐ ๋ณต์ œ (Q304, Q661)

  • ํ•ด๊ฒฐ:ย AWS DataSync.

  • ์ด์œ : Snowball์€ 1ํšŒ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ์ ํ•ฉํ•˜์ง€๋งŒ, ์ •๊ธฐ์ ์ธ ๋™๊ธฐํ™”๋Š” DataSync๊ฐ€ ์ •๋‹ต.

โœ… ์‚ฌ๋ก€ 3: ํŒŒํŠธ๋„ˆ๊ฐ€ SFTP๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ ค์•ผ ํ•จ (Q188, Q510)

  • ํ•ด๊ฒฐ:ย AWS Transfer Family (SFTP).

  • ์˜ค๋‹ต: EC2์— ์ง์ ‘ SFTP ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์€ โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ ์š”๊ฑด์— ์œ„๋ฐฐ๋จ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๋Œ€์—ญํญ ๋ถ€์กฑ / ์˜คํ”„๋ผ์ธ / ๋ฌผ๋ฆฌ์  ์žฅ์น˜โ€ย =ย Snowball

  • โ€œ๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜ / 10๋ฐฐ ๋น ๋ฅธ ์ „์†ก / ์ž๋™ ๊ฒ€์ฆโ€ย =ย DataSync

  • โ€œSFTP / FTP / ๊ธฐ์กด ์›Œํฌํ”Œ๋กœ ์œ ์ง€โ€ย =ย Transfer Family

  • โ€œํ…Œ์ดํ”„ ๋ฐฑ์—…์„ ํด๋ผ์šฐ๋“œ๋กœโ€ย =ย Tape Gateway (Storage Gateway)


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๋Œ€๊ทœ๋ชจ 1ํšŒ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ + ์ดํ›„ ์ง€์† ๋™๊ธฐํ™”

[์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ์ดํ„ฐ์„ผํ„ฐ (80TB)]
    |
[Snowball Edge] โ† 1ํšŒ์„ฑ ๋Œ€๋Ÿ‰ ์ด์ „ (ํŠธ๋Ÿญ์œผ๋กœ AWS ์ „์†ก)
    |
[S3 ๋ฒ„ํ‚ท] โ† ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ์ ์žฌ ์™„๋ฃŒ
    |
[DataSync] โ† ์ดํ›„ ๋ณ€๊ฒฝ๋ถ„๋งŒ ์ž๋™ ๋™๊ธฐํ™” (์ฆ๋ถ„)

ํ‚ค์›Œ๋“œ: โ€œ์ดˆ๊ธฐ ๋Œ€๋Ÿ‰ ์ด์ „โ€ + โ€œ์ดํ›„ ์ฃผ๊ธฐ์  ๋™๊ธฐํ™”โ€ + โ€œ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ๋ถ€์กฑโ€

ํŒจํ„ด 2: ์™ธ๋ถ€ ํŒŒํŠธ๋„ˆ ํŒŒ์ผ ์ˆ˜์‹  ์ž๋™ํ™”

[์™ธ๋ถ€ ํŒŒํŠธ๋„ˆ]
    |
[AWS Transfer Family (SFTP)] โ† ๊ธฐ์กด SFTP ์›Œํฌํ”Œ๋กœ ์œ ์ง€
    |
[S3 ๋ฒ„ํ‚ท] โ† ํŒŒ์ผ ์ž๋™ ์ ์žฌ
    |
[EventBridge / S3 Event] โ† ํŒŒ์ผ ๋„์ฐฉ ๊ฐ์ง€
    |
[Lambda] โ† ํŒŒ์ผ ์ฒ˜๋ฆฌ ์ž๋™ํ™”

ํ‚ค์›Œ๋“œ: โ€œSFTP/FTP ์œ ์ง€โ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ + โ€œํŒŒํŠธ๋„ˆ ํŒŒ์ผ ์ˆ˜์‹ โ€

ํŒจํ„ด 3: ์—ด์•…ํ•œ ํ™˜๊ฒฝ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ (์—ฃ์ง€ ์ปดํ“จํŒ…)

[๊ณต์žฅ/์„ ๋ฐ•/์˜ค์ง€ ํ˜„์žฅ]
    |
[Snowball Edge] โ† EC2 ์‹คํ–‰, ๋กœ์ปฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
    |
[๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ›„] โ†’ S3๋กœ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ
    ๋˜๋Š”
[Snowcone] โ† ์†Œ๊ทœ๋ชจ, ๋งค์šฐ ์—ด์•…ํ•œ ํ™˜๊ฒฝ

ํ‚ค์›Œ๋“œ: โ€œ์ธํ„ฐ๋„ท ์—†๋Š” ํ™˜๊ฒฝโ€ + โ€œ์—ฃ์ง€ ์ปดํ“จํŒ…โ€ + โ€œ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. 10PB ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค โ†’ Snowball vs Snowmobile ์„ ํƒ ๊ธฐ์ค€์€? DataSync๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  2. ์˜จํ”„๋ ˆ๋ฏธ์Šค NAS ๋ณ€๊ฒฝ๋ถ„๋งŒ ๋งค์ผ ๋ฐค S3๋กœ ๋ฐฑ์—… โ†’ Snowball์ด ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?
  3. ์™ธ๋ถ€ ์—…์ฒด๊ฐ€ SFTP๋กœ ํŒŒ์ผ์„ ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค โ†’ EC2์— SFTP ์„œ๋ฒ„ ๊ตฌ์ถ•์ด ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  4. ์ธํ„ฐ๋„ท์ด ์—†๋Š” ๊ณต์žฅ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‚˜์ค‘์— AWS๋กœ ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค โ†’ ์–ด๋–ค ์„œ๋น„์Šค, ์™œ?
  5. ์ดˆ๊ธฐ 80TB ์ด์ „ ํ›„, ์ดํ›„ ๋งค์ผ ๋ณ€๊ฒฝ๋ถ„๋งŒ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•œ๋‹ค โ†’ ๋‘ ์„œ๋น„์Šค๋ฅผ ์กฐํ•ฉํ•˜๋ฉด?

# 3.1 Amazon RDS (๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ์ •์˜: ํด๋ผ์šฐ๋“œ์—์„œ ๊ด€๊ณ„ํ˜• DB(MySQL, PostgreSQL, Oracle ๋“ฑ)๋ฅผ ์„ค์ •, ์šด์˜, ํ™•์žฅํ•ด ์ฃผ๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค.

  • ์„ค๊ณ„ ์›์น™:

    • ๊ณ ๊ฐ€์šฉ์„ฑ(HA)ย โ†’ย Multi-AZย ๋ฐฐ์น˜.

    • ์ฝ๊ธฐ ์„ฑ๋Šฅ ํ–ฅ์ƒย โ†’ย ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ(Read Replica).

    • ์—ฐ๊ฒฐ ์ตœ์ ํ™”ย โ†’ย RDS Proxyย (Lambda ์—ฐ๋™ ์‹œ ํ•„์ˆ˜).


โš–๏ธ 1. Multi-AZ vs ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ (ํ•ต์‹ฌ ๋น„๊ต)

์ด ์ฐจ์ด๋ฅผ ์•„๋Š” ๊ฒƒ์ด RDS ๋ฌธ์ œ ์ •๋‹ต์˜ 80%๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„Multi-AZ (๋‹ค์ค‘ AZ)Read Replica (์ฝ๊ธฐ ๋ณต์ œ๋ณธ)
------------------
๋ณต์ œ ๋ฐฉ์‹๋™๊ธฐ(Synchronous) ๋ณต์ œ๋น„๋™๊ธฐ(Asynchronous) ๋ณต์ œ
์ฃผ ๋ชฉ์ ์žฌํ•ด ๋ณต๊ตฌ(DR), ๊ณ ๊ฐ€์šฉ์„ฑ์ฝ๊ธฐ ์„ฑ๋Šฅ ํ™•์žฅ(Scalability)
๋™์ž‘์žฅ์•  ์‹œ ์ž๋™์œผ๋กœ Standby๋กœ ์ „ํ™˜์ฝ๊ธฐ ์ฟผ๋ฆฌ๋ฅผ ๋ถ„์‚ฐ (์ตœ๋Œ€ 15๊ฐœ)
ํŠน์ง•Standby DB๋Š” ํ‰์†Œ์— ์ ‘๊ทผ ๋ถˆ๊ฐ€๋ณต์ œ๋ณธ DB์— ์ง์ ‘ ์ ‘๊ทผ/์ฟผ๋ฆฌ ๊ฐ€๋Šฅ
์ง€์—ญ๋‹จ์ผ ๋ฆฌ์ „ ๋‚ด๋ฆฌ์ „ ๋‚ด ๋˜๋Š” ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๊ฐ€๋Šฅ

์˜ค๋‹ต ํ•จ์ •

  • โ€œ์ฝ๊ธฐ ์„ฑ๋Šฅ ๊ฐœ์„ โ€ โ†’ Multi-AZ ์˜ค๋‹ต. Standby๋Š” ์ฝ๊ธฐ ๋ถˆ๊ฐ€, Read Replica ์ •๋‹ต
  • โ€œ์“ฐ๊ธฐ ์„ฑ๋Šฅ ๊ฐœ์„ โ€ โ†’ Read Replica ์˜ค๋‹ต. ์“ฐ๊ธฐ๋Š” ์˜ค์ง Primary๋งŒ ์ฒ˜๋ฆฌ
  • โ€œDR / ์žฅ์•  ๋ณต๊ตฌโ€ โ†’ Read Replica ์˜ค๋‹ต. ์ž๋™ Failover๋Š” Multi-AZ๋งŒ ๊ฐ€๋Šฅ

์‹œํ—˜ ํŒ (Q182, Q193, Q389)

  • โ€œ์žฅ์•  ์‹œ ๊ฐ€๋™ ์ค‘์ง€ ์ตœ์†Œํ™”โ€ โ†’ย Multi-AZ

  • โ€œ๋ณด๊ณ ์šฉ ์ฟผ๋ฆฌ ๋•Œ๋ฌธ์— ๋ฉ”์ธ DB๊ฐ€ ๋А๋ฆผโ€ โ†’ย Read Replica


๐Ÿš€ 2. RDS Proxy (์—ฐ๊ฒฐ ๊ด€๋ฆฌ)

์„œ๋ฒ„๋ฆฌ์Šค(Lambda) ํ™˜๊ฒฝ์—์„œ RDS๋ฅผ ์“ธ ๋•Œ ๋‹จ๊ณจ๋กœ ๋“ฑ์žฅํ•˜๋Š” ์ •๋‹ต์ž…๋‹ˆ๋‹ค. (Q175, Q354, Q700, Q713)

  • ๋ฌธ์ œ ์ƒํ™ฉ: Lambda ํ•จ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ํ˜ธ์ถœ๋˜์–ด DB ์—ฐ๊ฒฐ(Connection) ๊ฐœ์ˆ˜๊ฐ€ ์ดˆ๊ณผ๋จ.

  • ํ•ด๊ฒฐ์ฑ…:ย RDS Proxyย ๋„์ž….

  • ํšจ๊ณผ:

    • ์—ฐ๊ฒฐ ํ’€๋ง(Connection Pooling): ์—ฐ๊ฒฐ์„ ์žฌ์‚ฌ์šฉํ•˜์—ฌ DB ๋ถ€ํ•˜ ๊ฐ์†Œ.

    • ๋น ๋ฅธ ์žฅ์•  ์กฐ์น˜: ์žฅ์•  ๋ฐœ์ƒ ์‹œ DNS ๋ณ€๊ฒฝ ์—†์ด Proxy๊ฐ€ ์•Œ์•„์„œ ์ฒ˜๋ฆฌ (์žฅ์•  ์กฐ์น˜ ์‹œ๊ฐ„ ์ตœ๋Œ€ 66% ๋‹จ์ถ•).


๐Ÿ”’ 3. ๋ณด์•ˆ ๋ฐ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ

โœ… ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” (Q121)

  • ๋ฏธ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”: AWS KMS ์‚ฌ์šฉ.ย ์ƒ์„ฑ ์‹œ์—๋งŒ ์„ค์ • ๊ฐ€๋Šฅ.

  • ๊ธฐ์กด DB ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•:

    1. DB ์Šค๋ƒ…์ƒท ์ƒ์„ฑ

    2. ์Šค๋ƒ…์ƒท ๋ณต์‚ฌ ์‹œ โ€˜์•”ํ˜ธํ™”โ€™ ์„ ํƒ

    3. ์•”ํ˜ธํ™”๋œ ์Šค๋ƒ…์ƒท์œผ๋กœ DB ๋ณต์› (์ด ๊ณผ์ •์—์„œ ์ƒˆ๋กœ์šด ์—”๋“œํฌ์ธํŠธ ๋ฐœ์ƒ)

โœ… RDS Custom (Q133, Q145)

  • ํ‚ค์›Œ๋“œ: โ€œOS ์ˆ˜์ค€์˜ ์ ‘๊ทผ ๊ถŒํ•œ ํ•„์š”โ€, โ€œํŠน์ • ํƒ€์‚ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜โ€.

  • ๋‚ด์šฉ: RDS์˜ ๊ด€๋ฆฌ ํŽธ์˜์„ฑ๊ณผ EC2์˜ OS ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฒฐํ•ฉํ•œ ์„œ๋น„์Šค.


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ (PITR) (Q365)

  • ๋ฌธ์ œ: ๊ด€๋ฆฌ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์› ์„ ๋•Œ, 5๋ถ„ ์ „ ์ƒํƒœ๋กœ ๋ณต๊ตฌํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ: **์ž๋™ ๋ฐฑ์—…(์Šค๋ƒ…์ƒท)**์„ ํ™œ์šฉํ•˜์—ฌ 35์ผ ๋ณด์กด ๊ธฐ๊ฐ„ ๋‚ด์˜ ํŠน์ • ์ดˆ ๋‹จ์œ„๋กœ ๋ณต์› ๊ฐ€๋Šฅ.

โœ… ์‚ฌ๋ก€ 2: ์“ฐ๊ธฐ ์„ฑ๋Šฅ ๋ถ€์กฑ (IOPS ๋ฌธ์ œ) (Q39, Q353)

  • ๋ฌธ์ œ: ๋ฐ์ดํ„ฐ ์ž…๋ ฅ(Insert) ์†๋„๊ฐ€ ๋„ˆ๋ฌด ๋А๋ฆผ.

  • ํ•ด๊ฒฐ: ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•์„ **Provisioned IOPS (io2)**๋กœ ๋ณ€๊ฒฝ.

  • ์˜ค๋‹ต: Read Replica๋Š” โ€˜์ฝ๊ธฐโ€™ ์„ฑ๋Šฅ๋งŒ ๊ฐœ์„ ํ•  ๋ฟ, โ€˜์“ฐ๊ธฐโ€™ ์„ฑ๋Šฅ์—๋Š” ๋„์›€์ด ๋˜์ง€ ์•Š์Œ.

โœ… ์‚ฌ๋ก€ 3: ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ (Q629)

  • ๋ฌธ์ œ: DB ์—”์ง„ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ์‹œ ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย RDS Blue/Green Deploymentsย ์‚ฌ์šฉ. ์Šคํ…Œ์ด์ง• ํ™˜๊ฒฝ(Green)์—์„œ ๋จผ์ € ํ…Œ์ŠคํŠธ ํ›„ ์ „ํ™˜.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œDB ์žฅ์•  ์กฐ์น˜ / ์žฌํ•ด ๋ณต๊ตฌโ€ย =ย Multi-AZ

  • โ€œ์ฝ๊ธฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ / ๋ณด๊ณ ์„œ ์ „์šฉ DBโ€ย =ย Read Replica

  • โ€œLambda + DB ์—ฐ๊ฒฐ ์˜ค๋ฅ˜โ€ย =ย RDS Proxy

  • โ€œOS ์ ‘๊ทผ ๊ถŒํ•œ ํ•„์š”โ€ย =ย RDS Custom

  • โ€œ๊ฐ€์žฅ ๋น„์šฉ ํšจ์œจ์ ์ธ ์„ฑ๋Šฅ ๊ฐœ์„ โ€ย =ย GP3 ์Šคํ† ๋ฆฌ์ง€ย (IOPS ๊ฐœ๋ณ„ ์„ค์ • ๊ฐ€๋Šฅ)


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๊ณ ๊ฐ€์šฉ์„ฑ LAMP ์Šคํƒ

[ALB]
    |
[EC2 ASG, Multi-AZ]
    |
[RDS Multi-AZ] โ† Primary (์“ฐ๊ธฐ)
    |
[RDS Read Replica] โ† ๋ณด๊ณ ์„œ/์กฐํšŒ ์ „์šฉ (์ฝ๊ธฐ)
    |
[ElastiCache Redis] โ† ์ž์ฃผ ์กฐํšŒ๋˜๋Š” ๊ฒฐ๊ณผ ์บ์‹ฑ

ํ‚ค์›Œ๋“œ: โ€œDB ์“ฐ๊ธฐ ๊ณ ๊ฐ€์šฉ์„ฑโ€ + โ€œ์ฝ๊ธฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐโ€ + โ€œ์‘๋‹ต ์†๋„ ๊ฐœ์„ โ€

ํŒจํ„ด 2: Lambda + RDS ์—ฐ๊ฒฐ ์ตœ์ ํ™”

[API Gateway]
    |
[Lambda (์ˆ˜๋ฐฑ ๊ฐœ ๋™์‹œ ์‹คํ–‰)]
    |
[RDS Proxy] โ† ์—ฐ๊ฒฐ ํ’€๋ง (Connection Pooling)
    |
[RDS Aurora Multi-AZ]

ํ‚ค์›Œ๋“œ: โ€œLambda + DB ์—ฐ๊ฒฐ ์˜ค๋ฅ˜โ€ + โ€œToo many connectionsโ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šค + RDBโ€

ํŒจํ„ด 3: ๋ฌด์ค‘๋‹จ DB ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

[ํ˜„์žฌ RDS (Blue)]  โ†’  [Read Replica ๋™๊ธฐํ™”]
                              |
                    [Green ํ™˜๊ฒฝ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ ํ›„]
                              |
                    [RDS Blue/Green Deployment] โ†’ ํŠธ๋ž˜ํ”ฝ ์ „ํ™˜

ํ‚ค์›Œ๋“œ: โ€œ๊ฐ€๋™ ์ค‘์ง€ ์—†์ด ์—…๊ทธ๋ ˆ์ด๋“œโ€ + โ€œBlue/Greenโ€ + โ€œ๋กค๋ฐฑ ๊ฐ€๋Šฅโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. Multi-AZ์˜ Standby์— ์ฝ๊ธฐ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”๊ฐ€? ์ฝ๊ธฐ ๋ถ„์‚ฐ์€ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฐ€?
  2. โ€œ๋ณด๊ณ ์„œ ์ฟผ๋ฆฌ๋กœ ๋ฉ”์ธ DB๊ฐ€ ๋А๋ฆฌ๋‹คโ€ โ†’ Read Replica๊ฐ€ ์ •๋‹ต์ธ ์ด์œ , Multi-AZ๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  3. Lambda๊ฐ€ RDS์— ์—ฐ๊ฒฐํ•  ๋•Œ โ€œToo many connectionsโ€ ์˜ค๋ฅ˜ โ†’ ์›์ธ๊ณผ ํ•ด๊ฒฐ์ฑ…์€?
  4. ๊ธฐ์กด ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ RDS๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ ค๋ฉด โ†’ ์™œ ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ์•ˆ ๋˜๋Š”๊ฐ€?
  5. ์“ฐ๊ธฐ ์„ฑ๋Šฅ์ด ๋ถ€์กฑํ•˜๋‹ค โ†’ Read Replica๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ํ•ด๊ฒฐ์ฑ…์€?

# 3.2 Amazon Aurora

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ์ •์˜: ํด๋ผ์šฐ๋“œ ์ „์šฉ์œผ๋กœ ์„ค๊ณ„๋œ ๊ณ ์„ฑ๋Šฅ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (MySQL ๋ฐ PostgreSQL ํ˜ธํ™˜).

  • ์„ฑ๋Šฅ: ํ‘œ์ค€ MySQL๋ณด๋‹ค 5๋ฐฐ, PostgreSQL๋ณด๋‹ค 3๋ฐฐ ๋น ๋ฆ„.

  • ์„ค๊ณ„ ์›์น™:

    • ๊ณ ๊ฐ€์šฉ์„ฑ: ๋ฐ์ดํ„ฐ๊ฐ€ 3๊ฐœ AZ์— ๊ฑธ์ณย 6๊ฐœ ๋ณต์‚ฌ๋ณธ์œผ๋กœ ์ž๋™ ์ €์žฅ๋จ.

    • ์œ ์—ฐํ•œ ํ™•์žฅ:ย Aurora Serverless๋ฅผ ํ†ตํ•œ ์ž๋™ ์Šค์ผ€์ผ๋ง.

    • ๊ธ€๋กœ๋ฒŒ ๋ณต์ œ:ย Global Database๋ฅผ ํ†ตํ•œ 1์ดˆ ๋ฏธ๋งŒ์˜ ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ.


๐Ÿ’Ž 1. Aurora์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

๊ธฐ๋ŠฅํŠน์ง•์‹œํ—˜ ํฌ์ธํŠธ (ํ‚ค์›Œ๋“œ)
------------------
์ž๋™ ์Šคํ† ๋ฆฌ์ง€ ํ™•์žฅ10GB โ†’ ์ตœ๋Œ€ 128TB ์ž๋™ ์ฆ๊ฐ€์šฉ๋Ÿ‰ ์‚ฐ์ • ๋ถˆํ•„์š” (Q276)
์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ตœ๋Œ€ 15๊ฐœ ์ง€์› (RDS๋Š” 5๊ฐœ)๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„์˜ ์ฝ๊ธฐ ๋ถ„์‚ฐ
์ž๊ฐ€ ์น˜์œ  ์Šคํ† ๋ฆฌ์ง€๋””์Šคํฌ ์˜ค๋ฅ˜ ์‹œ ๋ฐ์ดํ„ฐ ์ž๋™ ๋ณต๊ตฌ๋†’์€ ๋‚ด๊ตฌ์„ฑ ๋ฐ ๊ฐ€์šฉ์„ฑ
๋น ๋ฅธ ์žฅ์•  ์กฐ์น˜๋ณดํ†ต 30์ดˆ ์ด๋‚ด์— ์Šน๊ฒฉ ์™„๋ฃŒRTO ๋‹จ์ถ• ์š”๊ตฌ ์‹œ ์ •๋‹ต (Q182, Q420)

Aurora vs RDS ์„ ํƒ ํ•จ์ •

  • โ€œ์žฅ์•  ์กฐ์น˜ ์‹œ๊ฐ„ ์ตœ์†Œํ™”โ€ โ†’ Aurora๊ฐ€ RDS๋ณด๋‹ค ๋น ๋ฆ„ (30์ดˆ vs ์ˆ˜ ๋ถ„)
  • โ€œ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ / ๊ธ€๋กœ๋ฒŒ DRโ€ โ†’ Aurora Global Database (์ผ๋ฐ˜ RDS Read Replica ์˜ค๋‹ต)
  • โ€œ์ฝ๊ธฐ ๋ณต์ œ๋ณธ 15๊ฐœโ€ โ†’ Aurora๋งŒ ๊ฐ€๋Šฅ (RDS๋Š” 5๊ฐœ)

๐Ÿš€ 2. Aurora Serverless (v1 & v2)

์ธํ”„๋ผ ๊ด€๋ฆฌ ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋Ÿ‰์„ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (Q79, Q229, Q572)

  • ์ฃผ์š” ์šฉ๋„:

    • ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ์›Œํฌ๋กœ๋“œ: ํŠธ๋ž˜ํ”ฝ์ด ๊ฐ‘์ž๊ธฐ ํŠ€๊ฑฐ๋‚˜ ์•„์˜ˆ ์—†์„ ๋•Œ.

    • ๊ฐ„ํ—์  ์›Œํฌ๋กœ๋“œ: ํ•˜๋ฃจ์— ๋ช‡ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋Š” ๋ฐฐ์น˜ ์ž‘์—… (Q574).

  • v2์˜ ์žฅ์ : ์„ธ๋ฐ€ํ•œ ์šฉ๋Ÿ‰ ์กฐ์ •(ACU ๋‹จ์œ„), ๊ณ ๊ฐ€์šฉ์„ฑ(Multi-AZ) ์ง€์›, ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ง€์›.


๐ŸŒ 3. Aurora Global Database (๋ฉ€ํ‹ฐ ๋ฆฌ์ „)

์ „ ์„ธ๊ณ„์ ์ธ ์„œ๋น„์Šค ๋˜๋Š” ๊ฐ•๋ ฅํ•œ ์žฌํ•ด ๋ณต๊ตฌ(DR)๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. (Q217, Q273, Q343)

  • ๋™์ž‘: 1๊ฐœ์˜ ๊ธฐ๋ณธ ๋ฆฌ์ „(์“ฐ๊ธฐ ๊ฐ€๋Šฅ) + ์ตœ๋Œ€ 5๊ฐœ์˜ ๋ณด์กฐ ๋ฆฌ์ „(์ฝ๊ธฐ ์ „์šฉ).

  • ์ง€์—ฐ ์‹œ๊ฐ„: ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ ์ง€์—ฐ ์‹œ๊ฐ„ย 1์ดˆ ๋ฏธ๋งŒ.

  • ์žฅ์ : ๋ฆฌ์ „ ๋‹จ์œ„ ์žฅ์•  ์‹œ ๋ณด์กฐ ๋ฆฌ์ „์„ 1๋ถ„ ์ด๋‚ด์— ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•˜๋„๋ก ์Šน๊ฒฉ(DR ์„ฑ๋Šฅ ๊ทน๋Œ€ํ™”).


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ๊ฐœ๋ฐœ/ํ…Œ์ŠคํŠธ์šฉ ์Šคํ…Œ์ด์ง• DB ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ธฐ (Q93)

  • ํ•ด๊ฒฐ:ย Aurora ๋ณต์ œ(Cloning)ย ์‚ฌ์šฉ.

  • ์ด์œ : ์Šค๋ƒ…์ƒท ๋ณต์›๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๋ฉฐ, ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์Šคํ† ๋ฆฌ์ง€ ๋น„์šฉ์ด ๋ฐœ์ƒํ•จ.

โœ… ์‚ฌ๋ก€ 2: ์ฝ๊ธฐ ์ง€์—ฐ(Replica Lag) ์ตœ์†Œํ™” (Q337, Q697)

  • ๋ฌธ์ œ: RDS Read Replica์—์„œ 1์ดˆ ์ด์ƒ์˜ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•จ.

  • ํ•ด๊ฒฐ:ย Amazon Aurora๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜.

  • ์ด์œ : Aurora๋Š” ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ณต์ œ ์ง€์—ฐ์ด ๊ฑฐ์˜ ์—†์Œ(๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„).

โœ… ์‚ฌ๋ก€ 3: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œโ€ ์ตœ์†Œํ™” (Q540, Q596)

  • ํ•ด๊ฒฐ:ย Aurora Serverless v2.

  • ์ด์œ : ์ธ์Šคํ„ด์Šค ํฌ๊ธฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋งž์ถœ ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•จ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๊ฐ€์žฅ ์งง์€ ์žฅ์•  ์กฐ์น˜ ์‹œ๊ฐ„โ€ย =ย Amazon Aurora

  • โ€œ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ํŠธ๋ž˜ํ”ฝ / ๋น„์šฉ ์ตœ์ ํ™”โ€ย =ย Aurora Serverless

  • โ€œ๋ฆฌ์ „ ๊ฐ„ ๋น ๋ฅธ ์žฌํ•ด ๋ณต๊ตฌ(DR)โ€ย =ย Aurora Global Database

  • โ€œ๋กœ๊ทธ๊ฐ€ ์•„๋‹Œ ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ธต ๋ณต์ œโ€ย =ย Aurora (๋ณต์ œ ์†๋„๊ฐ€ RDS๋ณด๋‹ค ๋น ๋ฆ„)


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค + ์žฌํ•ด ๋ณต๊ตฌ ์•„ํ‚คํ…์ฒ˜

[๋ฆฌ์ „ A: us-east-1] (Primary, ์ฝ๊ธฐ+์“ฐ๊ธฐ)
    |
[Aurora Global Database] โ† 1์ดˆ ๋ฏธ๋งŒ ๋ณต์ œ
    |
[๋ฆฌ์ „ B: ap-northeast-2] (Secondary, ์ฝ๊ธฐ ์ „์šฉ)
    |
    โ””โ”€ ๋ฆฌ์ „ A ์žฅ์•  ์‹œ โ†’ 1๋ถ„ ๋‚ด Primary๋กœ ์Šน๊ฒฉ (RTO < 1๋ถ„)

ํ‚ค์›Œ๋“œ: โ€œ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šคโ€ + โ€œ๋ฆฌ์ „ ๋‹จ์œ„ DRโ€ + โ€œ1์ดˆ ๋ฏธ๋งŒ ๋ณต์ œโ€

ํŒจํ„ด 2: ์˜ˆ์ธก ๋ถˆ๊ฐ€ ํŠธ๋ž˜ํ”ฝ + ์„œ๋ฒ„๋ฆฌ์Šค DB

[API Gateway]
    |
[Lambda]
    |
[RDS Proxy] โ† ์—ฐ๊ฒฐ ๊ด€๋ฆฌ
    |
[Aurora Serverless v2] โ† ํŠธ๋ž˜ํ”ฝ์— ๋”ฐ๋ผ ์ž๋™ ์Šค์ผ€์ผ
    (0 ACU ~ N ACU, ์‚ฌ์šฉ ์—†์œผ๋ฉด pause ๊ฐ€๋Šฅ)

ํ‚ค์›Œ๋“œ: โ€œํŠธ๋ž˜ํ”ฝ ์˜ˆ์ธก ๋ถˆ๊ฐ€โ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šค SQLโ€

ํŒจํ„ด 3: ๊ฐœ๋ฐœ/์Šคํ…Œ์ด์ง• ํ™˜๊ฒฝ ๋น ๋ฅด๊ฒŒ ๊ตฌ์„ฑ

[Aurora Production DB]
    |
[Aurora Clone] โ† ์Šค๋ƒ…์ƒท๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฆ„, ๋ณ€๊ฒฝ๋ถ„๋งŒ ๋น„์šฉ ๋ฐœ์ƒ
    |
[Aurora Staging DB] โ† ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ

ํ‚ค์›Œ๋“œ: โ€œ์Šคํ…Œ์ด์ง• ํ™˜๊ฒฝ ๋น ๋ฅด๊ฒŒโ€ + โ€œ์šด์˜ DB์™€ ๋ถ„๋ฆฌโ€ + โ€œ๋น„์šฉ ํšจ์œจโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. Aurora๊ฐ€ RDS๋ณด๋‹ค ์žฅ์•  ์กฐ์น˜๊ฐ€ ๋น ๋ฅธ ์ด์œ ๋Š”? (์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์กฐ ์ฐจ์›์—์„œ ์„ค๋ช…)
  2. โ€œ๋ฆฌ์ „ ์žฅ์•  ์‹œ 1๋ถ„ ์•ˆ์— ์„œ๋น„์Šค ๋ณต๊ตฌโ€ โ†’ ์–ด๋–ค Aurora ๊ธฐ๋Šฅ, ์ผ๋ฐ˜ Read Replica๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  3. โ€œํŠธ๋ž˜ํ”ฝ์ด ๊ฐ„ํ—์ ์ด๊ณ  ์˜ˆ์ธก ๋ถˆ๊ฐ€โ€ โ†’ Aurora Serverless๊ฐ€ ์ •๋‹ต์ธ ์ด์œ ๋Š”?
  4. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ DB๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค โ†’ ์Šค๋ƒ…์ƒท ๋ณต์› vs Aurora Clone ์ฐจ์ด๋Š”?
  5. Aurora ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด RDS๋ณด๋‹ค ๋งŽ์„ ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š”? (์Šคํ† ๋ฆฌ์ง€ ๊ณต์œ  ๊ตฌ์กฐ)

# 3.3 NoSQL ๋ฐ ์บ์‹ฑ (DynamoDB & ElastiCache)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • DynamoDB: ์–ด๋–ค ๊ทœ๋ชจ์—์„œ๋„ 10๋ฐ€๋ฆฌ์ดˆ ๋ฏธ๋งŒ์˜ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๋ฆฌ์Šค Key-Value ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค.

  • ElastiCache: DB ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ  ์ฝ๊ธฐ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ธ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ ์„œ๋น„์Šค.

  • ์„ค๊ณ„ ์›์น™:

    • ํ™•์žฅ์„ฑ: ์Šคํ‚ค๋งˆ๊ฐ€ ์œ ์—ฐํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ํŠธ๋ž˜ํ”ฝ์ด ์—„์ฒญ๋‚  ๋•Œ ์„ ํƒ.

    • ์šด์˜ ํšจ์œจ: ๊ด€๋ฆฌํ•  ์„œ๋ฒ„๊ฐ€ ์—†๋Š”ย ์„œ๋ฒ„๋ฆฌ์Šค(DynamoDB)ย ์šฐ์„  ๊ณ ๋ ค.


โšก 1. Amazon DynamoDB (NoSQL)

โœ… ์šฉ๋Ÿ‰ ๋ชจ๋“œ (๋น„์šฉ ์ตœ์ ํ™” ํฌ์ธํŠธ)

์‹œํ—˜์—์„œ โ€œ๋น„์šฉ ํšจ์œจ์ ์ธ ์šฉ๋Ÿ‰ ์„ค๊ณ„โ€๋ฅผ ๋ฌผ์„ ๋•Œ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“œํŠน์ง•์šฉ๋„ (ํ‚ค์›Œ๋“œ)
------------------
์˜จ๋””๋งจ๋“œ (On-demand)์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ์ง€๋ถˆ, ์šฉ๋Ÿ‰ ์‚ฐ์ • ๋ถˆํ•„์š”์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ํŠธ๋ž˜ํ”ฝ, ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๊ธ‰์ฆ (Q79, Q520)
ํ”„๋กœ๋น„์ €๋‹ (Provisioned)RCU/WCU ์˜ˆ์•ฝ, Auto Scaling ์ง€์›์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ํŠธ๋ž˜ํ”ฝ, ๋น„์šฉ ์˜ˆ์ธก์ด ์ค‘์š”ํ•  ๋•Œ (Q363)

โœ… ํ•ต์‹ฌ ๊ธฐ๋Šฅ (๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต)

  1. DAX (DynamoDB Accelerator):

    • ํ‚ค์›Œ๋“œ: โ€œ์ฝ๊ธฐ ์„ฑ๋Šฅ ๊ทน๋Œ€ํ™”โ€, โ€œ๋งˆ์ดํฌ๋กœ์ดˆ(ฮผs)ย ์ง€์—ฐ ์‹œ๊ฐ„โ€, โ€œ์ฝ๊ธฐ ์ง‘์ค‘์  ์›Œํฌ๋กœ๋“œโ€.

    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ • ์—†์ด ์ฝ๊ธฐ ์„ฑ๋Šฅ์„ 10๋ฐฐ ์ด์ƒ ํ–ฅ์ƒ (Q177, Q561).

  2. DynamoDB Streams:

    • ํ‚ค์›Œ๋“œ: โ€œ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‹œ ํ›„์† ์กฐ์น˜โ€, โ€œLambda ์—ฐ๋™โ€.

    • ํ•ญ๋ชฉ์ด ์ˆ˜์ •/์‚ญ์ œ๋˜๋ฉด Lambda๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ (Q400, Q490).

  3. ๊ธ€๋กœ๋ฒŒ ํ…Œ์ด๋ธ” (Global Tables):

    • ํ‚ค์›Œ๋“œ: โ€œ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ํ™œ์„ฑ-ํ™œ์„ฑ(Active-Active)โ€, โ€œ์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ์ž ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์ตœ์†Œํ™”โ€ (Q507).
  4. TTL (Time to Live):

    • ํ‚ค์›Œ๋“œ: โ€œ์ผ์ • ๊ธฐ๊ฐ„ ํ›„ ์ž๋™ ์‚ญ์ œโ€, โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€.

    • ์ถ”๊ฐ€ ๋น„์šฉ์ด๋‚˜ ์ž‘์—… ์—†์ด ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ ์ž๋™ ์ •๋ฆฌ (Q196, Q214).


๐ŸงŠ 2. Amazon ElastiCache (์บ์‹ฑ)

๊ด€๊ณ„ํ˜• DB(RDS) ์•ž์— ๋‘์–ด ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ์šฉ๋„๋กœ ์ž์ฃผ ๋‚˜์˜ต๋‹ˆ๋‹ค.

์—”์ง„ํŠน์ง•์šฉ๋„ (ํ‚ค์›Œ๋“œ)
------------------
RedisMulti-AZ, ๋ณต์ œ, ๋ณต์žกํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ์ง€์›์„ธ์…˜ ์ €์žฅ์†Œ, ์ˆœ์œ„ํ‘œ(Leaderboard), ๊ณ ๊ธ‰ ์บ์‹ฑ (Q209, Q431, Q589)
Memcached๋‹จ์ˆœํ•œ Key-Value, ์ˆ˜ํ‰ ํ™•์žฅ ์šฉ์ด๋‹จ์ˆœ ๊ฐ์ฒด ์บ์‹ฑ, DB ๋ถ€ํ•˜ ๋ถ„์‚ฐ

Redis vs Memcached ์„ ํƒ ๊ธฐ์ค€

  • โ€œ์„ธ์…˜ ์ €์žฅโ€ or โ€œ์บ์‹œ ์„œ๋ฒ„ ์žฅ์•  ๋Œ€๋น„โ€ or โ€œMulti-AZโ€ โ†’ Redis
  • โ€œ๋‹จ์ˆœ ์บ์‹ฑโ€ or โ€œ์ˆ˜ํ‰ ํ™•์žฅโ€ โ†’ Memcached
  • Redis๋Š” ์žฌ์‹œ์ž‘ ํ›„์—๋„ ๋ฐ์ดํ„ฐ ์œ ์ง€ ๊ฐ€๋Šฅ (AOF/RDB), Memcached๋Š” ๋ถˆ๊ฐ€

๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์ผ๊ด€๋˜์ง€ ์•Š์€ ์ฝ๊ธฐ ๊ฒฐ๊ณผ ํ•ด๊ฒฐ (Q687)

  • ๋ฌธ์ œ: ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋Š”๋ฐ ๋ฐ”๋กœ ์ฝ์„ ๋•Œ ์˜ˆ์ „ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜์˜ด.

  • ํ•ด๊ฒฐ:ย ๊ฐ•๋ ฅํ•œ ์ผ๊ด€๋œ ์ฝ๊ธฐ(Strongly Consistent Reads)ย ์š”์ฒญ.

  • ์ด์œ : ๊ธฐ๋ณธ๊ฐ’์€ ์ตœ์ข… ์ผ๊ด€์„ฑ(Eventual Consistency)์œผ๋กœ, ์•„์ฃผ ์งง์€ ์ˆœ๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ.

โœ… ์‚ฌ๋ก€ 2: DB ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋ฉด์„œ ์„ฑ๋Šฅ ๊ฐœ์„  (Q386, Q269)

  • ๋ฌธ์ œ: ๋ณด๊ณ ์„œ ์ฟผ๋ฆฌ๋‚˜ ์žฆ์€ ์กฐํšŒ๋กœ RDS๊ฐ€ ๋А๋ ค์ง.

  • ํ•ด๊ฒฐ:ย ElastiCache(์กฐํšŒ ๊ฒฐ๊ณผ ์บ์‹ฑ)ย ๋˜๋Š”ย RDS Read Replica.

  • ์ฐจ์ด: ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ฐ”๋€Œ์ง€ ์•Š๊ณ  ์กฐํšŒ๋งŒ ๋งŽ๋‹ค๋ฉดย ElastiCache๊ฐ€ ์„ฑ๋Šฅ์ƒ ๋” ์šฐ์œ„.

โœ… ์‚ฌ๋ก€ 3: ์ˆ˜์กฐ ๊ฐœ์˜ ๊ฐ์ฒด ๊ด€๋ฆฌ ๋ฐ ์ž๋™ ์ •๋ฆฌ (Q214, Q373)

  • ๋ฌธ์ œ: ๋ฐ์ดํ„ฐ๊ฐ€ ๋งค์ผ ์—„์ฒญ๋‚˜๊ฒŒ ์Œ“์ด๋Š”๋ฐ 30์ผ ํ›„์—” ํ•„์š” ์—†์Œ.

  • ํ•ด๊ฒฐ:ย DynamoDB TTL.

  • ์˜ค๋‹ต: S3 ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ •์ฑ…์€ โ€˜ํŒŒ์ผโ€™ ๋‹จ์œ„์ด๊ณ , ํ…Œ์ด๋ธ” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ์ •๋ฆฌ๋Š”ย TTL์ด ์ •๋‹ต.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๋ฐ€๋ฆฌ์ดˆ(ms) ์ง€์—ฐ ์‹œ๊ฐ„โ€ย =ย DynamoDB

  • โ€œ๋งˆ์ดํฌ๋กœ์ดˆ(ฮผs) ์ง€์—ฐ ์‹œ๊ฐ„โ€ย =ย DynamoDB + DAXย ๋˜๋Š”ย ElastiCache

  • โ€œ์„ธ์…˜ ๋ฐ์ดํ„ฐ ๋ณด๊ด€โ€ย =ย ElastiCache(Redis)ย ๋˜๋Š”ย DynamoDB

  • โ€œ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ๊ฐ์ง€โ€ย =ย DynamoDB Streams

  • โ€œ์„œ๋ฒ„๋ฆฌ์Šค/NoSQLโ€ย =ย DynamoDB


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๊ธ€๋กœ๋ฒŒ ๊ฒŒ์ž„ ๋ฆฌ๋”๋ณด๋“œ + ์„ธ์…˜

[๊ฒŒ์ž„ ์„œ๋ฒ„ (EC2/ECS)]
    |
[ElastiCache Redis]
 โ”œโ”€ ์„ธ์…˜ ๋ฐ์ดํ„ฐ ์ €์žฅ (TTL ์„ค์ •)
 โ””โ”€ ๋ฆฌ๋”๋ณด๋“œ (Sorted Set ์ž๋ฃŒ๊ตฌ์กฐ)
    |
[DynamoDB] โ† ์˜๊ตฌ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ €์žฅ
    |
[DynamoDB Global Tables] โ† ์ „ ์„ธ๊ณ„ Active-Active

ํ‚ค์›Œ๋“œ: โ€œ์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ์žโ€ + โ€œ๋‚ฎ์€ ์ง€์—ฐโ€ + โ€œ์„ธ์…˜/์ˆœ์œ„ํ‘œโ€

ํŒจํ„ด 2: ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ

[์‚ฌ์šฉ์ž ์ฃผ๋ฌธ/์ด๋ฒคํŠธ]
    |
[DynamoDB] โ† ์ฃผ๋ฌธ ์ €์žฅ
    |
[DynamoDB Streams] โ† ๋ณ€๊ฒฝ ๊ฐ์ง€
    |
[Lambda] โ† ์žฌ๊ณ  ์ฐจ๊ฐ, ์•Œ๋ฆผ ๋ฐœ์†ก ๋“ฑ
    |
[SNS] โ† ์ด๋ฉ”์ผ/SMS ์•Œ๋ฆผ

ํ‚ค์›Œ๋“œ: โ€œ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‹œ ์ž๋™ ํ›„์† ์ฒ˜๋ฆฌโ€ + โ€œ์‹ค์‹œ๊ฐ„โ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šคโ€

ํŒจํ„ด 3: RDS ์ฝ๊ธฐ ๋ถ€ํ•˜ + ์บ์‹œ ๊ณ„์ธต

[์• ํ”Œ๋ฆฌ์ผ€์ด์…˜]
    |
[ElastiCache Redis] โ† Cache-Aside ํŒจํ„ด
 โ”œโ”€ ์บ์‹œ HIT โ†’ ์ฆ‰์‹œ ๋ฐ˜ํ™˜ (DB ์ฟผ๋ฆฌ ์—†์Œ)
 โ””โ”€ ์บ์‹œ MISS โ†’ RDS ์กฐํšŒ โ†’ ์บ์‹œ์— ์ €์žฅ
    |
[RDS / Aurora] โ† ์‹ค์ œ ๋ฐ์ดํ„ฐ

ํ‚ค์›Œ๋“œ: โ€œDB ์กฐํšŒ ๋ถ€ํ•˜โ€ + โ€œ์‘๋‹ต ์†๋„ ๊ฐœ์„ โ€ + โ€œ์ž์ฃผ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. ํŠธ๋ž˜ํ”ฝ์ด 100๋ฐฐ๋กœ ๊ฐ‘์ž๊ธฐ ํŠ„๋‹ค โ†’ On-demand๊ฐ€ ์ •๋‹ต์ธ ์ด์œ , Provisioned๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  2. ์บ์‹œ ์„œ๋ฒ„ ์žฅ์•  ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค โ†’ Redis vs Memcached ์„ ํƒ ์ด์œ ๋Š”?
  3. DynamoDB์—์„œ ์ฝ๊ธฐ ์†๋„๋ฅผ ๋งˆ์ดํฌ๋กœ์ดˆ๋กœ ์ค„์ด๋ ค๋ฉด โ†’ ElastiCache๊ฐ€ ์•„๋‹Œ DAX๋ฅผ ์“ฐ๋Š” ์ด์œ ๋Š”?
  4. ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‹œ Lambda๋ฅผ ์ž๋™ ์‹คํ–‰ํ•˜๋ ค๋ฉด โ†’ ์–ด๋–ค ๊ธฐ๋Šฅ, SQS์™€์˜ ์ฐจ์ด๋Š”?
  5. ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ Active-Active ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜๋‹ค โ†’ Aurora Global DB vs DynamoDB Global Tables ์„ ํƒ ๊ธฐ์ค€์€?

# 3.4 ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ETL (Redshift, Athena, Glue)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • Redshift: ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค(OLAP). ๋ณต์žกํ•œ ์ฟผ๋ฆฌ์™€ ๊ณ ์„ฑ๋Šฅ ๋ถ„์„์— ์ตœ์ .

  • Athena: S3์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ SQL๋กœ ์ง์ ‘ ์กฐํšŒํ•˜๋Š”ย ์„œ๋ฒ„๋ฆฌ์Šคย ์„œ๋น„์Šค.

  • Glue: ๋ฐ์ดํ„ฐ ์ถ”์ถœ, ๋ณ€ํ™˜, ๋กœ๋“œ(ETL) ๋ฐ ๋ฐ์ดํ„ฐ ์นดํƒˆ๋กœ๊ทธ ๊ด€๋ฆฌ.

  • QuickSight: ์‹œ๊ฐํ™” ๋ฐ ๋Œ€์‹œ๋ณด๋“œ ์ƒ์„ฑ ์„œ๋น„์Šค.


๐Ÿ” 1. ๋ถ„์„ ์„œ๋น„์Šค ๋น„๊ต (์ƒํ™ฉ๋ณ„ ์„ ํƒ ๊ธฐ์ค€)

์„œ๋น„์ŠคํŠน์ง•์ฃผ์š” ํ‚ค์›Œ๋“œ ๋ฐ ์šฉ๋„
------------------
Amazon Athena์„œ๋ฒ„๋ฆฌ์Šค, S3 ์ง์ ‘ ์ฟผ๋ฆฌ์ž„์‹œ(Ad-hoc) ๋ถ„์„, ๋กœ๊ทธ ๋ถ„์„ (Q2, Q310)
Amazon Redshift๊ณ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋ณต์žกํ•œ SQL, ํŽ˜ํƒ€๋ฐ”์ดํŠธ ๋ถ„์„, ์ง€์† ๋ฆฌํฌํŒ… (Q144)
Redshift SpectrumRedshift์—์„œ S3 ์ง์ ‘ ์กฐํšŒ์›จ์–ดํ•˜์šฐ์Šค + S3 ์›์‹œ ๋ฐ์ดํ„ฐ ๊ฒฐํ•ฉ ๋ถ„์„
OpenSearch๋กœ๊ทธ ๊ฒ€์ƒ‰ ๋ฐ ๋ถ„์„ ์—”์ง„์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ถ„์„, ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰, Kibana (Q117, Q611)

Athena vs Redshift ์„ ํƒ ๊ธฐ์ค€

  • โ€œ์ž„์‹œ ์ฟผ๋ฆฌโ€ + โ€œS3โ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šคโ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์Œโ€ โ†’ Athena
  • โ€œ์ง€์†์ ์ธ ๋ถ„์„โ€ + โ€œ๋ณต์žกํ•œ ์กฐ์ธโ€ + โ€œํŽ˜ํƒ€๋ฐ”์ดํŠธโ€ โ†’ Redshift
  • โ€œ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๊ฒ€์ƒ‰โ€ + โ€œKibanaโ€ + โ€œํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰โ€ โ†’ OpenSearch

๐Ÿ› ๏ธ 2. ๋ฐ์ดํ„ฐ ์ค€๋น„ ๋ฐ ๋ณ€ํ™˜ (ETL - AWS Glue)

โœ… Glue์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ (Q103, Q214, Q688)

  1. Glue Crawler: S3๋‚˜ DB๋ฅผ ์Šค์บ”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ๋ฅผ ์ž๋™์œผ๋กœ ์ฐพ์•„ย Data Catalog์— ์ €์žฅ.

  2. Glue ETL ์ž‘์—…: ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ ์ „์šฉ ํ˜•์‹(Parquet)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ์ œ๊ฑฐ.

  3. Glue DataBrew: ์ฝ”๋”ฉ ์—†์ด ์‹œ๊ฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ฆฌ ๋ฐ ์ •๊ทœํ™”(Recipe ํ™œ์šฉ).

  4. Job Bookmarks: ์ด์ „์— ์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์–ตํ•˜์—ฌย ์ค‘๋ณต ์ฒ˜๋ฆฌ ๋ฐฉ์ง€ย (Q103).


๐Ÿ“Š 3. ์‹œ๊ฐํ™” ๋ฐ ๋ฆฌํฌํŒ… (Amazon QuickSight)

โ€œ๊ด€๋ฆฌํŒ€์—๊ฒŒ ๋ณด๊ณ ์„œ๋ฅผ ๋ณด์—ฌ์ค˜์•ผ ํ•จโ€ ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜ฌ ๋•Œ ์ •๋‹ต์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์†Œ์Šค: S3, RDS, Redshift, Athena ๋“ฑ ๋‹ค์–‘ํ•œ ์†Œ์Šค ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ.

  • ๋ณด์•ˆ: ํŠน์ • ์‚ฌ์šฉ์ž/๊ทธ๋ฃน๊ณผ ๋Œ€์‹œ๋ณด๋“œ ๊ณต์œ ,ย ์—ด ์ˆ˜์ค€(Column-level)ย ๊ถŒํ•œ ์ œํ•œ (Q16, Q341).

  • ํŠน์ง•: ์„œ๋ฒ„๋ฆฌ์Šค, ์‹œ๊ฐํ™” ๋Œ€์‹œ๋ณด๋“œ ์ œ๊ณต.


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: S3์— ์ €์žฅ๋œ JSON ๋กœ๊ทธ ๋ถ„์„ (Q2, Q280, Q708)

  • ๋ฌธ์ œ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ๊ฐ€ S3์— ์Œ“์ด๊ณ  ์žˆ์Œ. ์ตœ์†Œํ•œ์˜ ๋…ธ๋ ฅ์œผ๋กœ ๋ถ„์„ํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย Amazon Athena.

  • ์ด์œ : ๋ณ„๋„์˜ ์ธํ”„๋ผ ๊ตฌ์ถ• ์—†์ด ํ‘œ์ค€ SQL๋กœ S3 ํŒŒ์ผ์„ ์ฆ‰์‹œ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ.

โœ… ์‚ฌ๋ก€ 2: ๋ฐ์ดํ„ฐ ํ˜•์‹ ๋ณ€ํ™˜ (CSV โ†’ Parquet) (Q214, Q258, Q717)

  • ๋ฌธ์ œ: ๋ถ„์„ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด S3์˜ CSV ํŒŒ์ผ์„ Parquet์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย AWS Glue.

  • ์ด์œ : Glue๋Š” ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ๋Œ€๋Ÿ‰์˜ ํŒŒ์ผ์„ ํšจ์œจ์ ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ด€๋ฆฌํ˜• ETL ๋„๊ตฌ์ž„.

โœ… ์‚ฌ๋ก€ 3: DB์˜ ๋ณด๊ณ ์„œ์šฉ ์ฟผ๋ฆฌ ๋ถ€ํ•˜ ํ•ด๊ฒฐ (Q144, Q653, Q709)

  • ๋ฌธ์ œ: RDS์—์„œ ์›”๋ณ„ ๋ณด๊ณ ์„œ๋ฅผ ๋Œ๋ฆด ๋•Œ๋งˆ๋‹ค ์„œ๋น„์Šค๊ฐ€ ๋А๋ ค์ง.

  • ํ•ด๊ฒฐ: ๋ฐ์ดํ„ฐ๋ฅผย S3๋กœ ๋‚ด๋ณด๋‚ด๊ณ  Athena๋กœ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜,ย Redshift๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜.

  • ์˜ค๋‹ต: ๋‹จ์ˆœ ์กฐํšŒ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์ธ์Šคํ„ด์Šค ํฌ๊ธฐ๋ฅผ ๊ณ„์† ํ‚ค์šฐ๋Š” ๊ฒƒ์€ ๋น„์šฉ ํšจ์œจ์ ์ด์ง€ ์•Š์Œ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œS3 ๋ฐ์ดํ„ฐ + SQL๋กœ ์กฐํšŒโ€ย =ย Athena

  • โ€œ๋ฐ์ดํ„ฐ ํ˜•์‹ ๋ณ€ํ™˜(ETL)โ€ย =ย Glue

  • โ€œํŽ˜ํƒ€๋ฐ”์ดํŠธ ๊ทœ๋ชจ / ๋ณต์žกํ•œ ๋ถ„์„โ€ย =ย Redshift

  • โ€œ์‹œ๊ฐํ™” / ๋Œ€์‹œ๋ณด๋“œโ€ย =ย QuickSight

  • โ€œ๋กœ๊ทธ ํŒŒ์ผ์˜ ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰โ€ย =ย OpenSearch


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์„œ๋ฒ„๋ฆฌ์Šค ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ ๋ถ„์„ ํŒŒ์ดํ”„๋ผ์ธ

[RDS / DynamoDB / ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ]
    |
[Kinesis Data Firehose] โ† ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์ˆ˜์ง‘
    |
[S3 Data Lake] โ† ์›์‹œ ๋ฐ์ดํ„ฐ ์ €์žฅ
    |
[AWS Glue] โ† CSV โ†’ Parquet ๋ณ€ํ™˜ + ์Šคํ‚ค๋งˆ ์ž๋™ ํƒ์ƒ‰
    |
[Amazon Athena] โ† SQL๋กœ ์ž„์‹œ ๋ถ„์„
    |
[Amazon QuickSight] โ† ๋Œ€์‹œ๋ณด๋“œ ์‹œ๊ฐํ™”

ํ‚ค์›Œ๋“œ: โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šค ๋ถ„์„โ€ + โ€œ์ž„์‹œ ์ฟผ๋ฆฌโ€

ํŒจํ„ด 2: ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ๊ตฌ์ถ•

[๋‹ค์–‘ํ•œ ์†Œ์Šค (RDS, S3, DynamoDB)]
    |
[AWS Glue ETL] โ† ๋ฐ์ดํ„ฐ ์ •์ œ, ๋ณ€ํ™˜
    |
[Amazon Redshift] โ† OLAP ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค
    |
[Redshift Spectrum] โ† S3 ์›์‹œ ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ์กฐํšŒ
    |
[Amazon QuickSight] โ† ๊ฒฝ์˜์ง„ ๋Œ€์‹œ๋ณด๋“œ

ํ‚ค์›Œ๋“œ: โ€œ์ง€์†์ ์ธ ๋ณต์žกํ•œ ๋ถ„์„โ€ + โ€œํŽ˜ํƒ€๋ฐ”์ดํŠธโ€ + โ€œ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šคโ€

ํŒจํ„ด 3: ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง

[EC2 / Lambda / ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜]
    |
[CloudWatch Logs]
    |
[Kinesis Data Firehose]
    |
[Amazon OpenSearch Service] โ† ์‹ค์‹œ๊ฐ„ ์ธ๋ฑ์‹ฑ
    |
[Kibana ๋Œ€์‹œ๋ณด๋“œ] โ† ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง, ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰

ํ‚ค์›Œ๋“œ: โ€œ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ถ„์„โ€ + โ€œํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰โ€ + โ€œ๋Œ€์‹œ๋ณด๋“œโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. S3์— ์Œ“์ธ ๋กœ๊ทธ๋ฅผ ๊ฐ€์žฅ ์ ์€ ๋…ธ๋ ฅ์œผ๋กœ ๋ถ„์„ โ†’ Athena ์ •๋‹ต, Redshift๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  2. Athena ์ฟผ๋ฆฌ ๋น„์šฉ์„ ์ค„์ด๋ ค๋ฉด โ†’ ์–ด๋–ค ํŒŒ์ผ ํ˜•์‹๊ณผ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์„ ์จ์•ผ ํ•˜๋Š”๊ฐ€?
  3. ์ผ์ฃผ์ผ์— ํ•œ ๋ฒˆ๋งŒ ๋ถ„์„ํ•œ๋‹ค โ†’ Redshift ํด๋Ÿฌ์Šคํ„ฐ ์œ ์ง€๊ฐ€ ๋น„ํšจ์œจ์ ์ธ ์ด์œ ๋Š”?
  4. CSV ํŒŒ์ผ์„ Parquet์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์Šคํ‚ค๋งˆ๋ฅผ ์ž๋™ ๊ด€๋ฆฌ โ†’ ์–ด๋–ค ์„œ๋น„์Šค, ์™œ?
  5. โ€œ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ + ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ + ๋Œ€์‹œ๋ณด๋“œโ€ โ†’ Athena/Redshift๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?

# 4.1 VPC ๋ฐ ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • VPC: AWS ๊ณ„์ • ์ „์šฉ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ. ๋ฆฌ์ „ ๋‹จ์œ„๋กœ ์ƒ์„ฑ.

  • ์„œ๋ธŒ๋„ท(Subnet): VPC ๋‚ด๋ถ€์˜ IP ์ฃผ์†Œ ๋ฒ”์œ„. ๊ฐ€์šฉ ์˜์—ญ(AZ) ๋‹จ์œ„๋กœ ์ƒ์„ฑ.

  • ์„ค๊ณ„ ์›์น™:

    • ๋ณด์•ˆ ๊ณ„์ธตํ™”: ์›น ์„œ๋ฒ„๋Š” ํผ๋ธ”๋ฆญ, DB/App ์„œ๋ฒ„๋Š”ย ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ทย ๋ฐฐ์น˜.

    • ์ธํ„ฐ๋„ท ํ†ต์‹  ์ œ์–ด: ํ”„๋ผ์ด๋น— ์ž์›์˜ ์™ธ๋ถ€ ํ†ต์‹ ์€ย NAT Gatewayย ํ™œ์šฉ.

    • ์ตœ์†Œ ๊ถŒํ•œ: ๋ณด์•ˆ ๊ทธ๋ฃน ๊ฐ„์˜ ์ฐธ์กฐ๋ฅผ ํ†ตํ•ด ํ†ต์‹  ๋ฒ”์œ„ ์ œํ•œ.


๐ŸŒ 1. ํผ๋ธ”๋ฆญ vs ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท (๊ตฌ๋ถ„ ๊ธฐ์ค€)

๊ตฌ๋ถ„ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท (Public)ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท (Private)โŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”**์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด(IGW)**๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ ์žˆ์ŒIGW ๊ฒฝ๋กœ ์—†์Œ (ํ์‡„์ )-
์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์–‘๋ฐฉํ–ฅ ํ†ต์‹  (Public IP ํ•„์š”)NAT Gateway๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐNAT Gateway๋ฅผ ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์— ๋ฐฐ์น˜ โ†’ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
์ฃผ์š” ์ž์›ALB, Bastion Host, NAT GatewayDB ์ธ์Šคํ„ด์Šค, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„DB๋ฅผ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ๋ฐฐ์น˜ โ†’ ๋ณด์•ˆ ์œ„๋ฐ˜

NAT Gateway ์œ„์น˜ ํ˜ผ๋™ (๋นˆ์ถœ ์˜ค๋‹ต)

NAT Gateway๋Š” ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • NAT GW = ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท ๋ฐฐ์น˜ + Elastic IP ์—ฐ๊ฒฐ
  • ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” โ†’ 0.0.0.0/0 ๋Œ€์ƒ์„ NAT GW๋กœ ์ง€์ •
  • IGW โ‰  NAT GW: IGW๋Š” VPC์— 1๊ฐœ, ์–‘๋ฐฉํ–ฅ / NAT GW๋Š” ๋‹จ๋ฐฉํ–ฅ(๋ฐ–์œผ๋กœ๋งŒ)

๐Ÿ› ๏ธ 2. ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ์š”์†Œ (Connectivity)

  1. Internet Gateway (IGW): VPC์™€ ์ธํ„ฐ๋„ท ๊ฐ„์˜ ๊ฒŒ์ดํŠธ์›จ์ด. (์–‘๋ฐฉํ–ฅ)

  2. NAT Gateway: ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๊ฒŒ ํ•ด์คŒ. (๋‹จ๋ฐฉํ–ฅ: ์•ˆ์—์„œ ๋ฐ–์œผ๋กœ๋งŒ)

    • ์ค‘์š”: NAT Gateway ์ž์ฒด๋Š”ย ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ์œ„์น˜ํ•ด์•ผ ํ•จ (Q101, Q549, Q251).
  3. Bastion Host (๋ฐฐ์Šค์ฒœ ํ˜ธ์ŠคํŠธ): ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์— ์žˆ๋Š” ์„œ๋ฒ„์— SSH/RDP ์ ‘์†์„ ํ•˜๊ธฐ ์œ„ํ•ด ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ๋‘๋Š” โ€œ์ ํ”„ ์„œ๋ฒ„โ€ (Q73).

  4. Egress-Only Internet Gateway: IPv6 ์ „์šฉ NAT Gateway ์—ญํ• . (๋‹จ๋ฐฉํ–ฅ ๋ฐ–์œผ๋กœ๋งŒ) (Q470)


๐Ÿ›ก๏ธ 3. ๋ณด์•ˆ ์„ค์ • (Security Groups vs NACLs)

ํŠน์ง•๋ณด์•ˆ ๊ทธ๋ฃน (Security Groups)๋„คํŠธ์›Œํฌ ACL (NACLs)
------------------
์ ์šฉ ๋ฒ”์œ„์ธ์Šคํ„ด์Šค(ENI) ๋‹จ์œ„์„œ๋ธŒ๋„ท ๋‹จ์œ„
์ƒํƒœ ์œ ์ง€Stateful (์‘๋‹ต ์ž๋™ ํ—ˆ์šฉ)Stateless (์ธ/์•„์›ƒ๋ฐ”์šด๋“œ ๋ชจ๋‘ ์„ค์ • ํ•„์š”)
๊ทœ์น™ํ—ˆ์šฉ(Allow) ๊ทœ์น™๋งŒ ๊ฐ€๋Šฅํ—ˆ์šฉ ๋ฐ ๊ฑฐ๋ถ€(Deny) ๊ทœ์น™ ๊ฐ€๋Šฅ
๊ธฐ๋ณธ ๋™์ž‘์•„์›ƒ๋ฐ”์šด๋“œ ํ—ˆ์šฉ, ์ธ๋ฐ”์šด๋“œ ์ฐจ๋‹จDefault: ๋ชจ๋‘ ํ—ˆ์šฉ / Custom: ๋ชจ๋‘ ์ฐจ๋‹จ
๊ทœ์น™ ํ‰๊ฐ€๋ชจ๋“  ๊ทœ์น™ ๋™์‹œ ํ‰๊ฐ€๋ฒˆํ˜ธ ์ˆœ์„œ๋Œ€๋กœ ํ‰๊ฐ€ (๋‚ฎ์„์ˆ˜๋ก ์šฐ์„ )

์‹œํ—˜ ํŒ (Q254, Q388, Q406)

โ€œDB ์ ‘๊ทผ์„ ์›น ์„œ๋ฒ„๋กœ๋งŒ ์ œํ•œํ•˜๊ณ  ์‹ถ๋‹คโ€ โ†’ DB ๋ณด์•ˆ ๊ทธ๋ฃน์˜ ์†Œ์Šค(Source)์—ย ์›น ์„œ๋ฒ„ ๋ณด์•ˆ ๊ทธ๋ฃน ID๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. (IP ๋Œ€์‹  SG ID ์ฐธ์กฐ๊ฐ€ ์ •๋‹ต!)


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์—์„œ ์ธํ„ฐ๋„ท ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ (Q101, Q549)

  • ๋ฌธ์ œ: DB ์„œ๋ฒ„๊ฐ€ ๋ณด์•ˆ ํŒจ์น˜๋ฅผ ์œ„ํ•ด ์ธํ„ฐ๋„ท์—์„œ ํŒŒ์ผ์„ ๋ฐ›์•„์™€์•ผ ํ•จ.

  • ํ•ด๊ฒฐ: ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์—ย NAT Gatewayย ์ƒ์„ฑ โ†’ ํ”„๋ผ์ด๋น— ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์—ย 0.0.0.0/0์˜ ๋Œ€์ƒ์„ NAT GW๋กœ ์„ค์ •.

  • ์ฃผ์˜: NAT ์ธ์Šคํ„ด์Šค๋Š” ๊ด€๋ฆฌ๊ฐ€ ํž˜๋“ค์–ด ์˜ค๋‹ต์ผ ํ™•๋ฅ ์ด ๋†’์Œ (์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™” ์œ„๋ฐ˜).

โœ… ์‚ฌ๋ก€ 2: ํŠน์ • IP ์ฃผ์†Œ์˜ ๊ณต๊ฒฉ ์ฐจ๋‹จ (Q509, Q669, Q683)

  • ๋ฌธ์ œ: ํŠน์ • ์•…์„ฑ IP์—์„œ ๋Œ€๋Ÿ‰์˜ ์š”์ฒญ์ด ๋“ค์–ด์˜ด.

  • ํ•ด๊ฒฐ:ย Network ACL์—์„œ ํ•ด๋‹น IP๋ฅผย ๊ฑฐ๋ถ€(Deny)ย ๊ทœ์น™์œผ๋กœ ์ถ”๊ฐ€.

  • ์ด์œ : ๋ณด์•ˆ ๊ทธ๋ฃน์€ ๊ฑฐ๋ถ€ ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ. (์›น ๊ณต๊ฒฉ์€ WAF๊ฐ€ ๋” ์ ํ•ฉํ•˜์ง€๋งŒ, IP ์ฐจ๋‹จ์€ NACL์ด ๋น ๋ฆ„)

โœ… ์‚ฌ๋ก€ 3: ์ธํ„ฐ๋„ท ๊ฑฐ์น˜์ง€ ์•Š๊ณ  S3/DynamoDB ์—ฐ๊ฒฐ (Q4, Q91, Q176)

  • ํ•ด๊ฒฐ:ย VPC Endpoint (Gateway)ย ์‚ฌ์šฉ.

  • ์žฅ์ : NAT Gateway ๋น„์šฉ์„ ์•„๋ผ๊ณ , ํŠธ๋ž˜ํ”ฝ์ด AWS ๋‚ด๋ถ€๋ง๋งŒ ํ†ต๊ณผํ•˜์—ฌ ๋ณด์•ˆ ๊ฐ•ํ™”.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œํ”„๋ผ์ด๋น— ์„œ๋ฒ„์˜ ์ธํ„ฐ๋„ท ์ ‘์†โ€ย =ย NAT Gateway

  • โ€œํŠน์ • IP ์ฃผ์†Œ ์ฐจ๋‹จโ€ย =ย NACL Deny ๊ทœ์น™

  • โ€œ๋ณด์•ˆ ๊ทธ๋ฃน ๊ฐ„ ํ†ต์‹ โ€ย =ย ๋ณด์•ˆ ๊ทธ๋ฃน ID ์ฐธ์กฐ

  • โ€œIPv6 ๋‹จ๋ฐฉํ–ฅ ์ธํ„ฐ๋„ท ์ ‘์†โ€ย =ย Egress-Only IGW

  • โ€œ์ธํ„ฐ๋„ท ์—†์ด S3 ์ ‘์†โ€ย =ย Gateway VPC Endpoint


๐Ÿšจ 4. ๋„คํŠธ์›Œํ‚น ๊ณ ๋นˆ๋„ ํ˜ผ๋™ ํฌ์ธํŠธ (4.1 ์ „์šฉ)

์ด๊ฒƒ๋งŒ ํ‹€๋ฆฌ์ง€ ๋งˆ์„ธ์š”

IGW vs NAT GW ์ฐจ์ด

  • IGW: VPC โ†” ์ธํ„ฐ๋„ท (์–‘๋ฐฉํ–ฅ), VPC์— 1๊ฐœ ์—ฐ๊ฒฐ
  • NAT GW: ํ”„๋ผ์ด๋น— โ†’ ์ธํ„ฐ๋„ท (๋‹จ๋ฐฉํ–ฅ), ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ์œ„์น˜

SG vs NACL ์ฐจ์ด

  • ํŠน์ • IP ์ฐจ๋‹จ โ†’ NACL (SG๋Š” Deny ๋ถˆ๊ฐ€)
  • ์ธ์Šคํ„ด์Šค ๋‹จ์œ„ ์ œ์–ด โ†’ SG / ์„œ๋ธŒ๋„ท ๋‹จ์œ„ ์ œ์–ด โ†’ NACL
  • SG๋Š” Stateful โ†’ ์ธ๋ฐ”์šด๋“œ ํ—ˆ์šฉํ•˜๋ฉด ์‘๋‹ต ์ž๋™ ํ—ˆ์šฉ
  • NACL์€ Stateless โ†’ ์ธ๋ฐ”์šด๋“œ + ์•„์›ƒ๋ฐ”์šด๋“œ ๋‘˜ ๋‹ค ํ—ˆ์šฉํ•ด์•ผ ํ•จ

๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ํ•ต์‹ฌ

  • ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท: 0.0.0.0/0 โ†’ IGW
  • ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท: 0.0.0.0/0 โ†’ NAT GW
  • S3/DynamoDB: ํŠน์ • prefix โ†’ Gateway VPC Endpoint

๐Ÿ”€ 5. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: 3-Tier ์•„ํ‚คํ…์ฒ˜ (ํ‘œ์ค€ VPC ์„ค๊ณ„)

[์ธํ„ฐ๋„ท]
    |
[IGW] โ† VPC ์—ฐ๊ฒฐ์ 
    |
ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท
 โ”œโ”€ [ALB] โ† ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ
 โ””โ”€ [NAT GW + EIP] โ† ํ”„๋ผ์ด๋น— โ†’ ์ธํ„ฐ๋„ท
    |
ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท (์•ฑ ๊ณ„์ธต)
 โ””โ”€ [EC2 ASG] โ† 0.0.0.0/0 โ†’ NAT GW
    |
ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท (DB ๊ณ„์ธต)
 โ””โ”€ [RDS Multi-AZ] โ† ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์—†์Œ

ํ‚ค์›Œ๋“œ: โ€œ3๊ณ„์ธต ์•„ํ‚คํ…์ฒ˜โ€ + โ€œDB ๋ณด์•ˆโ€ + โ€œํ‘œ์ค€ VPC ์„ค๊ณ„โ€

ํŒจํ„ด 2: ํŠน์ • IP ์ฐจ๋‹จ + ๋ณด์•ˆ ๊ทธ๋ฃน ์กฐํ•ฉ

[์ธํ„ฐ๋„ท]
    |
[NACL] โ† ์•…์„ฑ IP ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ (Deny ๊ทœ์น™)
    |
[ALB ๋ณด์•ˆ ๊ทธ๋ฃน] โ† 80/443๋งŒ ํ—ˆ์šฉ (Allow๋งŒ ๊ฐ€๋Šฅ)
    |
[EC2 ๋ณด์•ˆ ๊ทธ๋ฃน] โ† ALB ๋ณด์•ˆ ๊ทธ๋ฃน ID๋งŒ ํ—ˆ์šฉ (IP ๋Œ€์‹  SG ID ์ฐธ์กฐ)
    |
[RDS ๋ณด์•ˆ ๊ทธ๋ฃน] โ† EC2 ๋ณด์•ˆ ๊ทธ๋ฃน ID๋งŒ ํ—ˆ์šฉ

ํ‚ค์›Œ๋“œ: โ€œํŠน์ • IP ์ฐจ๋‹จโ€ + โ€œ์ตœ์†Œ ๊ถŒํ•œโ€ + โ€œ๋ณด์•ˆ ๊ณ„์ธตํ™”โ€

ํŒจํ„ด 3: Multi-AZ NAT Gateway (๊ณ ๊ฐ€์šฉ์„ฑ)

AZ-A                          AZ-B
[NAT GW A]                    [NAT GW B]
    |                              |
[ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท A]            [ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท B]
๋ผ์šฐํŒ…: 0.0.0.0/0 โ†’ NAT GW A  ๋ผ์šฐํŒ…: 0.0.0.0/0 โ†’ NAT GW B

ํ‚ค์›Œ๋“œ: โ€œNAT Gateway ๊ณ ๊ฐ€์šฉ์„ฑโ€ + โ€œAZ ์žฅ์•  ํ—ˆ์šฉโ€ + โ€œ๊ฐ AZ๋ณ„ NAT GW ํ•„์š”โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. NAT Gateway๋Š” ์–ด๋А ์„œ๋ธŒ๋„ท์— ๋ฐฐ์น˜ํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์€ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋Š”๊ฐ€?
  2. ํŠน์ • ์•…์„ฑ IP๋ฅผ ์ฐจ๋‹จํ•ด์•ผ ํ•œ๋‹ค โ†’ SG๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์€?
  3. SG๊ฐ€ Stateful์ด๋ผ๋Š” ๊ฒƒ์ด ์‹ค์ œ๋กœ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š”? NACL๊ณผ ๋น„๊ตํ•ด ์„ค๋ช…ํ•˜๋ฉด?
  4. ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์˜ EC2๊ฐ€ yum update๋ฅผ ํ•˜๋ ค๋ฉด โ†’ ์–ด๋–ค ๊ตฌ์„ฑ์ด ํ•„์š”ํ•œ๊ฐ€?
  5. DB ๋ณด์•ˆ ๊ทธ๋ฃน์˜ ์ธ๋ฐ”์šด๋“œ๋ฅผ โ€œEC2 SG IDโ€๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ โ€œEC2์˜ IPโ€๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋Š”?

# 4.2 ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์—ฐ๊ฒฐ (Direct Connect & VPN)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • Site-to-Site VPN: ๊ณต์šฉ ์ธํ„ฐ๋„ท์„ ํ†ตํ•œ ์•”ํ˜ธํ™” ์—ฐ๊ฒฐ. ๋น ๋ฅด๊ณ  ์ €๋ ดํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์ด ๊ฐ€๋ณ€์ ์ž„.

  • Direct Connect (DX): ์ „์šฉ์„ ์„ ํ†ตํ•œ ํ”„๋ผ์ด๋น— ์—ฐ๊ฒฐ. ๋†’์€ ๋ณด์•ˆ๊ณผ ์ผ๊ด€๋œ ์„ฑ๋Šฅ ์ œ๊ณต.

  • Transit Gateway: ์ˆ˜๋งŽ์€ VPC์™€ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋„คํŠธ์›Œํฌ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ค‘์•™ ํ—ˆ๋ธŒ(Hub).


๐Ÿ”— 1. ์—ฐ๊ฒฐ ๋ฐฉ์‹ ๋น„๊ต (VPN vs DX)

๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” โ€œ์„ฑ๋Šฅโ€๊ณผ โ€œ์˜ˆ์‚ฐโ€ ํ‚ค์›Œ๋“œ์— ๋”ฐ๋ผ ์„ ํƒํ•˜์„ธ์š”.

ํŠน์ง•Site-to-Site VPNDirect Connect (DX)
------------------
์ „์†ก ๊ฒฝ๋กœ๊ณต์šฉ ์ธํ„ฐ๋„ท (IPsec ์•”ํ˜ธํ™”)์ „์šฉ์„  (ํ”„๋ผ์ด๋น— ๋„คํŠธ์›Œํฌ)
์„ค์ • ์‹œ๊ฐ„์ˆ˜๋ถ„ ์ด๋‚ด (๋งค์šฐ ๋น ๋ฆ„)์ˆ˜์ฃผ~์ˆ˜๊ฐœ์›” (๋ฌผ๋ฆฌ์  ๊ตฌ์ถ•)
์„ฑ๋Šฅ/์ง€์—ฐ์ธํ„ฐ๋„ท ์ƒํƒœ์— ๋”ฐ๋ผ ๊ฐ€๋ณ€์ ์ผ๊ด€๋˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ
๋น„์šฉ์ €๋ ดํ•จ (์‹œ๊ฐ„๋‹น ์š”๊ธˆ)๋น„์Œˆ (ํฌํŠธ + ๋ฐ์ดํ„ฐ ์ „์†ก)
์•”ํ˜ธํ™”IPsec์œผ๋กœ ๊ธฐ๋ณธ ์•”ํ˜ธํ™”์•”ํ˜ธํ™” ์—†์Œ (์ถ”๊ฐ€ ์„ค์ • ํ•„์š”)

์‹œํ—˜ ํŒ (Q68, Q647)

โ€œ๊ฐ€์žฅ ๊ฐ€์šฉ์„ฑ์ด ๋†’์€ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค๊ณ„โ€ โ†’ย Direct Connect + ๋ฐฑ์—…์šฉ VPNย ์กฐํ•ฉ์ด ์ •๋‹ต์œผ๋กœ ์ž์ฃผ ๋‚˜์˜ต๋‹ˆ๋‹ค. (DX ์žฅ์•  ์‹œ VPN์œผ๋กœ ์ฆ‰๊ฐ ์šฐํšŒ)


๐Ÿ•ธ๏ธ 2. ์ค‘์•™ ์ง‘์ค‘ํ˜• ํ—ˆ๋ธŒ (Transit Gateway)

๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ๋‹จ์ˆœํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (Q504, Q374)

  • ๋ฌธ์ œ ์ƒํ™ฉ: VPC๊ฐ€ 10๊ฐœ, 100๊ฐœ๋กœ ๋Š˜์–ด๋‚˜๋ฉด์„œ VPC Peering์œผ๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ•จ(Full-mesh ์ง€์˜ฅ).

  • ํ•ด๊ฒฐ์ฑ…:ย Transit Gateway (TGW)ย ๋„์ž….

  • ํŠน์ง•:

    • ๋ชจ๋“  VPC์™€ VPN/DX ์—ฐ๊ฒฐ์„ TGW ํ•œ ๊ณณ์— ์—ฐ๊ฒฐ (Hub-and-Spoke).

    • ๋ฆฌ์ „ ๊ฐ„ TGW ํ”ผ์–ด๋ง ์ง€์›.

    • ๊ณต์œ  ์„œ๋น„์Šค VPCย ์šด์˜ ์‹œ ํšจ์œจ์ .


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ฐ ์ผ๊ด€๋œ ์„ฑ๋Šฅ ์š”๊ตฌ (Q43, Q482, Q84)

  • ๋ฌธ์ œ: ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งค์ผ ์ˆ˜์‹ญ TB์”ฉ ์˜ฎ๊ฒจ์•ผ ํ•จ. ์ธํ„ฐ๋„ท ๋Œ€์—ญํญ ๊ฐ„์„ญ์„ ํ”ผํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย AWS Direct Connect.

  • ์ด์œ : ์ „์šฉ์„ ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ธํ„ฐ๋„ท์„ ๊ฑฐ์น˜์ง€ ์•Š์•„ ๋ณด์•ˆ์ด ๋›ฐ์–ด๋‚˜๊ณ  ์†๋„๊ฐ€ ์ผ์ •ํ•จ.

โœ… ์‚ฌ๋ก€ 2: ์ˆ˜๋ฐฑ ๊ฐœ์˜ VPC๋ฅผ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ ๊ด€๋ฆฌ (Q504, Q587)

  • ๋ฌธ์ œ: ๊ด€๋ฆฌํ•ด์•ผ ํ•  VPC๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๊ณ , ์„œ๋กœ ํ†ต์‹ ํ•ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย AWS Transit Gateway.

  • ์ด์œ : VPC Peering์€ 1:1 ๋ฐฉ์‹์ด๋ผ ์ˆ˜๋ฐฑ ๊ฐœ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, TGW๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•จ.

โœ… ์‚ฌ๋ก€ 3: ๊ฐ€์žฅ ์ €๋ ดํ•œ ๋ฆฌ์ „ ๊ฐ„ ๋ฐฑ์—… ์—ฐ๊ฒฐ (Q558)

  • ํ•ด๊ฒฐ:ย Site-to-Site VPN.

  • ์ด์œ : Direct Connect๋Š” ๋น„์šฉ์ด ๋งŽ์ด ๋“ค๊ณ  ๊ตฌ์ถ•์ด ์˜ค๋ž˜ ๊ฑธ๋ฆผ. ๋น„์šฉ ์ตœ์ ํ™”๊ฐ€ ๋ชฉ์ ์ด๋ผ๋ฉด VPN์ด ์œ ๋ฆฌ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ์ผ๊ด€๋œ ๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ / ์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์†Œํ™”โ€ย =ย Direct Connect

  • โ€œ๋น ๋ฅธ ๊ตฌ์ถ• / ์ธํ„ฐ๋„ท ๊ธฐ๋ฐ˜โ€ย =ย Site-to-Site VPN

  • โ€œ์ˆ˜๋งŽ์€ VPC ์—ฐ๊ฒฐ ๋‹จ์ˆœํ™”โ€ย =ย Transit Gateway

  • โ€œDX ์žฅ์•  ๋Œ€๋น„ ๊ณ ๊ฐ€์šฉ์„ฑโ€ย =ย DX + VPN ๋ฐฑ์—…

  • โ€œIP ์ฃผ์†Œ ๊ฒน์นจ ์—†์ด 1:1 ์—ฐ๊ฒฐโ€ย =ย VPC Peering


๐Ÿšจ 3. ๋„คํŠธ์›Œํ‚น ๊ณ ๋นˆ๋„ ํ˜ผ๋™ ํฌ์ธํŠธ (4.2 ์ „์šฉ)

์ด๊ฒƒ๋งŒ ํ‹€๋ฆฌ์ง€ ๋งˆ์„ธ์š”

Direct Connect๋Š” ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ์—†์Œ

  • ์ „์šฉ์„ ์ด๋ผ๋„ ์•”ํ˜ธํ™”๊ฐ€ ํ•„์š”ํ•˜๋ฉด VPN over DX ๊ตฌ์„ฑ ํ•„์š”
  • โ€œ๋ณด์•ˆ + ์ผ๊ด€๋œ ์„ฑ๋Šฅโ€ โ†’ DX + Site-to-Site VPN ์กฐํ•ฉ

VPN vs DX ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ

  • โ€œ์ฆ‰์‹œโ€ / โ€œ๋น ๋ฅธ ๊ตฌ์ถ•โ€ / โ€œ๋ฐฑ์—…โ€ โ†’ VPN
  • โ€œ์ผ๊ด€๋œ ์„ฑ๋Šฅโ€ / โ€œ๋Œ€์šฉ๋Ÿ‰โ€ / โ€œํ”„๋ผ์ด๋น— ์—ฐ๊ฒฐโ€ โ†’ DX

Transit Gateway๊ฐ€ ํ•„์š”ํ•œ ์‹œ์ 

  • VPC Peering์€ 1:1๋งŒ ๊ฐ€๋Šฅ โ†’ n๊ฐœ VPC๋Š” n(n-1)/2๊ฐœ peering ํ•„์š” โ†’ ๋น„ํ˜„์‹ค์ 
  • VPC๊ฐ€ 3๊ฐœ ์ด์ƒ + ์˜จํ”„๋ ˆ๋ฏธ์Šค ์—ฐ๊ฒฐ โ†’ Transit Gateway

๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์—ฐ๊ฒฐ (๊ณ ๊ฐ€์šฉ์„ฑ)

[์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ์ดํ„ฐ์„ผํ„ฐ]
    |
[Direct Connect] โ† ๋ฉ”์ธ ์—ฐ๊ฒฐ (์ผ๊ด€๋œ ์„ฑ๋Šฅ)
    |
[Direct Connect Gateway] โ† ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ์ง€์›
    |
[AWS VPC (us-east-1, ap-northeast-2)]
    +
[Site-to-Site VPN] โ† DX ์žฅ์•  ์‹œ ์ž๋™ ๋ฐฑ์—…

ํ‚ค์›Œ๋“œ: โ€œ๊ณ ๊ฐ€์šฉ์„ฑ ํ•˜์ด๋ธŒ๋ฆฌ๋“œโ€ + โ€œDX ์žฅ์•  ๋Œ€๋น„โ€ + โ€œ์ผ๊ด€๋œ ์„ฑ๋Šฅโ€

ํŒจํ„ด 2: ๋ฉ€ํ‹ฐ VPC ์ค‘์•™ ํ—ˆ๋ธŒ (Transit Gateway)

[์˜จํ”„๋ ˆ๋ฏธ์Šค]
    |
[Direct Connect / VPN]
    |
[Transit Gateway] โ† ๋ชจ๋“  ์—ฐ๊ฒฐ์˜ ์ค‘์•™ ํ—ˆ๋ธŒ
 โ”œโ”€ VPC A (๊ฐœ๋ฐœ)
 โ”œโ”€ VPC B (์šด์˜)
 โ”œโ”€ VPC C (๋ณด์•ˆ/๊ณต์œ  ์„œ๋น„์Šค)
 โ””โ”€ VPC D (๋กœ๊น…)

ํ‚ค์›Œ๋“œ: โ€œ์ˆ˜์‹ญ ๊ฐœ VPC ์—ฐ๊ฒฐโ€ + โ€œ์ค‘์•™ ์ง‘์ค‘ ๊ด€๋ฆฌโ€ + โ€œHub-and-Spokeโ€

ํŒจํ„ด 3: DX + ์•”ํ˜ธํ™”

[์˜จํ”„๋ ˆ๋ฏธ์Šค]
    |
[Direct Connect] โ† ํ”„๋ผ์ด๋น— ์ „์šฉ์„  (์•”ํ˜ธํ™” ์—†์Œ!)
    +
[VPN over Direct Connect] โ† IPsec ์•”ํ˜ธํ™” ์ถ”๊ฐ€
    |
[AWS VPC]

ํ‚ค์›Œ๋“œ: โ€œ์ „์šฉ์„  + ์•”ํ˜ธํ™”โ€ + โ€œ๊ทœ์ • ์ค€์ˆ˜โ€ + โ€œ๋ณด์•ˆ ๊ฐ•ํ™”โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. DX๋ฅผ ์“ฐ๋ฉด ์ž๋™์œผ๋กœ ์•”ํ˜ธํ™”๊ฐ€ ๋˜๋Š”๊ฐ€? โ€œ๋ณด์•ˆ + ์ผ๊ด€๋œ ์„ฑ๋Šฅโ€์„ ๋ชจ๋‘ ์ถฉ์กฑํ•˜๋ ค๋ฉด?
  2. โ€œ์ฆ‰์‹œ ์—ฐ๊ฒฐ ํ•„์š”โ€ โ†’ VPN ์ •๋‹ต, DX ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  3. VPC๊ฐ€ 10๊ฐœ์ด๊ณ  ๋ชจ๋‘ ์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค โ†’ VPC Peering์ด ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?
  4. DX ์žฅ์•  ์‹œ์—๋„ ์„œ๋น„์Šค๊ฐ€ ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค โ†’ ์–ด๋–ค ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๊ฐ€?
  5. Transit Gateway์™€ VPC Peering ๋‘˜ ๋‹ค VPC๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ ์ฐจ์ด์ ์€?

# 4.3 VPC ์—”๋“œํฌ์ธํŠธ ๋ฐ PrivateLink

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • VPC Endpoint: ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด(IGW)๋‚˜ NAT ๊ฒŒ์ดํŠธ์›จ์ด ์—†์ด VPC ๋‚ด๋ถ€์—์„œ AWS ์„œ๋น„์Šค์™€ ํ”„๋ผ์ด๋น—ํ•˜๊ฒŒ ํ†ต์‹ ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์žฅ์น˜.

  • ์„ค๊ณ„ ์›์น™:

    • ๋น„์šฉ ์ ˆ๊ฐ: NAT ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋น„์šฉ์„ ์•„๋ผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ.

    • ๋ณด์•ˆ ๊ฐ•ํ™”: ํŠธ๋ž˜ํ”ฝ์ด ๊ณต์šฉ ์ธํ„ฐ๋„ท์„ ์ ˆ๋Œ€ ํƒ€์ง€ ์•Š์Œ (AWS ๋‚ด๋ถ€๋ง ์ด์šฉ).


๐Ÿ› ๏ธ 1. ์—”๋“œํฌ์ธํŠธ ์œ ํ˜• ๋น„๊ต (๊ฐ€์žฅ ์ค‘์š”)

์‹œํ—˜ ๋ฌธ์ œ์—์„œย S3๋‚˜ DynamoDB๊ฐ€ ๋‚˜์˜ค๋А๋ƒ,ย ๊ทธ ์™ธ ์„œ๋น„์Šค๊ฐ€ ๋‚˜์˜ค๋А๋ƒ์— ๋”ฐ๋ผ ๋‹ต์ด ๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค.

์œ ํ˜•Gateway EndpointInterface Endpoint
------------------
๋Œ€์ƒ ์„œ๋น„์ŠคS3, DynamoDB (๋‹จ 2๊ฐœ)๊ทธ ์™ธ ๊ฑฐ์˜ ๋ชจ๋“  ์„œ๋น„์Šค (SQS, SNS ๋“ฑ)
๊ตฌํ˜„ ๋ฐฉ์‹๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ๊ฒฝ๋กœ ์ถ”๊ฐ€ENI ์ƒ์„ฑ + ํ”„๋ผ์ด๋น— IP
๋น„์šฉ๋ฌด๋ฃŒ์‹œ๊ฐ„๋‹น + ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋น„์šฉ
๋ณด์•ˆ ์„ค์ •์—”๋“œํฌ์ธํŠธ ์ •์ฑ…๋ณด์•ˆ ๊ทธ๋ฃน์œผ๋กœ ์ œ์–ด
์˜จํ”„๋ ˆ๋ฏธ์Šค ์ ‘๊ทผ๋ถˆ๊ฐ€ (VPC ๋‚ด๋ถ€๋งŒ)๊ฐ€๋Šฅ (DX/VPN ํ†ตํ•ด ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ๋„ ์‚ฌ์šฉ)

์‹œํ—˜ ํŒ (Q4, Q100, Q176, Q471)

โ€œํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์—์„œย S3์— ์ ‘๊ทผํ•  ๋•Œย ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹ถ๋‹คโ€ โ†’ย Gateway Endpoint๊ฐ€ ๋ฌด์กฐ๊ฑด ์ •๋‹ต์ž…๋‹ˆ๋‹ค. (์ธํ„ฐํŽ˜์ด์Šค ์—”๋“œํฌ์ธํŠธ๋„ S3๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์˜ค๋‹ต ์ฒ˜๋ฆฌ๋จ)


๋‹ค๋ฅธ VPC์— ์žˆ๋Š” ์„œ๋น„์Šค๋‚˜ ํƒ€์‚ฌ(SaaS) ์„œ๋น„์Šค๋ฅผ ๋‚ด VPC ๋‚ด๋ถ€ ์„œ๋น„์Šค์ฒ˜๋Ÿผ ์“ฐ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌธ์ œ ์ƒํ™ฉ: ๋‘ ํšŒ์‚ฌ์˜ VPC๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š”๋ฐ,ย IP ์ฃผ์†Œ๊ฐ€ ๊ฒน์ณ์„œ(Overlapping)ย VPC Peering์ด ๋ถˆ๊ฐ€๋Šฅํ•จ.

  • ํ•ด๊ฒฐ์ฑ…:ย PrivateLink๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์„œ๋น„์Šค๋งŒ ๋…ธ์ถœ.

  • ํŠน์ง•:

    • ํŠธ๋ž˜ํ”ฝ์ด ์ธํ„ฐ๋„ท์„ ํ†ต๊ณผํ•˜์ง€ ์•Š์Œ (Q135).

    • ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ์ „์ฒด ๊ณต๊ฐœํ•˜์ง€ ์•Š๊ณ  **ํŠน์ • ์„œ๋น„์Šค(๋‹จ์ผ ์—”๋“œํฌ์ธํŠธ)**๋งŒ ๊ณต์œ  ๊ฐ€๋Šฅ.

    • ๊ณ ๊ฐ VPC์—๋Š” Interface Endpoint๊ฐ€ ์ƒ์„ฑ๋จ.


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: S3/DynamoDB ํ”„๋ผ์ด๋น— ์—ฐ๊ฒฐ (Q4, Q91, Q115)

  • ๋ฌธ์ œ: EC2๊ฐ€ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์—†์ด S3 ๋ฒ„ํ‚ท์˜ ๋กœ๊ทธ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย Gateway VPC Endpointย ์ƒ์„ฑ ๋ฐ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์—ฐ๊ฒฐ.

  • ์ด์œ : NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ์ €๋ ดํ•˜๊ณ  ๋ณด์•ˆ์ƒ ์•ˆ์ „ํ•จ.

โœ… ์‚ฌ๋ก€ 2: SQS/SNS ๋“ฑ ๋ฉ”์‹œ์ง• ์„œ๋น„์Šค ์—ฐ๊ฒฐ (Q555)

  • ๋ฌธ์ œ: ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์˜ ์•ฑ์ด SQS ๋Œ€๊ธฐ์—ด์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย Interface VPC Endpointย ์‚ฌ์šฉ.

  • ์ฃผ์˜: SQS๋Š” Gateway ๋ฐฉ์‹์„ ์ง€์›ํ•˜์ง€ ์•Š์Œ.

โœ… ์‚ฌ๋ก€ 3: ํƒ€์‚ฌ ๊ณต๊ธ‰์—…์ฒด ์„œ๋น„์Šค์™€์˜ ์•ˆ์ „ํ•œ ํ†ต์‹  (Q135, Q468)

  • ๋ฌธ์ œ: ์™ธ๋ถ€ ํŒŒํŠธ๋„ˆ์‚ฌ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋ณด์•ˆ์ƒ ์šฐ๋ฆฌ VPC์—์„œ๋งŒ ํ†ต์‹ ์„ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๊ณ  ์ธํ„ฐ๋„ท์„ ํƒ€๋ฉด ์•ˆ ๋จ.

  • ํ•ด๊ฒฐ: ๊ณต๊ธ‰์—…์ฒด์—ย VPC Endpoint Service(PrivateLink)ย ์ƒ์„ฑ์„ ์š”์ฒญํ•˜๊ณ , ์šฐ๋ฆฌ ์ชฝ์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ์—”๋“œํฌ์ธํŠธ๋กœ ์—ฐ๊ฒฐ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ์ธํ„ฐ๋„ท์„ ํ†ตํ•˜์ง€ ์•Š๊ณ  / ํ”„๋ผ์ด๋น—ํ•˜๊ฒŒโ€ย =ย VPC Endpoint

  • โ€œS3 ๋˜๋Š” DynamoDBโ€ย =ย Gatewayย Endpoint

  • โ€œSQS, SNS, Kinesis, ๋ฆฌ์ „๋ณ„ ์„œ๋น„์Šคโ€ย =ย Interfaceย Endpoint

  • โ€œIP ์ถฉ๋Œ / ํŠน์ • ์„œ๋น„์Šค๋งŒ ๋…ธ์ถœโ€ย =ย PrivateLink

  • โ€œS3 ์ ‘๊ทผ ์‹œ ๋น„์šฉ ์ตœ์ ํ™”โ€ย =ย Gatewayย Endpoint (Interface๋Š” ์œ ๋ฃŒ)


๐Ÿšจ 3. ๋„คํŠธ์›Œํ‚น ๊ณ ๋นˆ๋„ ํ˜ผ๋™ ํฌ์ธํŠธ (4.3 ์ „์šฉ)

์ด๊ฒƒ๋งŒ ํ‹€๋ฆฌ์ง€ ๋งˆ์„ธ์š”

Gateway vs Interface ํ•ต์‹ฌ ์•”๊ธฐ

  • S3, DynamoDB โ†’ Gateway (๋ฌด๋ฃŒ, VPC ๋‚ด๋ถ€๋งŒ)
  • ๋‚˜๋จธ์ง€ ์ „๋ถ€ โ†’ Interface (์œ ๋ฃŒ, ENI ๊ธฐ๋ฐ˜)

์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ํ”„๋ผ์ด๋น— S3 ์ ‘๊ทผ

  • Gateway Endpoint๋Š” ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ถˆ๊ฐ€ โ†’ Interface Endpoint ํ•„์š”
  • DX/VPN ํ™˜๊ฒฝ์—์„œ S3์— ํ”„๋ผ์ด๋น— ์ ‘๊ทผ โ†’ Interface Endpoint

PrivateLink vs VPC Peering ์ฐจ์ด

  • VPC Peering: ์–‘์ชฝ VPC ์ „์ฒด ์—ฐ๊ฒฐ, IP ์ถฉ๋Œ ๋ถˆ๊ฐ€
  • PrivateLink: ํŠน์ • ์„œ๋น„์Šค๋งŒ ๋…ธ์ถœ, IP ์ถฉ๋Œ ์ƒ๊ด€์—†์Œ

๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๋น„์šฉ ์ตœ์ ํ™” ํ”„๋ผ์ด๋น— S3 ์ ‘๊ทผ

[ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท EC2]
    |
[Gateway VPC Endpoint] โ† ๋ฌด๋ฃŒ, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”๋งŒ ์ˆ˜์ •
    |
[S3 ๋ฒ„ํ‚ท] โ† ์ธํ„ฐ๋„ท/NAT GW ๋น„์šฉ ์—†์Œ

vs.

[ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท EC2]
    |
[NAT Gateway] โ† ์œ ๋ฃŒ! GB๋‹น ๋น„์šฉ ๋ฐœ์ƒ
    |
[์ธํ„ฐ๋„ท] โ†’ [S3]  โ† ์ด ๋ฐฉ์‹์€ ๋น„์šฉ ๋‚ญ๋น„

ํ‚ค์›Œ๋“œ: โ€œ๋น„์šฉ ์ตœ์†Œํ™” + S3 ์ ‘๊ทผโ€ โ†’ Gateway Endpoint (NAT GW ์˜ค๋‹ต)

ํŒจํ„ด 2: ์˜จํ”„๋ ˆ๋ฏธ์Šค โ†’ ํ”„๋ผ์ด๋น— S3 (ํŠน์ˆ˜ ์ผ€์ด์Šค)

[์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„]
    |
[Direct Connect / VPN]
    |
[Interface VPC Endpoint (S3)] โ† ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ
    |
[S3 ๋ฒ„ํ‚ท] โ† ์ธํ„ฐ๋„ท ๋ฏธ๊ฒฝ์œ 

ํ‚ค์›Œ๋“œ: โ€œ์˜จํ”„๋ ˆ๋ฏธ์Šคโ€ + โ€œS3 ํ”„๋ผ์ด๋น— ์ ‘๊ทผโ€ โ†’ Interface (Gateway ์˜ค๋‹ต!)

[๊ณต๊ธ‰์—…์ฒด VPC] (10.0.0.0/16)
 โ””โ”€ [NLB] โ†’ [PrivateLink Endpoint Service]
    |
[๊ณ ๊ฐ VPC] (10.0.0.0/16) โ† IP ๋Œ€์—ญ ๋™์ผํ•ด๋„ OK
 โ””โ”€ [Interface Endpoint] โ† ํŠน์ • ์„œ๋น„์Šค๋งŒ ์—ฐ๊ฒฐ

ํ‚ค์›Œ๋“œ: โ€œIP ์ถฉ๋Œโ€ + โ€œํŠน์ • ์„œ๋น„์Šค๋งŒ ๊ณต์œ โ€ + โ€œVPC Peering ๋ถˆ๊ฐ€โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œ๋น„์šฉ ์ตœ์†Œํ™” + ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์—์„œ S3 ์ ‘๊ทผโ€ โ†’ Interface Endpoint๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  2. Interface Endpoint ์ƒ์„ฑ ์‹œ ์ถ”๊ฐ€๋กœ ํ•ด์•ผ ํ•˜๋Š” ๋ณด์•ˆ ์„ค์ •์€? Gateway์™€์˜ ์ฐจ์ด๋Š”?
  3. ์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„์—์„œ S3์— ํ”„๋ผ์ด๋น—ํ•˜๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค โ†’ ์–ด๋А Endpoint ์œ ํ˜•, ์ด์œ ๋Š”?
  4. IP ๋Œ€์—ญ์ด ๊ฒน์น˜๋Š” ๋‘ VPC๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค โ†’ VPC Peering์ด ์™œ ์•ˆ ๋˜๋Š”๊ฐ€? ๋Œ€์•ˆ์€?
  5. Gateway Endpoint๋ฅผ ๋งŒ๋“ค๋ฉด ์–ด๋””๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š”๊ฐ€? Interface Endpoint๋Š”?

# 4.4 ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค (CloudFront, Route 53, Global Accelerator)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • CloudFront: ์ „ ์„ธ๊ณ„ ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜์„ ํ†ตํ•œย ์ฝ˜ํ…์ธ  ์บ์‹ฑ(CDN). (์ •์ /๋™์  ๊ฐ€์†)

  • Route 53: ๋‹ค์–‘ํ•œ ๋ผ์šฐํŒ… ์ •์ฑ…์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์šฉ์„ฑ ๋†’์€ย DNS ์„œ๋น„์Šค.

  • Global Accelerator: AWS ๊ธ€๋กœ๋ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ดย TCP/UDP ํŠธ๋ž˜ํ”ฝ ๊ฒฝ๋กœ ์ตœ์ ํ™”. (์บ์‹ฑ ์—†์Œ)


๐Ÿš€ 1. Amazon CloudFront (์ฝ˜ํ…์ธ  ์ „์†ก)

S3๋‚˜ ALB ์•ž์— ๋‘์–ด ์‚ฌ์šฉ์ž ๋Œ€๊ธฐ ์‹œ๊ฐ„(Latency)์„ ์ค„์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์ƒ์„ธ ๋‚ด์šฉ์‹œํ—˜ ํฌ์ธํŠธ (ํ‚ค์›Œ๋“œ)
------------------
OAC/OAIS3 ์ ‘๊ทผ์„ CloudFront๋กœ๋งŒ ์ œํ•œโ€S3 ์ง์ ‘ ์ ‘๊ทผ ์ฐจ๋‹จโ€, โ€œ๋ณด์•ˆ ๊ฐ•ํ™”โ€ (Q131, Q165)
์ •์ /๋™์  ๊ฐ€์†์ด๋ฏธ์ง€(์ •์ ) + API(๋™์ ) ๋ชจ๋‘ ๊ฐ€์†์ „ ์„ธ๊ณ„ ์ €์ง€์—ฐ (Q166, Q173)
Lambda@Edge์—ฃ์ง€์—์„œ ์ฝ”๋“œ ์‹คํ–‰User-Agent ๋ฆฌ๋””๋ ‰์…˜, ํ—ค๋” ์ˆ˜์ • (Q291, Q358)
๋ณด์•ˆ ํ†ตํ•ฉWAF ์—ฐ๋™L7 ๊ณต๊ฒฉ ๋ฐฉ์–ด, ์ง€์—ญ ์ฐจ๋‹จ

๐Ÿ—บ๏ธ 2. Amazon Route 53 (DNS & ๋ผ์šฐํŒ…)

์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์–ด๋””๋กœ ๋ณด๋‚ผ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ „๋žต์ž…๋‹ˆ๋‹ค. (Q242, Q582, Q545)

๋ผ์šฐํŒ… ์ •์ฑ…ํŠน์ง•์‹œํ—˜ ์ƒํ™ฉ (Use Case)
------------------
์ง€์—ฐ ์‹œ๊ฐ„ (Latency)๊ฐ€์žฅ ๋น ๋ฅธ ์‘๋‹ต ๋ฆฌ์ „์œผ๋กœ ์ด๋™์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ตœ์ƒ์˜ ์„ฑ๋Šฅ
์ง€๋ฆฌ์  ์œ„์น˜ (Geolocation)์‚ฌ์šฉ์ž์˜ ๊ตญ๊ฐ€/๋Œ€๋ฅ™ ๊ธฐ์ค€ ๋ถ„๊ธฐ์ฝ˜ํ…์ธ  ๋ผ์ด์„ ์Šค ์ œํ•œ, ์–ธ์–ด๋ณ„ ํŽ˜์ด์ง€
์žฅ์•  ์กฐ์น˜ (Failover)Active โ†’ Passive ์ž๋™ ์ „ํ™˜์žฌํ•ด ๋ณต๊ตฌ(DR), ์ •์  ์˜ค๋ฅ˜ ํŽ˜์ด์ง€ (Q545)
๋‹ค์ค‘๊ฐ’ (Multivalue)์—ฌ๋Ÿฌ ์ •์ƒ IP ๋ฌด์ž‘์œ„ ๋ฐ˜ํ™˜๋‹จ์ˆœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ํšจ๊ณผ (Q242)
๊ฐ€์ค‘์น˜ (Weighted)๋น„์œจ(8:2)๋กœ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ์นด๋‚˜๋ฆฌ์•„ ๋ฐฐํฌ, ์ƒˆ ๋ฒ„์ „ ํ…Œ์ŠคํŠธ

Latency vs Geolocation ํ˜ผ๋™ (๋นˆ์ถœ ์˜ค๋‹ต)

  • โ€œ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒโ€ โ†’ Latency (์ง€๋ฆฌ์  ์œ„์น˜์™€ ๋ฌด๊ด€, ์‹ค์ œ ์‘๋‹ต์†๋„ ๊ธฐ์ค€)
  • โ€œํŠน์ • ๊ตญ๊ฐ€ ์‚ฌ์šฉ์ž๋Š” ํŠน์ • ๋ฆฌ์ „์œผ๋กœโ€ โ†’ Geolocation (๋ฒ•์  ๊ทœ์ œ, ์–ธ์–ด ๋ถ„๊ธฐ)
  • ํ•œ๊ตญ ์‚ฌ์šฉ์ž๊ฐ€ ๋„์ฟ„๋ณด๋‹ค ๋ฒ„์ง€๋‹ˆ์•„๊ฐ€ ๋น ๋ฅผ ์ˆ˜ ์žˆ๋‹ค โ†’ Latency ์ •์ฑ…์€ ์‹ค์ œ ์†๋„ ์ธก์ • ๊ธฐ๋ฐ˜

โšก 3. Global Accelerator vs CloudFront

๋‘˜ ๋‹ค ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค์ด์ง€๋งŒ ์šฉ๋„๊ฐ€ ์™„์ „ํžˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ด ๊ตฌ๋ถ„์ด ์‹œํ—˜์˜ ๋นˆ์ถœ ์˜ค๋‹ต ํฌ์ธํŠธ์ž…๋‹ˆ๋‹ค.

๋น„๊ต ํ•ญ๋ชฉCloudFrontGlobal Accelerator
------------------
ํ•ต์‹ฌ ๊ธฐ์ˆ ์บ์‹ฑ (Caching)์• ๋‹ˆ์บ์ŠคํŠธ (Anycast IP)
์ฃผ์š” ๋Œ€์ƒHTTP/HTTPS (์›น ์ฝ˜ํ…์ธ )TCP/UDP (๊ฒŒ์ž„, VoIP, ๋น„HTTP)
IP ์ฃผ์†Œ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜ (IP ๊ฐ€๋ณ€์ )2๊ฐœ์˜ ๊ณ ์ • ๊ณต์ธ IP ์ œ๊ณต
์บ์‹ฑ์žˆ์Œ (์ •์ /๋™์  ์ฝ˜ํ…์ธ )์—†์Œ (๊ฒฝ๋กœ ์ตœ์ ํ™”๋งŒ)
๋น„์šฉ์บ์‹ฑ์œผ๋กœ ์˜ค๋ฆฌ์ง„ ๋น„์šฉ ์ ˆ๊ฐ๊ฐ€์† ๋น„์šฉ ์ถ”๊ฐ€ ๋ฐœ์ƒ

์‹œํ—˜ ํŒ (Q352, Q647)

โ€œUDP ํ”„๋กœํ† ์ฝœโ€ + โ€œ๊ณ ์ • IP ํ•„์š”โ€ + โ€œ๋ฆฌ์ „ ๊ฐ„ ๋น ๋ฅธ ์žฅ์•  ์กฐ์น˜โ€ โ†’ย Global Accelerator๊ฐ€ ์ •๋‹ต.


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ DNS ํ™˜๊ฒฝ ๊ตฌ์ถ• (Q622, Q689)

  • ๋ฌธ์ œ: VPC ๋‚ด๋ถ€์—์„œ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋„๋ฉ”์ธ์„ ์กฐํšŒํ•˜๊ฑฐ๋‚˜, ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๊ฐ€ ํ•„์š”ํ•จ.

  • ํ•ด๊ฒฐ:ย Route 53 Resolver (Inbound / Outbound Endpoints).

  • ์ด์œ : ๋‹จ์ˆœ Route 53์€ VPC ์™ธ๋ถ€์˜ ํ”„๋ผ์ด๋น— ๋„๋ฉ”์ธ์„ ํ•ด์„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ.

โœ… ์‚ฌ๋ก€ 2: S3 ๋ณด์•ˆ ๋ฐ ์บ์‹ฑ (Q131, Q180)

  • ๋ฌธ์ œ: S3 ์ •์  ์›น์‚ฌ์ดํŠธ๋ฅผ ์šด์˜ํ•˜๋Š”๋ฐ, ์‚ฌ์šฉ์ž๊ฐ€ S3 URL๋กœ ์ง์ ‘ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ: CloudFront ๋ฐฐํฌ ์ƒ์„ฑ ์‹œย OAC(Origin Access Control)ย ์„ค์ • + S3 ๋ฒ„ํ‚ท ์ •์ฑ…์—์„œ CloudFront๋งŒ ํ—ˆ์šฉ.

โœ… ์‚ฌ๋ก€ 3: ๊ธ€๋กœ๋ฒŒ ๊ฒŒ์ž„ ์„œ๋ฒ„ ์ง€์—ฐ ์‹œ๊ฐ„ ๋‹จ์ถ• (Q352, Q642)

  • ๋ฌธ์ œ: ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ ๊ฑด์˜ย UDPย ์š”์ฒญ์„ ์ „ ์„ธ๊ณ„ ๋ฆฌ์ „์œผ๋กœ ์ €์ง€์—ฐ ์ „์†กํ•ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย Global Accelerator + NLB(Network Load Balancer).

  • ์ด์œ : ALB/CloudFront๋Š” UDP๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๊ฐ€์† ํšจ์œจ์ด ๋–จ์–ด์ง.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ์ •์  ์ฝ˜ํ…์ธ  ๊ฐ€์† / ๋น„์šฉ ์ ˆ๊ฐโ€ย =ย CloudFront

  • โ€œUDP ๊ฐ€์† / ๊ณ ์ • IPโ€ย =ย Global Accelerator

  • โ€œ๋ฆฌ์ „ ์žฅ์•  ์‹œ S3 ์˜ค๋ฅ˜ ํŽ˜์ด์ง€ ์ด๋™โ€ย =ย Route 53 Failover

  • โ€œํŠน์ • ๊ตญ๊ฐ€ ์ ‘๊ทผ ์ œํ•œโ€ย =ย Route 53 Geolocationย ๋˜๋Š”ย CloudFront Geo Restriction

  • โ€œ์„œ๋ฒ„๋ฆฌ์Šค DNS ํ™•์ธ๊ธฐโ€ย =ย Route 53 Resolver


๐Ÿšจ 4. ๋„คํŠธ์›Œํ‚น ๊ณ ๋นˆ๋„ ํ˜ผ๋™ ํฌ์ธํŠธ (4.4 ์ „์šฉ)

์ด๊ฒƒ๋งŒ ํ‹€๋ฆฌ์ง€ ๋งˆ์„ธ์š”

CloudFront vs Global Accelerator ํ•ต์‹ฌ ์ฐจ์ด

  • CloudFront: ์บ์‹ฑ O, HTTP/HTTPS, ๋น„์šฉ ์ ˆ๊ฐ
  • Global Accelerator: ์บ์‹ฑ X, TCP/UDP, ๊ณ ์ • IP 2๊ฐœ
  • โ€œUDPโ€ / โ€œ๊ณ ์ • IPโ€ / โ€œ๋น„HTTPโ€ โ†’ Global Accelerator
  • โ€œ์ฝ˜ํ…์ธ  ์บ์‹ฑโ€ / โ€œ๋น„์šฉ ์ ˆ๊ฐโ€ โ†’ CloudFront

Route 53 ๋ผ์šฐํŒ… ์ •์ฑ… ํ˜ผ๋™

  • Latency โ‰  Geolocation (๊ฐ€์žฅ ๋งŽ์ด ํ˜ผ๋™)
    • Latency: ์‹ค์ œ ์‘๋‹ต์†๋„ ๊ธฐ์ค€ (๊ตญ์  ๋ฌด๊ด€)
    • Geolocation: ์‚ฌ์šฉ์ž ๊ตญ๊ฐ€/๋Œ€๋ฅ™ ๊ธฐ์ค€ (์†๋„ ๋ฌด๊ด€)
  • Failover: Active 1๊ฐœ๋งŒ, DR ๋ชฉ์ 
  • Weighted: ๋น„์œจ ๋ถ„์‚ฐ, ์นด๋‚˜๋ฆฌ์•„ ๋ฐฐํฌ

OAC vs ํผ๋ธ”๋ฆญ S3

  • S3๋ฅผ ์ง์ ‘ ๊ณต๊ฐœํ•˜๋ฉด CloudFront ์šฐํšŒ ๊ฐ€๋Šฅ โ†’ OAC๋กœ CloudFront๋งŒ ํ—ˆ์šฉ ํ•„์ˆ˜

๐Ÿ”€ 5. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๊ธ€๋กœ๋ฒŒ ์ •์  ์›น์‚ฌ์ดํŠธ (์ตœ์  ๋น„์šฉ + ๋ณด์•ˆ)

[Route 53] โ† Latency ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…
    |
[CloudFront] โ† ์—ฃ์ง€ ์บ์‹ฑ + WAF
    |
[S3 + OAC] โ† S3 ์ง์ ‘ ์ ‘๊ทผ ์ฐจ๋‹จ
    โ€ป CloudFront๋งŒ S3 ์ ‘๊ทผ ๊ฐ€๋Šฅ

ํ‚ค์›Œ๋“œ: โ€œ์ „ ์„ธ๊ณ„ ๋น ๋ฅธ ์ •์  ์‚ฌ์ดํŠธโ€ + โ€œS3 ๋ณด์•ˆโ€ + โ€œ๋น„์šฉ ์ตœ์ ํ™”โ€

ํŒจํ„ด 2: ๊ธ€๋กœ๋ฒŒ ๊ฒŒ์ž„/VoIP (UDP + ๊ณ ์ • IP)

[์ „ ์„ธ๊ณ„ ํด๋ผ์ด์–ธํŠธ]
    |
[Global Accelerator] โ† ์• ๋‹ˆ์บ์ŠคํŠธ, ๊ณ ์ • IP 2๊ฐœ
    |
[NLB] โ† TCP/UDP ์ฒ˜๋ฆฌ
    |
[EC2 ๊ฒŒ์ž„ ์„œ๋ฒ„, Multi-Region]
    โ”œโ”€ us-east-1
    โ””โ”€ ap-northeast-2

ํ‚ค์›Œ๋“œ: โ€œUDPโ€ + โ€œ๊ณ ์ • IPโ€ + โ€œ๋ฆฌ์ „ ๊ฐ„ ๋น ๋ฅธ ์ „ํ™˜โ€

ํŒจํ„ด 3: ๋‹ค์ค‘ ๋ฆฌ์ „ DR + Route 53 Failover

[Route 53 Failover ์ •์ฑ…]
 โ”œโ”€ Primary: ALB (us-east-1) โ† ํ—ฌ์Šค์ฒดํฌ
 โ””โ”€ Secondary: S3 ์ •์  ์˜ค๋ฅ˜ ํŽ˜์ด์ง€ โ† Primary ๋‹ค์šด ์‹œ ์ž๋™ ์ „ํ™˜

ํ‚ค์›Œ๋“œ: โ€œ์žฌํ•ด ๋ณต๊ตฌโ€ + โ€œ๊ฐ€๋™ ์ค‘์ง€ ์ตœ์†Œํ™”โ€ + โ€œ์ •์  ์˜ค๋ฅ˜ ํŽ˜์ด์ง€โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œUDP + ๊ณ ์ • IP + ๋ฆฌ์ „ ๊ฐ„ ๋น ๋ฅธ ์ „ํ™˜โ€ โ†’ CloudFront๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?
  2. โ€œ์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ตœ์ƒ์˜ ์„ฑ๋Šฅโ€ โ†’ Geolocation์ด ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?
  3. โ€œํŠน์ • ๊ตญ๊ฐ€ ์‚ฌ์šฉ์ž๋Š” ํŠน์ • ๋ฆฌ์ „์œผ๋กœโ€ โ†’ Latency๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  4. S3 ์ •์  ์‚ฌ์ดํŠธ๋ฅผ CloudFront ๋’ค์— ๋ฐฐ์น˜ํ–ˆ๋Š”๋ฐ ์ง์ ‘ S3 URL ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค โ†’ ์–ด๋–ป๊ฒŒ ๋ง‰๋Š”๊ฐ€?
  5. CloudFront๋Š” ๋™์  ์ฝ˜ํ…์ธ (API)๋„ ๊ฐ€์†ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ•œ๊ฐ€?

# 5.1 ๊ถŒํ•œ ๋ฐ ๊ณ„์ • ๊ด€๋ฆฌ (IAM & AWS Organizations)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • IAM: AWS ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค. (์ตœ์†Œ ๊ถŒํ•œ์˜ ์›์น™)

  • AWS Organizations: ์—ฌ๋Ÿฌ AWS ๊ณ„์ •์„ ์ค‘์•™์—์„œ ํ†ตํ•ฉ ๊ด€๋ฆฌ. (๊ณ„์ • ๊ทธ๋ฃนํ™” ๋ฐ ํ†ตํ•ฉ ๋นŒ๋ง)

  • SCP (Service Control Policy): ์กฐ์ง์˜ ํ•˜์œ„ ๊ณ„์ •์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”ย ์ตœ๋Œ€ ๊ถŒํ•œ์„ ์ œํ•œํ•˜๋Š” โ€˜๊ฐ€๋“œ๋ ˆ์ผโ€™.


๐Ÿข 1. AWS Organizations & SCP

๋‹ค์ค‘ ๊ณ„์ • ํ™˜๊ฒฝ์—์„œ ๋ณด์•ˆ ์ •์ฑ…์„ ๊ฐ•์ œํ•  ๋•Œ ์ •๋‹ต์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์ƒ์„ธ ๋‚ด์šฉ์‹œํ—˜ ํฌ์ธํŠธ (ํ‚ค์›Œ๋“œ)โŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
OU (์กฐ์ง ๋‹จ์œ„)๋ถ€์„œ/ํ™˜๊ฒฝ๋ณ„ ๊ณ„์ • ๊ทธ๋ฃนํ™”๊ณ„์ • ๊ทธ๋ฃนํ™” ๊ด€๋ฆฌ (Q560)-
SCPํ•ด๋‹น ๊ณ„์ •์˜ ์ตœ๋Œ€ ํ•œ๋„ ์„ค์ •โ€๊ฐ€๋“œ๋ ˆ์ผโ€, โ€œ์ „์‚ฌ ๊ธˆ์ง€โ€ (Q168, Q433)๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๊ถŒํ•œ ๋ถ€์—ฌ ๋ชฉ์  (SCP๋Š” ์ œํ•œ, IAM Policy๊ฐ€ ์‹ค์ œ ํ—ˆ์šฉ)
ํ†ตํ•ฉ ๋นŒ๋งํ•˜์œ„ ๊ณ„์ • ๋น„์šฉ ์ผ๊ด„ ๊ฒฐ์ œ๋น„์šฉ ์ ˆ๊ฐ ๋ฐ ๊ด€๋ฆฌ ํŽธ์˜์„ฑ-
๊ณต์œ  ์˜ˆ์•ฝRI/Savings Plans ํ• ์ธ ์กฐ์ง ๋‚ด ๊ณต์œ ๋น„์šฉ ์ตœ์ ํ™” (Q467, Q543)-

SCP์˜ ํŠน์ง• (์ค‘์š”)

  • SCP๋Š” ๊ถŒํ•œ์„ย ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (Allow ์ •์ฑ…์ด ์žˆ์–ด๋„ SCP์—์„œ Denyํ•˜๋ฉด ์‹คํ–‰ ๋ถˆ๊ฐ€)

  • **๊ด€๋ฆฌ ๊ณ„์ •(Management Account)**์˜ ๋ฃจํŠธ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


๐Ÿ” 2. IAM (Identity and Access Management)

๋ฆฌ์†Œ์Šค ์ˆ˜์ค€์˜ ์„ธ๋ฐ€ํ•œ ๊ถŒํ•œ ๊ด€๋ฆฌ ์ „๋žต์ž…๋‹ˆ๋‹ค.

  1. ์ตœ์†Œ ๊ถŒํ•œ์˜ ์›์น™ (Least Privilege):

    • ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ผญ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌ. (Q476)

    • IAM Role์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค(EC2, Lambda)์— ๊ถŒํ•œ ๋ถ€์—ฌ. (Q17, Q289)

  2. ๊ต์ฐจ ๊ณ„์ • ์•ก์„ธ์Šค (Cross-Account Access):

    • ํ•ด๊ฒฐ์ฑ…: ์‹ ๋ขฐ ๊ณ„์ •์—์„œย IAM Roleย ์ƒ์„ฑ โ†’ ๋Œ€์ƒ ๊ณ„์ •์—์„œย AssumeRoleย ํ—ˆ์šฉ. (Q418, Q521)

    • ์ด์œ : Access Key๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์€ ์ ˆ๋Œ€ ๊ธˆ์ง€(๋ณด์•ˆ ์œ„๋ฐ˜).

  3. IAM Identity Center (๊ธฐ์กด AWS SSO):

    • ํ‚ค์›Œ๋“œ: โ€œ์ค‘์•™ ์ง‘์ค‘์‹ ๋กœ๊ทธ์ธโ€, โ€œActive Directory ์—ฐ๋™โ€, โ€œSingle Sign-Onโ€.

    • ํ•œ ๋ฒˆ์˜ ๋กœ๊ทธ์ธ์œผ๋กœ ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๊ณ„์ •์— ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์—ญํ• ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ. (Q28, Q484)


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์šฐ๋ฆฌ ์กฐ์ง(Organization) ๋ฉค๋ฒ„๋งŒ S3 ์ ‘๊ทผ ํ—ˆ์šฉ (Q3)

  • ๋ฌธ์ œ: ํ”„๋กœ์ ํŠธ ๋ณด๊ณ ์„œ๊ฐ€ ๋‹ด๊ธด S3 ๋ฒ„ํ‚ท์„ ๋‹ค๋ฅธ ํšŒ์‚ฌ ์‚ฌ๋žŒ์€ ๋ชป ๋ณด๊ฒŒ ๋ง‰๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ: S3 ๋ฒ„ํ‚ท ์ •์ฑ…์—ย aws:PrincipalOrgIDย ์กฐ๊ฑด ํ‚ค๋ฅผ ์ถ”๊ฐ€.

  • ์ด์œ : ๊ฐœ๋ณ„ ๊ณ„์ • ID๋ฅผ ์ผ์ผ์ด ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์€ ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ.

โœ… ์‚ฌ๋ก€ 2: ํŠน์ • ๋ฆฌ์ „์—์„œ๋งŒ ์ž์› ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ฐ•์ œ (Q151, Q419)

  • ๋ฌธ์ œ: ๊ฐœ๋ฐœ์ž๋“ค์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ํ•ด์™ธ ๋ฆฌ์ „์— ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ง‰์•„์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย SCP๋ฅผ ์ƒ์„ฑํ•˜์—ฌย Condition: {โ€œStringNotEqualsโ€: {โ€œaws:RequestedRegionโ€: [โ€œap-northeast-2โ€]}}ย ์™€ ๊ฐ™์ด ์„ค์ • ํ›„ Root OU์— ์—ฐ๊ฒฐ.

โœ… ์‚ฌ๋ก€ 3: ๊ฒฐ์ œ ์ •๋ณด ์ ‘๊ทผ ์ฐจ๋‹จ (Q488)

  • ๋ฌธ์ œ: ํ•˜์œ„ ๊ณ„์ •์˜ ๋ฃจํŠธ ์‚ฌ์šฉ์ž๋ฅผ ํฌํ•จํ•˜์—ฌ ์•„๋ฌด๋„ ๊ฒฐ์ œ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์—†๊ฒŒ ํ•ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย SCP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋ง(Billing) ์„œ๋น„์Šค ์ ‘๊ทผ์„ ๋ช…์‹œ์ ์œผ๋กœ ์ฐจ๋‹จ(Deny).


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๋‹ค์ค‘ ๊ณ„์ • / ์ค‘์•™ ์ง‘์ค‘ ๊ด€๋ฆฌโ€ย =ย AWS Organizations

  • โ€œํŠน์ • ์„œ๋น„์Šค ์ „์‚ฌ์  ๊ธˆ์ง€โ€ย =ย SCP

  • โ€œAccess Key ๋…ธ์ถœ ์—†์ด ์„œ๋น„์Šค ๊ถŒํ•œ ๋ถ€์—ฌโ€ย =ย IAM Role (Instance Profile)

  • โ€œ์™ธ๋ถ€ ์‚ฌ์šฉ์ž(AD)์˜ AWS ์ ‘๊ทผโ€ย =ย SAML 2.0 ์—ฐ๋™ย ๋˜๋Š”ย IAM Identity Center

  • โ€œ์กฐ์ง ๋‚ด ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— ํƒœ๊ทธ ๊ฐ•์ œโ€ย =ย Tag Policies (Organizations)


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๋‹ค์ค‘ ๊ณ„์ • ๋ณด์•ˆ ๊ฑฐ๋ฒ„๋„Œ์Šค

[AWS Organizations]
 โ””โ”€ Root
     โ”œโ”€ OU: ์šด์˜ ๊ณ„์ •
     โ”‚   โ””โ”€ SCP: "us-east-1, ap-northeast-2๋งŒ ํ—ˆ์šฉ"
     โ”œโ”€ OU: ๊ฐœ๋ฐœ ๊ณ„์ •
     โ”‚   โ””โ”€ SCP: "๋น„์šฉ ์ž„๊ณ„๊ฐ’ ์ดˆ๊ณผ ์„œ๋น„์Šค ๊ธˆ์ง€"
     โ””โ”€ ๊ด€๋ฆฌ ๊ณ„์ • (SCP ๋ฏธ์ ์šฉ)
         โ””โ”€ CloudTrail ์กฐ์ง ์ถ”์  โ† ์ „ ๊ณ„์ • ๋กœ๊ทธ ์ค‘์•™ํ™”

ํ‚ค์›Œ๋“œ: โ€œ์ „์‚ฌ ์ •์ฑ… ๊ฐ•์ œโ€ + โ€œ๋ฆฌ์ „ ์ œํ•œโ€ + โ€œ์ค‘์•™ ๋กœ๊ทธ ์ˆ˜์ง‘โ€

ํŒจํ„ด 2: ๊ต์ฐจ ๊ณ„์ • ์•ˆ์ „ํ•œ ๋ฆฌ์†Œ์Šค ๊ณต์œ 

[๊ณ„์ • A: ์šด์˜] โ”€โ”€AssumeRoleโ”€โ”€โ†’ [๊ณ„์ • B: S3 ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ]
    |                                    |
[IAM Role (๊ณ„์ • A์—์„œ ์ƒ์„ฑ)]       [๋ฒ„ํ‚ท ์ •์ฑ…: PrincipalOrgID ์กฐ๊ฑด]
    โ†‘                                    |
Access Key ์—†์ด ์•ˆ์ „ํ•œ ์ ‘๊ทผ ๊ฐ€๋Šฅ     ์กฐ์ง ์™ธ๋ถ€ ๊ณ„์ • ์ž๋™ ์ฐจ๋‹จ

ํ‚ค์›Œ๋“œ: โ€œ๊ต์ฐจ ๊ณ„์ • ์ ‘๊ทผโ€ + โ€œAccess Key ์—†์Œโ€ + โ€œ์กฐ์ง ๋‚ด๋ถ€๋งŒ ํ—ˆ์šฉโ€

ํŒจํ„ด 3: ์ค‘์•™ ์ง‘์ค‘์‹ SSO (Identity Center)

[์˜จํ”„๋ ˆ๋ฏธ์Šค Active Directory]
    |
[IAM Identity Center] โ† SAML 2.0 ์—ฐ๋™
    |
[๋‹จ์ผ ๋กœ๊ทธ์ธ ํฌํ„ธ]
 โ”œโ”€ ๊ณ„์ • A: DevOps ์—ญํ•  โ† ๊ฐœ๋ฐœํŒ€
 โ”œโ”€ ๊ณ„์ • B: ReadOnly ์—ญํ•  โ† ๊ฐ์‚ฌํŒ€
 โ””โ”€ ๊ณ„์ • C: Admin ์—ญํ•  โ† ๋ณด์•ˆํŒ€

ํ‚ค์›Œ๋“œ: โ€œSingle Sign-Onโ€ + โ€œAD ์—ฐ๋™โ€ + โ€œ์ค‘์•™ ์ง‘์ค‘์‹ ๋กœ๊ทธ์ธโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. SCP๊ฐ€ Denyํ•ด๋„ ๊ด€๋ฆฌ ๊ณ„์ •(Management Account)์˜ ๋ฃจํŠธ๋Š” ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ํ•˜์œ„ ๊ณ„์ • ๋ฃจํŠธ๋Š”?
  2. SCP๋กœ S3 ํ—ˆ์šฉ โ†’ IAM Policy๋กœ S3 Deny โ†’ ์‹ค์ œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ๊ฐ€? ์šฐ์„ ์ˆœ์œ„ ์„ค๋ช…์€?
  3. EC2 ์•ฑ์ด S3์— ์ ‘๊ทผํ•  ๋•Œ Access Key ์‚ฌ์šฉ์ด ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์€?
  4. โ€œํŠน์ • ๋ฆฌ์ „์—์„œ๋งŒ ์ž์› ์ƒ์„ฑ ๊ฐ€๋Šฅโ€ โ†’ IAM Policy vs SCP ์ค‘ ์–ด๋–ค ๊ฑธ ์จ์•ผ ํ•˜๋Š”๊ฐ€, ์ด์œ ๋Š”?
  5. ์กฐ์ง ๋‚ด ๊ณ„์ •๋งŒ S3 ๋ฒ„ํ‚ท์— ์ ‘๊ทผํ•˜๋„๋ก ํ•˜๋ ค๋ฉด โ†’ ๋ฒ„ํ‚ท ์ •์ฑ…์— ์–ด๋–ค ์กฐ๊ฑด ํ‚ค๋ฅผ ์“ฐ๋Š”๊ฐ€?

# 5.2 ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ (KMS, Secrets Manager, ACM)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • AWS KMS: ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” ํ‚ค(CMK)๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌ. (S3, EBS, RDS ์—ฐ๋™)

  • AWS Secrets Manager: DB ๋น„๋ฐ€๋ฒˆํ˜ธ, API ํ‚ค ์ €์žฅ ๋ฐย ์ž๋™ ๊ต์ฒด(Rotation)ย ๊ธฐ๋Šฅ ์ œ๊ณต.

  • SSM Parameter Store: ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ ๋ฐ ์•”ํ˜ธ ์ €์žฅ (๊ต์ฒด ๊ธฐ๋Šฅ ์—†์Œ, ๋น„์šฉ ์ €๋ ด).

  • AWS ACM: SSL/TLS ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ๋ฐ ์ž๋™ ๊ฐฑ์‹  ๊ด€๋ฆฌ.


๐Ÿ”‘ 1. AWS KMS (Key Management Service)

โ€œ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”โ€์™€ โ€œํ‚ค ๊ด€๋ฆฌโ€ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋‚˜์˜ฌ ๋•Œ ์ •๋‹ต์˜ ์ค‘์‹ฌ์ž…๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ํŠน์ง•์‹œํ—˜ ํฌ์ธํŠธ (ํ‚ค์›Œ๋“œ)โŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
AWS ๊ด€๋ฆฌํ˜• ํ‚คAWS ์„œ๋น„์Šค ์ž๋™ ์ƒ์„ฑ๋ฌด๋ฃŒ, ์ž๋™ ๊ต์ฒด, ์‚ฌ์šฉ์ž ์ œ์–ด ๋ถˆ๊ฐ€๊ต์ฒด ์ฃผ๊ธฐ ์ง์ ‘ ์ œ์–ด ํ•„์š” ์‹œ
๊ณ ๊ฐ ๊ด€๋ฆฌํ˜• ํ‚ค(CMK)์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑ ๋ฐ ์ œ์–ด๊ต์ฒด ์ฃผ๊ธฐ ์„ค์ •, ๊ถŒํ•œ ์ œ์–ด (Q106, Q116)๋‹จ์ˆœ ์•”ํ˜ธํ™”๋กœ ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ (๋น„์šฉ ๋ฐœ์ƒ)
๋‹ค์ค‘ ๋ฆฌ์ „ ํ‚ค์—ฌ๋Ÿฌ ๋ฆฌ์ „์—์„œ ๋™์ผ ํ‚ค ์‚ฌ์šฉ๋ฆฌ์ „ ๊ฐ„ DR, ๋ฐ์ดํ„ฐ ์ด๋™ (Q36, Q37)๋‹จ์ผ ๋ฆฌ์ „์—๋งŒ ๊ตญํ•œ๋œ ๊ฒฝ์šฐ
SSE-S3S3 ์ž์ฒด ๊ด€๋ฆฌ ํ‚ค์ตœ์†Œ ์„ค์ •, ๋ฌด๋ฃŒํ‚ค ์ ‘๊ทผ ๊ฐ์‚ฌ ๋กœ๊ทธ ํ•„์š” ์‹œ (SSE-KMS ํ•„์š”)
SSE-KMSKMS CMK ์‚ฌ์šฉํ‚ค ์ ‘๊ทผ ์ถ”์ , CloudTrail ํ†ตํ•ฉ๋น„์šฉ ์ตœ์†Œํ™”๊ฐ€ ์ตœ์šฐ์„ ์ผ ๋•Œ
SSE-C๊ณ ๊ฐ์ด ์ง์ ‘ ํ‚ค ์ œ๊ณต์™„์ „ํ•œ ํ‚ค ํ†ต์ œ ํ•„์š” ์‹œํ‚ค ๊ด€๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์• ๊ณ  ์‹ถ์„ ๋•Œ

KMS ํ‚ค ๊ต์ฒด (Rotation)

  • ์ž๋™ ๊ต์ฒด: ๋งค๋…„ ์ƒˆ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ์ƒ์„ฑ. ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋Š” ์ด์ „ ํ‚ค๋กœ ๊ณ„์† ๋ณตํ˜ธํ™” ๊ฐ€๋Šฅ.

  • ์ˆ˜๋™ ๊ต์ฒด: ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ƒˆ ํ‚ค๋ฅผ ๋งŒ๋“ค๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•จ (์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ๋†’์Œ).


๐Ÿ” 2. ์ž๊ฒฉ ์ฆ๋ช… ๊ด€๋ฆฌ (Secrets Manager vs Parameter Store)

โ€œ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์–ด๋””์— ์ €์žฅํ•  ๊ฒƒ์ธ๊ฐ€?โ€๋ฅผ ๋ฌป๋Š” ๋‹จ๊ณจ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ŠฅAWS Secrets ManagerSSM Parameter StoreโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
์ฃผ์š” ํŠน์ง•๋น„๋ฐ€๋ฒˆํ˜ธ ์ž๋™ ๊ต์ฒด(Rotation)๊ณ„์ธต์  ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌโ€์ž๋™ ๊ต์ฒดโ€ ์š”๊ตฌ โ†’ Parameter Store ์˜ค๋‹ต
DB ์—ฐ๋™RDS, Redshift ๊ฐ•๋ ฅ ํ†ตํ•ฉ์ฝ”๋“œ/์„ค์ • ๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ-
๋น„์šฉ์œ ๋ฃŒ (๋ณด์•ˆ ๋น„๋ฐ€๋‹น ์š”๊ธˆ)๋ฌด๋ฃŒ (ํ‘œ์ค€ ํŒŒ๋ผ๋ฏธํ„ฐ)โ€œ๋น„์šฉ ์ตœ์†Œํ™” + ๋‹จ์ˆœ ์„ค์ •โ€ โ†’ Secrets Manager ์˜ค๋‹ต
์„ ํƒ ๊ธฐ์ค€โ€๋ณด์•ˆ ์•”ํ˜ธ ์ฃผ๊ธฐ์  ๊ต์ฒดโ€ (Q11, Q61, Q86)โ€œ๋‹จ์ˆœ ์„ค์ • ๋ฐ์ดํ„ฐ ์ €์žฅโ€ (Q12, Q179)-

Secrets Manager vs Parameter Store ํ˜ผ๋™

  • โ€œ์ž๋™ ๊ต์ฒด(Rotation)โ€ ํ‚ค์›Œ๋“œ โ†’ ๋ฌด์กฐ๊ฑด Secrets Manager
  • Parameter Store๋กœ ์ž๋™ ๊ต์ฒดํ•˜๋ ค๋ฉด Lambda๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด์•ผ ํ•จ โ†’ โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ ์œ„๋ฐ˜
  • ๋‹จ์ˆœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜, API ์—”๋“œํฌ์ธํŠธ ์ €์žฅ โ†’ Parameter Store (๋น„์šฉ ์ ˆ๊ฐ)

๐ŸŒ 3. ์ธ์ฆ์„œ ๊ด€๋ฆฌ (AWS Certificate Manager - ACM)

HTTPS ํ†ต์‹ ์„ ์œ„ํ•œ ์ธ์ฆ์„œ ์„ค๊ณ„ ์ „๋žต์ž…๋‹ˆ๋‹ค.

  • ์ž๋™ ๊ฐฑ์‹ : ACM์—์„œ ๋ฐœ๊ธ‰ํ•œ ๊ณต์ธ ์ธ์ฆ์„œ๋Š” ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ๋จ (์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”). (Q577)

  • CloudFront์™€ ACM: CloudFront์— ์ธ์ฆ์„œ๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œย us-east-1(๋ฒ„์ง€๋‹ˆ์•„ ๋ถ๋ถ€)ย ๋ฆฌ์ „์˜ ACM์—์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ฑฐ๋‚˜ ๊ฐ€์ ธ์™€์•ผ ํ•จ. (Q62, Q722)

  • ์‚ฌ์„ค CA: ๊ธฐ์—… ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์šฉ ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉ.


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: DB ์ž๊ฒฉ ์ฆ๋ช…์˜ ๋ณด์•ˆ ๊ฐ•ํ™” ๋ฐ ๊ต์ฒด (Q11, Q61, Q86)

  • ๋ฌธ์ œ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์— DB ๋น„๋ฒˆ์ด ํ•˜๋“œ์ฝ”๋”ฉ๋˜์–ด ์žˆ์Œ. ์ •๊ธฐ์ ์œผ๋กœ ๋น„๋ฒˆ์„ ๋ฐ”๊ฟ”์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย AWS Secrets Manager์— ์ €์žฅํ•˜๊ณ ย ์ž๋™ ๊ต์ฒด(Rotation)ย ํ™œ์„ฑํ™”.

  • ์ด์œ : Parameter Store๋Š” ์ž๋™ ๊ต์ฒด ๊ธฐ๋Šฅ์ด ์—†์–ด Lambda๋ฅผ ์ง์ ‘ ์งœ์•ผ ํ•˜๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํผ.

โœ… ์‚ฌ๋ก€ 2: ์•”ํ˜ธํ™”๋œ S3 ๊ฐ์ฒด์˜ ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ (Q36, Q438)

  • ๋ฌธ์ œ: A ๋ฆฌ์ „์˜ KMS๋กœ ์•”ํ˜ธํ™”๋œ ํŒŒ์ผ์„ B ๋ฆฌ์ „์œผ๋กœ ๋ณต์ œํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ: **KMS ๋‹ค์ค‘ ๋ฆฌ์ „ ํ‚ค(Multi-region Key)**๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๋Œ€์ƒ ๋ฆฌ์ „์˜ ํ‚ค๋กœ ์žฌ์•”ํ˜ธํ™” ๊ถŒํ•œ์„ ๋ถ€์—ฌ.

  • ํŒ: KMS ํ‚ค๋Š” ๋ฆฌ์ „๋ณ„ ์„œ๋น„์Šค์ด๋ฏ€๋กœ, ์›์น™์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ฆฌ์ „์—์„œ ๋ณตํ˜ธํ™”๊ฐ€ ์•ˆ ๋จ์„ ๊ธฐ์–ตํ•  ๊ฒƒ.

โœ… ์‚ฌ๋ก€ 3: ๊ทœ์ •์— ๋”ฐ๋ฅธ โ€œ์‚ญ์ œ ๋ถˆ๊ฐ€โ€ ์Šคํ† ๋ฆฌ์ง€ (Q85, Q154, Q189)

  • ํ•ด๊ฒฐ:ย S3 Object Lock (๊ทœ์ • ์ค€์ˆ˜ ๋ชจ๋“œ).

  • ์˜ค๋‹ต: KMS ์•”ํ˜ธํ™”๋Š” โ€˜์ฝ๊ธฐโ€™๋ฅผ ๋ง‰๋Š” ๊ฒƒ์ด์ง€ โ€˜์‚ญ์ œโ€™๋ฅผ ๋ง‰๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹˜.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๋ณด์•ˆ ์•”ํ˜ธ ์ž๋™ ๊ต์ฒดโ€ย =ย Secrets Manager

  • โ€œSSL/TLS ์ž๋™ ๊ฐฑ์‹ โ€ย =ย ACM

  • โ€œํ‚ค ๊ด€๋ฆฌ ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€ย =ย AWS KMS

  • โ€œ์ฝ”๋“œ์™€ ์„ค์ •์˜ ๋ถ„๋ฆฌโ€ย =ย Parameter Store

  • โ€œCloudFront์šฉ HTTPSโ€ย =ย ACM (in us-east-1)


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: DB ์ž๊ฒฉ ์ฆ๋ช… ๋ณด์•ˆ ๊ฐ•ํ™”

[์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (EC2/Lambda)]
    |
[Secrets Manager] โ† DB ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ + ์ž๋™ ๊ต์ฒด
    |  (์ฝ”๋“œ์— ํ•˜๋“œ์ฝ”๋”ฉ ์—†์Œ)
[RDS] โ† ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž๋™ ๋ณ€๊ฒฝ (Lambda Rotation)
    |
[CloudTrail] โ† "๋ˆ„๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์กฐํšŒํ–ˆ๋‚˜" ๊ฐ์‚ฌ

ํ‚ค์›Œ๋“œ: โ€œDB ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž๋™ ๊ต์ฒดโ€ + โ€œํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐโ€ + โ€œ๊ฐ์‚ฌ ์ถ”์ โ€

ํŒจํ„ด 2: ์•”ํ˜ธํ™”๋œ S3 ๋ฐ์ดํ„ฐ ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ

[S3 ๋ฆฌ์ „ A (SSE-KMS, CMK A)]
    |
[S3 CRR (Cross-Region Replication)]
    |
[S3 ๋ฆฌ์ „ B]
    โ†‘
[KMS Multi-Region Key] โ† A์™€ B์—์„œ ๊ฐ™์€ ํ‚ค ์‚ฌ์šฉ
    ๋˜๋Š”
[๋ฆฌ์ „ B์˜ CMK B๋กœ ์žฌ์•”ํ˜ธํ™”] โ† ๋‹ค๋ฅธ ํ‚ค ์‚ฌ์šฉ ๊ฐ€๋Šฅ

ํ‚ค์›Œ๋“œ: โ€œ์•”ํ˜ธํ™”๋œ S3 ๋ณต์ œโ€ + โ€œ๋ฆฌ์ „ ๊ฐ„ DRโ€ + โ€œํ‚ค ๊ถŒํ•œ ์„ค์ •โ€

ํŒจํ„ด 3: HTTPS ์ธํ”„๋ผ ์ž๋™ํ™”

[ACM (us-east-1)] โ† CloudFront์šฉ ์ธ์ฆ์„œ (๋ฐ˜๋“œ์‹œ us-east-1)
    |
[CloudFront] โ† HTTPS ์ ์šฉ
    |
[ACM (๊ฐ ๋ฆฌ์ „)] โ† ALB์šฉ ์ธ์ฆ์„œ
    |
[ALB] โ† HTTPS ๋ฆฌ์Šค๋„ˆ
    |
[EC2]

ํ‚ค์›Œ๋“œ: โ€œ์ž๋™ ๊ฐฑ์‹  ์ธ์ฆ์„œโ€ + โ€œCloudFront๋Š” ๋ฐ˜๋“œ์‹œ us-east-1 ACMโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œDB ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ต์ฒดํ•ด์•ผ ํ•œ๋‹คโ€ โ†’ Parameter Store๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  2. SSE-S3 vs SSE-KMS vs SSE-C์˜ ์ฐจ์ด๋ฅผ ํ‚ค ๊ด€๋ฆฌ ์ฃผ์ฒด ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๋ฉด?
  3. ๊ธฐ์กด ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ RDS๋ฅผ KMS๋กœ ์•”ํ˜ธํ™”ํ•˜๋Š” ์ ˆ์ฐจ๋Š” ์™œ ๋ณต์žกํ•œ๊ฐ€?
  4. CloudFront์— ์ ์šฉํ•  ACM ์ธ์ฆ์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์–ด๋А ๋ฆฌ์ „์—์„œ ๋ฐœ๊ธ‰ํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ์ด์œ ๋Š”?
  5. ์•”ํ˜ธํ™”๋œ S3 ํŒŒ์ผ์„ ๋‹ค๋ฅธ ๋ฆฌ์ „์œผ๋กœ ๋ณต์ œํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  KMS ๊ด€๋ จ ์‚ฌํ•ญ์€?

# 5.3 ์œ„ํ˜‘ ํƒ์ง€ ๋ฐ ๋ณด์•ˆ ๊ฐ์‚ฌ

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • CloudTrail:ย API ํ˜ธ์ถœ ๊ธฐ๋กย (๋ˆ„๊ฐ€, ์–ธ์ œ, ์–ด๋””์„œ ๋ฌด์—‡์„ ํ–ˆ๋‚˜).

  • AWS Config:ย ๋ฆฌ์†Œ์Šค ์„ค์ • ๋ณ€๊ฒฝ ์ด๋ ฅย ๋ฐ ๊ทœ์ • ์ค€์ˆ˜ ์—ฌ๋ถ€ ํ™•์ธ.

  • GuardDuty: ์ง€๋Šฅํ˜•ย ์œ„ํ˜‘ ํƒ์ง€ย (์•…์„ฑ IP, ๋น„์ •์ƒ์  ํ™œ๋™).

  • Amazon Inspector: ์†Œํ”„ํŠธ์›จ์–ดย ์ทจ์•ฝ์  ์Šค์บ”ย (EC2, ์ปจํ…Œ์ด๋„ˆ, Lambda).

  • Amazon Macie: S3 ๋‚ดย ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ(PII)ย ์‹๋ณ„ ๋ฐ ๋ณดํ˜ธ.


๐Ÿ” 1. ์„œ๋น„์Šค๋ณ„ ํ•ต์‹ฌ ์šฉ๋„ ๋น„๊ต (SAA ๋นˆ์ถœ)

์„œ๋น„์Šค๋ถ„์„ ๋Œ€์ƒ์ฃผ์š” ํ‚ค์›Œ๋“œ ๋ฐ ์ •๋‹ต ํžŒํŠธ
------------------
CloudTrailAPI ํ˜ธ์ถœโ€๊ฐ์‚ฌ(Audit)โ€, โ€œ์‚ฌ์šฉ์ž ์ถ”์ โ€, โ€œ์‚ญ์ œํ•œ ์‚ฌ๋žŒ ์ฐพ๊ธฐโ€ (Q395)
AWS Config๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑโ€์„ค์ • ๋ณ€๊ฒฝ ์ถ”์ โ€, โ€œ๊ทœ์ • ์ค€์ˆ˜ ํ™•์ธโ€, โ€œ๊ฐ€๋“œ๋ ˆ์ผโ€ (Q26, Q31)
GuardDuty๋กœ๊ทธ (VPC, DNS, S3)โ€œ์•…์˜์  ํ™œ๋™โ€, โ€œ์•”ํ˜ธํ™”ํ ์ฑ„๊ตดโ€, โ€œ์นจ์ž… ํƒ์ง€โ€ (Q15, Q616)
InspectorEC2, ECR, Lambdaโ€์ทจ์•ฝ์  ์Šค์บ”โ€, โ€œCVE ํ™•์ธโ€, โ€œ๋„คํŠธ์›Œํฌ ๋…ธ์ถœโ€ (Q315, Q329)
MacieS3 ๊ฐ์ฒด ๋‚ด์šฉโ€๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด(PII)โ€, โ€œ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐโ€ (Q46, Q533)

๊ฐ€์žฅ ๋งŽ์ด ํ˜ผ๋™ํ•˜๋Š” ์กฐํ•ฉ

  • โ€œS3 ํŒŒ์ผ์— ๊ฐœ์ธ์ •๋ณด(์ฃผ๋ฏผ๋ฒˆํ˜ธ, ์นด๋“œ๋ฒˆํ˜ธ) ์žˆ๋Š”์ง€ ํƒ์ง€โ€ โ†’ Macie (GuardDuty/Inspector ์˜ค๋‹ต)
  • โ€œ๋ˆ„๊ฐ€ S3 ๋ฒ„ํ‚ท์„ ํผ๋ธ”๋ฆญ์œผ๋กœ ๋ฐ”๊ฟจ๋‚˜โ€ โ†’ CloudTrail (API ๊ธฐ๋ก) + Config (์„ค์ • ๋ณ€๊ฒฝ ์ด๋ ฅ)
  • โ€œEC2์— ์•…์„ฑ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Œ๊ณ  ์žˆ๋‚˜โ€ โ†’ GuardDuty (Inspector๋Š” ์ทจ์•ฝ์  ์Šค์บ”, ์‹คํ–‰ ์ค‘ ๊ฐ์ง€ ์•„๋‹˜)

๐Ÿ› ๏ธ 2. ์ƒ์„ธ ์„ค๊ณ„ ํฌ์ธํŠธ

โœ… ๊ฐ์‚ฌ ๋ฐ ๊ทœ์ • ์ค€์ˆ˜ (CloudTrail vs Config)

  • CloudTrail: โ€œ๋ˆ„๊ฐ€ ์ธ์Šคํ„ด์Šค๋ฅผ ์ข…๋ฃŒํ–ˆ๋Š”๊ฐ€?โ€ ๊ฐ™์€ย ํ–‰์œ„๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. (Q395)

    • ํŒ: ๋ชจ๋“  ๋ฆฌ์ „์˜ ๋กœ๊ทธ๋ฅผ ํ•œ ๋ฒˆ์— ๊ธฐ๋กํ•˜๋ ค๋ฉด โ€˜์กฐ์ง ์ถ”์ โ€™์„ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”.
  • AWS Config: โ€œ๋ณด์•ˆ ๊ทธ๋ฃน์ด ์–ธ์ œ 0.0.0.0/0์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”๊ฐ€?โ€ ๊ฐ™์€ย ์ƒํƒœ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. (Q318)

    • ํŒ: ํŠน์ • ํƒœ๊ทธ๊ฐ€ ์—†๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ฐพ์•„๋‚ผ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (Q512)

โœ… ๋ณด์•ˆ ์ทจ์•ฝ์  ์ ๊ฒ€ (Inspector vs GuardDuty)

  • Amazon Inspector: ์ธ์Šคํ„ด์Šคย ๋‚ด๋ถ€์˜ OS ํŒจ์น˜ ๋ฏธ๋น„๋‚˜ ์ทจ์•ฝํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์„ ์ฐพ์Šต๋‹ˆ๋‹ค. (Q329)

  • Amazon GuardDuty: ์ธ์Šคํ„ด์Šคย ์™ธ๋ถ€์™€์˜ ํ†ต์‹  ํŒจํ„ด์„ ๋ถ„์„ํ•˜์—ฌ ํ•ดํ‚น ์ง•ํ›„๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. (Q616)


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: S3 ๋‚ด ๊ฐœ์ธ์ •๋ณด(PII) ์œ ์ถœ ๋ฐฉ์ง€ (Q46, Q533)

  • ๋ฌธ์ œ: ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋‚˜ ์นด๋“œ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ํŒŒ์ผ์„ S3์— ์˜ฌ๋ฆผ. ์ด๋ฅผ ์ž๋™ ๊ฐ์ง€ํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย Amazon Macie.

  • ์˜ค๋‹ต: GuardDuty๋‚˜ Inspector๋Š” ํŒŒ์ผ โ€˜๋‚ด์šฉโ€™์„ ๋“ค์—ฌ๋‹ค๋ณด๊ณ  ๊ฐœ์ธ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๊ธฐ๋Šฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

โœ… ์‚ฌ๋ก€ 2: ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ ๋ณ€๊ฒฝ ์•Œ๋ฆผ (Q26, Q34)

  • ๋ฌธ์ œ: S3 ๋ฒ„ํ‚ท์˜ ์„ค์ •์ด ๋ฌด๋‹จ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š”์ง€ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย AWS Configย (์ ์ ˆํ•œ ๊ทœ์น™ ์„ค์ •).

  • ์ด์œ : ๊ตฌ์„ฑ(Configuration)์˜ ๋ณ€ํ™”๋ฅผ ์ถ”์ ํ•˜๋Š” ์ „์šฉ ์„œ๋น„์Šค์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

โœ… ์‚ฌ๋ก€ 3: ์•…์„ฑ ํ™œ๋™์˜ ์ค‘์•™ ์ง‘์ค‘์‹ ๋ณด๊ณ  (Q616)

  • ๋ฌธ์ œ: AWS ๊ณ„์ • ์ „๋ฐ˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ™œ๋™์„ ํ•œ ๊ณณ์—์„œ ๋ณด๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย Amazon GuardDuty + AWS Security Hub.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๋ˆ„๊ฐ€ ์‚ญ์ œํ–ˆ๋‚˜?โ€ย =ย CloudTrail

  • โ€œ์„ค์ •์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‚˜?โ€ย =ย AWS Config

  • โ€œ๊ฐœ์ธ์ •๋ณด(PII) ์ฐพ๊ธฐโ€ย =ย Amazon Macie

  • โ€œ์†Œํ”„ํŠธ์›จ์–ด ์ทจ์•ฝ์  / CVEโ€ย =ย Amazon Inspector

  • โ€œ๋น„์ •์ƒ์  ๋กœ๊ทธ์ธ / ํ•ดํ‚น ์ง•ํ›„โ€ย =ย Amazon GuardDuty


๐Ÿ”€ 3. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๋ณด์•ˆ ์ด๋ฒคํŠธ ํƒ์ง€ โ†’ ์ž๋™ ๋Œ€์‘

[GuardDuty] โ† ์•…์„ฑ IP ํƒ์ง€, ๋น„์ •์ƒ API ํ˜ธ์ถœ ๊ฐ์ง€
    |
[EventBridge] โ† ์œ„ํ˜‘ ์‹ฌ๊ฐ๋„ ๊ธฐ์ค€ ๋ผ์šฐํŒ…
    |
 โ”œโ”€ [SNS โ†’ ๋ณด์•ˆํŒ€ ์ด๋ฉ”์ผ] โ† ์ฆ‰๊ฐ ์•Œ๋ฆผ
 โ””โ”€ [Lambda] โ† ํ•ด๋‹น EC2 ๊ฒฉ๋ฆฌ (SG ๋ณ€๊ฒฝ)
         |
    [AWS Security Hub] โ† ์ „์ฒด ๋ณด์•ˆ ์ƒํƒœ ๋Œ€์‹œ๋ณด๋“œ

ํ‚ค์›Œ๋“œ: โ€œ์ž๋™ ์œ„ํ˜‘ ๋Œ€์‘โ€ + โ€œ๋ณด์•ˆ ์ž๋™ํ™”โ€ + โ€œ์ค‘์•™ ๋Œ€์‹œ๋ณด๋“œโ€

ํŒจํ„ด 2: ๊ทœ์ • ์ค€์ˆ˜ ๊ฐ์‚ฌ ํŒŒ์ดํ”„๋ผ์ธ

[AWS Config] โ† ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ ๋ณ€๊ฒฝ ์‹ค์‹œ๊ฐ„ ๊ฐ์ง€
    |
[Config Rules] โ† "SG์— 0.0.0.0/0 ํ—ˆ์šฉ ์‹œ Non-Compliant"
    |
[EventBridge] โ† ์œ„๋ฐ˜ ๋ฐœ์ƒ ์‹œ ํŠธ๋ฆฌ๊ฑฐ
    |
[Lambda] โ† ์ž๋™ ์ˆ˜์ • (SG ๊ทœ์น™ ์ œ๊ฑฐ)
    +
[CloudTrail] โ† "๋ˆ„๊ฐ€ ๋ณ€๊ฒฝํ–ˆ๋‚˜" ํ–‰์œ„์ž ์ถ”์ 
    +
[Amazon Macie] โ† S3 ๋‚ด PII ์ž๋™ ๊ฐ์ง€ ๋ฐ ๊ฒฝ๊ณ 

ํ‚ค์›Œ๋“œ: โ€œ๊ทœ์ • ์ค€์ˆ˜ ์ž๋™ํ™”โ€ + โ€œ์œ„๋ฐ˜ ์ž๋™ ์ˆ˜์ •โ€ + โ€œ๊ฐ์‚ฌ ์ถ”์ โ€

ํŒจํ„ด 3: S3 ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ

[S3 ๋ฒ„ํ‚ท] โ† ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ ์—…๋กœ๋“œ
    |
[Amazon Macie] โ† PII(๊ฐœ์ธ์ •๋ณด) ์ž๋™ ์Šค์บ”
    |
[EventBridge] โ† PII ํƒ์ง€ ์‹œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ
    |
[SNS] โ† ๋ณด์•ˆํŒ€ ์•Œ๋ฆผ
    +
[Lambda] โ† ํ•ด๋‹น ๊ฐ์ฒด์— ํƒœ๊ทธ ์ถ”๊ฐ€ ๋˜๋Š” ์ด๋™

ํ‚ค์›Œ๋“œ: โ€œPII ์ž๋™ ํƒ์ง€โ€ + โ€œS3 ๋ฐ์ดํ„ฐ ๋ณดํ˜ธโ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์Œโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œS3 ํŒŒ์ผ์— ์ฃผ๋ฏผ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธโ€ โ†’ GuardDuty/Inspector๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„œ๋น„์Šค๋Š”?
  2. โ€œ๋ˆ„๊ฐ€ S3 ๋ฒ„ํ‚ท์„ ํผ๋ธ”๋ฆญ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‚˜โ€ โ†’ CloudTrail vs Config ๊ฐ๊ฐ ๋ญ˜ ์•Œ ์ˆ˜ ์žˆ๋Š”๊ฐ€?
  3. โ€œEC2 OS์˜ ํŒจ์น˜ ๋ฏธ์ ์šฉ ์ทจ์•ฝ์  ์Šค์บ”โ€ โ†’ GuardDuty๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  4. GuardDuty๊ฐ€ ์œ„ํ˜‘์„ ํƒ์ง€ํ–ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ EC2๋ฅผ ๊ฒฉ๋ฆฌํ•˜๋ ค๋ฉด โ†’ ์–ด๋–ค ์„œ๋น„์Šค ์กฐํ•ฉ์ด ํ•„์š”ํ•œ๊ฐ€?
  5. CloudTrail๊ณผ AWS Config ๋‘˜ ๋‹ค ์„ค์ • ๋ณ€๊ฒฝ์„ ๊ธฐ๋กํ•˜๋Š”๋ฐ ์ฐจ์ด์ ์€?

# 5.4 ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋กœ๊น… (CloudWatch & EventBridge)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • CloudWatch: AWS ์ž์›์˜ ์ง€ํ‘œ(Metrics), ๋กœ๊ทธ(Logs), ์•Œ๋žŒ(Alarms)์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์‹œ๊ฐํ™”.

  • EventBridge: ์‹œ์Šคํ…œ ์ƒํƒœ ๋ณ€ํ™”(์ด๋ฒคํŠธ)๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ๋‹ค๋ฅธ ์„œ๋น„์Šค(Lambda ๋“ฑ)๋ฅผ ์‹คํ–‰ํ•˜๋Š”ย ์ด๋ฒคํŠธ ๋ฒ„์Šค.

  • ์„ค๊ณ„ ์›์น™:

    • ์ž๋™ํ™”: ์‚ฌ๋žŒ์ด ๊ฐœ์ž…ํ•˜์ง€ ์•Š๊ณ  ์•Œ๋žŒ์ด๋‚˜ ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ ์‹œ์Šคํ…œ์ด ์Šค์Šค๋กœ ๋ณต๊ตฌ๋˜๋„๋ก ์„ค๊ณ„.

    • ๊ฐ€์‹œ์„ฑ: ์ธ์Šคํ„ด์Šค ๋‚ด๋ถ€(Memory/Disk)๊นŒ์ง€ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ์ „์šฉย Agentย ์„ค์น˜ ํ•„์ˆ˜.


๐Ÿ“Š 1. Amazon CloudWatch (๊ฐ€์‹œ์„ฑ ํ™•๋ณด)

โœ… ์ง€ํ‘œ ๋ฐ ์•Œ๋žŒ (Metrics & Alarms)

  • ๊ธฐ๋ณธ ์ง€ํ‘œ: CPU, ๋„คํŠธ์›Œํฌ, ๋””์Šคํฌ I/O (ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๋ณด์ด๋Š” ๊ฒƒ).

  • ์‚ฌ์šฉ์ž ์ง€์ • ์ง€ํ‘œ(CloudWatch Agent):

    • ํ‚ค์›Œ๋“œ: โ€œ๋ฉ”๋ชจ๋ฆฌ(Memory) ์‚ฌ์šฉ์œจโ€, โ€œ๋””์Šคํฌ ๊ณต๊ฐ„(Disk Space)โ€, โ€œํ”„๋กœ์„ธ์Šค ์ˆ˜์ค€ ๋ชจ๋‹ˆํ„ฐ๋งโ€ (Q219, Q241).

    • ์ค‘์š”: ๊ธฐ๋ณธ CloudWatch๋Š” RAM ์‚ฌ์šฉ๋Ÿ‰์„ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋“œ์‹œย Agent๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โœ… CloudWatch Logs

  • ์šฉ๋„: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ, VPC Flow Logs, Lambda ๋กœ๊ทธ ์ˆ˜์ง‘.

  • ๋ถ„์„:ย Logs Insights๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋กœ ๋กœ๊ทธ ๋ถ„์„. (Q117, Q130)

  • ๋ณด๊ด€: ๋น„์šฉ ์ ˆ๊ฐ์„ ์œ„ํ•ด ์˜ค๋ž˜๋œ ๋กœ๊ทธ๋Š”ย S3/Glacier๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ(Export).


โšก 2. Amazon EventBridge (์ž๋™ํ™”์˜ ํ•ต์‹ฌ)

โ€œํŠน์ • ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ์ž๋™์œผ๋กœ ~๋ฅผ ํ•ด๋ผโ€๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์˜ 1์ˆœ์œ„ ์ •๋‹ต์ž…๋‹ˆ๋‹ค.

  • ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์‹คํ–‰: โ€œEC2 ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด Lambda ์‹คํ–‰โ€, โ€œ์ธ์ฆ์„œ ๋งŒ๋ฃŒ 30์ผ ์ „ ์•Œ๋ฆผ ์ „์†กโ€ (Q206, Q569, Q82).

  • ์˜ˆ์•ฝ๋œ ์ž‘์—… (Scheduled Tasks):

    • ํ‚ค์›Œ๋“œ: โ€œ๋งค์ผ ์•„์นจ 9์‹œโ€, โ€œ10๋ถ„๋งˆ๋‹ค ์‹คํ–‰โ€ (Q397, Q517).

    • ์„œ๋ฒ„๋ฆฌ์Šค Cron ์ž‘์—…(Lambda์™€ ์กฐํ•ฉ)์— ์‚ฌ์šฉ.

  • SaaS ํ†ตํ•ฉ: Zendesk, Shopify ๋“ฑ ํƒ€์‚ฌ ์„œ๋น„์Šค ์ด๋ฒคํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ AWS์—์„œ ์ฒ˜๋ฆฌ.


๐Ÿ› ๏ธ 3. ๋„คํŠธ์›Œํฌ ๋ฐ ์Šคํ† ๋ฆฌ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง

  • VPC Flow Logs: VPC ๋‚ด์˜ IP ํŠธ๋ž˜ํ”ฝ ์ •๋ณด๋ฅผ ์บก์ฒ˜. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ(Security Group/NACL ๋ฌธ์ œ ํ™•์ธ). (Q232, Q250)

  • S3 Storage Lens: ์กฐ์ง ์ „์ฒด์˜ S3 ์‚ฌ์šฉ๋Ÿ‰, ๋น„์šฉ ์ตœ์ ํ™”, ๋ถˆ์™„์ „ํ•œ ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ ํƒ์ง€. (Q309, Q628)


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง€์—ฐ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ํ™•์ธ (Q219, Q241)

  • ๋ฌธ์ œ: ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์—ฐ์„ ๋ณด๊ณ ํ•˜๋Š”๋ฐ ๊ธฐ๋ณธ CPU ์ง€ํ‘œ๋Š” ์ •์ƒ์ž„.

  • ํ•ด๊ฒฐ:ย CloudWatch Agent๋ฅผ ๋ฐฐํฌํ•˜์—ฌย ์‚ฌ์šฉ์ž ์ง€์ • ๋ฉ”๋ชจ๋ฆฌ ์ง€ํ‘œย ์ˆ˜์ง‘.

  • ์ด์œ : ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ(OOM)์€ ๊ธฐ๋ณธ ์ง€ํ‘œ๋กœ ํ™•์ธํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ.

โœ… ์‚ฌ๋ก€ 2: ๋น„์ •์ƒ ์ธ์Šคํ„ด์Šค ์ž๋™ ๊ต์ฒด (Q264, Q297)

  • ๋ฌธ์ œ: ํŠน์ • ์ธ์Šคํ„ด์Šค์—์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ˆ˜๋™ ๋Œ€์‘์ด ํž˜๋“ฆ.

  • ํ•ด๊ฒฐ:ย ELB ์ƒํƒœ ํ™•์ธย ๊ฒฐ๊ณผ์— ๋”ฐ๋ผย Auto Scaling์ด ์ธ์Šคํ„ด์Šค๋ฅผ ๊ต์ฒดํ•˜๋„๋ก ์„ค์ •.

โœ… ์‚ฌ๋ก€ 3: ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„ ๋ถ„์„ (Q117, Q130)

  • ๋ฌธ์ œ: ๋ชจ๋“  ๋กœ๊ทธ๋ฅผ OpenSearch๋‚˜ Athena๋กœ ์ฆ‰์‹œ ๋ณด๋‚ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ: **CloudWatch Logs ๊ตฌ๋… ํ•„ํ„ฐ(Subscription Filters)**๋ฅผ ์ƒ์„ฑํ•˜์—ฌ Kinesis ๋˜๋Š” Lambda๋กœ ์ „๋‹ฌ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๋ฉ”๋ชจ๋ฆฌ / ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰โ€ย =ย CloudWatch Agent

  • โ€œ์ƒํƒœ ๋ณ€ํ™”์— ๋”ฐ๋ฅธ ์ž๋™ ๋Œ€์‘โ€ย =ย EventBridge

  • โ€œ์ฃผ๊ธฐ์ ์ธ ์ž‘์—… ์‹คํ–‰โ€ย =ย EventBridge Schedule

  • โ€œIP ํŠธ๋ž˜ํ”ฝ ๋ถ„์„ / ์ ‘์† ๊ฑฐ๋ถ€ ํ™•์ธโ€ย =ย VPC Flow Logs

  • โ€œ์กฐ์ง ๋‚ด S3 ๋ฒ„ํ‚ท ํ†ต๊ณ„ ๋ถ„์„โ€ย =ย S3 Storage Lens


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์ธ์Šคํ„ด์Šค ์ด์ƒ ๊ฐ์ง€ โ†’ ์ž๋™ ๋ณต๊ตฌ

[EC2 ์ธ์Šคํ„ด์Šค]
    |
[CloudWatch Agent] โ† ๋ฉ”๋ชจ๋ฆฌ/๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ์ˆ˜์ง‘ (๊ธฐ๋ณธ ์ง€ํ‘œ๋กœ๋Š” ๋ถˆ๊ฐ€)
    |
[CloudWatch Alarm] โ† ์ž„๊ณ„๊ฐ’ ์ดˆ๊ณผ ์‹œ
    |
 โ”œโ”€ [SNS โ†’ ์šด์˜ํŒ€ ์•Œ๋ฆผ]
 โ”œโ”€ [EC2 Recover Action] โ† ํ•˜๋“œ์›จ์–ด ์žฅ์•  ์‹œ ์ž๋™ ์žฌ๋ถ€ํŒ…
 โ””โ”€ [Auto Scaling] โ† ๋น„์ •์ƒ ์ธ์Šคํ„ด์Šค ๊ต์ฒด

ํ‚ค์›Œ๋“œ: โ€œ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋‹ˆํ„ฐ๋งโ€ + โ€œ์ž๋™ ๋ณต๊ตฌโ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์Œโ€

ํŒจํ„ด 2: ์„œ๋ฒ„๋ฆฌ์Šค ์ด๋ฒคํŠธ ์ž๋™ํ™” (EventBridge)

[๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ ์†Œ์Šค]
 โ”œโ”€ EC2 ์ƒํƒœ ๋ณ€๊ฒฝ (stopped, terminated)
 โ”œโ”€ S3 ๊ฐ์ฒด ์—…๋กœ๋“œ
 โ”œโ”€ CloudTrail API ํ˜ธ์ถœ ๊ฐ์ง€
 โ””โ”€ ์˜ˆ์•ฝ๋œ ์‹œ๊ฐ„ (Cron)
         |
    [EventBridge] โ† ๋ผ์šฐํŒ… ๊ทœ์น™
         |
     โ”œโ”€ [Lambda] โ† ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์‹คํ–‰
     โ”œโ”€ [SNS] โ† ์•Œ๋ฆผ ๋ฐœ์†ก
     โ””โ”€ [SQS] โ† ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ํ

ํ‚ค์›Œ๋“œ: โ€œํŠน์ • ์ƒํƒœ ์‹œ ์ž๋™ ์ฒ˜๋ฆฌโ€ + โ€œ์„œ๋ฒ„๋ฆฌ์Šค ์ž๋™ํ™”โ€ + โ€œ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜โ€

ํŒจํ„ด 3: ์ค‘์•™ ์ง‘์ค‘ ๋กœ๊ทธ ๋ถ„์„ ํŒŒ์ดํ”„๋ผ์ธ

[EC2, Lambda, VPC Flow Logs, CloudTrail]
    |
[CloudWatch Logs] โ† ๋ชจ๋“  ๋กœ๊ทธ ์ˆ˜์ง‘
    |
[Subscription Filter] โ† ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ
    |
[Kinesis Data Firehose]
    |
 โ”œโ”€ [S3] โ† ์žฅ๊ธฐ ๋ณด๊ด€ (Glacier๋กœ ์ˆ˜๋ช…์ฃผ๊ธฐ)
 โ””โ”€ [OpenSearch] โ† ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰/๋Œ€์‹œ๋ณด๋“œ

ํ‚ค์›Œ๋“œ: โ€œ์ค‘์•™ ๋กœ๊ทธ ์ˆ˜์ง‘โ€ + โ€œ์‹ค์‹œ๊ฐ„ ๋ถ„์„โ€ + โ€œ์žฅ๊ธฐ ๋ณด๊ด€โ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ์ด ๋†’์•„์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋А๋ฆฌ๋‹คโ€ โ†’ ๊ธฐ๋ณธ CloudWatch๋กœ ํ™•์ธ ๋ถˆ๊ฐ€ํ•œ ์ด์œ ์™€ ํ•ด๊ฒฐ์ฑ…์€?
  2. โ€œEC2๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ Slack ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹คโ€ โ†’ ์–ด๋–ค ์„œ๋น„์Šค ์กฐํ•ฉ, ์ด์œ ๋Š”?
  3. CloudWatch Alarm vs EventBridge์˜ ์ฐจ์ด๋Š”? ๊ฐ๊ฐ ์–ด๋–ค ์ƒํ™ฉ์— ์“ฐ๋Š”๊ฐ€?
  4. โ€œ๋กœ๊ทธ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ OpenSearch๋กœ ๋ณด๋‚ด์•ผ ํ•œ๋‹คโ€ โ†’ ์–ด๋–ค ์„ค์ •์ด ํ•„์š”ํ•œ๊ฐ€?
  5. VPC Flow Logs๊ฐ€ ํ•„์š”ํ•œ ๋Œ€ํ‘œ์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š”? CloudTrail๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€?

# 6.1 ๋ฉ”์‹œ์ง€ ํ ๋ฐ ์•Œ๋ฆผ (Amazon SQS & SNS)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ๋ชฉ์ : ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์ œ๊ฑฐํ•˜์—ฌย ํ™•์žฅ์„ฑ๊ณผย ๋‚ด๊ฒฐํ•จ์„ฑ์„ ๋†’์ž„.

  • SQS:ย Pullย ๋ฐฉ์‹์˜ ๋ฉ”์‹œ์ง€ ํ. ์†Œ๋น„์ž(Consumer)๊ฐ€ ์ค€๋น„๋์„ ๋•Œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€์ ธ๊ฐ.

  • SNS:ย Pushย ๋ฐฉ์‹์˜ ์•Œ๋ฆผ ์„œ๋น„์Šค. ๋ฉ”์‹œ์ง€๊ฐ€ ์˜ค๋ฉด ์ฆ‰์‹œ ๊ตฌ๋…์ž๋“ค์—๊ฒŒ ๋ฟŒ๋ฆผ.

  • ์„ค๊ณ„ ์›์น™:

    • ๊ธ‰๊ฒฉํ•œ ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ๋Œ€๋น„ โ†’ย SQS๋กœ ๋ฒ„ํผ๋ง.

    • ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๊ณณ์— ์ „๋‹ฌ โ†’ย SNSย ํŒฌ์•„์›ƒ ์•„ํ‚คํ…์ฒ˜.


๐Ÿ“ฅ 1. Amazon SQS (Simple Queue Service)

โœ… ๋Œ€๊ธฐ์—ด ์œ ํ˜• ๋น„๊ต (๊ฐ€์žฅ ์ค‘์š”)

๋ฌธ์ œ์—์„œ โ€œ์ˆœ์„œโ€์™€ โ€œ์ค‘๋ณตโ€ ํ‚ค์›Œ๋“œ์— ๋”ฐ๋ผ ์„ ํƒํ•˜์„ธ์š”.

ํŠน์ง•ํ‘œ์ค€ ๋Œ€๊ธฐ์—ด (Standard)FIFO ๋Œ€๊ธฐ์—ด
------------------
์ˆœ์„œ ๋ณด์žฅ์ตœ์„  ๋…ธ๋ ฅ, ๋ณด์žฅ ์•ˆ ํ•จ์ •ํ™•ํžˆ FIFO ์ˆœ์„œ ๋ณด์žฅ
์ „๋‹ฌ ํšŸ์ˆ˜์ตœ์†Œ 1ํšŒ (์ค‘๋ณต ๊ฐ€๋Šฅ)์ •ํ™•ํžˆ 1ํšŒ (Exactly-once)
์ฒ˜๋ฆฌ๋Ÿ‰๋ฌด์ œํ•œ์ดˆ๋‹น 300~3,000๊ฑด (์ œํ•œ์ )
์šฉ๋„์ผ๋ฐ˜ ์ž‘์—… ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ฒฐ์ œ, ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ (Q10, Q149, Q181)

โœ… ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ํฌ์ธํŠธ)

  • ๊ฐ€์‹œ์„ฑ ์ œํ•œ ์‹œ๊ฐ„ (Visibility Timeout):

    • ๋ฌธ์ œ: ์†Œ๋น„์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌ ์ค‘์ธ๋ฐ ๋‹ค๋ฅธ ์†Œ๋น„์ž๊ฐ€ ๋˜ ๊ฐ€์ ธ๊ฐ€์„œ ์ค‘๋ณต ์ฒ˜๋ฆฌ๋จ. (Q98, Q67, Q611)

    • ํ•ด๊ฒฐ:ย ๊ฐ€์‹œ์„ฑ ์ œํ•œ ์‹œ๊ฐ„์„ ๋Š˜๋ ค์„œย ์ฒ˜๋ฆฌ ์ค‘์—๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋ชป ๋ณด๊ฒŒ ํ•จ.

  • ๋ฐฐ๋‹ฌ ๋ชปํ•œ ํŽธ์ง€ ๋Œ€๊ธฐ์—ด (DLQ): ์ฒ˜๋ฆฌ์— ์‹คํŒจํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋”ฐ๋กœ ๋ชจ์•„๋‘๋Š” ๊ณณ. ๋ถ„์„ ๋ฐ ์žฌ์ฒ˜๋ฆฌ์šฉ. (Q164, Q489)

  • ๋กฑ ํด๋ง (Long Polling): ๋นˆ ํ๋ฅผ ๊ณ„์† ์ฐŒ๋ฅด๋Š” ๋Œ€์‹  ๋ฉ”์‹œ์ง€๊ฐ€ ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆผ โ†’ ๋น„์šฉ ์ ˆ๊ฐ.


๐Ÿ“ข 2. Amazon SNS (Simple Notification Service)

โœ… ์ฃผ์š” ํŠน์ง•

  • Pub/Sub ๋ชจ๋ธ: ๋ฐœํ–‰์ž(Publisher)๊ฐ€ ์ฃผ์ œ(Topic)์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด, ๋‹ค์ˆ˜์˜ ๊ตฌ๋…์ž(Subscriber)๊ฐ€ ์ˆ˜์‹ .

  • ๊ตฌ๋… ๋Œ€์ƒ: Lambda, SQS, ์ด๋ฉ”์ผ, HTTP ์—”๋“œํฌ์ธํŠธ, ๋ชจ๋ฐ”์ผ ํ‘ธ์‹œ.

  • ๋ฉ”์‹œ์ง€ ํ•„ํ„ฐ๋ง: ๊ตฌ๋…์ž๊ฐ€ ํŠน์ • ์กฐ๊ฑด์˜ ๋ฉ”์‹œ์ง€๋งŒ ๋ฐ›๋„๋ก ์„ค์ • ๊ฐ€๋Šฅ (Q311).

โœ… SNS + SQS ํŒฌ์•„์›ƒ (Fan-out) ํŒจํ„ด

  • ๊ตฌ์กฐ: ํ•˜๋‚˜์˜ SNS ์ฃผ์ œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ SQS ํ๋ฅผ ๊ตฌ๋…์‹œํ‚ด.

  • ์žฅ์ : ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ฃผ๋ฌธ DB ์ €์žฅ์šฉ SQS, ๋ฐฐ์†ก ์‹œ์Šคํ…œ์šฉ SQS, ๋ถ„์„์šฉ SQS์—ย ๋™์‹œ์—ย ์ „๋‹ฌ๋จ. (Q7, Q108)


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์ฃผ๋ฌธ์ด ์ ‘์ˆ˜๋œ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•จ (Q10, Q149)

  • ํ•ด๊ฒฐ:ย SQS FIFO ๋Œ€๊ธฐ์—ด.

  • ํ‚ค์›Œ๋“œ: โ€œ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ(Exactly-once)โ€, โ€œ์ˆœ์ฐจ ์ฒ˜๋ฆฌโ€.

โœ… ์‚ฌ๋ก€ 2: ์†Œ๋น„์ž ์•ฑ์ด ์‹คํŒจํ•ด๋„ ๋ฐ์ดํ„ฐ ์œ ์‹ค์ด ์—†์–ด์•ผ ํ•จ (Q195, Q228, Q404)

  • ๋ฌธ์ œ: ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ ค DB ์“ฐ๊ธฐ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋จ.

  • ํ•ด๊ฒฐ:ย SQS๋ฅผ ๋„์ž…ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ์— ์ž„์‹œ ๋ณด๊ด€(๋ฒ„ํผ๋ง).

  • ์ด์œ : ์„œ๋ฒ„๊ฐ€ ๋ณต๊ตฌ๋œ ํ›„ ํ์—์„œ ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ (๋‚ด๊ฒฐํ•จ์„ฑ).

โœ… ์‚ฌ๋ก€ 3: ๋„คํŠธ์›Œํฌ ๋ฌธ์ œ๋กœ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด ๊ฐ€๋” ์‹คํŒจํ•จ (Q148, Q45)

  • ํ•ด๊ฒฐ:ย SNS ์ฃผ์ œ์— SQS๋ฅผ ๊ตฌ๋…์‹œํ‚ค๊ณ  Lambda๊ฐ€ SQS๋ฅผ ์ฝ๊ฒŒ ํ•จ.

  • ์ด์œ : SNS ๋‹จ๋… ์‚ฌ์šฉ ์‹œ ๊ตฌ๋…์ž๊ฐ€ ๋‹ค์šด๋˜๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ์œ ์‹ค๋  ์ˆ˜ ์žˆ์ง€๋งŒ, SQS๋ฅผ ๋ผ์šฐ๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด์กด๋จ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๊ฒฐํ•ฉ ํ•ด์ œ(Decouple) / ๋น„๋™๊ธฐโ€ย =ย SQS

  • โ€œ์ˆœ์„œ ๋ณด์žฅ / ์ค‘๋ณต ์ œ๊ฑฐโ€ย =ย SQS FIFO

  • โ€œ๋™์‹œ ์ฒ˜๋ฆฌ / ๋‹ค์ˆ˜ ํƒ€๊ฒŸ ์ „๋‹ฌโ€ย =ย SNS + SQS ํŒฌ์•„์›ƒ

  • โ€œ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฒ˜๋ฆฌ ๋ฐœ์ƒ(์˜ค๋ฅ˜)โ€ย =ย Visibility Timeout ๋ถ€์กฑ

  • โ€œ๋น„์šฉ ํšจ์œจ์ ์ธ ํ ํด๋งโ€ย =ย Long Polling


๐Ÿšจ 3. ํ˜ผ๋™ ํฌ์ธํŠธ (6.1 ์ „์šฉ)

์ด๊ฒƒ๋งŒ ํ‹€๋ฆฌ์ง€ ๋งˆ์„ธ์š”

SQS vs SNS ํ•ต์‹ฌ ์ฐจ์ด

  • SQS: Pull ๋ฐฉ์‹, ์†Œ๋น„์ž๊ฐ€ ์ค€๋น„๋์„ ๋•Œ ๊ฐ€์ ธ๊ฐ (๋ฉ”์‹œ์ง€ ๋ณด์กด)
  • SNS: Push ๋ฐฉ์‹, ์ฆ‰์‹œ ๋ชจ๋“  ๊ตฌ๋…์ž์—๊ฒŒ ๋ฟŒ๋ฆผ (๋ฉ”์‹œ์ง€ ๋ณด์กด ์—†์Œ)
  • SNS ๋‹จ๋… ์‚ฌ์šฉ ์‹œ ๊ตฌ๋…์ž ๋‹ค์šด โ†’ ๋ฉ”์‹œ์ง€ ์œ ์‹ค โ†’ SNS + SQS ์กฐํ•ฉ์œผ๋กœ ํ•ด๊ฒฐ

Standard vs FIFO ์„ ํƒ ๊ธฐ์ค€

  • โ€œ์ˆœ์„œ ์ค‘์š”โ€ / โ€œ์ค‘๋ณต ์ œ๊ฑฐ ํ•„์š”โ€ / โ€œ๊ฒฐ์ œยท์ฃผ๋ฌธโ€ โ†’ FIFO
  • โ€œ์ตœ๋Œ€ ์ฒ˜๋ฆฌ๋Ÿ‰โ€ / โ€œ์ˆœ์„œ ๋ฌด๊ด€โ€ โ†’ Standard

Visibility Timeout ์ดํ•ด

  • ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€์ ธ๊ฐ„ ์†Œ๋น„์ž๊ฐ€ ์ฒ˜๋ฆฌ ์ค‘์ผ ๋•Œ ๋‹ค๋ฅธ ์†Œ๋น„์ž๊ฐ€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ชป ๊ฐ€์ ธ๊ฐ€๊ฒŒ ํ•˜๋Š” ์‹œ๊ฐ„
  • ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด Timeout๋ณด๋‹ค ๊ธธ๋ฉด โ†’ ๋‹ค๋ฅธ ์†Œ๋น„์ž๊ฐ€ ๊ฐ€์ ธ๊ฐ โ†’ ์ค‘๋ณต ์ฒ˜๋ฆฌ ๋ฐœ์ƒ

๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: SNS + SQS ํŒฌ์•„์›ƒ (Fan-out)

[์ฃผ๋ฌธ ์ด๋ฒคํŠธ ๋ฐœ์ƒ]
    |
[SNS Topic] โ† Pub/Sub ์ค‘์•™ ํ—ˆ๋ธŒ
 โ”œโ”€ [SQS A] โ†’ [Lambda: DB ์ €์žฅ]
 โ”œโ”€ [SQS B] โ†’ [Lambda: ๋ฐฐ์†ก ์‹œ์Šคํ…œ]
 โ””โ”€ [SQS C] โ†’ [Lambda: ๋ถ„์„/ํ†ต๊ณ„]

ํ‚ค์›Œ๋“œ: โ€œํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์— ๋™์‹œ ์ „๋‹ฌโ€ + โ€œ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌโ€

ํŒจํ„ด 2: SQS ๋ฒ„ํผ๋ง์œผ๋กœ ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ ํก์ˆ˜

[๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ]
    |
[ALB] โ†’ [EC2 ASG (์›น ์„œ๋ฒ„)]
    |
[SQS Queue] โ† ์ฒ˜๋ฆฌ๋ฅผ ํ์— ์œ„์ž„ (DB ์ง์ ‘ ์“ฐ๊ธฐ ๊ธˆ์ง€)
    |
[EC2 Worker / Lambda] โ† ์†๋„ ์ œ์–ดํ•˜๋ฉฐ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ
    |
[RDS / DynamoDB]

ํ‚ค์›Œ๋“œ: โ€œDB ๊ณผ๋ถ€ํ•˜ ๋ฐฉ์ง€โ€ + โ€œ๋ฐ์ดํ„ฐ ์œ ์‹ค ์—†์Œโ€ + โ€œDecouplingโ€

ํŒจํ„ด 3: ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ ์ˆœ์„œ ๋ณด์žฅ + ์‹คํŒจ ์ฒ˜๋ฆฌ

[์ฃผ๋ฌธ API]
    |
[SQS FIFO] โ† ์ˆœ์„œ ๋ณด์žฅ + ์ค‘๋ณต ์ œ๊ฑฐ
    |
[Lambda] โ† ์ฒ˜๋ฆฌ (์‹คํŒจ ์‹œ ์žฌ์‹œ๋„)
    |
[DLQ (Dead Letter Queue)] โ† ๋ฐ˜๋ณต ์‹คํŒจ ๋ฉ”์‹œ์ง€ ๊ฒฉ๋ฆฌ
    |
[CloudWatch Alarm] โ† DLQ ๋ฉ”์‹œ์ง€ ๋ฐœ์ƒ ์‹œ ์•Œ๋ฆผ

ํ‚ค์›Œ๋“œ: โ€œ์ˆœ์„œ ๋ณด์žฅ + ์‹คํŒจ ๋ฉ”์‹œ์ง€ ๊ฒฉ๋ฆฌโ€ + โ€œ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ์ฒ˜๋ฆฌโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. SNS ๋‹จ๋… ์‚ฌ์šฉ ์‹œ ๊ตฌ๋…์ž ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋ฉด ๋ฉ”์‹œ์ง€๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€? ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š”๊ฐ€?
  2. โ€œ์ฃผ๋ฌธ์„ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ค‘๋ณต๋„ ์—†์–ด์•ผ ํ•œ๋‹คโ€ โ†’ Standard๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋Š”?
  3. Visibility Timeout์ด ๋ถ€์กฑํ•˜๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š”๊ฐ€? ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
  4. โ€œํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์ด ๋™์‹œ์— ๋ฐ›์•„ ์ฒ˜๋ฆฌโ€ โ†’ ์–ด๋–ค ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ธ๊ฐ€?
  5. SQS vs SNS ์ค‘ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์กดํ•˜๋Š” ์„œ๋น„์Šค๋Š”? ์ด ์ฐจ์ด๊ฐ€ ์„ค๊ณ„์—์„œ ์™œ ์ค‘์š”ํ•œ๊ฐ€?

# 6.2 ์›Œํฌํ”Œ๋กœ ๋ฐ ์„œ๋น„์Šค ํ†ตํ•ฉ (Step Functions & AppFlow)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • AWS Step Functions: ์—ฌ๋Ÿฌ AWS ์„œ๋น„์Šค๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์—ฐ๊ฒฐํ•˜๋Š”ย ์‹œ๊ฐ์  ์›Œํฌํ”Œ๋กœย ์„œ๋น„์Šค (์ƒํƒœ ๋จธ์‹ ).

  • Amazon AppFlow: **SaaS(Salesforce, Slack ๋“ฑ)**์™€ AWS ์„œ๋น„์Šค ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ”๋”ฉ ์—†์ด ์ „์†ก.

  • Amazon MQ:ย ๋ ˆ๊ฑฐ์‹œ ๋ฉ”์‹œ์ง• ํ”„๋กœํ† ์ฝœ(ActiveMQ, RabbitMQ)์„ AWS์—์„œ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์„ ํƒ.


๐Ÿ”„ 1. AWS Step Functions (์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜)

๋‹จ์ˆœํ•œ 1:1 ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๋„˜์–ด, ๋ณต์žกํ•œ ๋กœ์ง์ด ํ•„์š”ํ•  ๋•Œ ์ •๋‹ต์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์ƒ์„ธ ๋‚ด์šฉ์‹œํ—˜ ํฌ์ธํŠธ (ํ‚ค์›Œ๋“œ)
------------------
์ƒํƒœ ๊ด€๋ฆฌ๊ฐ ๋‹จ๊ณ„ ์„ฑ๊ณต/์‹คํŒจ ๊ธฐ์–ต + ์žฌ์‹œ๋„๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์กฐ์œจ (Q366, Q375)
์ˆ˜๋™ ์Šน์ธ์ค‘๊ฐ„์— ์‚ฌ๋žŒ์ด ์Šน์ธํ•ด์•ผ ๋‹ค์Œ ๋‹จ๊ณ„ ์ง„ํ–‰โ€์ธ์  ๊ฒ€ํ† (Manual Approval)โ€ ํ•„์š” ์‹œ
๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์—ฌ๋Ÿฌ ์ž‘์—… ๋™์‹œ ์‹คํ–‰ + ๊ฒฐ๊ณผ ์ทจํ•ฉ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฐ€์† (Q603)
์žฅ๊ธฐ ์‹คํ–‰์ตœ๋Œ€ 1๋…„๊นŒ์ง€ ์›Œํฌํ”Œ๋กœ ์œ ์ง€Lambda 15๋ถ„ ํ•œ๊ณ„ ๊ทน๋ณต

์‹œํ—˜ ํŒ (Q375, Q670)

โ€œ์—ฌ๋Ÿฌ Lambda ํ•จ์ˆ˜๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰โ€ + โ€œ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ์žฌ์‹œ๋„ ๋กœ์ง ํ•„์š”โ€ = Step Functions


โ˜๏ธ 2. Amazon AppFlow (SaaS ํ†ตํ•ฉ)

  • ์—ฐ๊ฒฐ ๋Œ€์ƒ: Salesforce, SAP, Zendesk โ†” Amazon S3, Redshift
  • ํŠน์ง•: ์ฝ”๋”ฉ์ด ํ•„์š” ์—†๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค (Q460). PrivateLink๋ฅผ ํ†ตํ•œ ์•ˆ์ „ํ•œ ์ „์†ก.

๐Ÿ‡ 3. Amazon MQ (๋ ˆ๊ฑฐ์‹œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜)

  • ๋Œ€์ƒ ํ”„๋กœํ† ์ฝœ: JMS, AMQP, MQTT, STOMP
  • ์„ ํƒ ๊ธฐ์ค€: ๊ธฐ์กด ์•ฑ์ด ActiveMQ๋‚˜ RabbitMQ๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ๊ฒฝ์šฐ (Q111, Q138)
  • ๊ณ ๊ฐ€์šฉ์„ฑ: Active/Standby ๋ชจ๋“œ ์ง€์›

๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์กฐ์œจ (Q366, Q375)

  • ํ•ด๊ฒฐ: AWS Step Functions
  • ์ด์œ : ๊ฐ ๋‹จ๊ณ„๊ฐ€ ๋…๋ฆฝ๋œ ์„œ๋น„์Šค๋กœ ๊ตฌ์„ฑ โ†’ ์ค‘์•™ ํ†ต์ œ์‹ค ํ•„์š”

โœ… ์‚ฌ๋ก€ 2: Salesforce ๋ฐ์ดํ„ฐ๋ฅผ S3๋กœ (Q460)

  • ํ•ด๊ฒฐ: Amazon AppFlow
  • ์ด์œ : ์ง์ ‘ API ์—ฐ๋™ ๋Œ€๋น„ ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ ์Œ

โœ… ์‚ฌ๋ก€ 3: ์˜จํ”„๋ ˆ๋ฏธ์Šค RabbitMQ โ†’ AWS ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (Q111, Q138)

  • ํ•ด๊ฒฐ: Amazon MQ
  • ์˜ค๋‹ต: SQS๋Š” RabbitMQ์™€ API๊ฐ€ ๋‹ฌ๋ผ ์ฝ”๋“œ ์ˆ˜์ • ๋Œ€๋Œ€์ ์œผ๋กœ ํ•„์š”

๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๋ณต์žกํ•œ ์›Œํฌ๋กœ๋“œ / ์ƒํƒœ ๊ด€๋ฆฌโ€ = Step Functions
  • โ€œSaaS ๋ฐ์ดํ„ฐ ์—ฐ๋™ / No-codeโ€ = AppFlow
  • โ€œ๋ ˆ๊ฑฐ์‹œ ํ”„๋กœํ† ์ฝœ(RabbitMQ/ActiveMQ) ์œ ์ง€โ€ = Amazon MQ
  • โ€œ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ / ๋ถ„์‚ฐ ๋ชจ๋“œโ€ = Step Functions Map State (Q603)

๐Ÿ”€ 6.2 ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์„œ๋ฒ„๋ฆฌ์Šค ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ ์›Œํฌํ”Œ๋กœ

API Gateway
     โ”‚
     โ–ผ
Step Functions
  โ”œโ”€โ”€ Step 1: Lambda (๊ฒฐ์ œ ์ฒ˜๋ฆฌ) โ”€โ”€์‹คํŒจโ”€โ”€โ–บ DLQ
  โ”œโ”€โ”€ Step 2: Lambda (์žฌ๊ณ  ์ฐจ๊ฐ)
  โ”œโ”€โ”€ Step 3: Lambda (๋ฐฐ์†ก ์š”์ฒญ)
  โ””โ”€โ”€ Step 4: Manual Approval (์‚ฌ๋žŒ ๊ฒ€ํ† )

ํ‚ค์›Œ๋“œ: โ€œ๋ณต์žกํ•œ ์ˆœ์„œโ€ + โ€œ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌโ€ + โ€œ์ธ์  ๊ฒ€ํ† โ€


ํŒจํ„ด 2: SaaS ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ ํŒŒ์ดํ”„๋ผ์ธ

Salesforce / SAP
      โ”‚ (์ฝ”๋”ฉ ์—†์ด)
      โ–ผ
  AppFlow
      โ”‚
  S3 โ”€โ”€โ–บ Glue ETL โ”€โ”€โ–บ Redshift

ํ‚ค์›Œ๋“œ: โ€œSaaS ์—ฐ๋™โ€ + โ€œNo-codeโ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€


ํŒจํ„ด 3: ๋ ˆ๊ฑฐ์‹œ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์˜จํ”„๋ ˆ๋ฏธ์Šค (RabbitMQ)
      โ”‚ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด
      โ–ผ
Amazon MQ (Active/Standby)
      โ”‚ ์ ์ง„์  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
      โ–ผ
Amazon SQS (AWS ๋„ค์ดํ‹ฐ๋ธŒ)

ํ‚ค์›Œ๋“œ: โ€œ๊ธฐ์กด ์ฝ”๋“œ ์œ ์ง€โ€ + โ€œ๋ ˆ๊ฑฐ์‹œ ํ˜ธํ™˜์„ฑโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. Lambda 15๋ถ„ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜๋Š” ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฐ€?
  2. Step Functions์—์„œ โ€œ์ธ์  ๊ฒ€ํ† (Manual Approval)โ€œ๊ฐ€ ํ•„์š”ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์„ค๋ช…ํ•˜๋ผ.
  3. AppFlow๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ์€? ์ง์ ‘ API ์ฝ”๋”ฉ ๋Œ€๋น„ ์žฅ์ ์€?
  4. Amazon MQ๋ฅผ SQS ๋Œ€์‹  ์„ ํƒํ•˜๋Š” ์œ ์ผํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€?
  5. Step Functions์˜ Map State๋Š” ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๊ฐ€?

# 6.3 ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ (Amazon Kinesis)

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • ๋ชฉ์ : ๋Œ€๊ทœ๋ชจ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ˆ˜์ง‘, ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„.
  • KDS (Data Streams): ์‹ค์‹œ๊ฐ„ ์ˆ˜์ง‘ ๋ฐ ์ฒ˜๋ฆฌ. ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ). ์ƒค๋“œ(Shard) ๋‹จ์œ„ ์ˆ˜๋™ ํ™•์žฅ.
  • KDF (Data Firehose): ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ ์‹œ์Šคํ…œ(S3, Redshift ๋“ฑ)์— ๋กœ๋“œ(์ „์†ก). ์ž๋™ ํ™•์žฅ.
  • KDA (Data Analytics): ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ์— SQL ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ ค ์‹ค์‹œ๊ฐ„ ๋ถ„์„.

โšก 1. Kinesis ์„œ๋น„์Šค๋ณ„ ๋น„๊ต (๊ฐ€์žฅ ์ค‘์š”)

๊ธฐ๋ŠฅKinesis Data Streams (KDS)Kinesis Data Firehose (KDF)โŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
์„ฑ๊ฒฉ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ๋กœ๋“œ (ETL)โ€œ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌโ€ ๋ฌธ์ œ์— KDF ์„ ํƒ (KDF๋Š” ์ตœ์†Œ 60์ดˆ ์ง€์—ฐ)
์ง€์—ฐ ์‹œ๊ฐ„์‹ค์‹œ๊ฐ„ (๋ฐ€๋ฆฌ์ดˆ)๊ทผ์‹ค์‹œ๊ฐ„ (์ตœ์†Œ 60์ดˆ ๋ฒ„ํผ)โ€œ๋ฐ€๋ฆฌ์ดˆ ์‘๋‹ตโ€ ํ•„์š”ํ•œ๋ฐ KDF ์„ ํƒ
๋ฐ์ดํ„ฐ ๋ณด์กด24์‹œ๊ฐ„ ~ 365์ผ (์žฌ์ƒ ๊ฐ€๋Šฅ)๋ณด์กด ๊ธฐ๋Šฅ ์—†์Œ (์ „์†ก์šฉ ํŒŒ์ดํ”„)โ€œ๋ฐ์ดํ„ฐ ์žฌ์ƒ(Replay)โ€ ํ•„์š”ํ•œ๋ฐ KDF ์„ ํƒ
ํ™•์žฅ์„ฑ์ƒค๋“œ ์ˆ˜๋™ ๊ด€๋ฆฌ (Provisioned)์™„์ „ ๊ด€๋ฆฌํ˜• (์ž๋™ ํ™•์žฅ)์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™” ๋ฌธ์ œ์— KDS ์„ ํƒ
์ตœ์ข… ๋ชฉ์ ์ง€์‚ฌ์šฉ์ž ์ง€์ • ์•ฑ, Lambda, KDAS3, Redshift, OpenSearch, HTTPS3 ์ €์žฅ ๋ชฉ์ ์— KDS ์ง์ ‘ ์—ฐ๊ฒฐ ์‹œ๋„

์‹œํ—˜ ํŒ (Q33, Q77, Q226)

  • โ€œ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•ด์„œ S3/Redshift์— ๋ฐ”๋กœ ์ €์žฅํ•ด์•ผ ํ•จโ€ โ†’ KDF
  • โ€œ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•œ ํ›„ ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์‹œ์— ์ฝ์–ด์•ผ ํ•จโ€ โ†’ KDS

๐Ÿ†š 2. SQS vs Kinesis (ํ—ท๊ฐˆ๋ฆผ ์ฃผ์˜)

๋น„๊ต ํ•ญ๋ชฉAmazon SQSAmazon Kinesis (KDS)
------------------
๋ชจ๋ธPull (๋ฉ”์‹œ์ง€ ๊ฐ€์ ธ๊ฐ€๋ฉด ์‚ญ์ œ)์ŠคํŠธ๋ฆผ (์—ฌ๋Ÿฌ ์†Œ๋น„์ž ๋ฐ˜๋ณต ์ฝ๊ธฐ)
์ˆœ์„œFIFO ์„ค์ • ์‹œ์—๋งŒ ๋ณด์žฅํŒŒํ‹ฐ์…˜ ํ‚ค๋ณ„ ํ•ญ์ƒ ์ˆœ์„œ ๋ณด์žฅ
Replay๋ถˆ๊ฐ€ (์†Œ๋น„ ํ›„ ์‚ญ์ œ)๊ฐ€๋Šฅ (๋ณด์กด ๊ธฐ๊ฐ„ ๋‚ด ์žฌ์ฒ˜๋ฆฌ)
์šฉ๋„์„œ๋น„์Šค ๊ฒฐํ•ฉ ํ•ด์ œ, ์ž‘์—… ํ๋น…๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ํด๋ฆญ์ŠคํŠธ๋ฆผ, ๋กœ๊ทธ ์ง‘๊ณ„
์ฒ˜๋ฆฌ๋Ÿ‰๋ฌด์ œํ•œ (Standard)์ƒค๋“œ ์ˆ˜์— ๋”ฐ๋ผ ๊ฒฐ์ •

SQS vs Kinesis ํ•ต์‹ฌ ์„ ํƒ ๊ธฐ์ค€

  • โ€œ์—ฌ๋Ÿฌ ์†Œ๋น„์ž๊ฐ€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ž ์ฝ์–ด์•ผ ํ•จโ€ โ†’ Kinesis (SQS๋Š” ํ•œ ์†Œ๋น„์ž๊ฐ€ ๊ฐ€์ ธ๊ฐ€๋ฉด ์‚ญ์ œ)
  • โ€œ๋ฐ์ดํ„ฐ ์žฌ์ฒ˜๋ฆฌ/์žฌ์ƒ์ด ํ•„์š”โ€ โ†’ Kinesis (SQS๋Š” Replay ๋ถˆ๊ฐ€)
  • โ€œ์„œ๋น„์Šค ๊ฐ„ ๊ฒฐํ•ฉ ํ•ด์ œ, ์ž‘์—… ํโ€ โ†’ SQS
  • โ€œ์ดˆ๋‹น GB ์ด์ƒ ๋Œ€์šฉ๋Ÿ‰ ์ŠคํŠธ๋ฆผโ€ โ†’ Kinesis

๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ๋Œ€๊ทœ๋ชจ ํด๋ฆญ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ ๋ถ„์„ (Q59, Q267, Q501)

  • ๋ฌธ์ œ: ํ•˜๋ฃจ 30TB ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„ ๋ถ„์„ ํ›„ Redshift์— ์ €์žฅํ•ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย Kinesis Data Streams(์ˆ˜์ง‘) โ†’ Kinesis Data Analytics(๋ถ„์„) โ†’ Kinesis Data Firehose(๋กœ๋“œ) โ†’ Redshift.

  • ์ด์œ : Kinesis ํŒจ๋ฐ€๋ฆฌ๋Š” ๋Œ€์šฉ๋Ÿ‰ ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ํ‘œ์ค€ ์•„ํ‚คํ…์ฒ˜์ž„.

โœ… ์‚ฌ๋ก€ 2: S3์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋ˆ„๋ฝ๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (Q402)

  • ๋ฌธ์ œ: KDS๋กœ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ S3์— ์“ฐ๋Š”๋ฐ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Œ. (๊ฒฉ์ผ๋กœ ๋ถ„์„ํ•จ)

  • ํ•ด๊ฒฐ:ย KDS์˜ ๋ฐ์ดํ„ฐ ๋ณด์กด ๊ธฐ๊ฐ„(Retention Period)์„ ๋Š˜๋ฆผ.

  • ์ด์œ : ๊ธฐ๋ณธ ๋ณด์กด ๊ธฐ๊ฐ„์€ 24์‹œ๊ฐ„์ž„. ์†Œ๋น„์ž๊ฐ€ ํ•˜๋ฃจ ์ด์ƒ ๋Šฆ๊ฒŒ ์ฝ์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง.

โœ… ์‚ฌ๋ก€ 3: IoT ์žฅ์น˜์˜ ์ƒํƒœ ์•Œ๋ฆผ ์ˆ˜์ง‘ (Q40, Q257)

  • ๋ฌธ์ œ: ์ˆ˜์ฒœ ๊ฐœ์˜ ์—์ง€ ์žฅ์น˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ๊ณ ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ 14์ผ๊ฐ„ ๋ณด๊ด€ํ•˜๊ณ  ๋ถ„์„ํ•˜๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย Kinesis Data Firehose โ†’ Amazon S3.

  • ์ด์œ : ์‹ค์‹œ๊ฐ„์„ฑ์ด ์•„์ฃผ ๋†’์ง€ ์•Š์•„๋„ ๋˜๊ณ (Near real-time), ๊ด€๋ฆฌ๊ฐ€ ํŽธํ•œ(๊ด€๋ฆฌํ˜•) ์ „์†ก๋กœ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ.


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ / ๋กœ๊ทธ ์ง‘๊ณ„โ€ย =ย Kinesis Data Streams

  • โ€œS3, Redshift๋กœ ์ž๋™ ์ „์†ก(๋กœ๋“œ)โ€ย =ย Kinesis Data Firehose

  • โ€œ์›€์ง์ด๋Š” ๋ฐ์ดํ„ฐ์— SQL ์ฟผ๋ฆฌโ€ย =ย Kinesis Data Analytics

  • โ€œ์ดˆ๋‹น ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ / ์ˆ˜๋ฐฑ๋งŒ ๊ฑด ์ˆ˜์ง‘โ€ย =ย Kinesis

  • โ€œ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ฝ์–ด์•ผ ํ•จ(Replay)โ€ย =ย Kinesisย (SQS๋Š” ๋ถˆ๊ฐ€๋Šฅ)


๐Ÿ”€ 4. ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ์‹ค์‹œ๊ฐ„ ํด๋ฆญ์ŠคํŠธ๋ฆผ ๋ถ„์„ ํŒŒ์ดํ”„๋ผ์ธ

[์›น/์•ฑ ์‚ฌ์šฉ์ž ํด๋ฆญ ์ด๋ฒคํŠธ] (์ดˆ๋‹น ์ˆ˜์‹ญ๋งŒ ๊ฑด)
    |
[Kinesis Data Streams] โ† ์‹ค์‹œ๊ฐ„ ์ˆ˜์ง‘, ๋ฐ€๋ฆฌ์ดˆ ์ง€์—ฐ
    |
 โ”œโ”€ [Kinesis Data Analytics] โ† SQL๋กœ ์‹ค์‹œ๊ฐ„ ์ด์ƒ ํƒ์ง€
 โ””โ”€ [Kinesis Data Firehose]
         |
     โ”œโ”€ [S3] โ† ์›์‹œ ๋ฐ์ดํ„ฐ ์žฅ๊ธฐ ๋ณด๊ด€
     โ””โ”€ [Redshift] โ† ์ง‘๊ณ„ ๋ถ„์„

ํ‚ค์›Œ๋“œ: โ€œ์‹ค์‹œ๊ฐ„ ๋Œ€์šฉ๋Ÿ‰โ€ + โ€œ์—ฌ๋Ÿฌ ์†Œ๋น„์žโ€ + โ€œ๋ถ„์„ ํ›„ ์ €์žฅโ€

ํŒจํ„ด 2: IoT ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ โ†’ ์ž๋™ ์•Œ๋ฆผ

[IoT ์žฅ์น˜ ์ˆ˜์ฒœ ๊ฐœ] โ†’ [Kinesis Data Firehose]
    |
[S3] โ† 14์ผ ๋ณด๊ด€
    |
[Lambda (S3 Event)] โ† ์ž„๊ณ„๊ฐ’ ์ดˆ๊ณผ ํƒ์ง€
    |
[SNS] โ† ์šด์˜ํŒ€ ์ฆ‰์‹œ ์•Œ๋ฆผ

ํ‚ค์›Œ๋“œ: โ€œIoT ๋Œ€๋Ÿ‰ ์ˆ˜์ง‘โ€ + โ€œ๊ด€๋ฆฌํ˜• ์ „์†กโ€ + โ€œ์ž๋™ ์•Œ๋ฆผโ€

ํŒจํ„ด 3: SQS vs Kinesis ๋น„๊ต ์•„ํ‚คํ…์ฒ˜

SQS ์ ํ•ฉ:
[์ฃผ๋ฌธ ์ด๋ฒคํŠธ] โ†’ [SQS] โ†’ [Lambda A (์ฒ˜๋ฆฌ ํ›„ ์‚ญ์ œ)]
  โ†‘ ๋ฉ”์‹œ์ง€๋ฅผ ํ•œ ๋ฒˆ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋จ, ๊ฒฐํ•ฉ ํ•ด์ œ ๋ชฉ์ 

Kinesis ์ ํ•ฉ:
[๋กœ๊ทธ ์ŠคํŠธ๋ฆผ] โ†’ [KDS] โ†’ [Lambda A (์‹ค์‹œ๊ฐ„ ๋ถ„์„)]
                      โ†’ [Lambda B (์ด์ƒ ํƒ์ง€)]
                      โ†’ [Lambda C (์ €์žฅ)]
  โ†‘ ์—ฌ๋Ÿฌ ์†Œ๋น„์ž๊ฐ€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ž ์ฝ์–ด์•ผ ํ•จ

ํ‚ค์›Œ๋“œ: โ€œ์—ฌ๋Ÿฌ ์†Œ๋น„์ž ๋™์‹œ ์ฝ๊ธฐโ€ + โ€œReplayโ€ โ†’ Kinesis / โ€œ์ž‘์—… ํโ€ โ†’ SQS


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. โ€œ์—ฌ๋Ÿฌ ์•ฑ์ด ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ž ์ฝ์–ด์•ผ ํ•œ๋‹คโ€ โ†’ SQS๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ์™€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์€?
  2. KDS vs KDF ์„ ํƒ ๊ธฐ์ค€์„ ์ง€์—ฐ์‹œ๊ฐ„๊ณผ ๊ด€๋ฆฌ ๋‚œ์ด๋„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๋ฉด?
  3. โ€œ๋ฐ์ดํ„ฐ๋ฅผ ์–ด์ œ ์ฒ˜๋ฆฌ ๋ชปํ–ˆ๋Š”๋ฐ ๋‹ค์‹œ ์ฝ์–ด์•ผ ํ•œ๋‹ค(Replay)โ€ โ†’ SQS๊ฐ€ ๋ถˆ๊ฐ€ํ•œ ์ด์œ ๋Š”?
  4. KDF์—์„œ JSON โ†’ Parquet์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด โ†’ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋Š”๊ฐ€?
  5. Kinesis์™€ SQS ๋‘˜ ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š”๋ฐ ๊ทผ๋ณธ์ ์ธ ๋ชจ๋ธ ์ฐจ์ด๋Š”?

# 7.1 ๋น„์šฉ ์ตœ์ ํ™” ๋ฐ ๊ด€๋ฆฌ ๋„๊ตฌ

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • Cost Explorer: ๊ณผ๊ฑฐ ์ง€์ถœ ๋ถ„์„ ๋ฐ ํ–ฅํ›„ 12๊ฐœ์›” ์ง€์ถœ ์˜ˆ์ธก. (์‹œ๊ฐํ™” ์ค‘์‹ฌ)
  • AWS Budgets: ํŠน์ • ์ž„๊ณ„๊ฐ’์„ ๋„˜์œผ๋ฉด ์•Œ๋ฆผ(Alarm) ์ „์†ก ๋ฐ ์ž๋™ ์ž‘์—… ์ˆ˜ํ–‰. (ํ•œ๋„ ์„ค์ • ์ค‘์‹ฌ)
  • Savings Plans: ์ผ์ • ๊ธˆ์•ก($/์‹œ๊ฐ„) ์•ฝ์ •์„ ํ†ตํ•œ EC2, Fargate, Lambda ํ• ์ธ. (์œ ์—ฐ์„ฑ ๋†’์Œ)
  • Cost Anomaly Detection: ๋จธ์‹ ๋Ÿฌ๋‹์„ ํ†ตํ•œ ๋น„์ •์ƒ์ ์ธ ๋น„์šฉ ๊ธ‰์ฆ ๊ฐ์ง€.

๐Ÿ“Š 1. ๋น„์šฉ ๋ถ„์„ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ ๋น„๊ต

๋„๊ตฌ์ฃผ์š” ์šฉ๋„์‹œํ—˜ ํฌ์ธํŠธ (ํ‚ค์›Œ๋“œ)โŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
Cost Explorer๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ ๋ถ„์„, ํ•„ํ„ฐ๋ง ์กฐํšŒโ€์ง€๋‚œ 2๊ฐœ์›” ๋น„์šฉ ๋น„๊ตโ€, โ€œ์ธ์Šคํ„ด์Šค ์œ ํ˜•๋ณ„ ๋ถ„์„โ€ (Q24, Q525)โ€œ์•Œ๋ฆผ ์„ค์ •โ€ ๋ฌธ์ œ์ธ๋ฐ Cost Explorer ์„ ํƒ
AWS Budgets์˜ˆ์‚ฐ ์ดˆ๊ณผ ๋ฐฉ์ง€ ์•Œ๋ฆผ + ์ž๋™ ์กฐ์น˜โ€์ž„๊ณ„๊ฐ’ ๋„๋‹ฌ ์‹œ ์•Œ๋ฆผโ€, โ€œ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ ์ฐจ๋‹จโ€ (Q238, Q455)๋‹จ์ˆœ ๋ถ„์„ ๋ชฉ์ ์ธ๋ฐ Budgets ์„ ํƒ
Anomaly Detection์˜ˆ์ธก ๋ชปํ•œ ๋น„์šฉ ๊ธ‰์ฆ ๊ฐ์ง€โ€๋น„์ •์ƒ์ ์ธ ์ง€์ถœ ์‹๋ณ„โ€, โ€œML ๊ธฐ๋ฐ˜ ๊ฐ์ง€โ€ (Q705)์ •๊ธฐ ์˜ˆ์‚ฐ ํ•œ๋„ ์„ค์ •์— Anomaly Detection ์„ ํƒ
Cost & Usage Report๊ฐ€์žฅ ์ƒ์„ธํ•œ ์›์‹œ ๋ฐ์ดํ„ฐ ์ œ๊ณตโ€S3๋กœ ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐโ€, โ€œAthena ์ƒ์„ธ ์ฟผ๋ฆฌโ€ (Q264)์‹œ๊ฐ์  ๋ถ„์„์— CUR ์„ ํƒ (CUR์€ ์›์‹œ ๋ฐ์ดํ„ฐ์šฉ)

๐Ÿ’ฐ 2. ํ• ์ธ ๋ชจ๋ธ (Commitment ๊ธฐ๋ฐ˜)

  1. Savings Plans (์„ธ์ด๋น™ ํ”Œ๋žœ):

    • Compute Savings Plans: ๊ฐ€์žฅ ์œ ์—ฐํ•จ. EC2(ํŒจ๋ฐ€๋ฆฌ ์ƒ๊ด€์—†์Œ), Fargate, Lambda์— ๋ชจ๋‘ ์ ์šฉ. (Q552)
    • EC2 Instance Savings Plans: ํŠน์ • ๋ฆฌ์ „ ๋‚ด ํŠน์ • ํŒจ๋ฐ€๋ฆฌ๋งŒ ํ•ด๋‹นํ•˜์ง€๋งŒ ํ• ์ธ์œจ์ด ๋” ๋†’์Œ.
  2. Reserved Instances (RI - ์˜ˆ์•ฝ ์ธ์Šคํ„ด์Šค):

    • ํ‘œ์ค€ RI: ์ˆ˜์ • ๋ถˆ๊ฐ€, ํ• ์ธ์œจ ๋†’์Œ.
    • ์ „ํ™˜ํ˜• RI: ์ธ์Šคํ„ด์Šค ์†์„ฑ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ.
  3. ํ• ์ธ ๊ณต์œ  (Discount Sharing):

    • AWS Organizations์˜ **ํ†ตํ•ฉ ๋นŒ๋ง(Consolidated Billing)**์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ ๊ณ„์ •์˜ ํ• ์ธ์„ ์กฐ์ง ๋‚ด ๋‹ค๋ฅธ ๊ณ„์ •์ด ๊ณต์œ  ๊ฐ€๋Šฅ. (Q467, Q543)

๐Ÿ› ๏ธ 3. ๋น„์šฉ ์ตœ์ ํ™” ์ „๋žต

  • S3 ๋น„์šฉ ์ ˆ๊ฐ: ์ ‘๊ทผ ๋นˆ๋„์— ๋”ฐ๋ผ S3 Lifecycle ์ •์ฑ…์œผ๋กœ ๊ณ„์ธต ์ด๋™. (Q23, Q126)
  • EC2 ๋น„์šฉ ์ ˆ๊ฐ:
    • ์ค‘๋‹จ ๊ฐ€๋Šฅ ์—…๋ฌด โ†’ Spot Instance
    • ๊พธ์ค€ํ•œ ์—…๋ฌด โ†’ Savings Plans
    • ์—…๋ฌด ์‹œ๊ฐ„ ์™ธ ์ค‘์ง€ โ†’ Instance Scheduler (Q546, Q597)
  • ํƒœ๊ทธ ํ™œ์šฉ: **๋น„์šฉ ํ• ๋‹น ํƒœ๊ทธ(Cost Allocation Tags)**๋กœ ๋ถ€์„œ๋ณ„/ํ”„๋กœ์ ํŠธ๋ณ„ ๋น„์šฉ ์ถ”์ . (Q455, Q559)

๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์ง€๋‚œ 2๊ฐœ์›”๊ฐ„ ํŠน์ • ์ธ์Šคํ„ด์Šค ๋น„์šฉ ๋ถ„์„ (Q24)

  • ํ•ด๊ฒฐ: Cost Explorer์˜ ์„ธ๋ถ„ํ™”๋œ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ.
  • ์ด์œ : ์‹œ๊ฐ์  ๊ทธ๋ž˜ํ”„ + ์ธ์Šคํ„ด์Šค ์œ ํ˜•๋ณ„ ๋ถ„์„ ๊ฐ€๋Šฅ.

โœ… ์‚ฌ๋ก€ 2: ์˜ˆ์‚ฐ ์ดˆ๊ณผ ์‹œ ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ ์ฐจ๋‹จ (Q455, Q238)

  • ํ•ด๊ฒฐ: AWS Budgets + Actions.
  • ์ด์œ : ์ž„๊ณ„๊ฐ’ ๋„๋‹ฌ ์‹œ IAM ์ •์ฑ… ์ˆ˜์ • ๋˜๋Š” ์ธ์Šคํ„ด์Šค ์ค‘์ง€ ์ž๋™ํ™”.

โœ… ์‚ฌ๋ก€ 3: ์กฐ์ง ๋‚ด ์ „์ฒด ๊ณ„์ • ํ• ์ธ ํ˜œํƒ ๊ทน๋Œ€ํ™” (Q543, Q467)

  • ํ•ด๊ฒฐ: ๊ด€๋ฆฌ ๊ณ„์ •์—์„œ ํ• ์ธ ๊ณต์œ (Discount Sharing) ํ™œ์„ฑํ™”.

๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๊ณผ๊ฑฐ ์ง€์ถœ ์‹œ๊ฐํ™” / ๋ถ„์„โ€ = Cost Explorer
  • โ€œ์ž„๊ณ„๊ฐ’ ์•Œ๋ฆผ / ์ž๋™ ์กฐ์น˜โ€ = AWS Budgets
  • โ€œ๋น„์ •์ƒ์  ๊ธ‰์ฆ ๊ฐ์ง€โ€ = Cost Anomaly Detection
  • โ€œ๊ฐ€์žฅ ์œ ์—ฐํ•œ ์ปดํ“จํŒ… ํ• ์ธโ€ = Compute Savings Plans
  • โ€œ๋ถ€์„œ๋ณ„ ๋น„์šฉ ์ถ”์ โ€ = Cost Allocation Tags

๐Ÿ”€ 7.1 ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: ๋น„์šฉ ์ด์ƒ ๊ฐ์ง€ โ†’ ์ž๋™ ์•Œ๋ฆผ ํŒŒ์ดํ”„๋ผ์ธ

Cost Anomaly Detection
(ML ๊ธฐ๋ฐ˜ ์ด์ƒ ๊ฐ์ง€)
        โ”‚
        โ–ผ
   SNS Topic
   โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”
   โ–ผ         โ–ผ
์ด๋ฉ”์ผ ์•Œ๋ฆผ   Slack Webhook

ํ‚ค์›Œ๋“œ: โ€œ๋น„์šฉ ๊ธ‰์ฆ ์ž๋™ ๊ฐ์ง€โ€ + โ€œ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”โ€


ํŒจํ„ด 2: AWS Budgets Actions (์˜ˆ์‚ฐ ์ดˆ๊ณผ ์‹œ ์ž๋™ ์ฐจ๋‹จ)

AWS Budgets (์ž„๊ณ„๊ฐ’ 80% ๋„๋‹ฌ)
        โ”‚
        โ–ผ
 Budgets Actions
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”
  โ–ผ           โ–ผ
IAM Policy  EC2 ์ค‘์ง€
(๊ถŒํ•œ ์ œํ•œ)   (๋น„์šฉ ์ฐจ๋‹จ)

ํ‚ค์›Œ๋“œ: โ€œ์ž„๊ณ„๊ฐ’ ์ดˆ๊ณผ ์‹œ ์ž๋™ ์กฐ์น˜โ€ + โ€œ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ ์ฐจ๋‹จโ€


ํŒจํ„ด 3: ํ†ตํ•ฉ ๋นŒ๋ง + Compute Savings Plans ๊ณต์œ 

AWS Organizations ๊ด€๋ฆฌ ๊ณ„์ •
  โ”œโ”€โ”€ ๊ฐœ๋ฐœ ๊ณ„์ •
  โ”œโ”€โ”€ ์Šคํ…Œ์ด์ง• ๊ณ„์ •
  โ””โ”€โ”€ ํ”„๋กœ๋•์…˜ ๊ณ„์ •
         โ”‚
Compute Savings Plans (๊ด€๋ฆฌ ๊ณ„์ • ๊ตฌ๋งค)
โ†’ ์ž๋™์œผ๋กœ ์กฐ์ง ์ „์ฒด ๊ณ„์ •์— ํ• ์ธ ์ ์šฉ

ํ‚ค์›Œ๋“œ: โ€œ์—ฌ๋Ÿฌ ๊ณ„์ • ํ†ตํ•ฉ ๋น„์šฉ ๊ด€๋ฆฌโ€ + โ€œํ• ์ธ ๊ณต์œ โ€ + โ€œํ†ตํ•ฉ ๋นŒ๋งโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. Cost Explorer์™€ AWS Budgets์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜๋ผ. ๊ฐ๊ฐ ์–ธ์ œ ์“ฐ๋Š”๊ฐ€?
  2. Compute Savings Plans์™€ EC2 Instance Savings Plans์˜ ์ฐจ์ด๋Š”?
  3. AWS Organizations ํ†ตํ•ฉ ๋นŒ๋ง์—์„œ Savings Plans ํ• ์ธ์ด ๊ณต์œ ๋˜๋Š” ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๋ผ.
  4. Cost Anomaly Detection์€ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๊ฐ€? AWS Budgets์™€์˜ ์ฐจ์ด๋Š”?
  5. ๋ถ€์„œ๋ณ„ ๋น„์šฉ์„ ์ถ”์ ํ•˜๋ ค๋ฉด ์–ด๋–ค AWS ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

# 7.2 ์žฌํ•ด ๋ณต๊ตฌ(DR) ๋ฐ ๋ฐฑ์—… ์ „๋žต

๐Ÿ“Œ ํ•ต์‹ฌ ์š”์•ฝ

  • RPO (Recovery Point Objective):ย ๋ฐ์ดํ„ฐ ์†์‹คย ํ—ˆ์šฉ ์‹œ๊ฐ„. (์˜ˆ: 15๋ถ„ ์ „ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ๋ณต๊ตฌ ๊ฐ€๋Šฅ)

  • RTO (Recovery Time Objective):ย ์„œ๋น„์Šค ์ค‘๋‹จย ํ—ˆ์šฉ ์‹œ๊ฐ„. (์˜ˆ: ์žฅ์•  ๋ฐœ์ƒ ํ›„ 1์‹œ๊ฐ„ ๋‚ด ๋ณต๊ตฌ ์™„๋ฃŒ)

  • ์„ค๊ณ„ ์›์น™: RTO/RPO๊ฐ€ ์งง์„์ˆ˜๋ก ๋น„์šฉ์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•จ. ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ โ€˜์ตœ์†Œ ๋น„์šฉโ€™ ํ˜น์€ โ€˜์ตœ์ € ์ง€์—ฐ ์‹œ๊ฐ„โ€™ ํ‚ค์›Œ๋“œ์— ๋”ฐ๋ผ ์ „๋žต ์„ ํƒ.


๐Ÿ› ๏ธ 1. ์žฌํ•ด ๋ณต๊ตฌ(DR) 4๋Œ€ ์ „๋žต ๋น„๊ต

์‹œํ—˜ ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” โ€œ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„โ€๊ณผ โ€œ์˜ˆ์‚ฐโ€์— ๋”ฐ๋ผ ์ •๋‹ต์ด ๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค.

์ „๋žต์„ค๋ช…๋น„์šฉRTO/RPOํ•ต์‹ฌ ํ‚ค์›Œ๋“œโŒ ์˜ค๋‹ต์ด ๋˜๋Š” ์กฐ๊ฑด
Backup & Restore๋ฐ์ดํ„ฐ๋ฅผ S3 ๋“ฑ์— ๋ฐฑ์—…ํ•˜๊ณ  ํ•„์š” ์‹œ ๋ณต์›์ตœ์ €์‹œ๊ฐ„ ๋‹จ์œ„โ€๋น„์šฉ ์ตœ์ ํ™”โ€, โ€œ๊ธด ๊ฐ€๋™ ์ค‘์ง€ ํ—ˆ์šฉ""์ˆ˜๋ถ„ ๋‚ด ๋ณต๊ตฌโ€ ์š”๊ตฌ์ธ๋ฐ ์„ ํƒ
Pilot LightDB๋งŒ ์‹ค์‹œ๊ฐ„ ๋ณต์ œ, ์•ฑ ์„œ๋ฒ„๋Š” ๊บผ๋‘ ๋‚ฎ์Œ์ˆ˜๋ถ„ ๋‹จ์œ„โ€ํ•ต์‹ฌ ์ž์›๋งŒ ๊ฐ€๋™โ€, โ€œCloudFormationโ€Warm Standby์™€ ํ˜ผ๋™ (์•ฑ ์„œ๋ฒ„ ๋ฏธ๊ฐ€๋™์ด ์ฐจ์ด)
Warm Standby์ „์ฒด ์‹œ์Šคํ…œ์„ ์ตœ์†Œ ์‚ฌ์–‘์œผ๋กœ ํ•ญ์ƒ ๊ฐ€๋™์ค‘๊ฐ„์ดˆ~๋ถ„ ๋‹จ์œ„โ€์ถ•์†Œ๋œ ์šฉ๋Ÿ‰(Scaled-down)โ€ (Q273)โ€œ์ฆ‰์‹œ ๋ณต๊ตฌ(์ œ๋กœ ๋‹ค์šดํƒ€์ž„)โ€ ์š”๊ตฌ์ธ๋ฐ ์„ ํƒ
Multi-site๋‘ ๋ฆฌ์ „์—์„œ 100% ์šฉ๋Ÿ‰์œผ๋กœ ๋™์‹œ ๊ฐ€๋™์ตœ๊ณ ์ฆ‰์‹œโ€์ œ๋กœ ๋‹ค์šดํƒ€์ž„โ€, โ€œ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šคโ€๋น„์šฉ ์ตœ์†Œํ™” ๋ฌธ์ œ์ธ๋ฐ ์„ ํƒ

๐Ÿ’พ 2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์ €์žฅ์†Œ DR

โœ… Amazon Aurora Global Database (Q217, Q273, Q343)

  • ํŠน์ง•: ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ ์ง€์—ฐ 1์ดˆ ๋ฏธ๋งŒ.

  • RTO/RPO: SAA ์‹œํ—˜์—์„œย ๊ฐ€์žฅ ๋น ๋ฅธ DR ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•  ๋•Œ ์ •๋‹ต.

  • ๋™์ž‘: ์žฅ์•  ์‹œ ๋ณด์กฐ ๋ฆฌ์ „์„ ์ฝ๊ธฐ/์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ณธ ๋ฆฌ์ „์œผ๋กœ ์ฆ‰์‹œ ์Šน๊ฒฉ.

โœ… S3 ๊ต์ฐจ ๋ฆฌ์ „ ๋ณต์ œ (CRR) (Q1, Q621)

  • ์šฉ๋„: ๊ทœ์ • ์ค€์ˆ˜ ๋˜๋Š” ์ง€๋ฆฌ์  ๊ทผ์ ‘์„ฑ์„ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ฆฌ์ „์œผ๋กœ ๋ฐ์ดํ„ฐ ์ž๋™ ๋ณต์ œ.

  • ์„ค๊ณ„: ์›๋ณธ ๋ฒ„ํ‚ท๊ณผ ๋Œ€์ƒ ๋ฒ„ํ‚ท ๋ชจ๋‘ย ๋ฒ„์ „ ๊ด€๋ฆฌ(Versioning)ย ํ™œ์„ฑํ™” ํ•„์ˆ˜.

โœ… AWS Backup (Q178, Q312, Q508, Q279)

  • ์šฉ๋„: RDS, EBS, EFS, DynamoDB ๋“ฑ์˜ ๋ฐฑ์—…์„ ์ค‘์•™์—์„œ ์ž๋™ํ™”.

  • ๋ณด์•ˆ:ย AWS Backup Vault Lock์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—… ์‚ญ์ œ ๋ฐฉ์ง€ (๊ทœ์ • ์ค€์ˆ˜).


๐Ÿ› ๏ธ ๋ฌธ์ œ ๋ถ„์„์œผ๋กœ ๋ณธ ์„ค๊ณ„ ๋กœ์ง (์˜ค๋‹ต ๋…ธํŠธ์šฉ)

โœ… ์‚ฌ๋ก€ 1: ์ตœ์†Œํ•œ์˜ ๋ฆฌ์†Œ์Šค๋กœ 4์‹œ๊ฐ„ ๋‚ด ๋ณต๊ตฌ (Q274, Q305)

  • ๋ฌธ์ œ: ํ‰์†Œ์—๋Š” ๋ˆ์„ ์•ˆ ์“ฐ๊ณ  ์‹ถ์ง€๋งŒ, ์žฅ์•  ๋‚˜๋ฉด 4์‹œ๊ฐ„ ์•ˆ์— ์‚ด๋ ค๋‚ด์•ผ ํ•จ.

  • ํ•ด๊ฒฐ:ย AMI ๋ณต์ œ + CloudFormation.

  • ์ด์œ : ํ‰์†Œ์—๋Š” ์„œ๋ฒ„๋ฅผ ์ผœ๋‘์ง€ ์•Š์•„ ๋น„์šฉ์ด ๊ฑฐ์˜ ์•ˆ ๋“ค๊ณ , ์žฅ์•  ์‹œ ํ…œํ”Œ๋ฆฟ(IaC)์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ธํ”„๋ผ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ.

โœ… ์‚ฌ๋ก€ 2: 30๋ถ„ ๋ฏธ๋งŒ์˜ ๋‹ค์šดํƒ€์ž„ ํ—ˆ์šฉ (Q217)

  • ๋ฌธ์ œ: ์„œ๋น„์Šค๊ฐ€ ์ค‘์š”ํ•˜์ง€๋งŒ 24์‹œ๊ฐ„ ๋‘ ๊ณณ์„ ๋‹ค ์ผœ๋‘๊ธฐ์—” ๋น„์Œˆ.

  • ํ•ด๊ฒฐ:ย Aurora ๊ธ€๋กœ๋ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค + Route 53 ์žฅ์•  ์กฐ์น˜(Failover).

  • ์ด์œ : ๋ฐ์ดํ„ฐ๋Š” ์‹ค์‹œ๊ฐ„ ๋ณต์ œํ•˜๊ณ , ์žฅ์•  ์‹œ์—๋งŒ ๋ณด์กฐ ๋ฆฌ์ „์„ ์Šน๊ฒฉ์‹œ์ผœ ๊ฐ€๋™.

โœ… ์‚ฌ๋ก€ 3: ์ •์  ์˜ค๋ฅ˜ ํŽ˜์ด์ง€ ๋…ธ์ถœ (Q545)

  • ๋ฌธ์ œ: ๋ฉ”์ธ ์„œ๋ฒ„๊ฐ€ ์ฃฝ์—ˆ์„ ๋•Œ ์‚ฌ์šฉ์ž์—๊ฒŒ S3์— ์ €์žฅ๋œ ์ ๊ฒ€ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์Œ.

  • ํ•ด๊ฒฐ:ย Route 53 ์žฅ์•  ์กฐ์น˜ ๋ผ์šฐํŒ…(Failover)ย ์ •์ฑ… ์„ค์ •.

  • ๊ตฌ์„ฑ: Primary(ALB) / Secondary(S3 Static Website).


๐Ÿ’ก ํ•œ ์ค„ ๊ณต์‹ (SAA ๋“์  ํ‚ค์›Œ๋“œ)

  • โ€œ๊ฐ€์žฅ ์งง์€ RTO/RPOโ€ย =ย Aurora Global Database

  • โ€œ์ตœ์†Œ ๋น„์šฉ์˜ ๋ฐฑ์—…โ€ย =ย S3 Glacier Deep Archive

  • โ€œ๋ฐฑ์—… ์‚ญ์ œ ๋ฐฉ์ง€ (WORM)โ€ย =ย AWS Backup Vault Lockย ๋˜๋Š”ย S3 Object Lock

  • โ€œ์ธํ”„๋ผ ๋ณต์ œ ์ž๋™ํ™”โ€ย =ย AWS CloudFormation

  • โ€œ๋ฆฌ์ „ ๊ฐ„ ์ž๋™ ์žฅ์•  ์กฐ์น˜โ€ = Route 53 Failover Routing


๐Ÿšจ 7.2 ํ˜ผ๋™ ํฌ์ธํŠธ (DR ์ „๋žต ์ „์šฉ)

์ด๊ฒƒ๋งŒ ํ‹€๋ฆฌ์ง€ ๋งˆ์„ธ์š”

  • Pilot Light vs Warm Standby: Pilot Light = DB๋งŒ ์ผœ๋‘ , ์•ฑ์€ ๊บผ๋‘ . Warm Standby = ์ „์ฒด ์‹œ์Šคํ…œ ์ตœ์†Œ ์‚ฌ์–‘์œผ๋กœ ์ผœ๋‘ 
  • RPO vs RTO: RPO = ๋ฐ์ดํ„ฐ ์†์‹ค ํ—ˆ์šฉ๋Ÿ‰. RTO = ๋ณต๊ตฌ ์‹œ๊ฐ„ ๋ชฉํ‘œ. โ€œ๋ฐ์ดํ„ฐ ์†์‹ค ์ตœ์†Œํ™”โ€ = RPOโ†“, โ€œ๋น ๋ฅธ ๋ณต๊ตฌโ€ = RTOโ†“
  • Aurora Global vs Multi-AZ: Aurora Global = ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ (DR). Multi-AZ = ๋‹จ์ผ ๋ฆฌ์ „ ๊ณ ๊ฐ€์šฉ์„ฑ
  • โ€œ๊ฐ€์žฅ ์ €๋ ดํ•œ DRโ€: Backup & Restore. Pilot Light๋Š” DB ๋ณต์ œ ๋น„์šฉ ๋ฐœ์ƒ
  • S3 CRR ์กฐ๊ฑด: ๊ต์ฐจ ๋ฆฌ์ „ ๋ณต์ œ ์‹œ ์–‘์ชฝ ๋ฒ„ํ‚ท ๋ชจ๋‘ ๋ฒ„์ „ ๊ด€๋ฆฌ ํ™œ์„ฑํ™” ํ•„์ˆ˜

๐Ÿ”€ 7.2 ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค ์กฐํ•ฉ ํŒจํ„ด (๊ณ ๋“์  ํ•„์ˆ˜)

ํŒจํ„ด 1: Pilot Light DR ์•„ํ‚คํ…์ฒ˜

[์šด์˜ ๋ฆฌ์ „ - ap-northeast-2]    [DR ๋ฆฌ์ „ - us-east-1]
  ALB + EC2 (Active)               EC2 (๊บผ์ง)
       โ”‚                                โ”‚
       โ–ผ                                โ–ผ
  RDS Primary โ”€โ”€โ”€โ”€ ์‹ค์‹œ๊ฐ„ ๋ณต์ œ โ”€โ”€โ–บ RDS Replica
                                   (์žฅ์•  ์‹œ ์Šน๊ฒฉ)
  Route 53 Failover
  โ”œโ”€โ”€ Primary: ์šด์˜ ๋ฆฌ์ „ ALB
  โ””โ”€โ”€ Secondary: DR ๋ฆฌ์ „ ALB (์žฅ์•  ์‹œ ์ž๋™ ์ „ํ™˜)

ํ‚ค์›Œ๋“œ: โ€œํ•ต์‹ฌ ์ž์›๋งŒ ์ƒ์‹œ ๊ฐ€๋™โ€ + โ€œ๋‚ฎ์€ ๋น„์šฉโ€ + โ€œ์ˆ˜๋ถ„ ๋‚ด ๋ณต๊ตฌโ€


ํŒจํ„ด 2: Aurora Global Database (์ œ๋กœ RPO ๋ชฉํ‘œ)

[๊ธฐ๋ณธ ๋ฆฌ์ „]                    [๋ณด์กฐ ๋ฆฌ์ „]
Aurora Primary โ”€โ”€(1์ดˆ ๋ฏธ๋งŒ)โ”€โ”€โ–บ Aurora Secondary
(์ฝ๊ธฐ/์“ฐ๊ธฐ)                    (์ฝ๊ธฐ ์ „์šฉ)
     โ”‚
     โ””โ”€โ”€ ์žฅ์•  ๋ฐœ์ƒ ์‹œ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ ๋ณด์กฐ ๋ฆฌ์ „ ์Šน๊ฒฉ
                        Route 53 Failover ์ž๋™ ์ „ํ™˜

ํ‚ค์›Œ๋“œ: โ€œRPO 1์ดˆ ๋ฏธ๋งŒโ€ + โ€œ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šคโ€ + โ€œ๋ฆฌ์ „ ์žฅ์•  ๋Œ€๋น„โ€


ํŒจํ„ด 3: Warm Standby + Auto Scaling ํ™•์žฅ

[์šด์˜ ๋ฆฌ์ „]                    [DR ๋ฆฌ์ „]
EC2 ASG (Full ์šฉ๋Ÿ‰)            EC2 ASG (์ตœ์†Œ 1๋Œ€)
     โ”‚                              โ”‚
ALB (Active)                   ALB (Standby)
     โ”‚                              โ”‚
RDS Primary โ”€โ”€โ”€โ”€โ”€ ๋ณต์ œ โ”€โ”€โ”€โ”€โ”€โ”€โ–บ RDS Read Replica
Route 53 Health Check
โ”œโ”€โ”€ ์ •์ƒ: ์šด์˜ ๋ฆฌ์ „ ๋ผ์šฐํŒ…
โ””โ”€โ”€ ์žฅ์• : DR ASG ํ™•์žฅ โ†’ ํŠธ๋ž˜ํ”ฝ ์ „ํ™˜

ํ‚ค์›Œ๋“œ: โ€œ์ถ•์†Œ๋œ ์šฉ๋Ÿ‰ ์ƒ์‹œ ์šด์˜โ€ + โ€œ๋น ๋ฅธ ํ™•์žฅโ€ + โ€œ์ดˆ~๋ถ„ ๋‹จ์œ„ RTOโ€


๐Ÿ”— ์—ฐ๊ฒฐ ๋ฌธ์„œ (๊ด€๋ จ ์ฃผ์ œ)


โœ๏ธ ์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ (๋‹ต ๋ง๋กœ ์„ค๋ช…ํ•ด๋ณด๊ธฐ)

์‚ฌ์šฉ๋ฒ•: ๋‹ต์„ ๋ณด์ง€ ๋ง๊ณ  ์†Œ๋ฆฌ ๋‚ด์–ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”. ๋ง‰ํžˆ๋Š” ํ•ญ๋ชฉ์ด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

  1. DR 4๋Œ€ ์ „๋žต์„ ๋น„์šฉ ์ˆœ์„œ๋กœ ๋‚˜์—ดํ•˜๊ณ  ๊ฐ๊ฐ์˜ RTO/RPO ํŠน์„ฑ์„ ์„ค๋ช…ํ•˜๋ผ.
  2. Pilot Light์™€ Warm Standby์˜ ๊ฒฐ์ •์  ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€?
  3. RPO์™€ RTO์˜ ์ฐจ์ด๋ฅผ ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜๋ผ.
  4. Aurora Global Database๋ฅผ ์“ธ ๋•Œ์™€ Multi-AZ๋ฅผ ์“ธ ๋•Œ์˜ ์ฐจ์ด๋Š”?
  5. Route 53 Failover ๋ผ์šฐํŒ…์—์„œ Primary/Secondary์— ๊ฐ๊ฐ ๋ฌด์—‡์„ ๋†“๋Š”๊ฐ€?