์ 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) | RAM | SAP, ์ธ๋ฉ๋ชจ๋ฆฌ DB, ์คํ์์น (Q219) | CPU ์ง์ฝ์ ์ฐ์ฐ๋ง ํ์ํ ๋ |
| I / D / H (Storage) | ๋ก์ปฌ IOPS | NoSQL 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๋ ์ด์โ โ RI vs Savings Plans ์ฐจ์ด๋?
- HPC ์ํฌ๋ก๋์์ 1ms ๋ฏธ๋ง ์ง์ฐ์๊ฐ์ด ํ์ํ๋ค โ ๋ฐฐ์น ๊ทธ๋ฃน ์ ํ๊ณผ ์ด์ ๋?
- EC2๊ฐ S3 ํ์ผ์ ์ฌ๋ ค์ผ ํ ๋ ๊ฐ์ฅ ์์ ํ ๋ฐฉ๋ฒ์? Access Key ๋ฐฉ์์ ๋ฌธ์ ์ ์?
- ํน์ ์๊ฐ์๋ง ํธ๋ํฝ์ด ๋ชฐ๋ฆฐ๋ค โ 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 ๊ณผ๋ถํ ๋ฐฉ์งโ + โํธ๋ํฝ ๊ธ์ฆโ + โ๋ฐ์ดํฐ ์ ์ค ๋ฐฉ์งโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- ์ด๋น ์๋ฐฑ๋ง ๊ฑด์ UDP ํธ๋ํฝ ์ฒ๋ฆฌ โ ALB vs NLB, ์ด์ ๋?
- โ๊ณ ๊ฐ์ฉ์ฑโ + โ์ธ์ ์ ์งโ๊ฐ ํ์ํ ๋ โ Sticky Session์ด ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ค๊ณ๋?
- CPU๊ฐ ๋ฎ์๋ฐ ์๋ต์ด ๋๋ฆฌ๋ค โ ์ด๋๋ฅผ ๋จผ์ ์์ฌํด์ผ ํ๋๊ฐ?
- ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๊ธฐ 30๋ถ ์ ์ ๋ฏธ๋ฆฌ ์๋ฒ๋ฅผ ๋๋ ค์ผ ํ๋ค โ ์ด๋ค ASG ์ ์ฑ , ์ด์ ๋?
- 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] โ ์ด๋ฉ์ผ ๋ฐ์ก
ํค์๋: โ์ฃผ๊ธฐ์ ์์ โ + โ์๋ฒ ๋ถํ์โ + โ์ด์ ์ค๋ฒํค๋ ์์โ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- Lambda๊ฐ S3์ ์ ๊ทผ ๋ชป ํ๋ค โ ๊ฐ์ฅ ๋จผ์ ํ์ธํ ๊ฒ๊ณผ ์ด์ ๋?
- ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ โ์์๋๋กโ ์ฒ๋ฆฌํด์ผ ํ๋ค โ ์ด๋ค ์๋น์ค ์กฐํฉ, SQS Standard๊ฐ ์ ๋๋ ์ด์ ๋?
- Lambda๋ฅผ VPC์ ๋ฃ์๋๋ ์ธ๋ถ API ํธ์ถ์ด ์ ๋๋ค โ ์์ธ๊ณผ ํด๊ฒฐ์ฑ ์?
- Java Lambda๊ฐ ์ฝ๋ ์คํํธ ๋๋ฌธ์ ๋๋ฆฌ๋ค โ Provisioned Concurrency vs SnapStart ์ฐจ์ด๋?
- ์ฒ๋ฆฌ ์๊ฐ์ด 20๋ถ์ธ ์์ ์ Lambda๋ก ํ ์ ์๋๊ฐ? ๋์์ ๋ฌด์์ธ๊ฐ?
# 1.4 ์ปจํ ์ด๋ ์๋น์ค (ECS, EKS, Fargate)
๐ ํต์ฌ ์์ฝ
-
๋ชฉ์ : ์ ํ๋ฆฌ์ผ์ด์ ์ ํจํค์งํ์ฌ ์ผ๊ด๋ ํ๊ฒฝ์์ ์คํ ๋ฐ ํ์ฅ.
-
์ค๊ณ ์์น:
-
์ด์ ์ค๋ฒํค๋ ์ต์ํ: ์๋ฒ ๊ด๋ฆฌ ์์ด ์ปจํ ์ด๋๋ง ์คํํ๋ ค๋ฉด Fargate ์ ํ.
-
๋ง์ดํฌ๋ก์๋น์ค ๋ถํ : ๋ชจ๋๋ฆฌ์ ์ฑ์ ์๊ฒ ๋๋์ด ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ (Q143, Q670).
-
์ด์์ฑ(Portability): ์คํ ์์ค ์ฟ ๋ฒ๋คํฐ์ค ํ์ค์ด ํ์ํ๋ฉด EKS ์ ํ.
-
๐๏ธ 1. ์๋น์ค๋ณ ๋น๊ต (๋ฌด์์ ์ธ ๊ฒ์ธ๊ฐ?)
| ์๋น์ค | ํน์ง | ์ ๋ต ํค์๋ | โ ์ค๋ต์ด ๋๋ ์กฐ๊ฑด |
|---|---|---|---|
| Amazon ECS | AWS ์ ์ฉ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ | 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 Type | EC2 ์ธ์คํด์ค๋ฅผ ์ง์ ๊ด๋ฆฌ | ๋น์ฉ ์ต์ ํ(Reserved EC2), ํน์ ์ธ์คํด์ค ํ์ ํ์ | โ์ธํ๋ผ ๊ด๋ฆฌ ์ฑ ์์ ์ํ์ง ์์โ ์กฐ๊ฑด ์กด์ฌ ์ |
| Fargate Launch Type | ์๋ฒ ์์ด ์ปจํ ์ด๋ ๋จ์ ์คํ | โ์ธํ๋ผ ํ๋ก๋น์ ๋ ๋ฐ ๊ด๋ฆฌ ์ต์ํโ (Q58, Q178) | GPU ์ธ์คํด์ค๋ ํน์ ํ๋์จ์ด ์๊ตฌ์ฌํญ์ด ์์ ๋ |
๐พ 3. ์ปจํ ์ด๋ ์คํ ๋ฆฌ์ง ๋ฐ ๋คํธ์ํฌ
| ์๊ตฌ์ฌํญ | ํด๊ฒฐ์ฑ | โ ์ค๋ต ๋ฐ ์ด์ |
|---|---|---|
| ์ฌ๋ฌ ์ปจํ ์ด๋ ์ธ์คํด์ค๊ฐ ํ์ผ ๊ณต์ | Amazon EFS (Q566, Q691) | EBS๋ ๋จ์ผ ์ธ์คํด์ค ์ฐ๊ฒฐ๋ง ๊ฐ๋ฅ |
| ๋จ์ผ ์ปจํ ์ด๋์ ๋ก์ปฌ ์ ์ฅ์ | EBS | EFS๋ NFS ๊ณต์ ๋ชฉ์ , ๋จ์ผ ๊ณ ์ฑ๋ฅ์๋ EBS |
| ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ ๊ฒฝ๋ก/ํธ์คํธ ๋ผ์ฐํ | ALB (Q112, Q657) | NLB๋ L4 โ HTTP ๊ฒฝ๋ก ์ธ์ ๋ถ๊ฐ |
| ๊ณ ์ฑ๋ฅ / ๊ณ ์ IP ํ์ | NLB | ALB๋ ๊ณ ์ 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.2 Auto Scaling & ELB (์ปจํ ์ด๋ ๋ถํ ๋ถ์ฐ)
-
1.3 ์๋ฒ๋ฆฌ์ค ์ปดํจํ (Lambda) (ํจ์ vs ์ปจํ ์ด๋ ์ ํ)
-
2.2 ๊ณต์ ํ์ผ ์คํ ๋ฆฌ์ง (EFS, FSx) (๋ฐ์ดํฐ ์ง์์ฑ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- ์๋ฒ ํจ์น/์ฉ๋ ๊ด๋ฆฌ๋ฅผ ์์ ์ ํ๊ณ ์ถ๋ค โ Fargate๋ฅผ ์ฐ๋ ์ด์ ๋ฅผ EC2 Launch Type๊ณผ ๋น๊ตํด ์ค๋ช ํ๋ฉด?
- ๊ธฐ์กด ์คํ ์์ค K8s ๋๊ตฌ๋ฅผ ๊ณ์ ์จ์ผ ํ๋ค โ ECS๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- ์ฌ๋ฌ AZ์ ๊ฑธ์ณ ์๋ ECS ์์ ๋ค์ด ๋์ผ ํ์ผ์ ์ฝ๊ณ ์จ์ผ ํ๋ค โ EBS๊ฐ ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ ํ์?
- ํน์ ๊ฒฝ๋ก(/api/v1)์ ๋ฐ๋ผ ๋ค๋ฅธ ์ปจํ ์ด๋๋ก ์์ฒญ์ ๋ณด๋ด์ผ ํ๋ค โ NLB๊ฐ ์ ๋๋ ์ด์ ๋?
- 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)
-
์๋ช ์ฃผ๊ธฐ ์ ์ฑ (Lifecycle Policy):
-
์ ํ(Transition): ์์ฑ ํ 30์ผ ๋ค Standard-IA๋ก ์ด๋, 1๋ ๋ค Glacier๋ก ์ด๋ ๋ฑ (Q167, Q214).
-
๋ง๋ฃ(Expiration): ์ผ์ ๊ธฐ๊ฐ ํ ๊ฐ์ฒด ์๋ ์ญ์ .
-
-
๋ณต์ (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] โ ๋ฏผ๊ฐ ๋ฐ์ดํฐ(๊ฐ์ธ์ ๋ณด) ์๋ ๊ฐ์ง
ํค์๋: โ๋ฐ์ดํฐ ๋ณดํธโ + โ๊ท์ ์ค์โ + โ์ค์๋ก ์ญ์ ๋ฐฉ์งโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
5.3 ์ํ ํ์ง ๋ฐ ๋ณด์ ๊ฐ์ฌ (Macie, CloudTrail)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- โ์ก์ธ์ค ํจํด์ ๋ชจ๋ฅธ๋คโ โ Intelligent-Tiering์ด ์ ๋ต์ด๊ณ Glacier๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ผ์ง ๋ฒํท์์ ํ์ผ์ ์ญ์ ํ๋ฉด ์ค์ ๋ก ์ด๋ป๊ฒ ๋๋๊ฐ? ์์ ์ญ์ ํ๋ ค๋ฉด?
- โ๋ฐ์ดํฐ๋ฅผ ์ ๋ ์์ /์ญ์ ํ ์ ์์ด์ผ ํจโ โ ์ด๋ค ๊ธฐ๋ฅ, Compliance vs Governance ์ฐจ์ด๋?
- 30์ผ ํ Standard-IA, 1๋ ํ Deep Archive๋ก ์๋ ์ด๋์ํค๋ ค๋ฉด โ ์ด๋ป๊ฒ ์ค์ ํ๋๊ฐ?
- 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 | ํน์ง (ํค์๋) |
| ------ | ------ | ------ | ------ |
| EBS | Block | ๊ด๊ณ์์ | ๋จ์ผ AZ, ๋จ์ผ ์ธ์คํด์ค ์ ์ฉ |
| EFS | NFS | Linux | Multi-AZ, ์๋ ํ์ฅ (Q5, Q566) |
| FSx (Windows) | SMB | Windows | AD ํตํฉ, 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 ์๋ฆฌ์ฆ
-
Windows File Server:
- ํค์๋: โWindows ํธํโ, โSMB ์ ์ฉโ, โAD ์๊ฒฉ ์ฆ๋ช ์ฌ์ฉโ (Q64, Q186).
-
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.1 Amazon EC2 ๋ฐ ์ปดํจํ (EBS ๋น๊ต)
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (Storage Gateway์ ์ข ์ฐฉ์ง)
-
7.2 ์ฌํด ๋ณต๊ตฌ(DR) ์ ๋ต (๋ฐฑ์ ๋ฐ ๋ณต์)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- ์ฌ๋ฌ Linux EC2๊ฐ ๊ฐ์ ํ์ผ์ ๊ณต์ ํด์ผ ํ๋ค โ EBS๊ฐ ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ ํ์?
- Windows ์๋ฒ + Active Directory ์ธ์ฆ ํ์ โ EFS๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- ML ํ์ต ๋ฐ์ดํฐ๋ฅผ S3์์ ๊ฐ์ ธ์ ์ด๊ณ ์์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ๋ค โ ์ด๋ค ์๋น์ค, ์ด์ ๋?
- ์จํ๋ ๋ฏธ์ค์์ S3๋ฅผ ๋คํธ์ํฌ ๋๋ผ์ด๋ธ์ฒ๋ผ ๋ง์ดํธํ๊ณ ์ถ๋ค โ ์ด๋ค Gateway ์ ํ?
- ์จํ๋ ๋ฏธ์ค 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)
| ์ฅ์น๋ช | ์ฉ๋ (์ต๋) | ํน์ง (ํค์๋) | โ ์ค๋ต์ด ๋๋ ์กฐ๊ฑด |
|---|---|---|---|
| Snowcone | 8TB ~ 14TB | ์๊ณ ๊ฐ๋ฒผ์, ์ด์ ํ ํ๊ฒฝ, IoT (Q125) | ์์ญ TB ์ด์ ๋๋ ์ด์ ์ (Snowball ํ์) |
| Snowball Edge | 80TB ~ 100TB | ๋๊ท๋ชจ ์ด์ , EC2 ์คํ ๊ฐ๋ฅ (Q6, Q215) | ๋คํธ์ํฌ ์ํ ์ํธ + ์ ๊ธฐ ๋๊ธฐํ ํ์ ์ (DataSync) |
| Snowmobile | 100PB | ์ด๋ํ ๋ฐ์ดํฐ์ผํฐ ์ด์ , ํธ๋ญ ์ด๋ | ์ 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] โ ์๊ท๋ชจ, ๋งค์ฐ ์ด์
ํ ํ๊ฒฝ
ํค์๋: โ์ธํฐ๋ท ์๋ ํ๊ฒฝโ + โ์ฃ์ง ์ปดํจํ โ + โ๋ฐ์ดํฐ ์์งโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (์ ์ก๋ ๋ฐ์ดํฐ์ ๋ชฉ์ ์ง)
-
2.2 ๊ณต์ ํ์ผ ์คํ ๋ฆฌ์ง (EFS, FSx) (์ ์ก๋ ๋ฐ์ดํฐ์ ๋ชฉ์ ์ง)
-
7.1 ๋น์ฉ ์ต์ ํ ์ ๋ต (Snowball vs ์ ์ฉ์ ๋น์ฉ ๋น๊ต)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- 10PB ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ฒจ์ผ ํ๋ค โ Snowball vs Snowmobile ์ ํ ๊ธฐ์ค์? DataSync๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- ์จํ๋ ๋ฏธ์ค NAS ๋ณ๊ฒฝ๋ถ๋ง ๋งค์ผ ๋ฐค S3๋ก ๋ฐฑ์ โ Snowball์ด ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ ํ์?
- ์ธ๋ถ ์ ์ฒด๊ฐ SFTP๋ก ํ์ผ์ ์ฌ๋ ค์ผ ํ๋ค โ EC2์ SFTP ์๋ฒ ๊ตฌ์ถ์ด ์ค๋ต์ธ ์ด์ ๋?
- ์ธํฐ๋ท์ด ์๋ ๊ณต์ฅ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋์ค์ AWS๋ก ์ฌ๋ ค์ผ ํ๋ค โ ์ด๋ค ์๋น์ค, ์?
- ์ด๊ธฐ 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 ์ํธํ ๋ฐฉ๋ฒ:
-
DB ์ค๋ ์ท ์์ฑ
-
์ค๋ ์ท ๋ณต์ฌ ์ โ์ํธํโ ์ ํ
-
์ํธํ๋ ์ค๋ ์ท์ผ๋ก 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.3 ์๋ฒ๋ฆฌ์ค ์ปดํจํ (Lambda) (RDS Proxy์์ ๊ด๊ณ)
-
3.2 Amazon Aurora (RDS์ ์์ ํธํ ์ ํ์ง)
-
5.2 AWS KMS & ๋ณด์ (DB ์ํธํ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- Multi-AZ์ Standby์ ์ฝ๊ธฐ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ผ ์ ์๋๊ฐ? ์ฝ๊ธฐ ๋ถ์ฐ์ ์ด๋ป๊ฒ ํ๋๊ฐ?
- โ๋ณด๊ณ ์ ์ฟผ๋ฆฌ๋ก ๋ฉ์ธ DB๊ฐ ๋๋ฆฌ๋คโ โ Read Replica๊ฐ ์ ๋ต์ธ ์ด์ , Multi-AZ๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- Lambda๊ฐ RDS์ ์ฐ๊ฒฐํ ๋ โToo many connectionsโ ์ค๋ฅ โ ์์ธ๊ณผ ํด๊ฒฐ์ฑ ์?
- ๊ธฐ์กด ์ํธํ๋์ง ์์ RDS๋ฅผ ์ํธํํ๋ ค๋ฉด โ ์ ํด๋ฆญ ํ ๋ฒ์ผ๋ก ์ ๋๋๊ฐ?
- ์ฐ๊ธฐ ์ฑ๋ฅ์ด ๋ถ์กฑํ๋ค โ 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์ ๋ถ๋ฆฌโ + โ๋น์ฉ ํจ์จโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
3.1 Amazon RDS (Aurora์ RDS์ ๋น๊ต)
-
7.2 ์ฌํด ๋ณต๊ตฌ(DR) ์ ๋ต (Global DB ํ์ฉ)
-
3.3 Amazon DynamoDB (๋น๊ด๊ณํ๊ณผ์ ์ ํ ๊ธฐ์ค)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- Aurora๊ฐ RDS๋ณด๋ค ์ฅ์ ์กฐ์น๊ฐ ๋น ๋ฅธ ์ด์ ๋? (์คํ ๋ฆฌ์ง ๊ตฌ์กฐ ์ฐจ์์์ ์ค๋ช )
- โ๋ฆฌ์ ์ฅ์ ์ 1๋ถ ์์ ์๋น์ค ๋ณต๊ตฌโ โ ์ด๋ค Aurora ๊ธฐ๋ฅ, ์ผ๋ฐ Read Replica๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- โํธ๋ํฝ์ด ๊ฐํ์ ์ด๊ณ ์์ธก ๋ถ๊ฐโ โ Aurora Serverless๊ฐ ์ ๋ต์ธ ์ด์ ๋?
- ๊ฐ๋ฐ ํ๊ฒฝ DB๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ค์ด์ผ ํ๋ค โ ์ค๋ ์ท ๋ณต์ vs Aurora Clone ์ฐจ์ด๋?
- 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) |
โ ํต์ฌ ๊ธฐ๋ฅ (๋ฌธ์ ํด๊ฒฐ ์ ๋ต)
-
DAX (DynamoDB Accelerator):
-
ํค์๋: โ์ฝ๊ธฐ ์ฑ๋ฅ ๊ทน๋ํโ, โ๋ง์ดํฌ๋ก์ด(ฮผs)ย ์ง์ฐ ์๊ฐโ, โ์ฝ๊ธฐ ์ง์ค์ ์ํฌ๋ก๋โ.
-
์ ํ๋ฆฌ์ผ์ด์ ์์ ์์ด ์ฝ๊ธฐ ์ฑ๋ฅ์ 10๋ฐฐ ์ด์ ํฅ์ (Q177, Q561).
-
-
DynamoDB Streams:
-
ํค์๋: โ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ํ์ ์กฐ์นโ, โLambda ์ฐ๋โ.
-
ํญ๋ชฉ์ด ์์ /์ญ์ ๋๋ฉด Lambda๋ฅผ ํธ๋ฆฌ๊ฑฐํ์ฌ ์ค์๊ฐ ์ฒ๋ฆฌ (Q400, Q490).
-
-
๊ธ๋ก๋ฒ ํ ์ด๋ธ (Global Tables):
- ํค์๋: โ๋ฉํฐ ๋ฆฌ์ ํ์ฑ-ํ์ฑ(Active-Active)โ, โ์ ์ธ๊ณ ์ฌ์ฉ์ ๋๊ธฐ ์๊ฐ ์ต์ํโ (Q507).
-
TTL (Time to Live):
-
ํค์๋: โ์ผ์ ๊ธฐ๊ฐ ํ ์๋ ์ญ์ โ, โ์ด์ ์ค๋ฒํค๋ ์ต์ํโ.
-
์ถ๊ฐ ๋น์ฉ์ด๋ ์์ ์์ด ์ค๋๋ ๋ฐ์ดํฐ ์๋ ์ ๋ฆฌ (Q196, Q214).
-
๐ง 2. Amazon ElastiCache (์บ์ฑ)
๊ด๊ณํ DB(RDS) ์์ ๋์ด ์ฑ๋ฅ์ ๋์ด๋ ์ฉ๋๋ก ์์ฃผ ๋์ต๋๋ค.
| ์์ง | ํน์ง | ์ฉ๋ (ํค์๋) |
| ------ | ------ | ------ |
| Redis | Multi-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 ์กฐํ ๋ถํโ + โ์๋ต ์๋ ๊ฐ์ โ + โ์์ฃผ ๋ฐ๋์ง ์๋ ๋ฐ์ดํฐโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
3.2 Amazon Aurora (Aurora Serverless์ ๋น๊ต)
-
6.1 Amazon SQS ๋ฐ ๋ฉ์์ง (SQS์ DynamoDB๋ฅผ ๊ฒฐํฉํ ๋ฒํผ๋ง ์ค๊ณ)
-
1.2 Auto Scaling & ELB (์ํ ๋น์ ์ฅ ์ค๊ณ๋ฅผ ์ํ ์ธ์ ๊ด๋ฆฌ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- ํธ๋ํฝ์ด 100๋ฐฐ๋ก ๊ฐ์๊ธฐ ํ๋ค โ On-demand๊ฐ ์ ๋ต์ธ ์ด์ , Provisioned๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- ์บ์ ์๋ฒ ์ฅ์ ์ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋์ด์ผ ํ๋ค โ Redis vs Memcached ์ ํ ์ด์ ๋?
- DynamoDB์์ ์ฝ๊ธฐ ์๋๋ฅผ ๋ง์ดํฌ๋ก์ด๋ก ์ค์ด๋ ค๋ฉด โ ElastiCache๊ฐ ์๋ DAX๋ฅผ ์ฐ๋ ์ด์ ๋?
- ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ Lambda๋ฅผ ์๋ ์คํํ๋ ค๋ฉด โ ์ด๋ค ๊ธฐ๋ฅ, SQS์์ ์ฐจ์ด๋?
- ๋ฉํฐ ๋ฆฌ์ 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 Spectrum | Redshift์์ S3 ์ง์ ์กฐํ | ์จ์ดํ์ฐ์ค + S3 ์์ ๋ฐ์ดํฐ ๊ฒฐํฉ ๋ถ์ |
| OpenSearch | ๋ก๊ทธ ๊ฒ์ ๋ฐ ๋ถ์ ์์ง | ์ค์๊ฐ ๋ก๊ทธ ๋ถ์, ํค์๋ ๊ฒ์, Kibana (Q117, Q611) |
Athena vs Redshift ์ ํ ๊ธฐ์ค
- โ์์ ์ฟผ๋ฆฌโ + โS3โ + โ์๋ฒ๋ฆฌ์คโ + โ์ด์ ์ค๋ฒํค๋ ์์โ โ Athena
- โ์ง์์ ์ธ ๋ถ์โ + โ๋ณต์กํ ์กฐ์ธโ + โํํ๋ฐ์ดํธโ โ Redshift
- โ์ค์๊ฐ ๋ก๊ทธ ๊ฒ์โ + โKibanaโ + โํค์๋ ๊ฒ์โ โ OpenSearch
๐ ๏ธ 2. ๋ฐ์ดํฐ ์ค๋น ๋ฐ ๋ณํ (ETL - AWS Glue)
โ Glue์ ํต์ฌ ๊ธฐ๋ฅ (Q103, Q214, Q688)
-
Glue Crawler: S3๋ DB๋ฅผ ์ค์บํ์ฌ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ์๋์ผ๋ก ์ฐพ์ย Data Catalog์ ์ ์ฅ.
-
Glue ETL ์์ : ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ ์ฉ ํ์(Parquet)์ผ๋ก ๋ณํํ๊ฑฐ๋ ๋ฏผ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ฑฐ.
-
Glue DataBrew: ์ฝ๋ฉ ์์ด ์๊ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌ ๋ฐ ์ ๊ทํ(Recipe ํ์ฉ).
-
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 ๋์๋ณด๋] โ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง, ํค์๋ ๊ฒ์
ํค์๋: โ์ค์๊ฐ ๋ก๊ทธ ๋ถ์โ + โํค์๋ ๊ฒ์โ + โ๋์๋ณด๋โ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ธฐ๋ฐ)
-
3.1 Amazon RDS (OLTP ๋ฐ์ดํฐ ์์ค)
-
6.3 ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ (Kinesis) (๋ถ์ ์ ๋ฐ์ดํฐ ์์ง)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- S3์ ์์ธ ๋ก๊ทธ๋ฅผ ๊ฐ์ฅ ์ ์ ๋ ธ๋ ฅ์ผ๋ก ๋ถ์ โ Athena ์ ๋ต, Redshift๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- Athena ์ฟผ๋ฆฌ ๋น์ฉ์ ์ค์ด๋ ค๋ฉด โ ์ด๋ค ํ์ผ ํ์๊ณผ ์ต์ ํ ๋ฐฉ๋ฒ์ ์จ์ผ ํ๋๊ฐ?
- ์ผ์ฃผ์ผ์ ํ ๋ฒ๋ง ๋ถ์ํ๋ค โ Redshift ํด๋ฌ์คํฐ ์ ์ง๊ฐ ๋นํจ์จ์ ์ธ ์ด์ ๋?
- CSV ํ์ผ์ Parquet์ผ๋ก ๋ณํํ๊ณ ์คํค๋ง๋ฅผ ์๋ ๊ด๋ฆฌ โ ์ด๋ค ์๋น์ค, ์?
- โ์ค์๊ฐ ๋ก๊ทธ + ํค์๋ ๊ฒ์ + ๋์๋ณด๋โ โ 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 Gateway | DB ์ธ์คํด์ค, ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ | 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)
-
Internet Gateway (IGW): VPC์ ์ธํฐ๋ท ๊ฐ์ ๊ฒ์ดํธ์จ์ด. (์๋ฐฉํฅ)
-
NAT Gateway: ํ๋ผ์ด๋น ์๋ธ๋ท์ ์ธ์คํด์ค๊ฐ ์ธํฐ๋ท์ ์ ์ํ๊ฒ ํด์ค. (๋จ๋ฐฉํฅ: ์์์ ๋ฐ์ผ๋ก๋ง)
- ์ค์: NAT Gateway ์์ฒด๋ย ํผ๋ธ๋ฆญ ์๋ธ๋ท์ ์์นํด์ผ ํจ (Q101, Q549, Q251).
-
Bastion Host (๋ฐฐ์ค์ฒ ํธ์คํธ): ํ๋ผ์ด๋น ์๋ธ๋ท์ ์๋ ์๋ฒ์ SSH/RDP ์ ์์ ํ๊ธฐ ์ํด ํผ๋ธ๋ฆญ ์๋ธ๋ท์ ๋๋ โ์ ํ ์๋ฒโ (Q73).
-
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.2 Auto Scaling & ELB (๋คํธ์ํฌ ๋ ์ด์์ ์ค๊ณ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- NAT Gateway๋ ์ด๋ ์๋ธ๋ท์ ๋ฐฐ์นํด์ผ ํ๋๊ฐ? ๋ผ์ฐํ ํ ์ด๋ธ์ ์ด๋ป๊ฒ ์ค์ ํ๋๊ฐ?
- ํน์ ์ ์ฑ IP๋ฅผ ์ฐจ๋จํด์ผ ํ๋ค โ SG๊ฐ ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์?
- SG๊ฐ Stateful์ด๋ผ๋ ๊ฒ์ด ์ค์ ๋ก ์๋ฏธํ๋ ๋ฐ๋? NACL๊ณผ ๋น๊ตํด ์ค๋ช ํ๋ฉด?
- ํ๋ผ์ด๋น ์๋ธ๋ท์ EC2๊ฐ yum update๋ฅผ ํ๋ ค๋ฉด โ ์ด๋ค ๊ตฌ์ฑ์ด ํ์ํ๊ฐ?
- 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 VPN | Direct 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]
ํค์๋: โ์ ์ฉ์ + ์ํธํโ + โ๊ท์ ์ค์โ + โ๋ณด์ ๊ฐํโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
7.2 ์ฌํด ๋ณต๊ตฌ(DR) ์ ๋ต (ํ์ด๋ธ๋ฆฌ๋ ๋ฐฑ์ ์ค๊ณ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- DX๋ฅผ ์ฐ๋ฉด ์๋์ผ๋ก ์ํธํ๊ฐ ๋๋๊ฐ? โ๋ณด์ + ์ผ๊ด๋ ์ฑ๋ฅโ์ ๋ชจ๋ ์ถฉ์กฑํ๋ ค๋ฉด?
- โ์ฆ์ ์ฐ๊ฒฐ ํ์โ โ VPN ์ ๋ต, DX ์ค๋ต์ธ ์ด์ ๋?
- VPC๊ฐ 10๊ฐ์ด๊ณ ๋ชจ๋ ์ฐ๊ฒฐํด์ผ ํ๋ค โ VPC Peering์ด ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ ํ์?
- DX ์ฅ์ ์์๋ ์๋น์ค๊ฐ ์ ์ง๋์ด์ผ ํ๋ค โ ์ด๋ค ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ฑํ๋๊ฐ?
- Transit Gateway์ VPC Peering ๋ ๋ค VPC๋ฅผ ์ฐ๊ฒฐํ๋๋ฐ ์ฐจ์ด์ ์?
# 4.3 VPC ์๋ํฌ์ธํธ ๋ฐ PrivateLink
๐ ํต์ฌ ์์ฝ
-
VPC Endpoint: ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด(IGW)๋ NAT ๊ฒ์ดํธ์จ์ด ์์ด VPC ๋ด๋ถ์์ AWS ์๋น์ค์ ํ๋ผ์ด๋นํ๊ฒ ํต์ ํ๊ฒ ํด์ฃผ๋ ์ฅ์น.
-
์ค๊ณ ์์น:
-
๋น์ฉ ์ ๊ฐ: NAT ๊ฒ์ดํธ์จ์ด์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋น์ฉ์ ์๋ผ๊ธฐ ์ํด ์ฌ์ฉ.
-
๋ณด์ ๊ฐํ: ํธ๋ํฝ์ด ๊ณต์ฉ ์ธํฐ๋ท์ ์ ๋ ํ์ง ์์ (AWS ๋ด๋ถ๋ง ์ด์ฉ).
-
๐ ๏ธ 1. ์๋ํฌ์ธํธ ์ ํ ๋น๊ต (๊ฐ์ฅ ์ค์)
์ํ ๋ฌธ์ ์์ย S3๋ DynamoDB๊ฐ ๋์ค๋๋,ย ๊ทธ ์ธ ์๋น์ค๊ฐ ๋์ค๋๋์ ๋ฐ๋ผ ๋ต์ด ๊ฐ๋ฆฝ๋๋ค.
| ์ ํ | Gateway Endpoint | Interface Endpoint |
| ------ | ------ | ------ |
| ๋์ ์๋น์ค | S3, DynamoDB (๋จ 2๊ฐ) | ๊ทธ ์ธ ๊ฑฐ์ ๋ชจ๋ ์๋น์ค (SQS, SNS ๋ฑ) |
| ๊ตฌํ ๋ฐฉ์ | ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฒฝ๋ก ์ถ๊ฐ | ENI ์์ฑ + ํ๋ผ์ด๋น IP |
| ๋น์ฉ | ๋ฌด๋ฃ | ์๊ฐ๋น + ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋น์ฉ |
| ๋ณด์ ์ค์ | ์๋ํฌ์ธํธ ์ ์ฑ | ๋ณด์ ๊ทธ๋ฃน์ผ๋ก ์ ์ด |
| ์จํ๋ ๋ฏธ์ค ์ ๊ทผ | ๋ถ๊ฐ (VPC ๋ด๋ถ๋ง) | ๊ฐ๋ฅ (DX/VPN ํตํด ์จํ๋ ๋ฏธ์ค์์๋ ์ฌ์ฉ) |
์ํ ํ (Q4, Q100, Q176, Q471)
โํ๋ผ์ด๋น ์๋ธ๋ท์์ย S3์ ์ ๊ทผํ ๋ย ๋น์ฉ์ ์ต์ํํ๊ณ ์ถ๋คโ โย Gateway Endpoint๊ฐ ๋ฌด์กฐ๊ฑด ์ ๋ต์ ๋๋ค. (์ธํฐํ์ด์ค ์๋ํฌ์ธํธ๋ S3๋ฅผ ์ง์ํ์ง๋ง ๋น์ฉ์ด ๋ฐ์ํ๋ฏ๋ก ์ค๋ต ์ฒ๋ฆฌ๋จ)
๐ 2. AWS PrivateLink
๋ค๋ฅธ 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 ์ค๋ต!)
ํจํด 3: IP ์ถฉ๋ ํ๊ฒฝ์์ ์๋น์ค ๊ณต์ (PrivateLink)
[๊ณต๊ธ์
์ฒด VPC] (10.0.0.0/16)
โโ [NLB] โ [PrivateLink Endpoint Service]
|
[๊ณ ๊ฐ VPC] (10.0.0.0/16) โ IP ๋์ญ ๋์ผํด๋ OK
โโ [Interface Endpoint] โ ํน์ ์๋น์ค๋ง ์ฐ๊ฒฐ
ํค์๋: โIP ์ถฉ๋โ + โํน์ ์๋น์ค๋ง ๊ณต์ โ + โVPC Peering ๋ถ๊ฐโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (VPC Endpoint ์ ์ฑ ๊ณผ ๊ฒฐํฉ)
-
4.1 VPC ๋ฐ ๋คํธ์ํฌ ๊ธฐ์ด (NAT Gateway์ ๋น๊ต)
-
5.1 IAM ๋ฐ Organizations (Endpoint Policy ๊ถํ ์ ์ด)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- โ๋น์ฉ ์ต์ํ + ํ๋ผ์ด๋น ์๋ธ๋ท์์ S3 ์ ๊ทผโ โ Interface Endpoint๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- Interface Endpoint ์์ฑ ์ ์ถ๊ฐ๋ก ํด์ผ ํ๋ ๋ณด์ ์ค์ ์? Gateway์์ ์ฐจ์ด๋?
- ์จํ๋ ๋ฏธ์ค ์๋ฒ์์ S3์ ํ๋ผ์ด๋นํ๊ฒ ์ ๊ทผํด์ผ ํ๋ค โ ์ด๋ Endpoint ์ ํ, ์ด์ ๋?
- IP ๋์ญ์ด ๊ฒน์น๋ ๋ VPC๋ฅผ ์ฐ๊ฒฐํด์ผ ํ๋ค โ VPC Peering์ด ์ ์ ๋๋๊ฐ? ๋์์?
- 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/OAI | S3 ์ ๊ทผ์ 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
๋ ๋ค ๊ธ๋ก๋ฒ ์๋น์ค์ด์ง๋ง ์ฉ๋๊ฐ ์์ ํ ๋ค๋ฆ ๋๋ค. ์ด ๊ตฌ๋ถ์ด ์ํ์ ๋น์ถ ์ค๋ต ํฌ์ธํธ์ ๋๋ค.
| ๋น๊ต ํญ๋ชฉ | CloudFront | Global 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 ๋ค์ด ์ ์๋ ์ ํ
ํค์๋: โ์ฌํด ๋ณต๊ตฌโ + โ๊ฐ๋ ์ค์ง ์ต์ํโ + โ์ ์ ์ค๋ฅ ํ์ด์งโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (CloudFront์ ์ค๋ฆฌ์ง)
-
4.1 VPC ๋ฐ ๋คํธ์ํฌ ๊ธฐ์ด (VPC์ ๊ธ๋ก๋ฒ ๋คํธ์ํฌ ์ฐ๊ฒฐ)
-
7.2 ์ฌํด ๋ณต๊ตฌ(DR) ์ ๋ต (Failover ์ ์ฑ ํ์ฉ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- โUDP + ๊ณ ์ IP + ๋ฆฌ์ ๊ฐ ๋น ๋ฅธ ์ ํโ โ CloudFront๊ฐ ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ ํ์?
- โ์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ์ต์์ ์ฑ๋ฅโ โ Geolocation์ด ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ ํ์?
- โํน์ ๊ตญ๊ฐ ์ฌ์ฉ์๋ ํน์ ๋ฆฌ์ ์ผ๋กโ โ Latency๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- S3 ์ ์ ์ฌ์ดํธ๋ฅผ CloudFront ๋ค์ ๋ฐฐ์นํ๋๋ฐ ์ง์ S3 URL ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค โ ์ด๋ป๊ฒ ๋ง๋๊ฐ?
- 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)
๋ฆฌ์์ค ์์ค์ ์ธ๋ฐํ ๊ถํ ๊ด๋ฆฌ ์ ๋ต์ ๋๋ค.
-
์ต์ ๊ถํ์ ์์น (Least Privilege):
-
์ฌ์ฉ์์๊ฒ ๊ผญ ํ์ํ ๊ถํ๋ง ๋ถ์ฌ. (Q476)
-
IAM Role์ ์ฌ์ฉํ์ฌ ์๋น์ค(EC2, Lambda)์ ๊ถํ ๋ถ์ฌ. (Q17, Q289)
-
-
๊ต์ฐจ ๊ณ์ ์ก์ธ์ค (Cross-Account Access):
-
ํด๊ฒฐ์ฑ : ์ ๋ขฐ ๊ณ์ ์์ย IAM Roleย ์์ฑ โ ๋์ ๊ณ์ ์์ย AssumeRoleย ํ์ฉ. (Q418, Q521)
-
์ด์ : Access Key๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ์ ๋ ๊ธ์ง(๋ณด์ ์๋ฐ).
-
-
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 ์ฐ๋โ + โ์ค์ ์ง์ค์ ๋ก๊ทธ์ธโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
4.3 VPC ์๋ํฌ์ธํธ (Endpoint Policy์ ์ฐ๋)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- SCP๊ฐ Denyํด๋ ๊ด๋ฆฌ ๊ณ์ (Management Account)์ ๋ฃจํธ๋ ๋ฌด์ํ ์ ์๋๊ฐ? ํ์ ๊ณ์ ๋ฃจํธ๋?
- SCP๋ก S3 ํ์ฉ โ IAM Policy๋ก S3 Deny โ ์ค์ ์ ๊ทผ ๊ฐ๋ฅํ๊ฐ? ์ฐ์ ์์ ์ค๋ช ์?
- EC2 ์ฑ์ด S3์ ์ ๊ทผํ ๋ Access Key ์ฌ์ฉ์ด ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์?
- โํน์ ๋ฆฌ์ ์์๋ง ์์ ์์ฑ ๊ฐ๋ฅโ โ IAM Policy vs SCP ์ค ์ด๋ค ๊ฑธ ์จ์ผ ํ๋๊ฐ, ์ด์ ๋?
- ์กฐ์ง ๋ด ๊ณ์ ๋ง 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-S3 | S3 ์์ฒด ๊ด๋ฆฌ ํค | ์ต์ ์ค์ , ๋ฌด๋ฃ | ํค ์ ๊ทผ ๊ฐ์ฌ ๋ก๊ทธ ํ์ ์ (SSE-KMS ํ์) |
| SSE-KMS | KMS CMK ์ฌ์ฉ | ํค ์ ๊ทผ ์ถ์ , CloudTrail ํตํฉ | ๋น์ฉ ์ต์ํ๊ฐ ์ต์ฐ์ ์ผ ๋ |
| SSE-C | ๊ณ ๊ฐ์ด ์ง์ ํค ์ ๊ณต | ์์ ํ ํค ํต์ ํ์ ์ | ํค ๊ด๋ฆฌ ์ค๋ฒํค๋ ์์ ๊ณ ์ถ์ ๋ |
KMS ํค ๊ต์ฒด (Rotation)
์๋ ๊ต์ฒด: ๋งค๋ ์ ์ํธํ ์๋ฃ๋ฅผ ์์ฑ. ๊ธฐ์กด ๋ฐ์ดํฐ๋ ์ด์ ํค๋ก ๊ณ์ ๋ณตํธํ ๊ฐ๋ฅ.
์๋ ๊ต์ฒด: ์ฌ์ฉ์๊ฐ ์ง์ ์ ํค๋ฅผ ๋ง๋ค๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์์ ํด์ผ ํจ (์ด์ ์ค๋ฒํค๋ ๋์).
๐ 2. ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ (Secrets Manager vs Parameter Store)
โ๋น๋ฐ๋ฒํธ๋ฅผ ์ด๋์ ์ ์ฅํ ๊ฒ์ธ๊ฐ?โ๋ฅผ ๋ฌป๋ ๋จ๊ณจ ๋ฌธ์ ์ ๋๋ค.
| ๊ธฐ๋ฅ | AWS Secrets Manager | SSM 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โ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
5.1 IAM ๋ฐ Organizations (์ํธํ ํค ๊ถํ ์ ์ด)
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (SSE ์ํธํ ์ฐ๋)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- โDB ๋น๋ฐ๋ฒํธ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ต์ฒดํด์ผ ํ๋คโ โ Parameter Store๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- SSE-S3 vs SSE-KMS vs SSE-C์ ์ฐจ์ด๋ฅผ ํค ๊ด๋ฆฌ ์ฃผ์ฒด ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๋ฉด?
- ๊ธฐ์กด ์ํธํ๋์ง ์์ RDS๋ฅผ KMS๋ก ์ํธํํ๋ ์ ์ฐจ๋ ์ ๋ณต์กํ๊ฐ?
- CloudFront์ ์ ์ฉํ ACM ์ธ์ฆ์๋ ๋ฐ๋์ ์ด๋ ๋ฆฌ์ ์์ ๋ฐ๊ธํด์ผ ํ๋๊ฐ? ์ด์ ๋?
- ์ํธํ๋ S3 ํ์ผ์ ๋ค๋ฅธ ๋ฆฌ์ ์ผ๋ก ๋ณต์ ํ ๋ ์ฃผ์ํด์ผ ํ KMS ๊ด๋ จ ์ฌํญ์?
# 5.3 ์ํ ํ์ง ๋ฐ ๋ณด์ ๊ฐ์ฌ
๐ ํต์ฌ ์์ฝ
-
CloudTrail:ย API ํธ์ถ ๊ธฐ๋กย (๋๊ฐ, ์ธ์ , ์ด๋์ ๋ฌด์์ ํ๋).
-
AWS Config:ย ๋ฆฌ์์ค ์ค์ ๋ณ๊ฒฝ ์ด๋ ฅย ๋ฐ ๊ท์ ์ค์ ์ฌ๋ถ ํ์ธ.
-
GuardDuty: ์ง๋ฅํย ์ํ ํ์งย (์ ์ฑ IP, ๋น์ ์์ ํ๋).
-
Amazon Inspector: ์ํํธ์จ์ดย ์ทจ์ฝ์ ์ค์บย (EC2, ์ปจํ ์ด๋, Lambda).
-
Amazon Macie: S3 ๋ดย ๋ฏผ๊ฐ ๋ฐ์ดํฐ(PII)ย ์๋ณ ๋ฐ ๋ณดํธ.
๐ 1. ์๋น์ค๋ณ ํต์ฌ ์ฉ๋ ๋น๊ต (SAA ๋น์ถ)
| ์๋น์ค | ๋ถ์ ๋์ | ์ฃผ์ ํค์๋ ๋ฐ ์ ๋ต ํํธ |
| ------ | ------ | ------ |
| CloudTrail | API ํธ์ถ | โ๊ฐ์ฌ(Audit)โ, โ์ฌ์ฉ์ ์ถ์ โ, โ์ญ์ ํ ์ฌ๋ ์ฐพ๊ธฐโ (Q395) |
| AWS Config | ๋ฆฌ์์ค ๊ตฌ์ฑ | โ์ค์ ๋ณ๊ฒฝ ์ถ์ โ, โ๊ท์ ์ค์ ํ์ธโ, โ๊ฐ๋๋ ์ผโ (Q26, Q31) |
| GuardDuty | ๋ก๊ทธ (VPC, DNS, S3) | โ์ ์์ ํ๋โ, โ์ํธํํ ์ฑ๊ตดโ, โ์นจ์ ํ์งโ (Q15, Q616) |
| Inspector | EC2, ECR, Lambda | โ์ทจ์ฝ์ ์ค์บโ, โCVE ํ์ธโ, โ๋คํธ์ํฌ ๋ ธ์ถโ (Q315, Q329) |
| Macie | S3 ๊ฐ์ฒด ๋ด์ฉ | โ๊ฐ์ธ ์๋ณ ์ ๋ณด(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 ๋ฐ์ดํฐ ๋ณดํธโ + โ์ด์ ์ค๋ฒํค๋ ์์โ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
5.1 IAM ๋ฐ Organizations (์กฐ์ง ๋จ์ ๋ณด์ ๊ฐํ)
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (Macie์ ์ฃผ ์ ๊ฒ ๋์)
-
5.4 ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น (CloudWatch ์ฐ๋)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- โS3 ํ์ผ์ ์ฃผ๋ฏผ๋ฒํธ๊ฐ ์๋์ง ํ์ธโ โ GuardDuty/Inspector๊ฐ ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์๋น์ค๋?
- โ๋๊ฐ S3 ๋ฒํท์ ํผ๋ธ๋ฆญ์ผ๋ก ๋ณ๊ฒฝํ๋โ โ CloudTrail vs Config ๊ฐ๊ฐ ๋ญ ์ ์ ์๋๊ฐ?
- โEC2 OS์ ํจ์น ๋ฏธ์ ์ฉ ์ทจ์ฝ์ ์ค์บโ โ GuardDuty๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- GuardDuty๊ฐ ์ํ์ ํ์งํ์ ๋ ์๋์ผ๋ก EC2๋ฅผ ๊ฒฉ๋ฆฌํ๋ ค๋ฉด โ ์ด๋ค ์๋น์ค ์กฐํฉ์ด ํ์ํ๊ฐ?
- 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.3 ์๋ฒ๋ฆฌ์ค ์ปดํจํ (Lambda) (EventBridge์ ์ฃผ ๋์)
-
5.3 ์ํ ํ์ง ๋ฐ ๋ณด์ ๊ฐ์ฌ (GuardDuty, Macie ์๋ ์ฐ๋)
-
4.1 VPC ๋ฐ ๋คํธ์ํฌ ๊ธฐ์ด (Flow Logs ๋ถ์)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- โ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ์ด ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋๋ฆฌ๋คโ โ ๊ธฐ๋ณธ CloudWatch๋ก ํ์ธ ๋ถ๊ฐํ ์ด์ ์ ํด๊ฒฐ์ฑ ์?
- โEC2๊ฐ ์ข ๋ฃ๋๋ฉด ์๋์ผ๋ก Slack ์๋ฆผ์ ๋ณด๋ด๊ณ ์ถ๋คโ โ ์ด๋ค ์๋น์ค ์กฐํฉ, ์ด์ ๋?
- CloudWatch Alarm vs EventBridge์ ์ฐจ์ด๋? ๊ฐ๊ฐ ์ด๋ค ์ํฉ์ ์ฐ๋๊ฐ?
- โ๋ก๊ทธ๋ฅผ ์ค์๊ฐ์ผ๋ก OpenSearch๋ก ๋ณด๋ด์ผ ํ๋คโ โ ์ด๋ค ์ค์ ์ด ํ์ํ๊ฐ?
- 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.3 ์๋ฒ๋ฆฌ์ค ์ปดํจํ (Lambda) (SQS/SNS์ ์ฃผ์ ์๋น์)
-
3.3 NoSQL ๋ฐ ์บ์ฑ (DynamoDB) (SQS ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๊ณณ)
-
6.3 ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ (Kinesis) (์ค์๊ฐ ๋์ฉ๋ ๋ฐ์ดํฐ์์ ์ฐจ์ด์ )
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- SNS ๋จ๋ ์ฌ์ฉ ์ ๊ตฌ๋ ์ ์๋ฒ๊ฐ ๋ค์ด๋๋ฉด ๋ฉ์์ง๋ ์ด๋ป๊ฒ ๋๋๊ฐ? ์ด๋ป๊ฒ ํด๊ฒฐํ๋๊ฐ?
- โ์ฃผ๋ฌธ์ ์์๋๋ก ์ฒ๋ฆฌํ๊ณ ์ค๋ณต๋ ์์ด์ผ ํ๋คโ โ Standard๊ฐ ์ค๋ต์ธ ์ด์ ๋?
- Visibility Timeout์ด ๋ถ์กฑํ๋ฉด ์ด๋ค ๋ฌธ์ ๊ฐ ์๊ธฐ๋๊ฐ? ์ด๋ป๊ฒ ์ค์ ํด์ผ ํ๋๊ฐ?
- โํ๋์ ์ด๋ฒคํธ๋ฅผ ์ฌ๋ฌ ์์คํ ์ด ๋์์ ๋ฐ์ ์ฒ๋ฆฌโ โ ์ด๋ค ์ํคํ ์ฒ ํจํด์ธ๊ฐ?
- 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.3 ์๋ฒ๋ฆฌ์ค ์ปดํจํ (Lambda) (Step Functions์ ์์ ๋จ์)
- 6.1 Amazon SQS ๋ฐ ๋ฉ์์ง (SQS์ MQ์ ์ฐจ์ด์ ์ดํด)
- 5.4 ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น (EventBridge์ ํตํฉ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- Lambda 15๋ถ ์ ํ์ ์ด๊ณผํ๋ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋๊ฐ?
- Step Functions์์ โ์ธ์ ๊ฒํ (Manual Approval)โ๊ฐ ํ์ํ ์๋๋ฆฌ์ค๋ฅผ ์ค๋ช ํ๋ผ.
- AppFlow๊ฐ ํ์ํ ์ํฉ์? ์ง์ API ์ฝ๋ฉ ๋๋น ์ฅ์ ์?
- Amazon MQ๋ฅผ SQS ๋์ ์ ํํ๋ ์ ์ผํ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
- 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, KDA | S3, Redshift, OpenSearch, HTTP | S3 ์ ์ฅ ๋ชฉ์ ์ KDS ์ง์ ์ฐ๊ฒฐ ์๋ |
์ํ ํ (Q33, Q77, Q226)
- โ๋ฐ์ดํฐ๋ฅผ ๋ณํํด์ S3/Redshift์ ๋ฐ๋ก ์ ์ฅํด์ผ ํจโ โ KDF
- โ๋ฐ์ดํฐ๋ฅผ ์์งํ ํ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์์ ์ฝ์ด์ผ ํจโ โ KDS
๐ 2. SQS vs Kinesis (ํท๊ฐ๋ฆผ ์ฃผ์)
| ๋น๊ต ํญ๋ชฉ | Amazon SQS | Amazon 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
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
-
2.1 Amazon S3 ์คํ ๋ฆฌ์ง (KDF์ ์ ์ฅ์)
-
3.4 ๋ถ์ ๋ฐ ETL (Redshift, Glue) (Kinesis ๋ถ์ ํ ์ ์ฅ์)
-
6.1 Amazon SQS ๋ฐ ๋ฉ์์ง (๋ฉ์์ง vs ์คํธ๋ฆฌ๋ฐ ๋น๊ต)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- โ์ฌ๋ฌ ์ฑ์ด ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ์ฝ์ด์ผ ํ๋คโ โ SQS๊ฐ ์ค๋ต์ธ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ์ ํ์?
- KDS vs KDF ์ ํ ๊ธฐ์ค์ ์ง์ฐ์๊ฐ๊ณผ ๊ด๋ฆฌ ๋์ด๋ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๋ฉด?
- โ๋ฐ์ดํฐ๋ฅผ ์ด์ ์ฒ๋ฆฌ ๋ชปํ๋๋ฐ ๋ค์ ์ฝ์ด์ผ ํ๋ค(Replay)โ โ SQS๊ฐ ๋ถ๊ฐํ ์ด์ ๋?
- KDF์์ JSON โ Parquet์ผ๋ก ๋ณํํ๋ ค๋ฉด โ ์ด๋ป๊ฒ ์ค์ ํ๋๊ฐ?
- 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 ๊ธฐ๋ฐ)
-
Savings Plans (์ธ์ด๋น ํ๋):
- Compute Savings Plans: ๊ฐ์ฅ ์ ์ฐํจ. EC2(ํจ๋ฐ๋ฆฌ ์๊ด์์), Fargate, Lambda์ ๋ชจ๋ ์ ์ฉ. (Q552)
- EC2 Instance Savings Plans: ํน์ ๋ฆฌ์ ๋ด ํน์ ํจ๋ฐ๋ฆฌ๋ง ํด๋นํ์ง๋ง ํ ์ธ์จ์ด ๋ ๋์.
-
Reserved Instances (RI - ์์ฝ ์ธ์คํด์ค):
- ํ์ค RI: ์์ ๋ถ๊ฐ, ํ ์ธ์จ ๋์.
- ์ ํํ RI: ์ธ์คํด์ค ์์ฑ ๋ณ๊ฒฝ ๊ฐ๋ฅ.
-
ํ ์ธ ๊ณต์ (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 (๊ด๋ฆฌ ๊ณ์ ๊ตฌ๋งค)
โ ์๋์ผ๋ก ์กฐ์ง ์ ์ฒด ๊ณ์ ์ ํ ์ธ ์ ์ฉ
ํค์๋: โ์ฌ๋ฌ ๊ณ์ ํตํฉ ๋น์ฉ ๊ด๋ฆฌโ + โํ ์ธ ๊ณต์ โ + โํตํฉ ๋น๋งโ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
- 5.1 IAM ๋ฐ Organizations (ํตํฉ ๋น๋ง ๊ด๋ฆฌ)
- 1.1 Amazon EC2 (Spot, RI ๊ตฌ๋งค ์ต์ )
- 7.2 ์ฌํด ๋ณต๊ตฌ(DR) ์ ๋ต (๋น์ฉ vs ๋ณต๊ตฌ ์๋ ํธ๋ ์ด๋์คํ)
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- Cost Explorer์ AWS Budgets์ ์ฐจ์ด๋ฅผ ์ค๋ช ํ๋ผ. ๊ฐ๊ฐ ์ธ์ ์ฐ๋๊ฐ?
- Compute Savings Plans์ EC2 Instance Savings Plans์ ์ฐจ์ด๋?
- AWS Organizations ํตํฉ ๋น๋ง์์ Savings Plans ํ ์ธ์ด ๊ณต์ ๋๋ ๋ฐฉ์์ ์ค๋ช ํ๋ผ.
- Cost Anomaly Detection์ ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๊ฐ? AWS Budgets์์ ์ฐจ์ด๋?
- ๋ถ์๋ณ ๋น์ฉ์ ์ถ์ ํ๋ ค๋ฉด ์ด๋ค 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 Light | DB๋ง ์ค์๊ฐ ๋ณต์ , ์ฑ ์๋ฒ๋ ๊บผ๋ | ๋ฎ์ | ์๋ถ ๋จ์ | โํต์ฌ ์์๋ง ๊ฐ๋โ, โ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โ
๐ ์ฐ๊ฒฐ ๋ฌธ์ (๊ด๋ จ ์ฃผ์ )
- 2.1 Amazon S3 ์คํ ๋ฆฌ์ง (Backup & Restore์ ๊ธฐ๋ณธ ์ ์ฅ์)
- 4.1 VPC ๋ฐ ๋คํธ์ํน ๊ธฐ์ด (DR ๋ฆฌ์ ๊ฐ ๋คํธ์ํฌ ๊ตฌ์ฑ)
- 4.4 DNS ๋ฐ ๊ธ๋ก๋ฒ ๋ผ์ฐํ (Route 53) (Failover ๋ผ์ฐํ ์ ์ฑ )
โ๏ธ ์ค์ค๋ก ์ง๋ฌธํด๋ณด๊ธฐ (๋ต ๋ง๋ก ์ค๋ช ํด๋ณด๊ธฐ)
์ฌ์ฉ๋ฒ: ๋ต์ ๋ณด์ง ๋ง๊ณ ์๋ฆฌ ๋ด์ด ์ค๋ช ํด๋ณด์ธ์. ๋งํ๋ ํญ๋ชฉ์ด ์ทจ์ฝ์ ์ ๋๋ค.
- DR 4๋ ์ ๋ต์ ๋น์ฉ ์์๋ก ๋์ดํ๊ณ ๊ฐ๊ฐ์ RTO/RPO ํน์ฑ์ ์ค๋ช ํ๋ผ.
- Pilot Light์ Warm Standby์ ๊ฒฐ์ ์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ?
- RPO์ RTO์ ์ฐจ์ด๋ฅผ ์ค์ ์๋๋ฆฌ์ค๋ฅผ ๋ค์ด ์ค๋ช ํ๋ผ.
- Aurora Global Database๋ฅผ ์ธ ๋์ Multi-AZ๋ฅผ ์ธ ๋์ ์ฐจ์ด๋?
- Route 53 Failover ๋ผ์ฐํ ์์ Primary/Secondary์ ๊ฐ๊ฐ ๋ฌด์์ ๋๋๊ฐ?