μ°λ¦¬ fisa 2κΈ° 'ν΄λΌμ°λ μλΉμ€ κ°λ°' 15μ£Όμ°¨
λκ°λ λ©νμ λ©±μ΄μ‘κ³ λμ΄ λκΈ°κ³ μλ μμ¦ ~~ μ§μΉμ§λ§ κΎΈμκΎΈμ νλνλ μ€μ²ν΄ λκ°κ³ μλ€.
μ¬λμ΄ μ΄λ€λ³΄λ©΄ μ§μΉκΈ° λ§λ ¨μ΄κ³ κ±°κΈ°μ λν λλ €μμ ν λ²μ―€μ λ€ κ²ͺμ κ²μΈλ°
μ΄λ΄μλ‘ λ λλ₯Ό μκ³ μ λνμ!!
"λλΌλ λλ₯Ό λ―Ώμ΄μ£Όμ"
μ΄λ² ν μ£Όλ λκ² λΉ¨λ¦¬ μ§λκ°λ€.
μΌμ μκΈ°

μ΄λ² μ£Όλ γ
γ
γ
μ λ§ κ°μ΄ν λ μ΄μλ€.. βοΈ μλλ©΄ γ
γ
.. μ§μ§ κΏμ μ μ€κΈ° λλ¬Έμ΄λ€.
μ΄λ μ λ¬΄μ¨ κΏμ κΎΌμ§λ λͺ¨λ₯΄κ² μ§λ§ μ λ§ κΉμ κΏμ κΏ¨κ³ κ±°κΈ°μ λΉ μ Έλμ€μ§ λͺ»νλ κ² κ°λ€.
μ μ 차리λκΉ λ²μ¨ 7μ λ°μ΄λλΌ γ
γ
γ
λ¬Όλ‘ ... 7μ λ°λ μ΄λ₯Έ μκ°μ΄λ€.
νμ§λ§ μμμ μ¬λ λλ‘μλ μ²μ²λ²½λ ₯ κ°μ μμμ΄λ€.. μ°λ¦¬ fisaκ° μλ μμλκΉμ§ κ°λλ° νκ· 2μκ° λ°μ΄ 걸리λλ°...
κ·Έλ κ² λ§μ μ μ μΌλ‘ ν μ£Όλ₯Ό μμνλ€ γ
γ
γ
γ
γ
γ
γ
! !!γ
! γ
!

μ΄ λ² μ£Όμλ νΉλ³ν λ μ΄ μμλλ° λ°λ‘
"μ·¨μ νΉκ°"
μ΄μλ€ !!!
νμ¬ ν΄λΌμ°λ νμ¬μ λ€λλ νμ§μμ λ§λμ μ΄λ»κ² μ·¨μ
μ μ€λΉν΄μΌ νκ³ μμμλ μ΄λ»κ² μ μ΄μΌ νλ©°, ν¬νΈν΄λ¦¬μ€λ μ΄λ»κ² ν μ§μ λν΄ λ§μ μ 보λ₯Ό λ€μ μ μμλ€.
κ°μ‘°νλ κ²μ΄ μλ€λ©΄ λ΄κ° μ λ§ μ΄μ¬ν μ΄μκ°κ³ κ°λ°μλ‘μ λ°μ μ νκ³ μλ€λ κ²μ μ¦λͺ
νλ
"κΈ°λ‘"μ μ€μνμλ€.
κ³μν΄μ κΈ°λ‘μ νλ©° μ§λ΄κ³ μμλ λλ‘μλ μ λ§ κ³΅κ°νλ λ΄μ©μ΄μλ κ² κ°λ€ !
μ΄μ λ μ‘°κΈ λ μ μμ±νλ λ²μ ν°λνμ¬ λμ λΈλ‘κ·Έλ₯Ό μ±μκ°μΌκ² λ€!
νμ¬λ ν°μ€ν λ¦¬λ§ νμ©νκ³ μμλλ° λ
Έμ
κ³Ό μ μ νκ² μμ΄μ λμ μ΄λ ₯μλ₯Ό μ¨λ΄λ €κ°λ €κ³ νλ΅
λλ νΉνλ μ΄ λ©ν λμκ²μ ν° λμμ΄ μλ€κ³ νλ€λ©΄
λ°λ‘ "λ§μ κ°μ§" μ΄μλ€. κ°μΈ μλ΄μ ν΅ν΄ μ΄κ² μ κ² λ¬ΌμΌλ©΄μ λκΌμ§λ§ νκ³ μνλκ² μλ€λ©΄ μ§μ¬μ λ€ν΄μ! κ±±μ λ³΄λ¨ μ€μ²μΌλ‘ 무μ₯λμ΄ μλ λ©ν λμ 보며, λλν κ·Έλ¬κ² λ
ΈλΌ ~ νμλ€!
νμ¬ μ¬λ¬λͺ¨λ‘ λμ κ°μ μ νλ€κ³ μλ λ§μ μκ°λ€ (λμκ² μ²΄λ ₯μ λ¬Έμ λμ§ μλλ€) λλ¬Έμ μ‘°κΈ μ§μ³μλ λμκ² ν λ² λ κ°μ± μμΌμ£Όλ κ³κΈ°κ° λμλ€ γ
γ
λ λν μ°λ μμ νλ₯ν λ©ν κ° λμ΄ νμλ€μκ² μ’μ μν₯μ μ£Όλ μ¬λμΌλ‘μ μ±μ₯νκ³ μΆλ€.

ν ~ μμΉ¨ μ΄λμ μ½μ§κ° μμ§λ§ μμ§κΉμ§ νκ³ μλ . κ·Έλμ κ·Έλ°κ° λλ μ΄μ°μ§λ μκ³ μ€νλ € μ’ λΉ μ§κ±°λ μ μ§νκ³ μλ μν©μ΄λ€.
λͺΈ κ΄λ¦¬λ μ΄λ ν νλμ ν λ μμ΄μ μ λ§ μ€μν νλμ΄λ€.
μ§κΈμ μ€νλ € μμΉ¨μ λ무 μΌμ° λκ°μ μ΄λνλ νμλ₯Ό μ€μμ§λ§,(νκ· μ£Ό 3ν) μ΄ κ³Όμ μ΄ λλκ³ λμλ μ’ λ ν¨μ¨μ μΈ μκ° λ°°λΆμ ν΅ν΄ λ μμ£Ό μ΄λμ νλ©° μ΄μ κ° κ²μ΄λ€!

λ€μ μ£Ό μ£Όλ§ λλμ΄ sqld μνμ΄ μλ€... λ²μ¨ μ½μμ λ€κ°μλ€ γ
γ
μ λ²μ λ§νμ§λ§ μκ°λ³΄λ€ 곡λΆλμ λ§μ§λ μμ§λ§ μκ°λ³΄λ€ λ¬Έμ λ μ΄λ ΅λ€ γ
γ
γ
γ
μλ μ΄λ €μ΄ κ² λ³΄λ¨ λκ² λ―μ€λ€λ λλμ λ°μλ€.
κ·Έλ¬λ©΄ μ΄λ»κ² ν΄μΌ νλ ? κ·Έλ₯ ν΄μΌμ§ λ . γ
μ΄μ©κ² μ΄ ~~~ ν΄λ΄μΌμ§ ~~~
μ΄λ² sqld μκ° λ°°λΆ μν΄μ 곡λΆν΄μ 무μ¬ν μνμ μΉλ₯΄λλ‘ λ
Έλ ₯ ν΄μΌκ² λ€ !!!

κΈ°μ λΈλ‘κ·Έλ₯Ό μμνκ³ μμ±νμ§ 3κ°μ μ΄ λμ μμ !!
μ΄λλ§ 2μ²λͺ
μ΄ λμλ€ γ
γ
γ
γ
μ΄κ² λ λ§μ μ«μλ ~~~ λΌκ³ ν μλ μμ§λ§ !! μ§λ£¨ν λμ κΈ°μ λΈλ‘κ·Έλ₯Ό 2μ²λͺ
μ΄λ λ΄μ€κ±° μμ²΄κ° μλ―Έκ° μλ€κ³ μκ°νλ€ γ
γ
μ¬ν λ§μ λΈλ‘κ·Έλ₯Ό μμ±ν΄μμ§λ§ μ΄λ»κ² 보면 μ¬λ―Έμλ λμ κΈ°μ λΈλ‘κ·Έκ° μ΄λ κ² μ±μ₯ν΄ λκ°λ λͺ¨μ΅μ 보면 λλ¦ 3κ°μ κ° μ΄μ¬ν ν λμκ² κ²½μλ₯Ό ννλ€ γ
γ

κ·Έλ λ€ !! μ΄ κ²°κ³Όλ‘ μΈν΄ λ§μ λΉμ©μ μλμ§λ§ λ§μ μ¬λλ€μ΄ λ§νλ
"λΈλ‘κ·Έλ‘ μ»€νΌκ° λ²μ΄λ΄μ ~~"
κ° λ λν κ°λ₯ν΄μ‘λ€~~ γ
γ
γ
λΉλ‘ μμ§μ μ μ λμμ κ·ΈμΉμ§λ§ μμΌλ‘ λμ± κΎΈμ€ν μμ±ν κ²μ΄κ³ λμ λΈλ‘κ·Έλ λ μμ°¬ λ΄μ©μΌλ‘ κ°λ μ±μ μ±μ₯ν΄ λκ° κ²μ΄λ€.
λ―Έλμλ λΆμκ° λκΈΈ γ
γ
ννν π€ͺ

μ΄μ μ μ¬μ©νλ k2v3 ν
ν€λ¦¬μ€ ν€λ³΄λκ° μ΄μνκ² λ무λ μ§λ €μ(μλλ½κΈ°λνκ³ ) μ΄μ λΆν° λ΄μ€λ ν€λ³΄λλ₯Ό
κ²°κ΅,,, ꡬ맀νλ€ γ
γ
γ
γ
μλ ν€λ³΄λλ무 μ΄μμλ γ
k2v3 μ μΆκ³Ό λ€λ₯΄κ² μ΄λ²μλ μμ§μ€μ ν€λ³΄λμ΄λ©° κ°μΆμ ν«μ€μ μ΄λ©° ν
ν€λ¦¬μ€μ΄λ€ γ
γ
λλ ν
ν€λ¦¬μ€ ν€λ³΄λκ° μ μμ΄ λμκΈ° λλ¬Έμ ν΄λμ±μ΄ μ’κ³ κ°λ²Όμ΄ ν
ν€λ¦¬μ€λ₯Ό μ νΈνκ³ μλ€.(μ€ν μλ μ λλ‘ μμΉ¨ μ§μ§ γ
)
μλ¬΄νΌ λ μΌμ λ²λ Έλ€ γ
γ
γ
k2v3λ νμ¬ μ€κ³ λλΌμ μ¬λ¦° μνμ΄λ€ γ
γ
(빨리 μ¬κ°μ !!!)
κ³΅λΆ μκΈ°
1. μ΄λ² μ£Ό λ°°μ΄ κ²
μ΄ λ² μ£Όλ awsλ₯Ό νμ©ν΄μ κΈ°μ‘΄μ λ§λ€μλ νλ‘μ νΈλ₯Ό μ μ©ν΄λ³΄λ μκ°μ μ£Όλ‘ κ°μ‘λ€.
μ λ² μ£Όλ λ¨μ§ EC2 μλ²μ mysqlμ μ°κ²°νκ³ νλ‘ νΈμ€λ λ°±μ€λλ₯Ό κ°κ° λ°°ν¬λ₯Ό νλ€λ©΄
μ΄λ²μλ EC2μ RDSλ₯Ό νμ©νκ³ μΉμλ²μΈ Nginxμ λ‘λλ°Έλ°μ€ κ·Έλ¦¬κ³ λ°©νλ²½μ νμ©νμ¬
μ€μ΅μ μ§ννλ€.
RDSλ
Relational Database Service
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κΈ°λ₯μ μ 곡νλ μλΉμ€μ΄λ€.
OS λ° DB μμ§ κ΄λ¦¬λ AWSμμ λ΄λΉνκΈ° λλ¬Έμ μ¬μ©μλ μ¬μ©ν DBMSλ₯Ό μ€μ νλ©΄ λ°λ‘ μ¬μ©ν μ μλ€.
μ¦, κΈ°μ‘΄μλ EC2 μ OSμμ mysqlλ₯Ό μ€μΉνμ§λ§, μ€μΉνμ§ μκ³ λ°λ‘ μ¬μ©μ΄ κ°λ₯ν μ
μ΄λ€.
μ΄λ λ€μ λ§ν΄μ RDSλ DB μμ§μ΄ μ€μ λ μνλ‘ λ§λ€μ΄μ§κΈ° λλ¬Έμ DBλ₯Ό λ°λ‘ νμ©ν μ μλ€.
μμ
1. RDS λ₯Ό μμ±νλ€.
2. RDS μ μμ© EC2 μ€λΉ λ° μ μ
3. mysql DBμ μ κ·ΌνκΈ° μν ν΄λΌμ΄μΈνΈ νλ‘κ·Έλ¨μΈ mysql-client μ€μΉ

4. RDS μΈμ€ν΄μ€ λμ보λμμ 보μκ·Έλ£Ήμ EC2 μΈμ€ν΄μ€μ private ip μ£Όμ λ° 3306 ν¬νΈ μΆκ°
5. RDS μΈμ€ν΄μ€λ‘ μ μ

Nginxλ
λμ μ±λ₯κ³Ό μμ μ± κ·Έλ¦¬κ³ νμ¬ κ°μ₯ λ§μ΄ μ¬μ©λκ³ μλ μΉμλ²μ΄λ€. Apache κ°μ μΉ μλ²μ λΉκ΅νλ©΄ λ λΉ λ₯΄κ³ κ°λ³κ³ , λκ·λͺ¨ μ ν리μΌμ΄μ
μ²λ¦¬μ μ ν©νλ€λ μ₯μ μ΄ μλ€. Nginxλ₯Ό μ΄ν΄νκΈ° μν΄ 4κ°μ§ μ©μ΄μ μ΄ν΄κ° μμ΄μΌ νλ€.
1. ν΄λΌμ΄μΈνΈ
ν΄λΌμ΄μΈνΈλ μλΉμ€λ₯Ό μ΄μ©νκΈ° μν΄ λ€νΈμν¬λ₯Ό ν΅ν΄ μμ²μ 보λ΄λ 주체λ₯Ό λ§νλ€.
2. μΉ μλ²
μΉ μλ²λ ν΄λΌμ΄μΈνΈμ μμ²μ λ°λΌ HTML, CSS, JS μ΄λ―Έμ§ νμΌκ³Ό κ°μ μ μ νμΌμ μλ΅νμ¬ μ 곡νλ μννΈμ¨μ΄λ₯Ό λ§νλ€. μΉ μλ²λ HTTP νλ‘ν μ½μ μ¬μ©νμ¬ ν΄λΌλ¦¬μΈνΈμ ν΅μ νλ€. λνμ μΈ μΉ μλ²λ‘λ Nginx, Apache λ±μ΄ μλ€.
3. WAS(Web Application Server)
Servletμ νλ©΄μ λ°°μ λ WAS κ·Έ λ ν°μΊ£μ νμ©νλ€.
WASλ ν΄λΌμ΄μΈνΈ μμ²μ λν΄ λμ μΈ μ²λ¦¬λ₯Ό λ΄λΉνλ μμμ΄λ€. μΉ μλ²μ λ¬λ¦¬ μ ν리μΌμ΄μ
λ‘μ§μ μ€νν μ μλλ‘ κ΅¬μ±λμ΄ μλ€. μλ₯Ό λ€μ΄ νμκ°μ
μ΄λ λ‘κ·ΈμΈ λ±μ λ‘μ§μ μ²λ¦¬νλ μμμ΄ WAS μ΄λ€. λν λ°μ΄ν°λ² μ΄μ€ μ°λ, νΈλμμ
κ΄λ¦¬, 보μ, λ‘κΉ
λ±μ κΈ΄μΌλ μ 곡νλ€. μ΄λ₯Ό ν΅ν΄ μΉ μ ν리μΌμ΄μ
μ μμ μ±κ³Ό μ±λ₯μ ν₯μν€ν€λ©°, κ°λ°μλ€μ μ ν리μΌμ΄μ
κ°λ°μ μ§μ€ν μ μλ€. λνμ μΌλ‘λ Tomcat μ΄ μλ€.
4. DB(λ°μ΄ν°λ² μ΄μ€)
DBλ μ‘°μ§μ΄λ κ°μΈμ΄ νμν μ 보λ₯Ό 체κ³μ μΌλ‘ μ μ₯, κ΄λ¦¬νκ³ κ²μν μ μλ μμ€ν
μ΄λ€.
μΉ μλΉμ€ νλ¦
ν΄λΌμ΄μΈνΈ -> μΉ μλ² -> WAS -> DB μμΌλ‘ μμ²μ΄ λκ³ DB -> WAS -> μΉ μλ² -> ν΄λΌμ΄μΈνΈ μμΌλ‘ μλ΅μ΄ λλ€.

μΉ μλ²λ₯Ό μ¬μ©νλ μ΄μ
1. WAS λΆλ΄μ μ€μ¬μ£ΌκΈ° μν΄ μ¬μ©λλ€. WASλ λ‘κ·ΈμΈ, νμκ°μ
, κ°μΈμ 보 μμ λ± λμ μμ
μ μ²λ¦¬νλ κ²λ§μΌλ‘λ μμ
λμ΄ λ§λ€. μ΄μ HTML, CSS, JS, μ΄λ―Έμ§ λ± μ μ μΈ νμΌμ ν΄λΌμ΄μΈνΈμκ² μ λ¬νλ μν μ μΉ μλ²μκ² μμν¨μΌλ‘μ¨ WAS μμ
λΆλ΄μ λμ΄μ€λ€.
2. 보μ κΈ°λ₯μ μ 곡νλ€. μΉ μλ²λ 보μ κΈ°λ₯μ μ 곡νμ¬ μΉ νμ΄μ§μ λν μ κ·Όμ μ μ΄ν μ μλ€. μλ₯Ό λ€μ΄, μΉ μλ²λ SSL/TLS νλ‘ν μ½ μ½μ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μνΈννκ³ , μ‘μΈμ€ μ μ΄, μΉ λ°©νλ²½ λ±μ 보μ κΈ°λ₯μ μ 곡νμ¬ μΉ μ¬μ΄νΈλ₯Ό 보νΈν μ μλ€.
3. λμ μ±λ₯μ μ 곡νλ€. μΉ μλ²λ λλΆλΆ λΉλκΈ° μ²λ¦¬ λ°©μμ μ¬μ©νμ¬ λμ μ±λ₯μ μ 곡νλ€. μλ₯Ό λ€μ΄, Nginx, Apache λ±μ μΉ μλ²λ μ΄λ²€νΈ κΈ°λ°, λ©ν° νλ‘μΈμ±, μ€λ λ ν λ±μ κΈ°μ μ μ¬μ©νμ¬ μμ² λμ ν΄λΌμ΄μΈνΈ μμ²μ λμμ μ²λ¦¬ν μ μλ€.
Nginx(μΉ μλ²)λ₯Ό μ¬μ©νλ μ΄μ
1. λμ μ±λ₯κ³Ό μ μ λ©λͺ¨λ¦¬ μ¬μ©
Nginxλ λΉλκΈ° I/O μ²λ¦¬ λ°©μμ μ¬μ©νμ¬ λμ μ±λ₯μ μ 곡νλ€. μ΄λ₯Ό ν΅ν΄ λκ·λͺ¨ μΉμ¬μ΄νΈμμλ λΉ λ₯Έ μλ΅ μκ°μ 보μ₯ν μ μλ€. λν Nginxλ μ μ λ©λͺ¨λ¦¬ μ¬μ©λμΌλ‘λ λμ μ±λ₯μ μ 곡νλ€. μ΄λ₯Ό ν΅ν΄ μλ² μ΄μ© λΉμ©μ μ κ°ν μ μλ€.
2. 리λ²μ€ νλ‘μ(Reverse Proxy) μ¬μ©μ΄ κ°λ₯
νλ‘μ(Proxy)μ μ¬μ μ μ μλ "λ리"μ΄λ€. μΈν°λ· μ μμ ν λ 보μμμ λ¬Έμ λ‘ μ§μ μ£Όκ³ λ°μ μ μμ λ κ·Έ μ¬μ΄μ μ€κ³κΈ°λ‘μ λ리 λ‘ ν΅μ μ μννλ κΈ°λ₯μ νλ‘μλΌκ³ λ§νλ€. μ΄λ κ² μ€κ³ κΈ°λ₯νλ κ²μ μ°λ¦¬λ νλ‘μ μλ² λΌκ³ λΆλ₯Έλ€. νλ‘μλ ν¬κ² ν¬μλ νλ‘μμ 리λ²μ€ νλ‘μλ‘ κ΅¬λΆλλ€.
ν¬μλ νλ‘μ λ ν΄λΌμ΄μΈνΈμ μΈν°λ· κ·Έ μ¬μ΄μ μλ μμμ λ§νλ€. ν΄λΌμ΄μΈνΈκ° μ΄λ ν μ 보λ₯Ό μμ²νλ©΄ ν¬μλ νλ‘μκ° μ΄λ₯Ό λμ λ°μμ μλ²μκ² μ λ¬μ νλ€. μ΄ν, μλ²μ μλ΅ λν ν¬μλ νλ‘μκ° λμ λ°μ ν΄λΌμ΄μΈνΈμκ² μ λ¬νλ€.
ν¬μλ νλ‘μλ₯Ό μ¬μ©νλ©΄ ν΄λΌμ΄μΈνΈμ IP μ£Όμκ° μΉ μλ²μ λ
ΈμΆλμ§ μλλ€. λ°λΌμ, ν΄λΌμ΄μΈνΈμ μμΉλ μ μμ μλ³νλ κ²μ΄ μ΄λ €μμ Έ 보μμ΄ κ°νλλ€. λν μ κ·Ό μ μ΄λ₯Ό μνν μ μλ€. ν¬μλ νλ‘μλ₯Ό μ¬μ©νμ¬ νΉμ IP μ£Όμ, λλ©μΈ λλ URLμ λν μ κ·Όμ μ νν μ μλ€.
λ§μ§λ§μΌλ‘ λ―Έλμ΄ μ€νΈλ¦¬λ°μ μ§μν μ μλ€. λ―Έλμ΄ νμΌμ μΌλ°μ μΌλ‘ ν° μ©λμ κ°μ§κ³ μκΈ° λλ¬Έμ, μΉ μλ²μμ μ§μ μ μ‘νλ κ²μ ν¨μ¨ μ μ΄μ§ μλλ€. ν¬μλ νλ‘μλ₯Ό μ¬μ©νμ¬ λ―Έλμ΄ νμΌμ μΊμνκ³ , ν΄λΌμ΄μΈνΈμκ² λΉ λ₯΄κ² μ 곡ν μ μλ€.

리λ²μ€ νλ‘μ λ μΈν°λ·κ³Ό λ°±μλ κ·Έ μ¬μ΄μ μλ μλ² μμμ λ§νλ€. μλ₯Ό λ€μ΄ WASλ‘ μ¬μ©νκ³ μλ μλ²κ° μ¬λ¬ λ μλ€κ³ κ°μ μ ν΄λ³΄λ©΄ν΄λΌμ΄μΈνΈκ° http://example/blog1, http://example/blog2μΌλ‘ μ κ·Όμ νλ€λ©΄ blog1μ Aμλ²λ‘ μ λ¬νκ³ blog2λ B μλ²λ‘ μ λ¬νμ¬ μμ²μ ν΄λΉνλ μΉ μλ²λ‘ κΈΈμ λΆλ°°ν μ μλ€. μ΄λ₯Ό λ‘λ λ°Έλ°μ± μ΄λΌκ³ νλ€.

κ·Έλ¦¬κ³ μΊμ± μλ²λ‘λ μ΄μ©μ΄ κ°λ₯νλ€. μλ₯Ό λ€μ΄ ν΄λΌμ΄μΈνΈκ° μ΄λ―Έμ§λ₯Ό μμ²νμ λ μ²μμλ μλ²μμ κ°μ Έμ€μ§λ§ μ΄νμλ λμΌν μμ²μ΄ μλ€λ©΄ μΊμ μλ²μμ κ°μ Έμ ν΄λΌμ΄μΈνΈμκ² μ λ¬ν΄μ€λ€. μ΄λ‘μΈν΄ μ¬μ΄νΈμ μ μ μλκ° λΉ¨λΌμ§λ€.
λ§μ§λ§μΌλ‘ 보μ ν¨κ³Όλ μλ€. WASκ° λ°μ΄ν°λ₯Ό μλ΅ν λλ κΈ°κΈ°μ λͺ
μΉμ΄λ μ£Όμ λ± μ€μ λ‘λ λ―Όκ°ν μ 보λ€μ΄ λ΄κ²¨μ Έ μλ€. μ΄λ¬ν μ 보λ€μ μ€κ°μ μ¨κ²¨μ€μΌλ‘μ¨ λ³΄μμ λμΌ μκ° μλ€.
μ΄λ κ² μ 체μ μΈ κ°λ
μ λ³Ό μ μλ€.
μ΄ν Nginxλ₯Ό μ¬μ©νλ λ²μ λ°λ‘ μ 리νλ €κ³ νλ€.
λ‘λ λ°Έλ°μ€
λ‘λ λ°Έλ°μ€λ₯Ό κ·Έλλ‘ λ²μνλ©΄ λΆν λΆμ°κΈ° λΌκ³ λ³Ό μ μλ€.
μ£Όμ μν μ λ€νΈμν¬ νΈλν½μ λν λΆνλ₯Ό 2λ μ΄μ μ μλ²λ‘ μ μ μ νκ² λΆμ°νμ¬ μλ²μ κ°μ©μ±μ ν₯μνλ κ²μ΄λ€.
1. λ‘λ λ°Έλ°μκ° μλ κ²½μ°

2. λ‘λ λ°Έλ°μκ° μλ κ²½μ°

AWSμμλ μ¬μ©μκ° λ‘λ λ°Έλ¬μλ₯Ό μν©μ λ§κ² μ μ°νκ² μ μ©ν μ μλλ‘ λ‘λ λ°Έλ°μ± μλΉμ€λ₯Ό μ 곡νλ€.
λ‘λ λ°Έλ°μ€λ λ 2 κ°μ§ μ’
λ₯λ‘ λλ μ μλ€.
ALB, μ ν리μΌμ΄μ
λ‘λ λ°Έλ°μ±
NLB, λ€νΈμν¬ λ‘λ λ°Έλ°μ±
V
ALB κ°μ κ²½μ°λ λ‘λ λ°Έλ°μμ μ£Όμ μν μΈ λΆν λΆμ°λ³΄λ€λ, WAFλ₯Ό ν΅ν 보μ κΈ°λ₯μ μ μ©νκΈ° μν΄ μ ν리μΌμ΄μ
λ 벨μ λ‘λλ°Έλ°μλ₯Ό μ μ©νλ€.
μ ν리μΌμ΄μ
보μ
λ‘λ λ°Έλ°μμλ μΈν°λ· μ ν리μΌμ΄μ
μ λ λ€λ₯Έ 보μ κ³μΈ΅μ μΆκ°ν μ μλ 보μ κΈ°λ₯μ΄ λ΄μ₯λμ΄ μλ€.
μ΄λ 곡격μκ° μλ² μ₯μ λ₯Ό μΌμΌν€λ μλ°±λ§ κ°μ λμ μμ²μΌλ‘ μ ν리μΌμ΄μ
μλ²λ₯Ό κ°λ μ±μ°λ λΆμ° μλΉμ€ κ±°λΆ κ³΅κ²© (DDoS)μ μ²λ¦¬νλλ° μ μ©ν λꡬμ΄λ€.
λ‘λ λ°Έλ°μ€λ 3 κ°μ§ μ λλ₯Ό μνν μ μλ€.
- νΈλν½ λͺ¨λν°λ§ λ° μ μ± μ½ν μΈ μ°¨λ¨
- 곡격 νΈλν½μ μ¬λ¬ λ°±μλ μλ²λ‘ μλμΌλ‘ 리λ€μ΄λ μ νμ¬ μν₯ μ΅μν
- μΆκ° 보μμ μν΄ λ€νΈμν¬ λ°©νλ²½ κ·Έλ£Ήμ ν΅ν΄ νΈλν½ λΌμ°ν
WAF(Web Application Firewall)
μΉ λ°©νλ²½κ³Ό μΌλ° λ€νΈμν¬ λ°©νλ²½μ "λ°©νλ²
"μ΄λΌλ λ¨μ΄λ₯Ό μ¬μ©νλ€ νμ§λ§ λμ λμ λ°©λ²μλ μ°¨μ΄κ° μλ€.
λ€νΈμν¬ λ°©νλ²½μ λμμ리
:λ€νΈμν¬μ λμλ€λκ³ μλ ν¨ν·μ΄ μ μμΈμ§ μλμ§λ₯Ό νλ¨νλ€.
μΉ λ°©νλ²½ λμμ리
: ν¨ν·μ΄ μλ μ¬μ©μμ URLμ΄ μ μμ΄κ³ μ¬λ°λ₯Έ μμ²μΈμ§ νλ¨νλ€.

μΌλ° λ°©νλ²½μ ν¨ν·μ΄ λμλ€λκ² λλ (Network Layer)λ 벨μ λμνλ€.
μΉ λ°©νλ²½μ HTTP/HTTPS μμ²μ΄ μλ (Application Layer)λ 벨μμ λμνλ€.
μΉ λ°©νλ²½μ WAFλΌκ³ λΆλ¦¬λλ° WAFλ₯Ό μκΈ° μν΄ λ¨Όμ WEB Applicationμ λν΄ μμμΌ νλ€.
Web Applicationμ νν μ°λ¦¬ μΌμ μνμμ ν νμ΄μ§λ λλΆλΆμ μλΉμ€λ€μ Web Applicationμ΄λΌ μκ°νλ©΄ λλ€.

μΉ κ³΅κ²©μ λλΆλΆμ Web Applicationμ ꡬμΆν λ μ겨λλ μ·¨μ½μ μ μ΄μ©ν΄μ μΉμλ²λ₯Ό 곡격νκ±°λ DBμ λ΄μ©μ μ
μ©νμ¬ μ 보λ₯Ό νμ·¨νκ±°λ λ
ΈμΆμ μν¨λ€.
곡격μλ HTTP Requestμ νΉμ 곡격μ½λ λλ νΉμ Web Applicationλ§μ΄ κ°μ§κ³ μλ μ·¨μ½μ μ μ°ννλ μ½λλ₯Ό μ½μ
νμ¬ μΉ μλ²μ μ μ‘νκ² λλλ° μ¬κΈ°μ Web Applicationμ μλνμ§ μμ λμμ νκ² λλλ°, κ·Έ κ²°κ³Όλ₯Ό HTTP Replyλ₯Ό ν΅ν΄ 곡격μμκ² λ€μν μ 보λ€μ μ μ‘νκ² λλ€.
μ΄λ νμν κ²μ΄ λ°λ‘ μΉ λ°©νλ²½μ΄λ€.
μΉ λ°©νλ²½μ΄λ μΉ μλ²μͺ½μΌλ‘ μ μ‘λλ λͺ¨λ HTTP Request Packetμ κ²μ¬νμ¬ Web Applicationμκ² μλνμ§ μλ λ΄μ©λ€μ μ μ‘νμ§ λͺ»νλλ‘ λ§λ μν μ νλ€.
λν, μΉ μλ²μμ ν΅κ³Όνλ HTTP Reply Packet λ΄μ©μ κ°μνμ¬ νΉμ μ 보μ μ μΆμ λ§λ μν λ νλ€.
μ΄λ€ λ°©λ²μΌλ‘ ν κΉ?
λ°λ‘ Proxy Serverμ μ리λ₯Ό κ°μ Έ μ¨λ€.
Proxy Serverλ Clientμ Serverκ°μ ν΅μ μ μ€κ³νκ³ Relayνλ μν μ νλ€.
κ²°λ‘ μ μΌλ‘ μΉ λ°©νλ²½μ μ리λ μΉ μλ²μ λ€μ΄μ€κ³ λκ°λ λͺ¨λ ν¨ν·μ Proxy Server μ리λ₯Ό μ μ©νμ¬ ν¨ν·μ λ΄μ©μ κ²μ¬νκ³ μ°¨λ¨νλ κ²μ΄λ€.

μ°Έκ³ : https://webstone.tistory.com/93
μΉ λ°©νλ²½μ κ°λ κ³Ό μ리
μΉ λ°©νλ²½μ κ°λ κ³Ό μ리 μΉ λ°©νλ²½μ μ€λͺ νκΈ° μμ μΉ λ°©νλ²½κ³Ό μΌλ° λ€νΈμν¬ λ°©νλ²½μ λ λ€ "λ°©νλ²½"μ΄λΌλ λ¨μ΄λ₯Ό μ¬μ©νλ€ νμ§λ§ λμ λμ λ°©λ²μλ μ°¨μ΄κ° μλ€. λ¨Όμ λ€νΈμν¬ λ°©ν
webstone.tistory.com
μ 리νμλ©΄,
<<λ΄κ° μ 리ν νλ¦>>
ν΄λΌμ΄μΈνΈ -> μΉμλ²(nginx) -> proxy server(λ°λ‘ μ κ·Ό λͺ»νλ κ³³μ μ°νν΄μ) + waf (μ΄ λμ μμ μκ±°λ λ€λ‘ μκ±°λ κ°μ΄(ν΅ν©) μκ±°λ -> μλ²μ μ κ·Ό
<<μ± gptκ° λ§νλ νλ¦>>
- ν΄λΌμ΄μΈνΈ: μ¬μ©μμ λΈλΌμ°μ λ μ ν리μΌμ΄μ μΌλ‘λΆν° μμ²μ μμν©λλ€.
- μΉ μλ² (Nginx): 첫 λ²μ§Έ μμ€μ μμ² μ²λ¦¬λ₯Ό λ΄λΉνλ©°, μ μ μ½ν μΈ λ₯Ό μ§μ μ 곡νκ±°λ, λ³΄λ€ λ³΅μ‘ν μ²λ¦¬λ₯Ό μν΄ μμ²μ λ΄λΆ λ€νΈμν¬μ λ€λ₯Έ μλ²λ‘ μ λ¬ν μ μμ΅λλ€. Nginxλ λν 리λ²μ€ νλ‘μ μν μ ν μ μμ΄, μΈλΆμμ λ€μ΄μ€λ μμ²μ λ΄λΆμ μ€μ μλ²λ‘ μ λ¬ν©λλ€.
- νλ‘μ μλ²: μ¬κΈ°μ λ§νλ νλ‘μ μλ²λ νΉμ μλΉμ€μ λν μ κ·Όμ μ€κ³νλ μν μ ν©λλ€. μ΄λ μΆκ°μ μΈ λ³΄μ, μΊμ±, λλ μ ν리μΌμ΄μ μμ²μ νΉμ μλ²λ‘ λΌμ°ν νλ μν μ ν μ μμ΅λλ€.
- WAF (Web Application Firewall): μΉ μ ν리μΌμ΄μ λ°©νλ²½μ μ ν리μΌμ΄μ μμ€μ νΈλν½μ λΆμνμ¬ SQL μΈμ μ , ν¬λ‘μ€μ¬μ΄νΈ μ€ν¬λ¦½ν (XSS), κ·Έλ¦¬κ³ κΈ°ν μΉ κΈ°λ° κ³΅κ²©μΌλ‘λΆν° 보νΈν©λλ€. WAFλ Nginxμ κ°μ μΉ μλ² μ, λ€, λλ ν΅ν©λμ΄ κ΅¬μ±λ μ μμ΅λλ€.
μμ² νλ¦:
- ν΄λΌμ΄μΈνΈμμ μμλ μμ²μ λ¨Όμ μΉ μλ²(Nginx)μ λλ¬ν©λλ€.
- Nginxλ μμ²μ λΆμνμ¬ μ μ μ½ν μΈ μμ²μ μ§μ μ²λ¦¬νκ³ , λμ μ½ν μΈ μμ²μ΄λ νΉμ 쑰건μ ν΄λΉνλ μμ²μ νλ‘μ μλ²λ‘ μ λ¬ν©λλ€.
- νλ‘μ μλ²λ μμ²μ λ°μ λ΄λΆ μλ²λ‘ μ°νμν€κ±°λ, νΉμ μλΉμ€λ‘ λΌμ°ν νλ μν μ ν©λλ€. μ΄ κ³Όμ μμ WAFκ° μμ²μ κ²μ¬νμ¬ μ μμ μΈ μΉ νΈλν½μ μ°¨λ¨ν μ μμ΅λλ€.
- λ§μ§λ§μΌλ‘, μμ²μ μ€μ μ²λ¦¬λ₯Ό μν΄ λ΄λΆ μλ²(μ: μ ν리μΌμ΄μ μλ², λ°μ΄ν°λ² μ΄μ€ μλ² λ±)μ λλ¬ν©λλ€.
μ΄λ° ꡬμ±μ 보μμ κ°ννκ³ , μλΉμ€μ κ°μ©μ±κ³Ό μ±λ₯μ ν₯μμν€λ λ° λμμ΄ λ©λλ€. WAFμ μμΉλ ꡬ체μ μΈ λ³΄μ μꡬμ¬νκ³Ό μΈνλΌ κ΅¬μ±μ λ°λΌ λ¬λΌμ§ μ μμΌλ©°, μ΄λ μ 체 μμ€ν
μ€κ³μ μ€μν λΆλΆμ
λλ€.
2. μ΄λ² μ£Ό μνμ°©μ€
μ¬μ ν κ²ͺκ³ μλ μ¬μ μΈ νλ¬.. νμ§λ§ μ€λλ ν΄λλ€. νλμ© νλμ© νκ³ μλ€. κ·Έκ² μ€μν κ±°λ€. μ΄λ² μ£Ό μνμ°©μ€λΌ νλ©΄
λ°λ‘ μ΄λ¬ν μ¬μ μ λ¬λλ©΄μ λ€μλ λ¬λ¦¬κΈ° μν΄ μ€λΉλ₯Ό νκ³ μλ€. κ³νμ λ€μ μμ±νλ©° μ΄λμ νλ λ± λ€μ λλ₯Ό μΌμΌμΌ μΈμ°κ³ μλ€.
μλ κΎΈμ€ν¨μ΄ μ μΌ νλ κ²μ΄λ€. μ΄λ€λ³΄λ©΄ λ€μν μΌμ΄ λ°μνκ³ κ·Έλ‘μΈν μκ°κ³Ό κ°μ μ΄ μ¬λΌμ€κΈ° λλ¬Έμ΄λ€.
νμ§λ§, μ΄λν μ§λκ°λ¦¬λΌ ~ μ΄κ²¨λΌ μ€λΉκ° λμ΄μκ³ μ΄κ²¨λΌ κ²μ΄λ€.
3. μμΌλ‘ μ΄λμ μ μ©
μ΄λ² μ£Ό AWSλ₯Ό νμ©νλ©΄μ nginxμ λ‘λλ°Έλ°μ± κ·Έλ¦¬κ³ WAF κΉμ§ λ°°μμΌλ‘μ¨ λ³΄μμ λν 곡λΆλ₯Ό μ‘°κΈ λ κΉκ² ν μ μμλ€.
보μμ μν΄μ μ λ§ κ³³κ³³μμ μκΈ°μ μν μ νκ³ μλ κ²μ μκ² λμλ€. νμ¬μλ λ΄κ° AWSλ₯Ό νμ©νμ¬ μ€μ μλ μ¬μ©νμ§ μμμ§λ§
μ΄λ² κ³κΈ°λ₯Ό ν΅ν΄μ AWSμ νμ©κ³Ό AWSκ° κ°μ§κ³ μλ 보μμ λ€λ£¨λ©΄μ AWSμ κ°μΉλ₯Ό μ λλ‘ μ μ μλ μκ°μ΄μλ κ² κ°λ€.
λ λν μ€λ¬΄λ‘ λκ°κ² λλ€λ©΄ AWSλ₯Ό νμ©ν νλ₯ μ΄ λμ보μΈλ€. μ΄μ λν΄ λ μ¬λ μκ² κ³΅λΆνμ¬ μ격μ¦λ λ°λ©° AWSλ₯Ό μ νμ©ν μ μλ μ λ₯ν κ°λ°μλ‘ μ±μ₯ν΄μΌκ² λ€.
4. νμ¬κΉμ§μ νμ΅ νκ° λ° λ€μ νμ΅μ μν λ€μ§/λͺ©ν
-νλ‘ νΈ μ€λ-
νμ¬ μ§ννκ³ μλ€. κ³μν΄μ 곡λΆνμ. κ·Έλ¦¬κ³ μ μ 리νκ³ λ΄ κ²μΌλ‘ λ§λ€λλ‘ λ
Έλ ₯νμ.
-λ°±μ€λ-
Spring boot μ±
μ 곡λΆνκ³ μκΈ΄νλ° μμ μλλ₯Ό λͺ» λΆμ΄κ³ μλ€. λ§μ κ²λ€μ μ€λΉνκ³ μμ΄μ μ΄κΈ°λ νμ§λ§
λμ λ§μκ°μ§μ΄ νλ€λ ΈκΈ° λλ¬Έμ μκ° λ°°λΆμ λͺ»ν κ²λ μλ€. λ€μ μ£Όλ μ΄λ² μ£Ό λ³΄λ€ λ λ°μ λ μμΈλ‘ μνμ¬
곡λΆλ₯Ό μ§νν΄λ³΄μ.
-SQLD-
μ΄λ² μ£Ό λλμ΄ μνμ΄λ€. λ¬Έμ λ₯Ό νμ΄λ³΄λ μκ°λ³΄λ€ λ§λ§μΉ μλ€. μκ° λ°°λΆ μν΄μ 곡λΆνκ³ , μ΅λν λ΄ κ²μΌλ‘ λ§λ€λλ‘ λ
Έλ ₯ν΄μΌκ² λ€.
νμ΄ν
μ΄λ€ !!
- λ©΄μ κ°μ μ€λΉ -
λ§μ μνλ κ²μ μ¬ν μννλ©΄μ λ§€μ° μ€μνλ€. μμ§κΉμ§ μ λλ‘ μμμ λͺ»νμ§λ§ μ°¨μ°¨ μμμ ν΄λ³΄μ.
- μ½λ© ν
μ€νΈ -
λ°±μ€ λ¬Έμ μ μΈνλ° λ κ°λ₯Ό λ³ννκ³ μλ€. μ λ² μ£Όμλ μ‘°κΈ λ§μ΄ λͺ»νΌκ°μ΄ μμ§ μμ μλ€. μ΄λ² μ£Όλ
μ’ λ νλ ₯μκ² νμ΄ λκ°κ² λ€.
- ν νλ‘μ νΈ -
μ½λμμ΄μ μ΄μ΄ 본격 νμ΄λ νλ‘μ νΈκ° μ½μμ λ€κ°μλ€!! μ°λ¦¬νμ 맨λ
μ ν€λ©μ μ¦κΈ°λ μ¬λλ€λ‘ ꡬμ±λμ΄ μλ€ γ
γ
γ
λλ ΅μ§λ§ μ΅μ μ λ€ν΄ λ³Ό κ²μ΄λ€!
μ€λ λ³΄λ€ λ μ±μ₯νλ λ΄μΌμ λ§λ€μ΄ λκ°μ κ·Έλ¬κΈ° μν΄μλ μ€λμ μμ°¨κ² λ³΄λ΄μ.
λ€μ μ£Όλ νμ΄ν
μ΄λ€ βοΈ