๐Ÿ“‚ AWS

[AWS] Lambda@Edge์™€ CloudFront Functions

dhyuck 2023. 3. 20. 23:31
๋ฐ˜์‘ํ˜•

์—ฃ์ง€ ๋กœ์ผ€์ด์…˜๊ณผ ๋ฆฌ์ €๋„ ์—ฃ์ง€ ์บ์‹œ

  • ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜(edge locations) ๋˜๋Š” POP(point of presence)
    • ์‚ฌ์šฉ์ž์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์บ์‹œ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฝ˜ํ…์ธ ๋ฅผ ์ง์ ‘ ์ œ๊ณต
    • CloudFront Functions์€ POP์—์„œ ๋™์ž‘
  • ๋ฆฌ์ €๋„ ์—ฃ์ง€ ์บ์‹œ(regional edge caches)
    • ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜๊ณผ ์˜ค๋ฆฌ์ง„ ์‚ฌ์ด์— ์กด์žฌ
    • Lambda@Edges๋Š” ๋ฆฌ์ €๋„ ์—ฃ์ง€์—์„œ ๋™์ž‘
  • CF ๋™์ž‘ ๋ฐฉ์‹
    • CF๋Š” POP์— ์ปจํ…์ธ ๊ฐ€ ์—†๋‹ค๋ฉด ๋ฆฌ์ €๋„ ์—ฃ์ง€ ์บ์‹œ์—์„œ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์™€ ์บ์‹ฑํ•˜๊ณ 
    • ๋ฆฌ์ €๋„ ์—ฃ์ง€์—๋„ ๊ฐ์ฒด๊ฐ€ ์—†๋‹ค๋ฉด ์˜ค๋ฆฌ์ง„์—์„œ ๋ฆฌ์ €๋„ ์—ฃ์ง€๋กœ, ๋ฆฌ์ €๋„ ์—ฃ์ง€์—์„œ POP์œผ๋กœ ์บ์‹ฑํ•˜๊ณ  ์ปจํ…์ธ ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
    • ์บ์‹œ ๋ฌดํšจํ™”๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด POP๊ณผ ๋ฆฌ์ €๋„ ์—ฃ์ง€ ์บ์‹œ ๋ชจ๋‘์—์„œ ๊ฐ์ฒด๊ฐ€ ์ œ๊ฑฐ๋˜๊ณ , ๋‹ค์Œ์— ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ์ฒด๋ฅผ ์š”์ฒญํ•  ๋•Œ ์˜ค๋ฆฌ์ง„์—์„œ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Lambda@Edge์™€ CloudFront Functions

  • edge fuction(์—ฃ์ง€ ํ•จ์ˆ˜)
    • CF distribution์— ์—ฐ๊ฒฐํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์—ฃ์ง€ํ•จ์ˆ˜๋ผ ํ•˜๋ฉฐ, Lambda@Edge์™€ CF Function 2๊ฐ€์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ์—ฃ์ง€ ํ•จ์ˆ˜๋Š” CF์˜ ์ด๋ฒคํŠธ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ฉ๋‹ˆ๋‹ค.
      • ์‚ฌ์šฉ์ž ์š”์ฒญ(Viewer Request)
        • CF๊ฐ€ ์‚ฌ์šฉ์ž ์š”์ฒญ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์Œ
        • CF์˜ ์บ์‹œ๊ฐ€ ํ™•์ธ๋˜๊ธฐ์ „์— ๋ชจ๋“  ์š”์ฒญ์—์„œ ์‹คํ–‰
      • ์‚ฌ์šฉ์ž ์‘๋‹ต(Viewer Response)
        • CF๊ฐ€ ์‚ฌ์šฉ์ž ์‘๋‹ต์„ ์ „๋‹ฌํ•˜๊ธฐ ์ „
        • ์˜ค๋ฆฌ์ง„ ๋˜๋Š” ์บ์‹œ์—์„œ ์‘๋‹ต์ด ์ˆ˜์‹ ๋œ ํ›„ ๋ชจ๋“  ์š”์ฒญ์—์„œ ์‹คํ–‰
      • ์˜ค๋ฆฌ์ง„ ์š”์ฒญ(Origin Request)
        • CF๊ฐ€ ์˜ค๋ฆฌ์ง„์— ์š”์ฒญํ•˜๊ธฐ ์ „
        • ์š”์ฒญ์ด ์˜ค๋ฆฌ์ง„์œผ๋กœ ์ „์†ก๋˜๊ธฐ ์ „์— ์บ์น˜ ๋ฏธ์Šค๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์‹คํ–‰
      • ์˜ค๋ฆฌ์ง„ ์‘๋‹ต(Origin Response)
        • CF๊ฐ€ ์˜ค๋ฆฌ์ง„์œผ๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์Œ
        • ์‘๋‹ต์ด ์˜ค๋ฆฌ์ง„์—์„œ ์ˆ˜์‹ ๋œ ํ›„ ์บ์น˜ ๋ฏธ์Šค๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์‹คํ–‰
  • Lambda@Edge
    • Node.js์™€ Python์„ ์ง€์›
    • ์‚ฌ์šฉ์ž ํŠธ๋ฆฌ๊ฑฐ์— ์ตœ๋Œ€ 5์ดˆ, ์˜ค๋ฆฌ์ง„ ํŠธ๋ฆฌ๊ฑฐ์— ์ตœ๋Œ€ 30์ดˆ์˜ ์‹คํ–‰์‹œ๊ฐ„ ์ œ๊ณต
    • Lambda๋Š” ๋ฆฌ์ „๋ณ„ ์„œ๋น„์Šค์ด๋ฉฐ, Labmda@Edge๋Š” ์—”๋“œ์œ ์ €์˜ ์œ„์น˜์— ๋”ฐ๋ผ AWS์˜ ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ ๋กœ์ง์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Lambda@Edge๋Š” Lambda์— ๋น„ํ•ด 3๋ฐฐ ๊ฐ€๋Ÿ‰ ๋น„์Œˆ
      • Lambda๋Š” ์š”์ฒญ 100๋งŒ ๊ฑด๋‹น $0.20, ์‹คํ–‰์‹œ๊ฐ„ 1๋งŒ ์ดˆ๋‹น $0.166667(x86๊ธฐ์ค€)
      • Lambda@Edge๋Š” ์š”์ฒญ 100๋งŒ ๊ฑด๋‹น $0.60, ์‹คํ–‰์‹œ๊ฐ„ 1๋งŒ ์ดˆ๋‹น $0.5001
    • Lmabda@Edge ํŠธ๋ฆฌ๊ฑฐ ๊ฒฐ์ • ๊ฐ€์ด๋“œ
      • ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ ์‹œ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ค๋ฆฌ์ง„ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ๋ชจ๋“  ์š”์ฒญ์—์„œ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ตœ์ข… ์‚ฌ์šฉ์ž ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ์บ์‹œ ํ‚ค(URL, ์ฟ ํ‚ค, ํ—ค๋”, ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด)๋ฅผ ์ˆ˜์ •ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ตœ์ข… ์‚ฌ์šฉ์ž ์š”์ฒญ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•˜์ง€ ์•Š๊ณ  ์‘๋‹ต์„ ์ˆ˜์ •ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ตœ์ข… ์‚ฌ์šฉ์ž ์‘๋‹ต ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ์˜ค๋ฆฌ์ง„์„ ๋™์ ์œผ๋กœ ์„ ํƒํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ค๋ฆฌ์ง„ ์š”์ฒญ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ์˜ค๋ฆฌ์ง„ URL์„ ๋‹ค์‹œ ์ž‘์„ฑํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ค๋ฆฌ์ง„ ์š”์ฒญ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ์บ์‹ฑ๋˜์ง€ ์•Š๋Š” ์‘๋‹ต์„ ์ƒ์„ฑํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ตœ์ข… ์‚ฌ์šฉ์ž ์š”์ฒญ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ์บ์‹ฑ๋˜๊ธฐ ์ „์— ์‘๋‹ต์„ ์ˆ˜์ •ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ค๋ฆฌ์ง„ ์‘๋‹ต ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
      • ์บ์‹ฑ ๊ฐ€๋Šฅํ•œ ์‘๋‹ต์„ ์ƒ์„ฑํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ค๋ฆฌ์ง„ ์š”์ฒญ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
  • CloudFront Functions
    • Javascript๋งŒ ์ง€์›
    • ์‚ฌ์šฉ์ž ํŠธ๋ฆฌ๊ฑฐ์— 1๋ฐ€๋ฆฌ์ดˆ ์ดํ•˜์˜ ์‹คํ–‰์‹œ๊ฐ„ ์ œ๊ณต
    • CloudFront๋Š” Lambda@Edge์— ๋น„ํ•ด 1/6 ์ •๋„๋กœ ์ €๋ ดํ•จ
      • ์š”์ฒญ 100๋งŒ ๊ฑด๋‹น $0.10

์ฐธ๊ณ ์ž๋ฃŒ

CloudFront์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•

Amazon CloudFront Functions - ๋” ์งง์€ ์ง€์—ฐ ์‹œ๊ฐ„์œผ๋กœ ์—ฃ์ง€์—์„œ ์ฝ”๋“œ ์‹คํ–‰์„ ์œ„ํ•œ ์‹ ๊ทœ ๊ธฐ๋Šฅ | Amazon Web Services

์—ฃ์ง€ ์ปดํ“จํŒ…์„ ์œ„ํ•œ Lambda@Edge ํ™œ์šฉ ๋ชจ๋ฒ” ์‚ฌ๋ก€ | Amazon Web Services

๋ฐ˜์‘ํ˜•