2387 ๋‹จ์–ด
12 ๋ถ„
๐ŸŒ AWS CloudFront & Global Accelerator

๐ŸŒ AWS CloudFront & Global Accelerator#

CDN์„ ํ†ตํ•œ ์ฝ˜ํ…์ธ  ๊ฐ€์†๊ณผ ๋„คํŠธ์›Œํฌ ๋ ˆ๋ฒจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ€์†์˜ ํ•ต์‹ฌ ์„œ๋น„์Šค

๋‘ ์„œ๋น„์Šค ๋ชจ๋‘ AWS Global Edge Network๋ฅผ ํ™œ์šฉํ•˜์ง€๋งŒ ๋ชฉ์ ๊ณผ ๋™์ž‘ ๋ฐฉ์‹์ด ๋‹ค๋ฆ„


๋ชฉ์ฐจ#

  1. CloudFront ๊ฐœ์š”
  2. CloudFront Origins (์ฝ˜ํ…์ธ  ์›๋ณธ)
  3. CloudFront vs. S3 Cross-Region Replication
  4. CloudFront ์บ์‹œ ๋™์ž‘ (Caching)
  5. CloudFront Geo Restriction (์ง€์—ญ ์ œํ•œ)
  6. CloudFront + S3 ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜ (OAC)
  7. AWS Global Accelerator
  8. CloudFront vs. Global Accelerator ๋น„๊ต
  9. ์‹œํ—˜ ์ž์ฃผ ์ถœ์ œ ํฌ์ธํŠธ ์ด์ •๋ฆฌ
  10. ์ฐธ๊ณ  ์ž๋ฃŒ

CloudFront ๊ฐœ์š”#

  • CDN (Content Delivery Network): ์ฝ˜ํ…์ธ ๋ฅผ Edge Location์— ์บ์‹œํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‚ฎ์€ ์ง€์—ฐ์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณต
  • ์ „ ์„ธ๊ณ„ ์ˆ˜๋ฐฑ ๊ฐœ์˜ **Edge Locations (Points of Presence)**์—์„œ ์ฝ˜ํ…์ธ  ์บ์‹œ
  • DDoS ๋ณดํ˜ธ: AWS Shield + AWS WAF(Web Application Firewall)์™€ ํ†ตํ•ฉ

CloudFront Origins (์ฝ˜ํ…์ธ  ์›๋ณธ)#

CloudFront๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์›๋ณธ ์„œ๋ฒ„๋Š” ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

1. S3 Bucket#

  • ํŒŒ์ผ ๋ฐฐํฌ ๋ฐ Edge Location์— ์บ์‹œ
  • CloudFront๋ฅผ ํ†ตํ•œ S3 ์—…๋กœ๋“œ (Ingress) ์ง€์›
  • *OAC (Origin Access Control)**๋กœ S3 Bucket ๋ณด์•ˆ ๊ฐ•ํ™”
[์‚ฌ์šฉ์ž] โ†’ [CloudFront Edge] โ†’ [S3 Bucket]
โ†‘
OAC๋กœ ๋ณดํ˜ธ
(S3 Public ๋น„ํ™œ์„ฑํ™” ์œ ์ง€)
TIP

S3 Bucket์„ CloudFront Origin์œผ๋กœ ์‚ฌ์šฉํ•  ๋•Œ๋Š” OAC ์‚ฌ์šฉ. ๊ตฌ์„ธ๋Œ€ ๋ฐฉ์‹์ธ OAI(Origin Access Identity)๋Š” deprecated ์˜ˆ์ •.


2. VPC Origin#

  • VPC Private Subnet์— ํ˜ธ์ŠคํŒ…๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ฝ˜ํ…์ธ  ์ œ๊ณต
  • ์ธํ„ฐ๋„ท์— ๋…ธ์ถœํ•˜์ง€ ์•Š๊ณ  Private ๋ฆฌ์†Œ์Šค์—์„œ ์ง์ ‘ ํŠธ๋ž˜ํ”ฝ ์ˆ˜์‹ :
    • Private ALB (Application Load Balancer)
    • Private NLB (Network Load Balancer)
    • Private EC2 Instances
  • ๊ธฐ์กด ๋ฐฉ์‹(Public Network)์˜ ๊ฒฝ์šฐ Edge Location์˜ Public IP๋ฅผ Security Group์— ํ—ˆ์šฉํ•ด์•ผ ํ–ˆ์œผ๋‚˜, VPC Origin ๋ฐฉ์‹์€ ์ด ๋ถˆํŽธํ•จ์„ ํ•ด์†Œ
[์‚ฌ์šฉ์ž]
โ”‚
โ–ผ
[CloudFront Edge]
โ”‚ (VPC Origin ๋ฐฉ์‹ โ€” ์ธํ„ฐ๋„ท ๋ฏธ๊ฒฝ์œ )
โ–ผ
[Private ALB / NLB / EC2] โ† ์ธํ„ฐ๋„ท์— ๋…ธ์ถœ ๋ถˆํ•„์š”

3. Custom Origin (HTTP)#

  • S3 Static Website (S3 ์ •์  ์›น์‚ฌ์ดํŠธ ์—”๋“œํฌ์ธํŠธ)
  • ๋ชจ๋“  Public HTTP Backend (์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„, ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ๋“ฑ)

CloudFront vs. S3 Cross-Region Replication#

์‹œํ—˜์—์„œ ๋‘ ์„œ๋น„์Šค๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ž์ฃผ ์ถœ์ œ๋จ.

ํ•ญ๋ชฉCloudFrontS3 Cross-Region Replication
๋ฒ”์œ„์ „ ์„ธ๊ณ„ ๋ชจ๋“  Edge Location ์ž๋™ ์ ์šฉ๋ณต์ œํ•  ๋ฆฌ์ „์„ ๊ฐ๊ฐ ์ง์ ‘ ์„ค์ •
์—…๋ฐ์ดํŠธ ๋ฐ˜์˜TTL ๋งŒ๋ฃŒ ์‹œ ๋ฐ˜์˜ (์บ์‹œ ๊ธฐ๊ฐ„ ๋™์•ˆ ์ง€์—ฐ)Near real-time ์—…๋ฐ์ดํŠธ
์ ‘๊ทผ ๋ฐฉํ–ฅ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ฐ€๋Šฅ (Ingress ์ง€์›)์ฝ๊ธฐ ์ „์šฉ (Read only)
์ ํ•ฉํ•œ ์ฝ˜ํ…์ธ ์ „ ์„ธ๊ณ„์—์„œ ์ ‘๊ทผํ•˜๋Š” Static ์ฝ˜ํ…์ธ  (์ด๋ฏธ์ง€, ์˜์ƒ ๋“ฑ)์†Œ์ˆ˜ ๋ฆฌ์ „์—์„œ ๋‚ฎ์€ ์ง€์—ฐ์‹œ๊ฐ„์œผ๋กœ Dynamic ์ฝ˜ํ…์ธ  ์ œ๊ณต
๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋ณต์‚ฌ ์—†์Œ (์บ์‹œ๋งŒ)์‹ค์ œ ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฅธ ๋ฆฌ์ „์œผ๋กœ ๋ณต์ œ

CloudFront ์บ์‹œ ๋™์ž‘ (Caching)#

TTL (Time To Live)#

  • CloudFront๋Š” TTL ๋™์•ˆ ์บ์‹œ๋œ ์ฝ˜ํ…์ธ ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต
  • TTL ๋™์•ˆ์€ Origin์— ์š”์ฒญํ•˜์ง€ ์•Š์Œ โ†’ Origin ๋ถ€ํ•˜ ๊ฐ์†Œ
  • TTL์€ Cache-Control, Expires Header๋กœ ์ œ์–ด ๊ฐ€๋Šฅ

Cache Invalidation (์บ์‹œ ๋ฌดํšจํ™”)#

  • Origin ์ฝ˜ํ…์ธ ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด๋„ TTL์ด ๋งŒ๋ฃŒ๋˜๊ธฐ ์ „๊นŒ์ง€ CloudFront๋Š” ๋ณ€๊ฒฝ์„ ๋ชจ๋ฆ„
  • CloudFront Invalidation์„ ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฉด TTL ๋ฌด์‹œํ•˜๊ณ  ์บ์‹œ ๊ฐ•์ œ ๊ฐฑ์‹ 
Invalidation ๊ฒฝ๋กœ ์˜ˆ์‹œ:
/** โ†’ ์ „์ฒด ์บ์‹œ ๋ฌดํšจํ™”
/images/** โ†’ /images/ ํ•˜์œ„ ์ „์ฒด ๋ฌดํšจํ™”
/index.html โ†’ ํŠน์ • ํŒŒ์ผ๋งŒ ๋ฌดํšจํ™”
Deployment Tip

์ฝ˜ํ…์ธ  ํŒŒ์ผ๋ช…์— ๋ฒ„์ „/ํ•ด์‹œ๋ฅผ ํฌํ•จ์‹œํ‚ค๋ฉด (์˜ˆ: app.v2.js) Invalidation ์—†์ด๋„ ์ƒˆ ๋ฒ„์ „ ์ฆ‰์‹œ ์ œ๊ณต ๊ฐ€๋Šฅ.


CloudFront Geo Restriction (์ง€์—ญ ์ œํ•œ)#

  • ํŠน์ • ๊ตญ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ฝ˜ํ…์ธ  ์ ‘๊ทผ์„ ์ œ์–ด
  • ๊ตญ๊ฐ€ ํŒ๋ณ„: 3rd Party Geo-IP Database ์‚ฌ์šฉ
์„ค์ •์„ค๋ช…
Allowlist์Šน์ธ๋œ ๊ตญ๊ฐ€ ๋ชฉ๋ก์˜ ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ
Blocklist์ฐจ๋‹จ๋œ ๊ตญ๊ฐ€ ๋ชฉ๋ก์˜ ์‚ฌ์šฉ์ž๋Š” ์ ‘๊ทผ ๊ฑฐ๋ถ€

Use Case: ์ €์ž‘๊ถŒ๋ฒ•(Copyright Laws)์— ๋”ฐ๋ฅธ ์ฝ˜ํ…์ธ  ๋ฐฐํฌ ์ œํ•œ


CloudFront + S3 ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜ (OAC)#

CloudFront๋ฅผ ํ†ตํ•ด์„œ๋งŒ S3์— ์ ‘๊ทผํ•˜๊ณ  ์ง์ ‘ ์ ‘๊ทผ์€ ์ฐจ๋‹จํ•˜๋Š” ํŒจํ„ด.

[์‚ฌ์šฉ์ž]
โ”‚
โ–ผ
[CloudFront Distribution]
โ”‚ OAC๋กœ ์ธ์ฆ๋œ ์š”์ฒญ๋งŒ
โ–ผ
[S3 Bucket] โ† Block Public Access ํ™œ์„ฑํ™” ์œ ์ง€
Bucket Policy: CloudFront Service Principal๋งŒ ํ—ˆ์šฉ

Bucket Policy ์˜ˆ์‹œ (OAC):

{
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::ACCOUNT:distribution/DISTRIBUTION_ID"
}
}
}

CloudFront Signed URL / Signed Cookies#

  • Private ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด โ€” S3 Pre-signed URL๊ณผ ๋‹ค๋ฆ„
ํ•ญ๋ชฉCloudFront Signed URLCloudFront Signed Cookie
์ ‘๊ทผ ๋ฒ”์œ„ํŒŒ์ผ 1๊ฐœ์— ๋Œ€ํ•œ ์ ‘๊ทผ์—ฌ๋Ÿฌ ํŒŒ์ผ ๋˜๋Š” ์ „์ฒด ๊ฒฝ๋กœ ์ ‘๊ทผ
์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐœ๋ณ„ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๋งํฌํ”„๋ฆฌ๋ฏธ์—„ ๋ฉค๋ฒ„์‹ญ ์ „์ฒด ์ฝ˜ํ…์ธ  ์ ‘๊ทผ

S3 Pre-signed URL๊ณผ์˜ ์ฐจ์ด์ :

ํ•ญ๋ชฉS3 Pre-signed URLCloudFront Signed URL
๊ฒฝ์œ  ์„œ๋ฒ„S3 ์ง์ ‘ ์ ‘๊ทผCloudFront Edge โ†’ S3
๊ถŒํ•œ ๋ฒ”์œ„์ƒ์„ฑ์ž์˜ IAM ๊ถŒํ•œ ์ƒ์†CloudFront Key Pair ๊ธฐ๋ฐ˜
์บ์‹œ ํ™œ์šฉโŒ S3 ์ง์ ‘ ์ ‘๊ทผโœ… CloudFront ์บ์‹œ ํ™œ์šฉ
IP ์ œํ•œ๋ถˆ๊ฐ€๊ฐ€๋Šฅ (์ •์ฑ…์— ํฌํ•จ)
NOTE

CDN์„ ํ†ตํ•ด Private ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•  ๋•Œ๋Š” CloudFront Signed URL/Cookie ์‚ฌ์šฉ. S3 Pre-signed URL์€ S3 ์ง์ ‘ ์ ‘๊ทผ์ด๋ฏ€๋กœ CDN ์บ์‹œ ํ˜œํƒ ์—†์Œ.


CloudFront Price Classes#

  • CloudFront Edge Location์€ ์ง€์—ญ๋ณ„๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก ๋น„์šฉ์ด ๋‹ค๋ฆ„
  • Price Class๋กœ ์‚ฌ์šฉํ•  Edge Location ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜์—ฌ ๋น„์šฉ ์ ˆ๊ฐ
Price Classํฌํ•จ ์ง€์—ญ๋น„์šฉ
Price Class All์ „์ฒด Edge Location๊ฐ€์žฅ ๋น„์Œˆ, ์ตœ๊ณ  ์„ฑ๋Šฅ
Price Class 200๋Œ€๋ถ€๋ถ„ ์ง€์—ญ (๋น„์šฉ ๋†’์€ ์ผ๋ถ€ ์ œ์™ธ)์ค‘๊ฐ„
Price Class 100๊ฐ€์žฅ ์ €๋ ดํ•œ ์ง€์—ญ๋งŒ (๋ถ๋ฏธ, ์œ ๋Ÿฝ ๋“ฑ)๊ฐ€์žฅ ์ €๋ ด

CloudFront Origin Groups (Failover)#

  • Primary Origin์ด ์‹คํŒจํ•˜๋ฉด Secondary Origin์œผ๋กœ ์ž๋™ Failover
  • High Availability ๊ตฌ์„ฑ์— ํ™œ์šฉ
[CloudFront Distribution]
โ”‚
โ”œโ”€โ”€ Primary Origin (us-east-1 S3) โ† ์ •์ƒ ์‹œ ์‚ฌ์šฉ
โ””โ”€โ”€ Secondary Origin (us-west-2 S3) โ† Primary ์‹คํŒจ ์‹œ ์ž๋™ ์ „ํ™˜

Lambda@Edge / CloudFront Functions#

Edge Location์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์š”์ฒญ/์‘๋‹ต์„ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌ.

ํ•ญ๋ชฉCloudFront FunctionsLambda@Edge
๋Ÿฐํƒ€์ž„JavaScriptNode.js, Python
์‹คํ–‰ ํŠธ๋ฆฌ๊ฑฐViewer Request/ResponseViewer/Origin Request/Response
์‹คํ–‰ ์œ„์น˜CloudFront Edge (๊ฒฝ๋Ÿ‰)๋ฆฌ์ „ Edge Location
์ตœ๋Œ€ ์‹คํ–‰ ์‹œ๊ฐ„1ms5~10์ดˆ
์š”์ฒญ ์ˆ˜/์ดˆ์ˆ˜๋ฐฑ๋งŒ req/s์ˆ˜์ฒœ req/s
์‚ฌ์šฉ ์‚ฌ๋ก€Header ์กฐ์ž‘, URL ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ, A/B ํ…Œ์ŠคํŠธ๋ณต์žกํ•œ ๋กœ์ง, ์™ธ๋ถ€ API ํ˜ธ์ถœ

AWS Global Accelerator#

๋ฌธ์ œ ์ •์˜#

๊ธ€๋กœ๋ฒŒ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋ฆฌ์ „์— ๋ฐฐํฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘๊ทผํ•  ๋•Œ, Public Internet์„ ํ†ตํ•œ **๋‹ค์ˆ˜์˜ Hop(๊ฒฝ์œ ์ง€)**์œผ๋กœ ์ธํ•ด ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ํŒจํ‚ท ์†์‹ค ๋ฐœ์ƒ.

[์ผ๋ณธ ์‚ฌ์šฉ์ž] โ†’ Public Internet โ†’ [us-east-1 ALB]
(์ˆ˜๋งŽ์€ ๋ผ์šฐํ„ฐ ๊ฒฝ์œ  โ†’ ๋†’์€ ์ง€์—ฐ, ๋ถˆ์•ˆ์ •)

ํ•ด๊ฒฐ: AWS ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ํ™œ์šฉ#

[์ผ๋ณธ ์‚ฌ์šฉ์ž] โ†’ [๋„์ฟ„ Edge Location] โ†’ AWS ์ „์šฉ ๋ฐฑ๋ณธ๋ง โ†’ [us-east-1 ALB]
(์งง์€ Public Internet ๊ตฌ๊ฐ„) (๊ณ ์†, ์•ˆ์ •)

Anycast IP#

  • Global Accelerator๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— 2๊ฐœ์˜ Anycast IP ํ• ๋‹น
  • Unicast IP: ํ•˜๋‚˜์˜ ์„œ๋ฒ„๊ฐ€ ํ•˜๋‚˜์˜ IP๋ฅผ ๋ณด์œ 
  • Anycast IP: ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๊ฐ™์€ IP๋ฅผ ๋ณด์œ , ํด๋ผ์ด์–ธํŠธ๋Š” ์ž๋™์œผ๋กœ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์„œ๋ฒ„๋กœ ๋ผ์šฐํŒ…
Anycast IP: 1.2.3.4 โ† ์ „ ์„ธ๊ณ„ ์–ด๋””์„œ ์š”์ฒญํ•ด๋„ ๊ฐ™์€ IP
โ”‚
โ”œโ”€โ”€ ๋„์ฟ„ Edge โ†’ ๋„์ฟ„ ์‚ฌ์šฉ์ž ์ฒ˜๋ฆฌ
โ”œโ”€โ”€ ๋Ÿฐ๋˜ Edge โ†’ ์œ ๋Ÿฝ ์‚ฌ์šฉ์ž ์ฒ˜๋ฆฌ
โ””โ”€โ”€ ๋ฒ„์ง€๋‹ˆ์•„ Edge โ†’ ๋ฏธ๊ตญ ์‚ฌ์šฉ์ž ์ฒ˜๋ฆฌ

Global Accelerator ์ฃผ์š” ํŠน์„ฑ#

ํ•ญ๋ชฉ๋‚ด์šฉ
๊ณ ์ • IP2๊ฐœ์˜ Anycast IP (๋ณ€๊ฒฝ ์—†์Œ)
์ง€์› ๋ฆฌ์†Œ์ŠคElastic IP, EC2, ALB, NLB (Public/Private ๋ชจ๋‘)
Health Check์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ—ฌ์Šค ์ฒดํฌ, ๋น„์ •์ƒ ์‹œ 1๋ถ„ ์ด๋‚ด Failover
๋ณด์•ˆ์™ธ๋ถ€์— ๋…ธ์ถœ๋˜๋Š” IP๊ฐ€ ๋‹จ 2๊ฐœ โ†’ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ๊ด€๋ฆฌ ์šฉ์ด
DDoS ๋ณดํ˜ธAWS Shield ํ†ตํ•ฉ
ํด๋ผ์ด์–ธํŠธ ์บ์‹œ ์ด์ŠˆIP๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ DNS ์บ์‹œ ๋ฌธ์ œ ์—†์Œ

CloudFront vs. Global Accelerator ๋น„๊ต#

๐Ÿ“Œ ์‹œํ—˜์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ์ถœ์ œ๋˜๋Š” ๋น„๊ต โ€” ๋ฐ˜๋“œ์‹œ ๊ตฌ๋ถ„

ํ•ญ๋ชฉCloudFrontGlobal Accelerator
์ฃผ์š” ๊ธฐ๋Šฅ์ฝ˜ํ…์ธ  ์บ์‹ฑ ๋ฐ ๋ฐฐํฌ๋„คํŠธ์›Œํฌ ๋ ˆ๋ฒจ ํŠธ๋ž˜ํ”ฝ ๊ฐ€์†
์บ์‹ฑโœ… Edge Location์— ์ฝ˜ํ…์ธ  ์บ์‹œโŒ ์บ์‹œ ์—†์Œ (ํ”„๋ก์‹œ๋งŒ)
์ฝ˜ํ…์ธ  ์ฒ˜๋ฆฌEdge์—์„œ ์ฝ˜ํ…์ธ  ์ง์ ‘ ์ œ๊ณตEdge์—์„œ ํŒจํ‚ท์„ ์›๋ณธ ์„œ๋ฒ„๋กœ ์ „๋‹ฌ
ํ”„๋กœํ† ์ฝœHTTP/HTTPS ์ „์šฉTCP, UDP ๋ชจ๋‘ ์ง€์›
IP ์ฃผ์†Œ๋™์  IP (DNS๋กœ ์ ‘๊ทผ)๊ณ ์ • Anycast IP 2๊ฐœ
Failover๋А๋ฆผ (DNS TTL ์˜ํ–ฅ)1๋ถ„ ์ด๋‚ด ๋น ๋ฅธ Failover
์ ํ•ฉํ•œ Use CaseStatic/Dynamic HTTP ์ฝ˜ํ…์ธ  ๊ฐ€์†๊ฒŒ์ž„(UDP), IoT(MQTT), VoIP, ๊ณ ์ • IP ํ•„์š”, ๋น ๋ฅธ Regional Failover

๊ฐ„๋‹จ ์„ ํƒ ๊ธฐ์ค€:

HTTP ์ฝ˜ํ…์ธ ๋ฅผ ์ „ ์„ธ๊ณ„์— ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌ โ†’ CloudFront
์บ์‹œ์™€ ๋ฌด๊ด€ํ•œ TCP/UDP ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ€์† โ†’ Global Accelerator
๊ณ ์ • IP 2๊ฐœ๋กœ ๋ฐฉํ™”๋ฒฝ ํ™”์ดํŠธ๋ฆฌ์ŠคํŒ… ํ•„์š” โ†’ Global Accelerator
HTTP ์š”์ฒญ์ด์ง€๋งŒ Static IP ๋˜๋Š” ๋น ๋ฅธ Failover ํ•„์š” โ†’ Global Accelerator

๐Ÿ“Œ ์‹œํ—˜ ์ž์ฃผ ์ถœ์ œ ํฌ์ธํŠธ ์ด์ •๋ฆฌ#

ํฌ์ธํŠธ๋‚ด์šฉ
CloudFront ๋ณด์•ˆ ํ†ตํ•ฉAWS Shield + WAF
S3 Origin ๋ณด์•ˆOAC (Origin Access Control) (๊ตฌ: OAI deprecated ์˜ˆ์ •)
VPC OriginPrivate ALB/NLB/EC2๋ฅผ ์ธํ„ฐ๋„ท ๋…ธ์ถœ ์—†์ด Origin์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
Cache Invalidation/** ๋˜๋Š” /path/** ๋กœ TTL ๋ฌด์‹œ ๊ฐ•์ œ ๊ฐฑ์‹ 
Geo Restriction ํŒ๋ณ„3rd Party Geo-IP Database ์‚ฌ์šฉ
CloudFront vs S3 CRR์ •์  ์ „์„ธ๊ณ„ ๋ฐฐํฌ โ†’ CloudFront / ์†Œ์ˆ˜ ๋ฆฌ์ „ ๋™์  ์ฝ˜ํ…์ธ  โ†’ S3 CRR
Signed URLํŒŒ์ผ 1๊ฐœ ์ ‘๊ทผ ์ œํ•œ
Signed Cookie์—ฌ๋Ÿฌ ํŒŒ์ผ ๋˜๋Š” ๊ฒฝ๋กœ ์ „์ฒด ์ ‘๊ทผ ์ œํ•œ
CloudFront Signed URL vs S3 Pre-signed URLCloudFront: Edge ์บ์‹œ ํ™œ์šฉ, IP ์ œํ•œ ๊ฐ€๋Šฅ / S3: S3 ์ง์ ‘ ์ ‘๊ทผ, IAM ๊ถŒํ•œ ์ƒ์†
Price Class 100๊ฐ€์žฅ ์ €๋ ดํ•œ ์ง€์—ญ๋งŒ (๋ถ๋ฏธ, ์œ ๋Ÿฝ ๋“ฑ)
Origin FailoverPrimary ์‹คํŒจ ์‹œ Secondary๋กœ ์ž๋™ ์ „ํ™˜
CloudFront Functions๊ฒฝ๋Ÿ‰ JS, 1ms, Viewer Request/Response
Lambda@Edge๋ณต์žกํ•œ ๋กœ์ง, 5~10์ดˆ, Viewer + Origin ํŠธ๋ฆฌ๊ฑฐ
Global Accelerator IP ์ˆ˜2๊ฐœ์˜ Anycast IP
Global Accelerator Failover1๋ถ„ ์ด๋‚ด
Anycast IP ๊ฐœ๋…์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๊ฐ™์€ IP ๊ณต์œ , ํด๋ผ์ด์–ธํŠธ๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์„œ๋ฒ„๋กœ ๋ผ์šฐํŒ…
Global Accelerator ์ง€์› ํ”„๋กœํ† ์ฝœTCP + UDP (CloudFront๋Š” HTTP๋งŒ)
๊ณ ์ • IP ํ™”์ดํŠธ๋ฆฌ์ŠคํŒ…Global Accelerator (IP 2๊ฐœ๋งŒ ๋…ธ์ถœ)
Non-HTTP ๊ฐ€์† (UDP, MQTT, VoIP)Global Accelerator

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ#