2022. 6. 3. 19:57ㆍCloud/AWS 기초
로드벨런싱이란
로드(처리해야하는 작업)를 벨런싱(균형맞춰서 이 작업을 하는 인스턴스에게 배포) 해 주는 서비스라고 할 수 있다.
타겟그룹을 먼저 지정하는데, 누구에게 로드를 보낼것인가를 정해야한다. 그 후 ELB에게 등록을 하게 되며, ELB는 DNS레코딩 형식(DNS 이름)을 가지는 endpoint를 반환하게 된다. 이때 DNS 레코딩은 너무나 길고 복잡하기 때문에 이 이름을 그대로 사용하지 않고, DNS 서버에 등록하게 된다.
DNS Record
도메인 이름 : test.com
www라는 이름으로 만든다 ==> www.test.com
A 레코드 : IP주소를 www 뒤에 부여한다.
CNAME 레코드 : URL주소를 www 뒤에 부여한다.
기능
HTTP나 HTTPS(웹), TCP,UDP 및 SSL(네트워크) 프로토콜을 사용한다.
또한 위치는 외부나 내부에 상관없이 위치할 수 있다.
외부는 로드벨런서를 만들 때 퍼블릭 서브넷에 연결을 하게 되면 외부에 노출되는 형태의 로드벨런서가 된다. 인터넷에서 들어오는 트레픽을 받아서 내부에 있는 서버에게 보내주는 역할을 한다.
프라이빗 서브넷에 연결을 하게 될 경우 내부에 배치되는 로드벨런서의 형태가 된다. 내부에 있는 서버들끼리의 트레픽을 분산시켜주는 역할을 한다.
비정상 인스턴스를 인식하고 대응할 수 있다. 즉 타겟을 지정하면, 무조건 트레픽을 보내는것이 아니라, 타겟의 상태를 판단하고 트레픽을 보내게 된다.
종류는 4가지가 있다.
ALB application load balancer
HTTP/HTTPS를 처리해준다. 즉 7계층에서 운영된다. 유연한 애플리케이션 관리를 할 수 있으며 고급 로드 벨런싱을 한다.
NAL network load balancer
TCP,TLS,UPD 등을 처리해준다. 즉 4계층에서 운영되는 트레픽의 로드 벨런싱이다. 애플리케이션에 대한 탁월한 성능 및 정적 ip를 부여한다.
GWLB gateway load balancer
타사 가상 어플라이언스를 쉽게 배포, 확장 및 관리할 수 있도록 지원합니다. 필요에 따라 트래픽을 확장하거나 축소하면서 여러 가상 어플라이언스에 트래픽을 분산할 수 있는 하나의 게이트웨이를 제공합니다. 이렇게 하면 네트워크의 잠재적인 장애 지점이 줄어들고 가용성이 향상됩니다.
CLB classic load balancer
VPC가 나오기전에 EC2 CLassic 네트워크 라는 서비스가 있는데, 이 서비스 내에 구축된 기존의 에플리케이션이다. 곧 사라지는 서비스이다.
ELB를 사용하게 되면 서로다른 가용영역에 있는 타겟들에게 트레픽을 분산하게 된다. 즉 엔드포인트를 하나로 만들어서 서로 다른 가용영역에 있는 인스턴스들을 전부다 dns서버로 등록할 필요가 없어진다.
상태확인 기능이 있어 고가용성에 더 도움이 되며, LB는 기본적으로 쉴드 서비스 기능(DDos공격이 올때, IP를 일시적으로 바꿔서 회피한다.)이 있기에 보안기능에 도움이된다.
TLS와 같은 암호화통신을 할 수 있는 기능도 있어서, 사용자와 ELB간의 암호화통신, ELB와 인스턴스간의 평문통신을 할 수 있게해 인스턴스대신에 TLS를 할 수 있도록 해 준다.
등록취소지연
인스턴스가 오토스케일링 되는 상황을 가정해보자. 이때 삭제 대상 인스턴스라는 결정이 된다면, 새로 들어가는 트레픽을 다른 인스턴스로 보내고, 삭제 대상 인스턴스에서 응답에 대한 신호만 받는다. 즉 삭제될 인스턴스를 어느정도 살려두어서 응답없음 페이지를 보지않도록 하는 기능이다.
마이크로 서비스 아키텍쳐구성을 할때도 ELB를 사용할 수 있다.
하위경로에 따라서 타겟을 따로따로 정할 수 있는 기능을 가지고 있다.
WEBservice라고 할때, /order페이지와 /images페이지가 있을때 api를 사용해 각각 따로따로 보낼 수 있게 된다.
'Cloud > AWS 기초' 카테고리의 다른 글
AWS CloudFront.feat caching (0) | 2022.06.12 |
---|---|
AWS automation Tool (0) | 2022.06.11 |
AWS VPN 환경 (0) | 2022.06.02 |
AWS Security Group(SG) (0) | 2022.06.02 |
AWS RDS 및 Amazon DynamoDB (0) | 2022.05.30 |