Rate Limiter
๊ฐ์
๋คํธ์ํฌ ์์ธํ์์ ์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น(rate limiter)๋ ํด๋ผ์ด์ธํธ ๋๋ ์๋น์ค๊ฐ ๋ณด๋ด๋ ํธ๋ํฝ์ ์ฒ๋ฆฌ์จ์ ์ ์ดํ๊ธฐ ์ํ ์ฅ์น์ด๋ค.
์๋ฅผ ๋ค์ด, ํน์ API์ ์์ฒญ ํ์๊ฐ ์ ํ ์ฅ์น์ ์ ์๋ ์๊ณ์น(threshold)๋ฅผ ๋์ด์๋ฉด ์ถ๊ฐ๋ก ๋ค์ด์จ ๋ชจ๋ ์์ฒญ์ ์ฒ๋ฆฌ๊ฐ ์ค๋จ(block) ๋๋ค.
์ฅ์ :
Dos ๊ณต๊ฒฉ์ ์ํ ์์ ๊ณ ๊ฐ์ ๋ฐฉ์งํ ์ ์๋ค.
๋น์ฉ ์ ๊ฐ ๊ฐ๋ฅ
์์ฒญ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ์ ํํ๋ฉด ์๋ฒ๋ฅผ ๋ง์ด ํ์ฅํ์ง ์์๋ ๋๋ค.
3์(third-party) ์๋น์ค API ํธ์ถ์ ๋ํ ๋น์ฉ์ด ์ค์ด๋ค ์ ์๋ค.
์๋ฒ ๊ณผ๋ถํ๋ฅผ ๋ง๋๋ค.
๋ด์์ ์ค๋ ํธ๋ํฝ์ด๋, ์ ์์ ์ธ ํจํด์ผ๋ก ์ ๋ฐ๋ ํธ๋ํฝ์ ๊ฑธ๋ฌ๋ผ ์ ์๋ค.
์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ ์ด๋์ ์ค์ ํ ๊ฒ์ธ๊ฐ?
ํด๋ผ์ด์ธํธ
์ผ๋ฐ์ ์ผ๋ก ์์ ์ ์ด์ง ๋ชปํ๋ค.
ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฝ๊ฒ ์๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ๊ณ , ๋ชจ๋ ๊ตฌํ์ ํต์ ํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์๋ค.
์๋ฒ
๋ฏธ๋ค์จ์ด
๋ฏธ๋ค์จ์ด์ ์ฅ์น๋ฅผ ๋๊ณ ์๋ฒ๋ก ๊ฐ๋ ์์ฒญ์ ํต์ ํ ์ ์๋ค.
MSA์ ๊ฒฝ์ฐ ๋ณดํต API Gateway๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ปดํฌ๋ํธ์ ๊ตฌํํ๊ณค ํ๋ค.
๊ฒ์ดํธ์จ์ด๋ ์ฒ๋ฆฌ์จ ์ ํ, SSL ์ข ๋จ, ์ฌ์ฉ์ ์ธ์ฆ, IP ํ์ฉ ๋ชฉ๋ก(whitelist) ๊ด๋ฆฌ ๋ฑ์ ์ง์ํ๋ค.
์ผ๋จ API ๊ฒ์ดํธ์จ์ด๋ ์ฒ๋ฆฌ์จ ์ ํ์ ์ง์ํ๋ ๋ฏธ๋ค์จ์ด๋ผ๋ ๊ฒ์ ์์๋์.
๊ทธ๋ผ ์ด๋์ ๋์ด์ผ ํ๋๊ฒ?
์ ํ์ ์๋ค. ์์คํ ์ ์ํคํ ์ฒ, ์ฐ์ ์์, ๋ชฉํ์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง ์ ์๋ค. ๊ทธ๋ผ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฉ๋ ์ ์๋ ๋ช ๊ฐ์ง ์ง์นจ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฐฑ์๋ ์๋ฒ:
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ์บ์ ์๋น์ค ๋ฑ ํ์ฌ ์ฌ์ฉํ๋ ๊ธฐ์ ์คํ์ ์ ๊ฒํ๊ณ , ์๋ฒ ์ธก ๊ตฌํ์ ์ง์ํ๊ธฐ ์ถฉ๋ถํ ์ ๋๋ก ํจ์จ์ด ๋์์ง ํ์ธํด์ผ ํ๋ค.
์๋ฒ ์ธก์์ ๋ชจ๋ ๊ฒ์ ๊ตฌํํ๊ธฐ๋ก ํ๋ค๋ฉด, ์๊ณ ๋ฆฌ์ฆ์ ์์ ๋กญ๊ฒ ์ ํํ ์ ์๋ค.
๋ฏธ๋ค์จ์ด:
์์คํ ์ค๊ณ๊ฐ ์ด๋ฏธ MSA๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ , ์ฌ์ฉ์ ์ธ์ฆ์ด๋ IP ํ์ฉ๋ชฉ๋ก ๊ด๋ฆฌ ๋ฑ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ด๋ฏธ ๊ฒ์ดํธ์จ์ด๊ฐ ์กด์ฌํ๋ค๋ฉด ์ฒ๋ฆฌ์จ ์ ํ ๊ธฐ๋ฅ ๋ํ ์ฌ๊ธฐ์ ํฌํจ์์ผ์ผ ํ ์ ์๋ค.
์์ฉ API ๊ฒ์ดํธ์จ์ด:
์ฒ๋ฆฌ์จ ์ ํ ์๋น์ค๋ฅผ ์ง์ ๋ง๋๋ ๊ฒ๋ ์๊ฐ์ด ๋ ๋ค.
๊ตฌํํ๊ธฐ์ ์ถฉ๋ถํ ๋ฆฌ์์ค๊ฐ ๋ถ์กฑํ๋ค๋ฉด ์์ฉ API ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฐ๋ ๊ฒ๋ ๋ฐ๋์งํ๋ค.
Last updated