UDEMY 강의
를 듣고 남기는 AWS에 대한 짤막한 개요.
용어 정리
- Scalability : 확장성
- 프로그램이 더 큰부하에 적응할 수 있는 가능성, 능력
- 종류 2가지 : 수직, 수평
- 수평: 인스턴스/시스템의 숫자를 늘리는 것
- 수직: 인스턴스의 크기를 키우는 것. (메모리, CPU 설정). 한계 O
- 수평적 확장성이 cloud 환경에서는 쉬운일이다.
- Availability : 가용성
- 높은 가용성은 보통 수평적 확장성과 함께 사용된다.
- 고 가용성의 목표는, 서버(데이터센터)를 죽이지 않고 유지하는 것이다.
- 여러개의 서버중 하나가 다운되더라도, 다른 하나는 살아남을 수 있음을 의미한다.
- 여러 Region/AZ에 서버를 분산해둠으로 써 가용성을 높일 수 있다.
- Elasticity : 유연성
- 시스템이 확장할 때, 유연성은 부하에 따라 시스팀에 '자동으로 크기가 변하는' 것을 의미한다.
- 로컬보다는 클라우드 환경에 친화적이다. (비용최적화, on-demand 대응 등)
- Agility : 민첩성
- 확장성, 유연성과 관련없음
- 클라우드에서는 로컬에 서버를 설치하는 것과 달리, 클릭 몇번으로 새로운 자원(서버, 용량 등)을 획득할 수 있다.
- 즉, 높은 민첩성이란, 개발자가 새로운 자원을 사용하기 위해 필요한 기간이 몇주에서 몇분으로 짧아지는 것을 의미한다.
ELB
Elastic Load Balancing
ELB란 무엇인가?
- AWS에서 '유연성'을 부여하는 첫번째 서비스
- 여러 사용자에게서 트래픽이 들어오면, 먼저 ELB로 연결됨
- ELB는 여러 EC2에 트래픽을 분산해서 제공한다.
사용 이유
- 부하 분산
- 하나의 접속포인트만 노출
- 인스턴스의 실패에 대비
- 여러 AZ와 연결 가능
- SSL 제공
AWS ELB를 쓰는 이유
- 개발자가 직접 세팅하는게 더 저렴하긴 함
- 하지만 꽤 많은 수고가 필요함 (유지 및 새로운 서버 생길때마다 연결해주기 등)
ASG
Auto Scailing Group
개요
설정 가능한 것들
- 최대, 최소사이즈
- 연결할 로드밸런서
- 수동 조작
- 동적 스케일링
- 단계적 스케일링 (부하에 따라 서버추가)
- 타겟 추적 스케일링 (특정 부하를 유지)
- 예약 스케일링 (스케쥴에 따라 조작)
*자료 출처가 유료강의이므로, 많은 내용을 생략하였습니다.