포도가게의 개발일지
AWS SAA-C02(ELB,ASG[1]) 본문
ELB( Elastic load balacer)
- SSl 을 이용하여 쿠키를 이용해
- 내가 직접 로드밸런스세팅하는거보단 비쌈
- 대신 ELB쓰면 통합하기가 쉬움
elb에서 health check를 통해 인스턴스에 상태를 꾸준히 확인하여 load balacing 최적화 일반적으로 health check url로 /health 공통으로 사용한다. 정상 status code를 200!!으로 알려줌
1. classic load balancer 2009
- layer4 tcp와, layer7 http & https를 지원한다.
2. application load balancer 2016
- 7 layer 지원, 타겟 그룹 설정, http/2 웹소켓 지원, http -> https 리다이렉트 지원, url or query string 등으로 여러 타겟그룹으로 라우팅이 가능함 , 마이크로서비스와 컨테이너 기반 앱을가졌을때 강력함
3. network load balancer 2017
- 두개의 진입점을 원할 때 사용된다. 극도의 성능을 원할 때, 타겟그룹이 tcp udp level의 트래픽을 원할때?
- 고정된 public ipv4를 원할 때도 사용
4. gateway laod balancer 2020
- layer 3 ip packet layer, port 6081, geneve protocol을 사용
-> 최신 load balancer를 사용하 것 추천 및 이유는 더많은기능을 제공하기 때문에
-> 외부에서 바로 인스턴스로 접근을 못하고 ELB를 통해서 접근하기 때문에 보안상 이점이 증가한다.
Sticky Session(Session Affinity)
- cookie를 만료되지 않을 때 동안 동일한 인스턴스로 분배해줌
- 사용자가 세션데이터를 잃지 않기 위해(로그인 같은) 동일한 인스턴스 접속을 원한다.
- 대신 세션을 고정하게되버리면 부하에 불균형을 초래할수있음
cross zone balancing
- ALB의 경우 cross zone이 항상 켜져있고 못끔, 이 기능에 대해서 돈 안듬
- NLB의 경우 꺼져있어서 키고싶으면 돈내야됨
- CLB의 경우 꺼져있지만 켜도 돈 안냄
Connection Draining
- Connection Draining은 deregistering이나 unhealthy된 instance에 더이상의 requesting을 보내지 않도록 해주는 기능이므로 일반적으로 on으로 해놓아야한다. time out을 정해놓으면 (1-3600 seconds) connection을 시도해서 예를 들어 300초인 경우, 300초동안 connection이 유효한 상태로 돌아오지 않으면 해당 isntance를 불능으로 처리하여 연결 요청을 하지 않게 된다.
ASG(Auto scale group)
- scale out/in 새 인스턴스를 로드밸런스에 자동 등록하느 기능도 있음
- launch configuraton( AMI + instance type, ec2 user Data(bootstrap, ebs volumes, security group, ssh key pair)
- cloudwatch 알람의 기반하여 asg를 계산할 수 있음( 측정항목은 정할 수 있음, 평균 계산)
- ASG에 IAM role을 연결하면 인스턴스가 생길 때 자동으로 role이 할당됨
- 무료!
- asg는 인스턴스 하나가 죽으면 그것을 인지해서 새롭게 인스턴스 만듬( ELB가 check 통해서 알려주면 인스턴스 재시작안하고 죽인다음에 새로만들음)
- cool down 기간동안 instance에 추가와 제거가 일어나지 않는다.
'AWS' 카테고리의 다른 글
AWS SAA-C02(RDS, aurora, Elasticache) (0) | 2022.02.27 |
---|---|
AWS SAA-C02(S3) (0) | 2022.02.27 |
AWS SAA-C02(EC2[4]) (0) | 2022.02.25 |
AWS SAA-C02(EC2[3]) (0) | 2022.02.23 |
AWS SAA-C02(EC2[2]) (0) | 2022.02.23 |