๐Ÿ”ฅ TIL - Day 45

Kim Dae Hyunยท2021๋…„ 11์›” 2์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
54/93

๐Ÿ“Œ AWS์˜ ๋‘ ๊ฐ€์ง€ ๊ถŒ์žฅ์‚ฌํ•ญ

  • Lambda๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์— ์ ‘๊ทผํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ Lambda๋ฅผ public subnet์— ๋‘๋Š” ๋ฐฉ์‹์ด ์•„๋‹Œ private subnet + NAT ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค.

  • AWS๋Š” Lambda์™€ RDS๋ฅผ ์—ฐ๋™ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋ก์‹œ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋‹ค.

    • ์ปค๋„ฅ์…˜ ๊ด€๋ฆฌ์˜ ์ด์ 

๐Ÿ“Œ Lambda โ†”๏ธ RDS

Lambda์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Lambda๊ฐ€ VPC์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.


๐Ÿ“Œ Lambda โ†”๏ธ NAT โ†”๏ธ ์ธํ„ฐ๋„ท(์™ธ๋ถ€๋ง)

AWS์˜ ๊ถŒ์žฅ์‚ฌํ•ญ ๋Œ€๋กœ Lambda๊ฐ€ VPC์˜ private subnet์— ์—ฐ๊ฒฐ๋˜๋ฉด ์•„์›ƒ๋ฐ”์šด๋“œ๋กœ ๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์€ ๋ชจ๋‘ ์ฐจ๋‹จ๋œ๋‹ค.
์ฆ‰, ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ด์šฉํ•ด์„œ ํ˜„์žฌ VPC์˜ private ์˜์—ญ์— ์žˆ๋Š” Lambda์˜ ์•„์›ƒ๋ฐ”์šด๋“œ๋ฅผ NAT ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์žˆ๋Š” public ์˜์—ญ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ค˜์•ผ ํ•œ๋‹ค.



๐Ÿ“Œ Lambda์— VPC ์„ค์ •ํ•˜๋Š” ๋ฒ•

  1. private subnet ์˜์—ญ ์ƒ์„ฑ? ํ• ๋‹น? ์ถ”๊ฐ€?
  • ์ฒ˜์Œ VPC์˜ ๊ธฐ๋ณธ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— 4๊ฐœ ์„œ๋ธŒ๋„ท์ด ํ• ๋‹น๋˜์–ด ์žˆ๋‹ค.
  • ๊ธฐ๋ณธ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์€ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด(igw)์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์˜ 4๊ฐœ ์„œ๋ธŒ๋„ท์€ ๋ชจ๋‘ Public Subnet ์ด๋‹ค.
  • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์ƒ์„ฑ ํ›„ ์„œ๋ธŒ๋„ท ํ•˜๋‚˜๋ฅผ ํ• ๋‹น
    ๊ทธ๋ƒฅ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋ฉด ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ๋ถ™์–ด์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์— ํ• ๋‹น๋˜๋Š” ์„œ๋ธŒ๋„ท์€ ๋ชจ๋‘ Private Subnet ์ด๋‹ค.

  1. ์™ธ๋ถ€ ํ†ต์‹ ์„ ์œ„ํ•œ NAT ๊ฒŒ์ดํŠธ์›จ์ด ์ƒ์„ฑ (์ด๊ฑฐ ๋น„์‹ธ๋ฐ์š” ใ… )
  • ์„œ๋ธŒ๋„ท์€ public subnet์„ ์ง€์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
    Lambda๋ฅผ ๋Œ€์‹ ? ํ•ด์„œ ์™ธ๋ถ€์™€ ํ†ต์‹ ์„ ํ•ด์ค˜์•ผ ํ•˜๋‹ˆ public์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฐ๊ฒฐ์œ ํ˜•: ํผ๋ธ”๋ฆญ
  • ํƒ„๋ ฅ์  IP ํ• ๋‹น

  1. ์ƒ์„ฑํ•œ NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ private subnet์ด ํ• ๋‹น๋œ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์„ค์ •
  • ๋ผ์šฐํŒ… ํŽธ์ง‘
    • 0.0.0.0/0
    • ์ƒ์„ฑํ•œ NAT ๊ฒŒ์ดํŠธ์›จ์ด ์ง€์ •

  1. Lambda๋ฅผ ์œ„ํ•œ ๋ณด์•ˆ๊ทธ๋ฃน ์ƒ์„ฑ
  • EC2 -> ๋ณด์•ˆ๊ทธ๋ฃน
  • ์•„์›ƒ๋ฐ”์šด๋“œ๋งŒ 0.0.0.0/0 (๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ)์œผ๋กœ ์„ค์ •
  • ์ด ๋ถ€๋ถ„์ด ์™œ ํ•„์š”ํ•œ์ง€ ๋‚ด๊ฐ€ ์ž˜ ์ดํ•ดํ•œ ๊ฒƒ์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.. (๋งž๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค..)
    • Lambda์˜ ์•„์›ƒ๋ฐ”์šด๋“œ ์ชฝ์— ์žˆ๋Š” NAT ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ ?

  1. Lambda์— VPC ์„ค์ •
  • ์•ž์„œ ์ƒ์„ฑํ•œ ์„œ๋ธŒ๋„ท(private subnet), ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •
  • Lambda์— VPC ๊ถŒํ•œ ์ถ”๊ฐ€ (AmazonVPCFullAccess)

  1. ์ด์ œ RDS ์—ฐ๊ฒฐํ•ด์„œ ์“ฐ๋ฉด ๋œ๋‹ค.


๋„คํŠธ์›Œํฌ ์ง€์‹์ด ๋ถ€์กฑํ•œ ํƒ“์ธ์ง€ ์ž˜ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์ด์˜€๋‹ค.
๊ณ„์† ์‚ญ์ œ, ์ƒ์„ฑ์„ ๋ฐ˜๋ณตํ•˜๋‹ˆ ์ ์–ด๋„ ์ต์ˆ™ํ•ด์ง€๊ธด ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

profile
์ข€ ๋” ์ฒœ์ฒœํžˆ ๊นŒ๋จน๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๐Ÿง

0๊ฐœ์˜ ๋Œ“๊ธ€