01. Global users for our application
- ํ์ฌ App์ ๋ฐฐํฌํ ์ํ์ด๋ฉฐ, ์ด๋ ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ณ , ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ค์ด ์ง์ ์ ๊ทผํ๋ ค๊ณ ํ๋ ์ํฉ
- ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ง ํ Region์ ๋ฐฐํฌ๋์ด ์๋ค.
- ์๋ฅผ๋ค์ด, ์ธ๋์์ public ALB ๋ฅผ ๋ฐฐ์นํ ์ํ์ด๊ณ , ๋ฐ๋ฉด์ ์ฌ์ฉ์๋ค์ ์ ์ธ๊ณ์ ๊ฑธ์ณ ์๋ค.
- ๋ฏธ๊ตญ์๋ ์๊ณ , ์ ๋ฝ๊ณผ ์ค์คํธ๋ ์ผ๋ฆฌ์์๋ ์๋ค.
- ์ฌ์ฉ์๋ค์ด ์ ํ๋ฆฌ์ผ์ด์
์ ์ ๊ทผํ ๋ ๊ณต์ฉ์ธํฐ๋ท์ ํตํ๊ฒ ๋๋๋ฐ ๋ผ์ฐํฐ๋ฅผ ๊ฑฐ์น๋ ๋์์ ์ ๋ง์ ํ์ผ๋ก ์ธํด ์๋นํ ์ง์ฐ์ด ๋ฐ์ํ ์ ์๋ค.
- ์ด ์ ๋ง์ ํ๋ค์ ์ํ์์๊ฐ ๋ ์ ์๋ค. ์ฐ๊ฒฐ์ด ๋๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ํ ์ง์ฐ์๊ฐ๋ ๋ฐ์ํ๋ค.
- AWS Infra์ ์ต๋ํ ์ง์ ์ ์ผ๋ก ์ ๊ทผํ๋ ๊ฒ๋ ์๋๋ค.
- ๋ฐ๋ผ์ ์ง์ฐ์๊ฐ์ ์ต์ํํ๊ธฐ ์ํด ์ต๋ํ ๋นจ๋ฆฌ AWS ๋คํธ์ํฌ๋ฅผ ํตํ๋ ๊ฒ์ด ์ข๋ค.
- ์ด๋ฅผ ์ํด Global Accelerator ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค.
02. Unicast IP vs Anycast IP
Global Accelerator ๋ฅผ ์ดํดํ๊ธฐ์ํด์ ์ ๋์บ์คํธ์ ์ ๋์บ์คํธ IP ๊ฐ๋ ์ ์ดํดํด์ผ ํ๋ค.
- Unicast IP
- ํ๋์ ์๋ฒ๊ฐ ํ๋์ IP์ฃผ์๋ฅผ ๊ฐ์ง๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ๋ ๊ฐ์ ์๋ฒ์ ํต์ ํ ๋ ์ผํธ ์๋ฒ์ IP์ฃผ์๋ 12๋ก ์์ํ๊ณ , ์ค๋ฅธ์ชฝ์ 98๋ก ์์ํ๋ค.
- 12๋ก ์์ํ๋ IP์ฃผ์๋ฅผ ์ฐธ์กฐํ๋ค๋ฉด ์ผํธ์ ์๋ฒ๋ก ์ฐ๊ฒฐ๋๊ณ ๋ฐ๋ํธIP๋ฅผ ์ฌ์ฉํ๋ฉด ์ค๋ฅธํธ์ ์๋ฒ๋ก ์ฐ๊ฒฐ๋ ๊ฒ
- Anicast IP
- ๋ชจ๋ ์๋ฒ๊ฐ ๋์ผํ IP์ฃผ์๋ฅผ ๊ฐ์ง๋ค.
- ํด๋ผ์ด์ธํธ๋ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ฒ๋ก ๋ผ์ฐํ ๋๋ค.
- ์ง๊ด์ ์ด์ง ์์ง๋ง ์๋์ฌ์ง์ฒ๋ผ ๋์ํ๋ค.
๊ทธ๋ฆฌ๊ณ , Global Accelerator ๋ ์ด Anycast IP ๊ฐ๋ ์ ์ฌ์ฉํ๋ค.
AWS Global Accelerator
- ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ผ์ฐํ ํ๊ธฐ ์ํด AWS ๋ด๋ถ ๊ธ๋ก๋ฒ ๋คํธ์ํฌ๋ฅผ ํ์ฉํ๋ค.
- ์ฌ์ฉ์๋ค์ด ์ ์ธ๊ณ์ ์๊ณ ์ฐ๋ฆฌ๋ ์ธ๋๋ก ๋ผ์ฐํ ํ๊ณ ์ถ์ดํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ฏธ๊ตญ์ ๊ณต์ฉ ์ธํฐ๋ท์ ๊ฑฐ์ณ์ ๋ณด๋ด๋ ๋์ ์ ๊ฐ์ฅ ๊ฐ๊น์ด EdgeLocation๊ณผ ํต์ ํ ๊ฒ
- EdgeLocation์ผ๋ก๋ถํฐ ๋ด๋ถ AWS๋คํธ์ํฌ๋ฅผ ๊ฑฐ์ณ ALB๋ก ๊ณง์ฅ ์ฐ๊ฒฐ๋๋ค.
- ์ค์คํธ๋ ์ผ๋ฆฌ์๋ ๋์ผ, ์ค์คํธ๋ ์ผ๋ฆฌ์ ์ธ๊ทผ EdgeLocation์ผ๋ก ๊ฐ์ Private AWS ๋คํธ์ํฌ๋ฅผ ๊ฑฐ์ณ ALB์ ๋๋ฌ
- ์ฆ, ์์ ์ Anycast IP๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ค.
- ์ฌ์ค, ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ๋ ๊ฐ๊ฐ ์์ฑ๋๋๋ฐ ๋ ๋ค ๊ธ๋ก๋ฒํ๋ค.
- ๊ทธ๋ฆฌ๊ณ anycast IP๋ ์ฌ์ฉ์์ ๊ฐ์ฅ ๊ฐ๊น์ด EdgeLocation์ผ๋ก ํธ๋ํฝ์ ์ง์ ์ ์กํ๋ค.
์ด๊ฒ์ด anycast IP์ ์ฅ์ ์ด๋ค. ๊ทธ๋ฌ๋ฉด EdgeLocation์ ํจ์ฌ ์์ ์ ์ด๊ณ ์ง์ฐ ์๊ฐ์ด ์ ์ Private AWS ๋คํธ์ํฌ๋ฅผ ๊ฑฐ์ณ ALB ๋ก ํธ๋ํฝ์ ์ ์กํ๋ค.
Global Accelerator๋ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด์๋ ์ ์ธ๊ณ์ ์ ์ ๋ค์๊ฒ ๋ ๊ฐ์ ๊ณ ์ IP์ฃผ์๋ฅผ ์ ๊ณตํ ์ ์๋๋ก ํด์ค๋ค๋ ์ ์์ ๋งค์ฐ ๋ ํนํ๋ค.
- ํ๋ ฅ์ IP, EC2, ALB, NLB, public or private ๊ณผ ํจ๊ป ์๋ํ๋ค.
- ๋คํธ์ํฌ๋ฅผ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ์์ ์ ์ธ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค.
- ์ง๋ฅํ ๋ผ์ฐํ ์ผ๋ก ์ง์ฐ์๊ฐ์ด ๊ฐ์ฅ ์งง์ EdgeLocation ์ผ๋ก ์ฐ๊ฒฐ๋๋ฉฐ, ๋ญ๊ฐ ์๋ชป๋ ๊ฒฝ์ฐ์๋ ์ ์ํ ๋ฆฌ์ ์ฅ์ ์กฐ์น๊ฐ ์ด๋ฃจ์ด์ง ๊ฒ์ด๋ค.
- ์๋ฌด๊ฒ๋ ์บ์ํ์ง ์๊ธฐ์ ํด๋ผ์ด์ธํธ ์บ์์๋ ๋ฌธ์ ๊ฐ ์๋ค.
- ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋ ๊ฐ์ anycast IP๋ ๋ณํ์ง ์์ต๋๋ค.
- EdgeLocation ๋ค์์ ๋ด๋ถ AWS ๋คํธ์ํฌ๊ฐ ์ค๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ํ ํ์ธ (Health Check)
- Global Accelerator ๋ ์ฐ๋ฆฌ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ํด ํฌ์ค์ฒดํฌ๋ฅผ ์ํํ๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ธ๋ก๋ฒํ์ง๋ ํ์ธํ๋ค. ํ Region์ ์๋ ํ ALB์ ๋ํด ์ํํ์ธ ์คํจํ๋ฉด ์๋ํ๋ ์ฅ์ ์กฐ์น๊ฐ 1๋ถ ์์ ์ ์ ์๋ํฌ์ธํธ๋ก ์คํ๋๋ค.
- ์ํํ์ธ ๋๋ถ์ ์ฌํด ๋ณต๊ตฌ์๋ ๋ฐ์ด๋๋ค.
- ๋ณด์(Security)
- ๋จ ๋ ๊ฐ์ ์ธ๋ถ IP๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ณด์์ธก๋ฉด์์๋ ๋งค์ฐ ์์ ํ๋ค.
- Global Accelerator ๋ฅผ ํตํด DDos ๋ณดํธ๋ ์๋์ผ๋ก ๋ฐ๊ฒ ๋๋ค.
- ๋ณด์ ์น์ ์์ ์ดํด๋ณผ AWS Shield ๋๋ถ์ด๋ค.
Global Accelerator vs CloudFront
๋ ์๋น์ค์ ์ฐจ์ด๋ฅผ ๋น๊ตํด๋ณด์
- ๋ ์๋น์ค ๋ชจ๋ AWS ๊ธ๋ก๋ฒ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ ๋ค AWS๊ฐ ์์ฑํ ์ ์ธ๊ณ์ EdgeLocation ์ ์ฌ์ฉ
-
๋ ์๋น์ค ๋ชจ๋ DDos๋ณดํธ๋ฅผ ์ํด AWS Shield ์ ํตํฉ๋๋ค.
- CloudFront
- ์บ์๊ฐ๋ฅํ ์ปจํ ์ธ (์ด๋ฏธ์ง or ๋น๋์ค) ๋ฅผ ์ํ ํผํฌ๋จผ์ค ํฅ์์ ์ ํฉํ๋ค.
- ๋์ ์ปจํ ์ธ (API ๊ฐ์ ๋๋ ๋์ ์ฌ์ดํธ ์ ๋ฌ) ๋์ ๋ด์ฉ ๋ชจ๋์ ๋ํด ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
- ์ด๋ฌํ ๋ด์ฉ(์ฝํ
์ธ )๋ค์ EdgeLocation ์ผ๋ก๋ถํฐ ์ ๊ณต๋๋ค. (์๋น๋๋ค)
- ๋ฐ๋ผ์ EdgeLocation์ ๊ฐ๋ ํ๋ฒ์ฉ Origin๋ก๋ถํฐ Content๋ฅผ ๊ฐ์ ธ์ฌ ๊ฒ์ด๋ค. (์บ์ฑํ๊ธฐ ์ํด)
- ๋๋ถ๋ถ์ ๊ฒฝ์ฐ CloudFront๋ ์บ์๋ ๋ด์ฉ์ Edge๋ก๋ถํฐ ๊ฐ์ ธ์์ ์ ๋ฌํ๋ค.
- ์ฆ, ์ฌ์ฉ์๋ค์ ์ฃ์ง๋ก๋ถํฐ ๋ด์ฉ์ ๋ฐ๋ ๊ฒ์ด๋ค.
- Global Accelerator
- TCP or UDP ์์ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
- ํจํท์ EdgeLocation์ผ๋ก๋ถํฐ ํ๋ ์ด์์ AWS Region์์ ์คํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ํ๋ก์๋๋ค.
- ๋ชจ๋ ์์ฒญ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ชฝ์ผ๋ก ์ ๋ฌ๋๋ค.
- ์บ์ฑ์ ๋ถ๊ฐ๋ฅํ๋ค.
- ๊ฒ์์ด๋ IoT ๋๋ Voice over IP ๊ฐ์ ๋นHTTP ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์ ๋งค์ฐ ์ ํฉ
- ๊ธ๋ก๋ฒํ๊ฒ ๊ณ ์ IP๋ฅผ ์๊ตฌํ๋ HTTP๋ฅผ ์ฌ์ฉํ ๋๋ ์ ์ฉํ๋ค
- ๊ฒฐ์ ์ ์ด๊ณ ์ ์ํ ๋ฆฌ์ ์ฅ์ ์กฐ์น๊ฐ ํ์ํ ๋๋ ์ข๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ