ELB - Sticky Sessions (Session Affinity)

κ³ μ •μ„Έμ…˜ & μ„Έμ…˜ λ°€μ ‘μ„± 에 λŒ€ν•΄ μ•Œμ•„λ³΄μž.

Target Group μ—μ„œ μ„€μ •ν•˜λŠ” μ˜΅μ…˜μ΄λ‹€.

ν•΄λ‹Ή μ˜΅μ…˜μ„ 켜게되면, λΆ€ν•˜ λΆˆκ· ν˜•μ΄ 생길 수 μžˆμœΌλ‹ˆ μœ μ˜ν•  것

image-20220609021957426

νŠΉμ§•

λ‘œλ“œ λ°ΈλŸ°μ„œμ— 2가지 μš”μ²­μ„ μˆ˜ν–‰ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­μ— μ‘λ‹΅ν•˜κΈ° μœ„ν•΄ λ°±μ—”λ“œμ— λ™μΌν•œ μΈμŠ€ν„΄μŠ€λ₯Ό κ°–λŠ” 것
λ‹€μ‹œλ§ν•΄, μœ μ €1 이 ν•œλ²ˆ μš”μ²­μ„ 보내면, κ·Έ μš”μ²­μ΄ EC2 1번으둜 κ°”λ‹€λ©΄, λ‹€μŒ μš”μ²­λ„ EC2 1번으둜 κ°€κ²Œλœλ‹€.
ν•΄λ‹Ή λ™μž‘μ€ CLB 와 ALB μ—μ„œ λͺ¨λ‘ μ„€μ • κ°€λŠ₯ν•˜λ‹€.

원리

이 μ›λ¦¬λŠ” μΏ ν‚€λ•Œλ¬ΈμΈλ°, ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ λ‘œλ“œ λ°ΈλŸ°μ„œλ‘œ μš”μ²­μ˜ μΌλΆ€λ‘œμ„œ μΏ ν‚€κ°€ μ „μ†‘λœλ‹€.
κ³ μ •μ„±κ³Ό 만료 기간도 μžˆλ‹€. 즉, μΏ ν‚€κ°€ 만료되면 ν΄λΌμ΄μ–ΈνŠΈκ°€ λ‹€λ₯Έ EC2 μΈμŠ€ν„΄μŠ€λ‘œ λ¦¬λ‹€μ΄λ ‰μ…˜ λœλ‹€λŠ”κ²ƒμ΄λ‹€.

μ„Έμ…˜ 만료λ₯Ό μ‚¬μš© μ‹œμ—λŠ” μ‚¬μš©μžμ˜ 둜그인과 같은 μ€‘μš”ν•œ 정보λ₯Ό μ·¨ν•˜λŠ” μ„Έμ…˜ 데이터λ₯Ό μžƒμ§€ μ•ŠκΈ° μœ„ν•΄
μ‚¬μš©μžκ°€ λ™μΌν•œ λ°±μ—”λ“œ μΈμŠ€ν„΄μŠ€μ— μ—°κ²°λ©λ‹ˆλ‹€.

단점

고정성을 ν™œμ„±ν™”ν•˜λ©΄ λ°±μ—”λ“œ EC2 μΈμŠ€ν„΄μŠ€ λΆ€ν•˜μ— λΆˆκ· ν˜•μ„ μ΄ˆλž˜ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
일뢀 μΈμŠ€ν„΄μŠ€λŠ” κ³ μ • μ‚¬μš©μžλ₯Ό κ°–κ²Œ λœλ‹€.

μΏ ν‚€λž€?

κ³ μ • μ„Έμ…˜(Sticky Session) μ—λŠ” 2가지 μœ ν˜•μ˜ μΏ ν‚€κ°€ μžˆλ‹€.

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 기반 μΏ ν‚€ (Application-based Cookies)
    • μ‚¬μš©μž μ •μ˜ μΏ ν‚€
      • Target 에 μ˜ν•΄ μƒμ„±λœλ‹€.
      • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— ν•„μš”ν•œ λͺ¨λ“  μ‚¬μš©μž μ •μ˜ 속성을 포함할 수 μžˆλ‹€.
      • μΏ ν‚€ 이름은 각 TargetGroup λ³„λ‘œ κ°œλ³„μ μœΌλ‘œ 지정해야 ν•œλ‹€.
      • AWSALB, AWSALBAPP, AWSALBTG 와 같은 이름은 μ‚¬μš©ν•΄μ„œλŠ” μ•ˆλœλ‹€. (이미 ELBκ°€ μ‚¬μš©μ€‘μΈ 이름)
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μΏ ν‚€
      • λ‘œλ“œλ°ΈλŸ°μ„œ μžμ²΄μ—μ„œ μƒμ„±λœλ‹€.
      • 쿠킀이름은 AWSALBAPP 이닀.
  • κΈ°κ°„ 기반의 μΏ ν‚€ (Duration-based Cookies)
    • λ‘œλ“œλ°ΈλŸ°μ„œμ— μ˜ν•΄ μƒμ„±λ˜λŠ” 쿠킀이닀.
    • μΏ ν‚€ 이름은 alb - AWSALB 이고, clb - AWSELB 이닀.

μ‹€μŠ΅

  • κ³ μ • μ„Έμ…˜μ„ ν™œμ„±ν™” ν•˜λŠ”λ²•
    • Load Balancer - Target Groups - Action - Edit attributes
    • Load balancing algorithm
      • round robin
      • least outstanding requests
      • Stickness (κ³ μ •μ„±)
        • Load Balancer generated cookie (κΈ°κ°„ μœ ν˜•)
        • Application-based cookie
        • μΏ ν‚€ λ²”μœ„λŠ” 1초 ~ 7일 이닀 (μ„€μ •ν•œ κΈ°κ°„λ§ŒνΌ μš”μ²­μ΄ λ™μΌν•œ EC2 둜 κ°€κ²Œλ  κ±°λΌλŠ” 뜻)

image-20220609023803491

image-20220609023827852

λŒ“κΈ€λ‚¨κΈ°κΈ°