μ€λμ λ§μ΄ λ€μ΄λ΄€μ λ‘λ λ°Έλ°μ±μ κ΄λ ¨λ 곡λΆλ₯Ό ν΄λ³΄κ² μ΅λλ€
Amazon ELB κΈ°λ₯ μκ°
λΆνλΆμ°μ΄λ
λΆνλΆμ°μ μλ²-ν΄λΌμ΄μΈνΈ νκ²½μμ μλ²κ° ν΄λΌμ΄μΈνΈ μμ²μ λ°μ μ²λ¦¬νλ κ³Όμ μμ λ°μνλ λΆν(μ°μ° μμ )μ λν΄ λμΌν λͺ©μ μ μννλ λ€μμ μλ²μ λΆμ° μ²λ¦¬νλ κΈ°λ₯μ λλ€
=> κ³ κ°μ©μ± λ° λ΄κ²°ν¨μ±μ΄ ν₯μλμ΄ μ₯μ κ° λ°μν λ μ μ°νκ² λμ²ν μ μκ³ , μλΉμ€λ₯Ό μμ μ μΌλ‘ μ μ§ν μ μμ
κ³ κ°μ©μ± : μμ€ν μ΄λ μλΉμ€κ° μ§μμ μΌλ‘ μλ κ°λ₯νλλ‘ νλ κΈ°λ₯
λ΄κ²°ν¨μ± : μμ€ν μ μΌλΆ κ΅¬μ± μμκ° μλνμ§ μλλΌλ κ³μ μλν μ μλ κΈ°λ₯
μ΄λ° λΆνλΆμ°μ λ‘λ λ°Έλ°μ±(load balancing)μ΄λΌκ³ νλ©°, λΆνλΆμ°μ μννλ λμμ λ‘λ λ°Έλ°μ(load balancer)λΌκ³ νλ€.
Amazon ELB κΈ°λ₯
AWSμμλ ELB(Elastic Load Balancing)λΌλ λ‘λ λ°Έλ°μ± κΈ°μ μ μ 곡νλ€
ELBλ Amazon EC2 μΈμ€ν΄μ€μμ μ΄μ μ€μΈ μ ν리μΌμ΄μ , λ§μ΄ν¬λ‘μλΉμ€ λλ 컨ν μ΄λ μλΉμ€λ‘ μ μ λλ νΈλν½μ μλ λΆμ° μ²λ¦¬νλ κΈ°μ μ΄λ€
ELBλ μ¬λ¬ κ°μ© μμμμ μλνμ¬ μ ν리μΌμ΄μ κ°μ©μ±μ ν₯μμν€κ³ HTTP, TCP λ± λ€μν νλ‘ν μ½ μ§μ, μ¬μ©μκ° κ°μ μΈμ€ν΄μ€μμ μΈμ μ μ μ§ν μ μλλ‘ μ§μν΄μ€λ€
λν, AWSμ μ€ν μ€μΌμΌλ§ κΈ°λ₯κ³Ό κ²°ν©ν΄μ νΈλν½μ΄ μ¦κ°ν λ μλμΌλ‘ μΈμ€ν΄μ€λ₯Ό μΆκ°νκ±°λ μ κ±°νλ©΄μ μ ν리μΌμ΄μ κ°μ©μ±μ μ μ§νκΈ°λ νλ€
μ΄λ κ² ELBλ λ€νΈμν¬ λ° μμ© νλ‘κ·Έλ¨ μμ€μ λ‘λ λ°Έλ°μ±μ μ§μνμ¬ λ€μν μ ν리μΌμ΄μ μ μ μ©ν μ μμΌλ©°, SSL μνΈνλ₯Ό μ§μνμ¬ μ ν리μΌμ΄μ μ 보μμ κ°ννλ€
Amazon ELB κ΅¬μ± μμ
Amazon ELBλ μΈ κ°μ§ μμλ‘ κ΅¬μ±λμ΄ μλ€
λ‘λ λ°Έλ°μ : μ¬λ¬ λμ EC2 μΈμ€ν΄μ€, IP μ£Όμ, λλ€ λ±μ μ¬μ©νμ¬ νΈλν½μ λμ κ·Έλ£Ήμ μλ μΈμ€ν΄μ€λ‘ λΆμ°μμΌ μ ν리μΌμ΄μ μ κ°μ©μ±μ μ μ§νλ μν μ νλ€.
=> λ‘λ λ°Έλ°μλ μ¬μ©μ μμ²μ λ°μ μ ν리μΌμ΄μ
μλ²λ‘ μ λ¬νκ³ , μ ν리μΌμ΄μ
μλ²μ μλ΅μ μ¬μ©μμκ² λ°ννλ€
λμ κ·Έλ£Ή : λ‘λ λ°Έλ°μμμ λΆμ°ν λμμ μ§ν©μ μ μνλ κ΅¬μ± μμμ΄λ€.
=> λμ κ·Έλ£Ήμ μΈμ€ν΄μ€μ λν΄ μ μ λλ λμ μΌλ‘ ꡬμ±ν μ μμΌλ©°, λΌμ°ν
κ·μΉμ λ°λΌ μμ²μ λ°μλ€μΌ λμ κ·Έλ£Ήμ μ ννλ€.
=> λ‘λ λ°Έλ°μλ λμ κ·Έλ£Ήμ ν¬ν¨λ λμλ€μ μνλ₯Ό μ κΈ°μ μΌλ‘ νμΈνμ¬ μ₯μ λ°μ λμμ μλμΌλ‘ μ μΈνκ³ , μ μμ μΌλ‘ λμνλ λμμλ§ μμ²μ μ λ¬
리μ€λ : λ‘λ λ°Έλ°μμμ μ¬μ©ν ν¬νΈμ νλ‘ν μ½μ μ€μ νλ κ΅¬μ± μμμ΄λ€
=> 리μ€λλ λ‘λ λ°Έλ°μμμ ν΄λΌμ΄μΈνΈ μμ²μ μμ νκ³ , ν΄λΉ μμ²μ μ²λ¦¬ν λμ κ·Έλ£Ήμ μ ννλ μν μ νλ€
=> 리μ€λλ λ‘λ λ°Έλ°μμ μ°κ²°λ νλ‘ν μ½κ³Ό ν¬νΈλ₯Ό μ¬μ©νμ¬ ν΄λΌμ΄μΈνΈ μμ²μ μμ νκ³ , ν΄λΉ μμ²μ λμ κ·Έλ£ΉμΌλ‘ λΌμ°ν νλ€
Amazon ELB λμ λ°©μ
Amazon ELBλ₯Ό μμ±νλ©΄ μ€μ ν κ°μ© μμλ³λ‘ λ‘λ λ°Έλ°μ λ Έλκ° μμ±λκ³ μλ¨μ 리μ€λλ₯Ό μ€ννλ€
μ΄λ° 리μ€λλ λ€μν νλ‘ν μ½(HTTP, HTTPS, TCP λ±)μ μ§μνλ©°, μμ²μ λν λμ κ·Έλ£Ήμ λΌμ°ν μ μ μνλ€
ELBκ° λμνλ λ°©μμ λ μμΈν μ΄ν΄λ³΄λ©΄
1. ν΄λΌμ΄μΈνΈ μμ² μμ : λ‘λ λ°Έλ°μμμ ν΄λΌμ΄μΈνΈ μμ²μ μμ
=> λ‘λ λ°Έλ°μλ ν΄λΌμ΄μΈνΈμ μ°κ²°μ μ μ§νλ©°, μμ²μ μμ νλ €κ³ λ¦¬μ€λλ₯Ό λ±λ‘
2. λμ κ·Έλ£Ή μ ν : μμ ν ν΄λΌμ΄μΈνΈ μμ²μ μ²λ¦¬ν λμ κ·Έλ£Ήμ μ ν
=> λμ κ·Έλ£Ήμ μΈμ€ν΄μ€, IP μ£Όμ, λλ€ ν¨μ, ALB λ± μ¬λ¬ μ νμ λμμΌλ‘ ꡬμ±
3. νΈλν½ λΆμ° : μ νλ λμ κ·Έλ£Ήμμ μμ²μ μ²λ¦¬ν λμμ μ ννκ³ ν΄λΉ λμμΌλ‘ μμ²μ λΆμ°
=> μ΄λ λ‘λ 벨λ°μλ κ° λμμ κ°μ©μ± μνλ₯Ό λͺ¨λν°λ§νκ³ κ°μ©νμ§ μμ λμμ μ μΈ
4. μλ΅ λ°ν : λΆμ°λ μμ²μ λμμμ μ²λ¦¬νκ³ ν΄λΌμ΄μΈνΈμ μλ΅μ λ°ννλ€
=> μλ΅μ λ‘λ 벨λ°μμμ μμ ν κ²μΌλ‘ λ°νλλ―λ‘, ν΄λΌμ΄μΈνΈλ λ‘λ 벨λ°μκ° λμ κ·Έλ£Ήμμ μ νν λμμκ²μ λ§μΉ μλ΅μ λ°λ κ²μ²λΌ λλ μ μμ
ELBλ₯Ό μμ±ν λ λ‘λ 벨λ°μμ ν΅μ νλ λ°©μμ
μΈν°λ· κ²½κ³ λ‘λ λ°Έλ°μ : μΈλΆμμ μ§μ λ‘λ λ°Έλ°μμ μ κ·Όνλ λ°©μ
λ΄λΆ λ‘λ λ°Έλ°μ : μΈλΆμ μ κ·Όμ΄ μ°¨λ¨λ 격리λ λ€νΈμν¬(λ΄λΆ μλ² μ μ©)μμ λ‘λ λ°Έλ°μλ₯Ό μ¬μ©νλ λ°©μ
κ° μλ€!
Amazon ELB κ΅μ°¨ μμ λ‘λ λ°Έλ°μ±
Amazon ELBλ μ¬λ¬ κ°μ© μμμμ λ‘λ λ°Έλ°μ λ Έλλ₯Ό μ€ννλ©°, κ° λ Έλλ κ°μ© μμ λ΄ λμ κ·Έλ£ΉμΌλ‘ μμ²μ λΆμ°νλ€
κ΅μ°¨ μμ λ‘λ λ°Έλ°μ±μ΄ λΉνμ±νλ μνμμ λμ νλ¦μ 보면
μ¬μ©μ PCμμ ELB λλ©μΈ μ£Όμλ‘ νΈλν½μ μ μ‘νλ©΄, λλ©μΈμ ν΄μνμ¬ 50:50 λΉμ€μΌλ‘ κ° κ°μ© μμμ μμΉν λ‘λ λ°Έλ°μλ‘ μ λ¬ν κ²μ΄λ€
λ§μ½ μΈμ€ν΄μ€μ μλμ΄ μ²« λ²μ§Έ κ°μ© μμμ λ λ, λλ² μ§Έ κ°μ© μμμ μ¬λ λλ‘ μμλ³λ‘ λΆκ· ννκ² κ΅¬μ±λμ΄ μλ€λ©΄
첫 λ²μ§Έ λ‘λ λ°Έλ°μλ μ΄ 50μ΄λΌλ λΉμ€μμ λ λμ λμ μΈμ€ν΄μ€μ 25μ λΉμ€μΌλ‘ νΈλν½μ λ‘λ λ°Έλ°μ±ν κ²μ΄κ³
λ λ²μ§Έ λ‘λ λ°Έλ°μλ μ΄ 50μ΄λΌλ λΉμ€μμ μ¬λ λμ λμ μΈμ€ν΄μ€μ 6.25 λΉμ€μΌλ‘ νΈλν½μ λ‘λ λ°Έλ μ±ν κ²μ΄λ€
=> μ΄λ κ² λλ©΄ 첫 λ²μ§Έ κ°μ© μμμ μμΉν λμ μΈμ€ν΄μ€μ νΈλν½ λΆνλκ° λμμ§κ² λλ©°, μ 체μ μΌλ‘ λ‘λ λ°Έλ°μ±μ΄ λΆκ· νν΄μ§λ κ²μ νμΈν μ μλ€
μ΄λ° λΆκ· ν λ‘λ λ°Έλ°μ±μ ν΄κ²°νλ λ° Amazon ELBμμ μ 곡νλ κ΅μ°¨ μμ λ‘λ λ°Έλ°μ± κΈ°λ₯μ μ¬μ©ν μ μλλ°, ELB κ΅μ°¨ μμ λ‘λ λ°Έλ°μ±(cross-zone load balancing)μ μ¬λ¬ κ°μ© μμμ κ±Έμ³ μλ EC2 μΈμ€ν΄μ€λ 컨ν μ΄λ λ± λμμ λ ν¨κ³Όμ μΌλ‘ λ‘λ λ°Έλ°μ±νλ κΈ°λ₯μ΄λ€
=> κ°μ© μμλ³λ‘ μΈμ€ν΄μ€ μλμ΄ λΆκ· ννκ² μμΉν λ νΈλν½ λΉμ€μ 보μ ν μ μμΌλ©°, νΈλν½μ λΆμ°νλ κΈ°μ€μ΄ κ°μ© μμμ΄ μλ λμ κ·Έλ£Ήμ΄ μν μμμ κΈ°μ€μΌλ‘ κ· μΌν λΉμ€μ λ‘λ λ°Έλ°μ±μ μνν μ μμ
=> κ΅μ°¨ μμ λ‘λ λ°Έλ°μ±μ ALBλ₯Ό μ¬μ©ν λ κΈ°λ³Έμ μΌλ‘ νμ±νλμ΄ μμΌλ, NLBλ λΉνμ±νλμ΄ μλ€
Amazon ELB μ’ λ₯
Amazon ELBμμ μ 곡νλ λ‘λ λ°Έλ°μ μ’ λ₯λ νΈλν½μ νλ‘ν μ½ μ’ λ₯λ μλΉμ€μ λͺ©μ κ³Ό λμμ λ°λΌ λ€ κ°μ§λ‘ λΆλ₯ν μ μλ€
CLB
CLB(Classic Load Balancer)λ Amazon ELBμ κ°μ₯ μ΄κΈ°μ μΆμλ λ‘λ λ°Έλ°μλ‘, 4κ³μΈ΅κ³Ό 7κ³μΈ΅ νλ‘ν μ½μ λͺ¨λ μ§μνλ€
=> κ³ μ IP μ£Όμλ₯Ό μ¬μ©νμ¬ λ‘λ λ°Έλ°μλ₯Ό μμ±νκ³ , λ‘λ λ°Έλ°μμ λν DNS μ΄λ¦μΌλ‘ μμΈμ€ν μ μλ€
=> κ·Έλ¬λ, CLBλ μλ²μ κΈ°λ³Έ μ£Όμκ° λ³κ²½λλ©΄ λ‘λ λ°Έλ°μλ₯Ό μλ‘ μμ±ν΄μΌ νλ©°, κΈ°λ₯μ μΈ νκ³ λλ¬Έμ ν¬νΈλ ν€λ κ°μ λ°μ΄ν°λ₯Ό μμ νκ±°λ λ³κ²½ν μ μλ λ± μ μ½ μ¬νμ΄ μλ€!
(μ΄λ° νΉμ§μ μλ²μ ꡬμ±κ³Ό μν€ν
μ²κ° 컀μ§κ³ 볡μ‘ν΄μ§μλ‘ μ¬μ© λΉμ©μ΄ μ¦κ°νκΈ° λλ¬Έμ νμ¬λ NLBμ ALBλ‘ λ체ν΄μ μ¬μ©νλ μΆμΈμ)
ALB
ALB(Application Load Balancer)λ AWSμμ μ 곡νλ L7 λ‘λ λ°Έλ°μλ‘, HTTP/HTTPS κ°μ μΉ μ ν리μΌμ΄μ νλ‘ν μ½μ μ§μνλ€!
ALBλ λμ κ·Έλ£Ή λ¨μλ‘ νΈλν½μ λΆμ°νλ©°, κ° λμ κ·Έλ£Ήμ ALBκ° μμ²μ μ λ¬ν EC2 μΈμ€ν΄μ€, λλ€ ν¨μ, 컨ν μ΄λ λ° IP μ£Όμλ‘ λΌμ°ν νλ κΈ°λ₯μ μ 곡νλ€
ALBμ νΉμ§μΌλ‘λ
=> HTTP ν€λλ₯Ό νμΈνμ¬ λ€μν λΌμ°ν κΈ°λ₯μ μ 곡νλ€
- κ²½λ‘ κΈ°λ° λΌμ°ν : URL κ²½λ‘λ₯Ό κΈ°λ°μΌλ‘ μμ²μ λΆμ°
- νΈμ€νΈ κΈ°λ° λΌμ°ν : νΈμ€νΈ μ΄λ¦μ κΈ°λ°μΌλ‘ μμ²μ λΆμ°
- 쿼리 λ¬Έμμ΄ κΈ°λ° λΌμ°ν : URL 쿼리 λ¬Έμμ΄μ κΈ°λ°μΌλ‘ μμ²μ λΆμ°
=> μ€ν μ€μΌμΌλ§κ³Ό ν¨κ» μ¬μ©νμ¬ νμ₯μ± μλ μ ν리μΌμ΄μ μ ꡬμ±ν μ μλ€
=> λμ κ·Έλ£Ή λ΄ μΈμ€ν΄μ€μ λν΄ μν κ²μ¬λ₯Ό μννκ³ , λ¬Έμ κ° λ°μνλ©΄ μλμΌλ‘ μ₯μ μ‘°μΉλ₯Ό μ·¨ν μ μλ€
=> Amazon CloudWatch Logsμ ν΅ν©λμ΄ λ‘κ·Έ λ° μ§ν λ°μ΄ν°λ₯Ό μμ§νκ³ λͺ¨λν°λ§ λ° λΆμμ ν μ μλ€
ALBλ μΉ μ ν리μΌμ΄μ μ νΉνλ μΈλ°ν λΌμ°ν μ μ μ΄ν μ μμ΄ μΉ μ ν리μΌμ΄μ μ μν λ‘λ λ°Έλ°μλ‘ μ¬μ©λλ€!
NLB
NLB(Network Load Balancer)λ AWSμμ μ 곡νλ L4 λ‘λ λ°Έλ°μλ‘, TCP · UDP · TLS νλ‘ν μ½μ μ§μνλ€
NLBλ μμ μ€λͺ ν ALBμ λ¬λ¦¬, ν΄λΌμ΄μΈνΈμ λ‘λ λ°Έλ°μ κ° μ°κ²°μ TCP λ 벨μμ μ μ§νλ―λ‘ λκ·λͺ¨ νΈλν½μ μ²λ¦¬ν μ μλ€
=> μ΄λ₯Ό μν΄ NLBλ λμ μ²λ¦¬λ, μ΄λΉ μ°κ²° μ, λμν λ± κΈ°λ₯μ μ 곡νλ©° λμΌν IP μ£Όμμμ μ¬λ¬ λμ κ·Έλ£Ήμ μ§μν μ μλ€
NLBμ νΉμ§μΌλ‘λ
=> λμ μ²λ¦¬λ, λΉ λ₯Έ μλ΅ μκ°, λμ κ°μ©μ±, IP μ£Όμ 보쑴(ν΄λΌμ΄μΈνΈ IP μ£Όμλ₯Ό μ μ§νλ©΄μ λ‘λ λ°Έλ°μ±μ μνν μ μμ), λͺ¨λν°λ§ κΈ°λ₯ μ§μ λ±μ΄ μλ€
λ°λΌμ, NLBλ λκ·λͺ¨ λ€νΈμν¬ νΈλν½μ μ²λ¦¬νκ³ λμ κ·Έλ£Ήμ λμμ΄ IP μ£Όμλ‘ μλ³λ λ μ μ©νλ€!
(AWSμμ μ 곡νλ λ€λ₯Έ λ‘λ λ°Έλ°μλ³΄λ€ λμ μ²λ¦¬λκ³Ό λΉ λ₯Έ μλ΅ μκ°μ 보μ₯νλ―λ‘ κ²μ μλ², VoIP μλΉμ€, λ―Έλμ΄ μ€νΈλ¦¬λ° λ±μ μ¬μ©λ¨)
GWLB
GWLB(Gateway Load Balancer)λ λ€νΈμν¬ νΈλν½μ μλ νν°μ λ°©νλ²½/μ΄νλΌμ΄μΈμ€ μ₯λΉλ‘ λΆνλΆμ°μ μ²λ¦¬νλ λ‘λ λ°Έλ°μμ΄λ€
=> μμ²μ λ°λΌ νΈλν½μ νμ₯νκ±°λ μΆμνλ©΄μ λ€μμ μλ νν° μ₯λΉμ λ‘λ λ°Έλ°μ±μ μ²λ¦¬ν¨
GWLBλ VPC λ΄μμ μ€νλλ μ ν리μΌμ΄μ μ κ°μ©μ±κ³Ό νμ₯μ±μ ν₯μμν€λλ° μ¬μ©λλ©°, TCP λ° UDP νλ‘ν μ½μ μ§μνμ¬ λ€μν μ νμ μ ν리μΌμ΄μ μ μ μ°νκ² μ μ©ν μ μλ€
ALB vs NLB
ALB : HTTP/HTTPS μ²λ¦¬μ νΉνλ μ ν리μΌμ΄μ λ 벨μ λ‘λ λ°Έλ°μλ‘, OSI λͺ¨λΈμ 7κ³μΈ΅μμ λΌμ°ν λμμ΄ κ°λ₯νλ€.
=> λλ€(lambda)λ₯Ό λμ κ·Έλ£Ή μ§μ ν μ μμ
NLB : TCP, UDP, TLSμ λν νΈλν½μ μ²λ¦¬ν μ μλ OSI 4κ³μΈ΅μ λ‘λ λ°Έλ°μλ‘, ELB μ€ κ°μ₯ λΉ λ₯΄κ³ λμ μ²λ¦¬λμ μ§μνλ€
=> κ³ μ IPλ₯Ό μ¬μ©ν μ μμ
κ° λ‘λ λ°Έλ°μ μ’
λ₯λ κ³ μ ν κΈ°λ₯λ€μ μ 곡νλ―λ‘ μ¬μ©μ μꡬ μ¬νμ λ°λΌ μ μ ν λ‘λ λ°Έλ°μλ₯Ό μ νν΄μΌ νλ€!
'π Infra > AWS κ΅κ³Όμ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[AWS κ΅κ³Όμ] 4μ₯ - AWS λΆνλΆμ° μλΉμ€(3) (1) | 2024.01.12 |
---|---|
[AWS κ΅κ³Όμ] 4μ₯ - AWS λΆνλΆμ° μλΉμ€(2) (4) | 2024.01.12 |
[AWS κ΅κ³Όμ] 3μ₯ - AWS λ€νΈμνΉ μλΉμ€(5) (1) | 2024.01.07 |
[AWS κ΅κ³Όμ] 3μ₯ - AWS λ€νΈμνΉ μλΉμ€(4) (2) | 2024.01.07 |
[AWS κ΅κ³Όμ] 3μ₯ - AWS λ€νΈμνΉ μλΉμ€(3) (2) | 2024.01.04 |