AWS HA Load Balancing
Contents
Amazon Elastic Load Balancing
Amazon Auto Scaling
ELB ๋ฐ Auto Scaling ๊ตฌ์ถํ๊ธฐ
Useful Informations
Amazon Elastic Load Balancing์ ํ์ฅ์ฑ, ์ฑ๋ฅ ๋ฐ ๋ณด์์ ๋ณด์ฅํ์ฌ application์ ๋ด๊ฒฐํจ์ฑ์ ํ๋ณดํ ์ ์๋ค
ELB๋ ๋จ์ผ ๊ฐ์ฉ ์์ญ ๋๋ ์ฌ๋ฌ ๊ฐ์ฉ ์์ญ์์ ๋ค์ํ application์ ๋ถํ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค
ELB๋ application์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ ์ ํ Load Balancer๋ฅผ ์ ํํ ์ ์๋ค
์ ์ฐํ application ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ
Application Load Balancer
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์Application์ ํ์ํ ์ฑ๋ฅ ๋ฐ ๊ณ ์ IP๊ฐ ํ์ํ ๊ฒฝ์ฐ
Network Load Balancer
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์๊ธฐ์กด application์ด EC2-Classic Network ๋ด์ ๊ตฌ์ถ๋์ด ์๋ ๊ฒฝ์ฐ
Classic Load Balancer
๋ฅผ ์ฌ์ฉํด์ผ ํจ
Amazon Elastic Load Balancing
ํ์ฅ์ฑ, ์ฑ๋ฅ ๋ฐ ๋ณด์์ ๋ณด์ฅํ์ฌ application์ ๋ด๊ฒฐํจ์ฑ ํ๋ณด
Elastic Load Balancing์ ๋ค์ด์ค๋ application traffic์ Amazon EC2 instance, container, IP address, Lambda function๊ณผ ๊ฐ์ ์ฌ๋ฌ ๋์์ ์๋์ผ๋ก ๋ถ์ฐ์ํด
ELB๋ ๋จ์ผ ๊ฐ์ฉ ์์ญ ๋๋ ์ฌ๋ฌ ๊ฐ์ฉ ์์ญ์์ ๋ค์ํ application ๋ถํ๋ฅผ ์ฒ๋ฆฌํ ์ ์์
ELB๊ฐ ์ ๊ณตํ๋ ์ธ ๊ฐ์ง Load Balancer๋ ๋ชจ๋ application์
๋ด๊ฒฐํจ์ฑ
์ ํ์ํ HA (High Availability), ์๋ ํ์ฅ/์ถ์, ๊ฐ๋ ฅํ ๋ณด์์ ๊ฐ์ถ๊ณ ์์
Amazon Elastic Load Balancing ์ฌ๋ก
1. Application ๋ด๊ฒฐํจ์ฑ ํฅ์
ELB๋ ๋์ (Amazon EC2 instance, container, IP address, Lambda function)๊ณผ ์ฌ๋ฌ ๊ฐ์ฉ ์์ญ์ traffic์ ์๋์ผ๋ก ๋ถ์ฐ์ํค๋ ๋์์ ์ ์ ์ํ์ธ ๋์๋ง traffic์ ์์ ํ๋๋ก ํจ์ผ๋ก์จ application์ ๋ด๊ฒฐํจ์ฑ์ ์ ๊ณตํจ
๋จ์ผ ๊ฐ์ฉ ์์ญ์ ๋ชจ๋ ๋์์ด ์ ์ ์ํ๊ฐ ์๋ ๊ฒฝ์ฐ, ELB๋ ๋ค๋ฅธ ๊ฐ์ฉ ์์ญ์ ์๋ ์ ์ ์ํ์ธ ๋์์ผ๋ก traffic์ routing ํจ
๋์์ด ์ ์ ์ํ๋ก ๋ณต๊ตฌ๋๋ฉด Load Balancing์ ์๋์ผ๋ก ์๋ ๋์์ผ๋ก ์ฌ๊ฐ๋จ
2. Container์ application์ ์๋ Load Balancing
Elastic Load Balancing์ ํฅ์๋ Container ์ง์์ ํตํด ๋์ผํ Amazon EC2 instance์ ์ฌ๋ฌ port์์ Load Balancing์ด ๊ฐ๋ฅํจ
์์ ๊ด๋ฆฌํ container ์ํ์ ์ ๊ณตํ๋
Amazon EC2 Container Service (ECS)
์์ ์๋ฒฝํ ํตํฉ๋ ํ์ฉํ ์ ์์Service๋ฅผ Load Balancer์ ๋ฑ๋กํ๊ธฐ๋ง ํ๋ฉด ECS๋
Docker COntainer
์ ๋ฑ๋ก ๋ฐ ๋ฑ๋ก ์ทจ์๋ฅผ ํฌ๋ช ํ๊ฒ ๊ด๋ฆฌํจLoad Balancer๋ port๋ฅผ ์๋์ผ๋ก ํ์งํ์ฌ ๋์ ์ผ๋ก ์ค์ค๋ก๋ฅผ ์ฌ๊ตฌ์ฑํจ
3. Application ์๋ ์กฐ์
Elastic Load Balancing์ ๊ณ ๊ฐ์ ์์์ ๋ง์ถฐ application์ด ํ์ฅ/์ถ์ ํ ์ ์๋ค๋ ํ์ ์ ์ ๊ณตํจ
Amazon EC2 instance ์ค ํ๋์ ์ง์ฐ ์๊ฐ์ด ์ฌ์ ์ ์๋ ์๊ณ์น๋ฅผ ์ด๊ณผํ๋ฉด Amazon Ec2 instance์
Auto Scaling
์ trigger ํ๋ ๊ธฐ๋ฅ์ ํตํด application์ด ํญ์ ๋ค์ ๊ณ ๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ ์ค๋น๋ฅผ ๊ฐ์ถ๊ฒ ๋จ
4. Amazon Virtual Private Cloud (Amazon VPC)์์์ Elastic Load Balancing ์ฌ์ฉ
Elastic Load Balancing์ ์ฌ์ฉํ๋ฉด ์์ฝ๊ฒ VPC๋ก ๊ฐ๋ ์ธํฐ๋ท ์ฐ๊ฒฐ ์ง์ ์ ์ ๋ง๋ค๊ฑฐ๋ VPC ๋ด application tier ๊ฐ์ ์์ฒญ traffic์ routing์ ํ ์ ์์
Load Balancer์ ๋ณด์ ๊ทธ๋ฃน์ ํ ๋นํด ํ์ฉ๋ source ๋ชฉ๋ก์ ๋ํด ์ด๋ค port๋ฅผ ์ด ๊ฒ์ธ์ง ์ ์ดํ ์ ์์
Elastic Load Balancing์ VPC์ ํตํฉ๋๋ฏ๋ก ๊ธฐ์กด์ ๋ชจ๋ Network
ACL (Access Control List)
์routing table
์ด ์ถ๊ฐ Network ์ ์ด๋ฅผ ๊ณ์ ์ ๊ณตํจVPC์์ Load Balancer๋ฅผ ๋ง๋ค ๋ Load Balancer๋ฅผ Internet์ ์ฐ๊ฒฐํ ์ง (์ด๊ฒ ๊ธฐ๋ณธ๊ฐ) or ๋ด๋ถ์์ ์ฌ์ฉํ ์ง ์ง์ ๊ฐ๋ฅ
๋ด๋ถ์์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํํ๋ฉด Load Balancer์ ์ฐ๊ฒฐํ๊ธฐ ์ํ Internet gateway๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ Load Balancer์
DNS(Domain Name System) record
์์ Load Balancer์ ์ฌ์ค IP ์ฃผ์๊ฐ ์ฌ์ฉ๋จ
5. Elastic Load Balancing์ ์ฌ์ฉํ Hybrid Load Balancing
Elastic Load Balancing์ ๊ฐ์ Load Balancer๋ฅผ ์ฌ์ฉํ์ฌ AWS์ On-premise resource ์ ์ฒด์ Load Balancing์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ
ex) AWS์ On-premise resource ๋ชจ๋์ application traffic์ ๋ถ์ฐ์์ผ์ผ ํ๋ ๊ฒฝ์ฐ, ๋ชจ๋ resource๋ฅผ ๊ฐ์ ๋์ ๊ทธ๋ฃน์ ๋ฑ๋กํ๊ณ ํด๋น ๋์ ๊ทธ๋ฃน์ Load Balancer์ ์ฐ๊ฒฐํ๋ฉด ๋จ
AWS์ ํ๋์ Load Balancer์ On-premise resource์ ๋ค๋ฅธ Load Balancer, ์ฆ ๋ ๊ฐ์ Load Balancer๋ฅผ ์ฌ์ฉํ์ฌ AWS ์ On-premise resource ์ ์ฒด์์ DNS ๊ธฐ๋ฐ ๊ฐ์ค์น Load Balancing์ ์ฌ์ฉํ ์๋ ์์
Hybrid Load Balancing
์ ์ฌ์ฉํ์ฌ ํ๋๋ VPC์ ์๊ณ ๋ค๋ฅธ ํ๋๋ On-premise ์์น์ ์๋ ๋ณ๊ฐ์ application์ ํ์ฉํ ์๋ ์์VPC ๋์์ ํ๋์ ๋์ ๊ทธ๋ฃน์ ๋ฃ๊ณ On-premise ๋์์ ๋ ๋ค๋ฅธ ๋์ ๊ทธ๋ฃน์ ๋ฃ์ ํ
content based routing
์ ์ฌ์ฉํ์ฌ traffic์ ๊ฐ ๋์ ๊ทธ๋ฃน์ผ๋ก routing ํ ์ ์์
6. HTTP(S)๋ฅผ ํตํด Lambda function ํธ์ถ
Elastic Load Balancing์ HTTP(S)์์ฒญ ์๋น์ค๋ฅผ ์ํ
Lambda function
ํธ์ถ์ ์ง์ํจ์ฌ์ฉ์๋ web browser๋ฅผ ํฌํจํ์ฌ HTTP client์์
serverless application
์ access ํ ์ ์์
Lambda function์ ๋์์ผ๋ก ๋ฑ๋กํ๊ณ Application Load Balancer์ content based routing ๊ท์น์ ๋ํ ์ง์์ ํ์ฉํ์ฌ ์์ฒญ์ ๋ค๋ฅธ lambda function์ผ๋ก routing ํ ์ ์์
Server or Serverless application์ ์ฌ์ฉํ๋ application์ ๋ํด
Application Load Balancer
๋ฅผ ๊ณตํต HTTP End Point๋ก ์ฌ์ฉํ ์ ์์Lambda function์ ์ฌ์ฉํ์ฌ web site ์ ์ฒด๋ฅผ ๊ตฌ์ถํ๊ฑฐ๋ EC2 instance, container, On-premise server ๋ฐ Lambda function์ ๊ฒฐํฉํ์ฌ application์ ๋ง๋ค ์ ์์
Amazon Elastic Load Balancing ๊ธฐ๋ฅ
๊ณ ๊ฐ์ฉ์ฑ
: ELB๋ traffic์ ๋จ์ผ ๊ฐ์ฉ ์์ญ ๋๋ ์ฌ๋ฌ ๊ฐ์ฉ ์์ญ์ ์๋ ์ฌ๋ฌ ๋์(Amazon EC2 instance, container, IP address) ์ ์๋์ผ๋ก ๋ถ์ฐํจ
์ํ ํ์ธ
: ELB๋ ๋น์ ์ ๋์์ ๊ฐ์งํ๊ณ , ํด๋น ๋์์ผ๋ก traffic ์ ์ก์ ์ค๋จํ ๋ค์, ๋๋จธ์ง ์ ์ ๋์์ผ๋ก load๋ฅผ ๋ถ์ฐ ํ ์ ์์
๋ณด์ ๊ธฐ๋ฅ
Amazon Virtual Private Cloud(VPC)๋ฅผ ์ฌ์ฉํ๋ฉด Load Balancer์ ์ฐ๊ฒฐ๋ ๋ณด์ ๊ทธ๋ฃน์ ์์ฑ ๋ฐ ๊ด๋ฆฌํ์ฌ ์ถ๊ฐ ๋คํธ์ํน ๋ฐ ๋ณด์ option์ ์ ๊ณตํ ์ ์์
์ธํฐ๋ท์ ์ฌ์ฉํ์ง ์๊ณ ๋ด๋ถ Load Balancer๋ฅผ ์์ฑ ํ ์๋ ์์
TLS (Transport Layer Security)
์ข ๋ฃ: ELB๋ ํตํฉ ์ธ์ฆ์ ๊ด๋ฆฌ ๋ฐ
SSL (Secure Socket Layer)
์TLS
๋ณตํธํ๋ฅผ ์ง์ํ๋ฏ๋ก ์ ์ฐํ๊ฒ Load Balancer์ SSL ์ค์ ์ ์ค์์์ ๊ด๋ฆฌํ๊ณ application์ CPU ์ง์ฝ์ ์ธ ์์ ์ ์ค์ผ ์ ์์Layer 4 or Layer 7 Load Balancing
: Layer 7 ์ ์ฉ ๊ธฐ๋ฅ์ ๋ํด HTTP/HTTPS application์ Load Balancing ํ๊ฑฐ๋
TCP (Transmission Control Protocol)
orUDP (User Datagram Protocol)
๋ฅผ ํ์ฉํ๋ application์ ๋ํด ์๊ฒฉํ Layer 4 balancing์ ์ฌ์ฉํ ์ ์์Monitoring
: ELB๋ application ์ฑ๋ฅ์ ์ค์๊ฐ์ผ๋ก monitoring ํ ์ ์๋๋ก Amazon CloudWatch ์งํ ๋ฐ ์์ฒญ ์ถ์ ๊ณผ ํตํฉ์ ์ ๊ณตํจ
ELB ์ ํ
Application ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ ์ ํ Load Balancer๋ฅผ ์ ํ ํ ์ ์์
Application Load Balancer
: ์ ์ฐํ application ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ
์์ฒญ ์์ค (Layer 7)์์ ์๋ํ๋ Application Load Balancer๋ ์์ฒญ์ content์ ๋ฐ๋ผ EC2 instance, container, IP address, Lambda function ๋ฑ์ ๋์์ผ๋ก traffic์ routing ํจ
HTTP ๋ฐ HTTPS traffic์ ๊ณ ๊ธ Load Balancing์ ์ ํฉํ Application Load Balancer๋ Micro service์ container based application์ ๋น๋กฏํ ์ต์ application architecture ์ ๋ฌ์ ์ํ ๊ณ ๊ธ ์์ฒญ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ์ ๊ณตํจ
Application Load Balancer๋ client์ load balancer ๊ฐ HTTPS ์ข ๋ฃ๋ฅผ ์ง์ํจ
AWS Identity and Access Management(IAM) ๋ฐ AWS Certificate Manager์ ์ฌ์ ์ ์๋ ๋ณด์ ์ ์ฑ ์ ํตํด SSL ์ธ์ฆ์ ๊ด๋ฆฌ๋ ์ ๊ณตํจ
Application Load Balancer๋ ํญ์ ์ต์ SSL/TLS ์ํธ ๋ฐ protocol์ด ์ฌ์ฉ๋๋๋ก ํ์ฌ application์ ๋ณด์์ ๊ฐ์ํํ๊ณ ๊ฐ์ ํจ
SNI (์๋ฒ ์ด๋ฆ ํ์)
SNI๋ TLS handshake ์์ ์ client๊ฐ ์ฐ๊ฒฐํ host ์ด๋ฆ์ ํ์ํ๋ TLS protocol์ ๋ํ ํ์ฅ ํ๋ก๊ทธ๋จ์ด๋ค
Load Balancer๋ ๊ฐ์ ๋ณด์ listener๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ ์ธ์ฆ์๋ฅผ ์ ์ํ ์ ์์ผ๋ฏ๋ก ๋จ์ผ ๋ณด์ listener๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ๊ฐ์ ๋ณด์ web site๋ฅผ ์ง์ํ๋๋ก ํ ์ ์์
Application Load Balancer๊ฐ SNI๋ฅผ ์ฌ์ฉํ ์ค๋งํธ ์ธ์ฆ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ํจ
Client๊ฐ ํ์ํ๋ host ์ด๋ฆ์ด ์ฌ๋ฌ ์ธ์ฆ์์ ์ผ์นํ ๊ฒฝ์ฐ Load Balancer๊ฐ client์ ๊ธฐ๋ฅ์ ํฌํจํ ์ฌ๋ฌ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉํ ์ต์ ์ ์ธ์ฆ์๋ฅผ ๊ฒฐ์ ํจ
IP์ฃผ์๋ฅผ ๋์์ผ๋ก ์ฌ์ฉ
Application back-end์ IP ์ฃผ์๋ฅผ ๋์์ผ๋ก ์ฌ์ฉํ์ฌ AWS ๋๋ On-premise์ hosting ๋ application์ load balancing ํ ์ ์์
=> Instance์ ๋ชจ๋ IP ์ฃผ์ ๋ฐ interface์ hosting ๋ application back-end๋ก load balancing ํ ์ ์์
๊ฐ์ instance์ hosting ๋ ๊ฐ application์ ์ฐ๊ฒฐ๋ ๋ณด์ ๊ทธ๋ฃน์ ๊ฐ์ง ์ ์๊ณ , ๊ฐ์ port๋ฅผ ์ฌ์ฉํ ์ ์์
IP ์ฃผ์๋ฅผ ๋์์ผ๋ก ์ฌ์ฉํ์ฌ On-premise (Direct Connect or VPN), pairing ๋ VPC ๋ฐ EC2-Classic (ClassicLink ์ฌ์ฉ)์ hosting ๋ application์ load balancing ํ ์ ์์
AWS์ On-premise resource์ ๊ฑธ์ณ load balancing ํ ์ ์๋ ๊ธฐ๋ฅ์ Cloud๋ก migration ๋๋ cloud๋ก busting ํ๊ฑฐ๋ cloud๋ก ์ฅ์ ์กฐ์นํ๋๋ฐ ๋์์ด ๋จ
Lambda ํจ์๋ฅผ ๋์์ผ๋ก ์ฌ์ฉ
Application Load Balancer์์ HTTP request๋ฅผ ์ฒ๋ฆฌํ๋ Lambda function์ ํธ์ถํ์ฌ web browser๋ฅผ ํฌํจํ ๋ชจ๋ HTTP client์์ serverless application์ ๋ํ ์ฌ์ฉ์ access๋ฅผ ์ ๊ณต ํ ์ ์์
Lambda function์ Load balancer์ ๋์์ผ๋ก ๋ฑ๋กํ๊ณ content ๊ธฐ๋ฐ routing ๊ท์น์ ๋ํ ์ง์์ ํตํ์ฌ ์์ฒญ์ ๋ค๋ฅธ Lambda ํจ์๋ก routing ํ ์ ์์
Server ๋ฐ serverless computing์ ์ฌ์ฉํ๋ application์ ๋ํด application load balancer๋ฅผ ๊ณตํต HTTP end point๋ก ์ฌ์ฉํ ์ ์์
Network Load Balancer
: Application์ ํ์ํ ์ฑ๋ฅ ๋ฐ ๊ณ ์ IP๊ฐ ํ์ํ ๊ฒฝ์ฐ
์ฐ๊ฒฐ ์์ค(Layer 4)์์ ์๋ํ๋ Network Load Balancer๋ IP ํ๋กํ ์ฝ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Amazon Virtual Private Cloud(VPC) ๋ด์ ๋์์ผ๋ก ์ฐ๊ฒฐ์ routing ํจ
TCP ๋ฐ UDP traffic ๋ชจ๋์ Load balancing์ ์ ํฉํ Network Load Balancer๋ ๋งค์ฐ ์งง์ ์ง์ฐ์๊ฐ์ ์ ์งํ๋ฉด์ ์ด๋น ์๋ฐฑ๋ง๊ฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์
Network Load Balancer๋ ๊ฐ์ฉ ์์ญ๋น ํ๋์ ์ ์ IP address๋ฅผ ์ฌ์ฉํ๋ฉด์ ๊ฐ์์ค๋ฝ๊ณ ๋ณ๋์ด ์ฌํ traffic pattern์ ์ฒ๋ฆฌํ๋๋ฐ ์ต์ ํ ๋์์
Auto Scaling
,Amazon EC2 Container Service(ECS)
,Amazon CloudFormation
, ๋ฐAWS Certificate Manager(ACM)
๊ณผ ๊ฐ์ ๋ค๋ฅธ AWS service์ ํตํฉ๋จ๊ณ ๊ฐ์ฉ์ฑ
Load Balancer๋ ๋ฑ๋ก๋ ๋์์ ์ํ๋ฅผ monitoringํ๊ณ ์ ์ ๋์์ผ๋ก๋ง traffic์ routing ํจ
๋์ ์ฒ๋ฆฌ๋
Network Load Balancer๋ traffic ์ฆ๊ฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์์ผ๋ฉฐ ์ด๋น ์๋ฐฑ๋ง ๊ฐ์ ์์ฒญ์ load balancing ํ ์ ์์
๊ฐ์์ค๋กญ๊ณ ๋ณ๋์ด ์ฌํ traffic pattern ๋ ์ฒ๋ฆฌํ ์ ์์
์งง์ ์ง์ฐ์๊ฐ
Source IP address์ ์ง
Client ์ธก source IP๋ฅผ ์ ์งํ๋ฏ๋ก back-end๊ฐ client์ IP ์ฃผ์๋ฅผ ํ์ธํ ์ ์์
๊ทธ๋ฐ ๋ค์ ์ถ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์ํด application์์ ์ด๋ฅผ ์ฌ์ฉ ํ ์ ์์
์ ์ IP ์ง์
Application์ด load balancer์ front-end IP๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฉ ์์ญ (subnet)๋ณ๋ก ์ ์ IP๋ฅผ ์๋์ผ๋ก ์ ๊ณตํจ
ํ๋ ฅ์ IP ์ง์
๊ฐ์ฉ ์์ญ(subnet) ๋ณ๋ก ํ๋ ฅ์ IP๋ฅผ ์ง์ ํ์ฌ ์์ฒด ๊ณ ์ IP๋ฅผ ์ ๊ณตํ ์ ์๋ option์ด ์ ๊ณต๋จ
TLS (Transport Layer Security) Offload
Client์ Load balancer ๊ฐ TLS ์ข ๋ฃ๋ฅผ ์ง์
Network Load Balancer์์ TLS๊ฐ ์ข ๋ฃ๋๋๋ผ๋ ์๋ณธ IP๋ ๊ณ์ back-end application์ ๋ณด์กด๋จ
์ํ ํ์ธ
Network ๋ฐ application ๋์ ๋ ๋ค์ ๋ํ ์ํ ํ์ธ์ ์ง์ํจ
๋น ๋ฅธ ์ง๋จ๊ณผ ๊ฐ๋ ฅํ debugging์ ์ํด ์ํ ํ์ธ์ ๋ํ ์์ ํ ๊ฐ์์ฑ๊ณผ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ ์ด์ ๊ฐ Network Load Balancer API์ 'reason codes' ๊ณผ ๋์ ์ํ ํ์ธ์ ์ฐ๊ฒฐ๋ Amazon CloudWatch ์งํ๋ฅผ ํตํด ์ ๊ณต๋จ
DNS ์ฅ์ ์กฐ์น
Network Load Balancer์ ๋ฑ๋ก๋ ์ ์ ๋์์ด ์๊ฑฐ๋ ํด๋น ์์ญ์ Network Load Balancer Node๊ฐ ๋น์ ์์ธ ๊ฒฝ์ฐ,
Amazon Route 53
์ด ๋ค๋ฅธ ๊ฐ์ฉ ์์ญ์ ์๋ Load Balancer node๋ก traffic์ ๋ณด๋
Amazon Route 53๊ณผ์ ํตํฉ
Network Load Balancer๊ฐ ์๋ตํ์ง ์๋ ๊ฒฝ์ฐ, Route 53๊ณผ์ ํตํฉ์ด server์์ ์ฌ์ฉํ ์ ์๋ Load Balancer IP ์ฃผ์๋ฅผ ์ ๊ฑฐํ๊ณ traffic์ ๋ค๋ฅธ region์ ์๋ ๋์ฒด Load Balancer๋ก ๋ณด๋
AWS service์ ํตํฉ
์๋ช ์ด ๊ธด TCP ์ฐ๊ฒฐ
Network Load Balancer๋ WebSocket ์ ํ์ application์ ์ ํฉํ ์๋ช ์ด ๊ธด TCP ์ฐ๊ฒฐ์ ์ง์ํจ
Classic Load Balancer
: ๊ธฐ์กด application์ด EC2-Classic Network ๋ด์ ๊ตฌ์ถ๋์ด ์๋ ๊ฒฝ์ฐ
Classic Load Balancer๋ ์ฌ๋ฌ Amazon EC2 instance์์ ๊ธฐ๋ณธ์ ์ธ load balancing์ ์ ๊ณตํ๋ฉฐ, ์์ฒญ ์์ค ๋ฐ ์ฐ๊ฒฐ ์์ค์์ ์๋ํจ
EC2-Classic Network ๋ด์ ๊ตฌ์ถ๋ application ์ฉ
Virtual Private Cloud(VPC) ๋ฅผ ์ฌ์ฉํ ๋
Layer 7 - Application Load Balancer
Layer 4 - Network Load Balancer
๊ณ ๊ฐ์ฉ์ฑ
์์ ๋๋ application traffic์ ๋์ํ์ฌ ์์ฒญ ์ฒ๋ฆฌ ์ฉ๋์ ์๋์ผ๋ก ์กฐ์ ํจ
์ํ ํ์ธ (Monitoring)
Classic Load Balancer๋ Amazon EC2 instance์ ์ํ๋ฅผ ๊ฐ์ง ํ ์ ์์
๋น์ ์ EC2 instance๋ฅผ ๊ฐ์งํ ๊ฒฝ์ฐ, ๋ ์ด์ ํด๋น instance๋ก traffic์ routing ํ์ง ์๊ณ ์ ์ instance ์ ์ฒด๋ก load ๋ฅผ ๋ถ๋ฐฐํจ
๋ณด์ ๊ธฐ๋ฅ
Amazon Virtual Private Cloud (VPC)๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ Classic Load Balancer์ ์ฐ๊ฒฐ๋ ๋ณด์ ๊ทธ๋ฃน์ ์์ฑ ๋ฐ ๊ด๋ฆฌํ์ฌ ์ถ๊ฐ Networking ๋ฐ ๋ณด์ ์ต์ ์ ์ ๊ณตํ ์ ์์
Public IP address ์์ด Classic Load Balancer๋ฅผ ์์ฑํ์ฌ Internet์ ์ฐ๊ฒฐ๋์ง ์์ ๋ด๋ถ Load Balancer๋ก ์ฌ์ฉํ ์ ์์
SSL (Secure Socket Layer) Off Load
SSL ๋ณตํธํ off load
์ค์ ์ง์ค์ SSL ์ธ์ฆ์ ๊ด๋ฆฌ
Public key ์ธ์ฆ์ ์ฌ์ฉํ back-end instance ์ํธํ
์ ์ฐํ ์ํธ ์ง์์ ์ฌ์ฉํ๋ฉด load balancer๊ฐ client์๊ฒ ์ ๊ณตํ๋ ์ํธ ๋ฐ protocol์ ์ ์ดํ ์ ์์
๊ณ ์ ์ธ์
์ฟ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ session์ ํน์ EC2 instance์ ๊ณ ์ ์ํค๋ ๊ธฐ๋ฅ ์ง์
์ฌ์ฉ์๊ฐ application์ accessํ๋ ๋์ traffic์ ๋์ผํ instance๋ก routing ๋จ
IPv6 ์ง์
Classic Load Balancer๋ EC2-Classic Network์์ Internet protocol version 4 & 6 ๋ชจ๋ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํจ
Layer 4 & Layer 7 Load Balancing
HTTP/HTTPS application์ load balancing ํ๊ณ
X-Forwarded
๋ฐ ๊ณ ์ session ๊ณผ ๊ฐ์ Layer 7 ์ ์ฉ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์TCP protocol ๋ง ์ฌ์ฉํ๋ application์ ๋ํด ์๊ฒฉํ Layer 4 load balancing์ ์ฌ์ฉํ ์ ์์
์ด์ Monitoring
Logging
Access log ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ load balancer๋ก ์ ์ก๋ ์์ฒญ์ ๋ชจ๋ ๊ธฐ๋กํ๊ณ ์ดํ ๋ถ์์ ์ํด Amazon S3์ log๋ฅผ ์ ์ฅํจ
Log๋ application ์ฅ์ ์ง๋จ ๋ฐ web traffic ๋ถ์์ ์ ์ฉํจ
AWS CloudTrail
์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๊ณ์ ์ ๋ํ Classic Load Balancer API ํธ์ถ์ ๊ธฐ๋กํ๊ณ log ํ์ผ์ ์ ๋ฌํ ์ ์์API ํธ์ถ ๊ธฐ๋ก์ ์ฌ์ฉํ๋ฉด ๋ณด์ ๋ถ์ resource ๋ณ๊ฒฝ ์ฌํญ ์ถ์ , ๊ท์ ์ค์ ๊ฐ์ฌ๋ฅผ ์ํํ ์ ์์
ELB Services
Elastic Load Balancing์ ๋ค์ ์๋น์ค๋ฅผ ํตํด application์ ๊ฐ์ฉ์ฑ ๋ฐ ํ์ฅ์ฑ์ ๊ฐ์ ํจ
1. Amazon EC2
: Cloud ์์ application์ ์คํํ๋ ๊ฐ์ ์๋ฒ
Load Balancer ๋ฅผ ๊ตฌ์ฑํ์ฌ EC2 instance traffic์ routing ํ ์ ์์
2. Amazon EC2 Auto Scaling
: Instance์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์ํ๋ ์์ instance๋ฅผ ์คํํ๊ณ instance์ ์์๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋์ผ๋ก instance ์๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์๊ฒ ํด์ค
ELB์ ํจ๊ป Auto Scaling์ ํ์ฑํํ๋ ๊ฒฝ์ฐ,
Auto Scaling์ด ์์ํ instance๋ ์๋์ผ๋ก load balancer์ ๋ฑ๋ก๋จ
Auto Scaling์ด ์ข ๋ฃํ๋ instance๋ ์๋์ผ๋ก load balancer์์ ๋ฑ๋ก ์ทจ์๋จ
3. AWS Certificate Manager
: HTTP listener๋ฅผ ์์ฑํ ๋ ACM์์ ์ ๊ณตํ ์ธ์ฆ์๋ฅผ ์ง์ ํ ์ ์์
Load Balancer๋ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ณ client์ ์์ฒญ์ ์ํธํ ํด์ ํจ
4. Amazon CloudWatch
: Load Balancer๋ฅผ Monitoringํ๊ณ ํ์์ ๋ฐ๋ผ ์กฐ์น๋ฅผ ์ทจํ ์ ์๊ฒ ํด์ค
5. Amazon EC2
EC2 instance cluster์์
Docker container
๋ฅผ ์คํ, ์ค๋จ ๋ฐ ๊ด๋ฆฌ ๊ฐ๋ฅํจLoad Balancer๋ฅผ ๊ตฌ์ฑํ์ฌ container์ traffic์ routing ํ ์ ์์
6. Route 53
๋๋ฉ์ธ ์ด๋ฆ (ex. <www.example.com)์> computer๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก ์ฐ๊ฒฐํด์ฃผ๋ ์ซ์๋ก ๋ IP ์ฃผ์ (ex. 192.0.2.1) ๋ก ๋ณํํ์ฌ ๋ฐฉ๋ฌธ์๋ฅผ ์์ ์ ์ด๋ฉฐ, ๋น์ฉ ํจ์จ์ ์ผ๋ก web site๋ก routing ํ๋๋ก ํจ
AWS๋ load balancer์ ๊ฐ์ ์ฌ์ฉ์์ AWS resource์ URL์ ๋ฐฐ์ ํจ
7. AWS WAF
: Application Load Balancer์ ํจ๊ป AWS WAF
๋ฅผ ์ฌ์ฉํ์ฌ Web ACL (Access Control List)
์ ๊ท์น์ ๋ฐ๋ผ ์์ฒญ์ ํ์ฉํ๊ฑฐ๋ ์ฐจ๋จํ ์ ์์
Amazon Auto Scaling
Amazon EC2 Auto Scaling์ ํตํด application์ load๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ์ ํํ ์์ Amazon EC2 instance๋ฅผ ๋ณด์ ํ๋๋ก ๋ณด์ฅํ ์ ์์
Auto Scaling Group
์ด๋ผ๋ EC2 instance ๋ชจ์์ ์์ฑํจ๊ฐ Auto Scaling Group์ ์ต์/์ต๋ instance ์๋ฅผ ์ง์ ํ ์ ์์
์ํ๋ ์ฉ๋์ ์ง์ ํ ๊ฒฝ์ฐ group์ ์์ฑํ ๋ค์์๋ ์ธ์ ๋ ์ง Amazon EC2 Auto Scaling์์ ํด๋น ๊ทธ๋ฃน์์ ์ด๋งํผ์ instance๋ฅผ ๋ณด์ ํ ์ ์์
์กฐ์ ์ ์ฑ ์ ์ง์ ํ๋ค๋ฉด Amazon EC2 Auto Scaling์์๋ application ์ ๋์ด๋๊ฑฐ๋ ์ค์ด๋๋ ์์์ ๋ฐ๋ผ instance๋ฅผ ์์ํ๊ฑฐ๋ ์ข ๋ฃํ ์ ์์
Amazon Auto Scaling ํต์ฌ ๊ตฌ์ฑ ์์
1. Group
EC2 instance๋ group์ ์ ๋ฆฌ๋์ด ์กฐ์ ๋ฐ ๊ด๋ฆฌ ๋ชฉ์ ๊ทธ์ด ๋ ผ๋ฆฌ์ ๋จ์๋ก ์ฒ๋ฆฌํ ์ ์์
Group์ ์์ฑํ ๋ EC2 instance ์ ์ต์ ๋ฐ ์ต๋ instance ์์ ์ํ๋ instance ์๋ฅผ ์ง์ ํ ์ ์์
2. ๊ตฌ์ฑ ๋ฐ Template
Group์ ์์ template ๋๋ ์์ ๊ตฌ์ฑ์ EC2 instance์ ๋ํ ๊ตฌ์ฑ template์ผ๋ก ์ฌ์ฉํจ
Instance์ AMI (Amazon Machine Image) ID, Instance ์ ํ, key pair, security group, block device mapping ๋ฑ์ ์ ๋ณด๋ฅผ ์ง์ ํ ์ ์์
3. ์กฐ์ Option
ex) ์ง์ ํ ์กฐ๊ฑด์ ๋ฐ์ (๋์ ํ์ฅ) ๋๋ ์ผ์ ์ ๋ฐ๋ผ ์กฐ์ ํ๋๋ก group์ ๊ตฌ์ฑ ํ ์ ์์
ELB ๋ฐ Auto Scaling ๊ตฌ์ถํ๊ธฐ
VPC ๊ตฌ์ถ
ELB Target Group ์์ฑ
Auto Scaling ์์ ๊ตฌ์ฑ ์์ฑ
Auto Scaling Group ์์ฑ
ELB ์์ฑ
Summary
: Amazon ELB (Elastic Load Balancing) ์ด ์ ๊ณตํ๋ ์ธ ๊ฐ์ง load balancer์ธ Application Load Balancer
, Network Load Balancer
, Classic Load Balancer
๋ ๋ชจ๋ application์ ๋ด๊ฒฐํจ์ฑ์ ํ์ํ ๊ณ ๊ฐ์ฉ์ฑ, ์๋ ํ์ฅ/์ถ์, ๊ฐ๋ ฅํ ๋ณด์ ์ ๊ฐ์ถ๊ณ ์๋ค.
Last updated