Amazon EC2 (Amazon Elastic Compute Cloud)는 AWS(Amazon Web Services) 클라우드에서 온디맨드(이용자의 요구에 따라 상품이나 서비스가 바로 제공되는 것) 확장 가능 컴퓨팅 용량을 제공한다. Amazon EC2를 사용하면 하드웨어 비용이 절감과 함께 애플리케이션을 더욱 빠르게 개발하고 배포할 수 있다. Amazon EC2를 사용하여 용량을 추가(스케일 업)하여 트래픽 급증 등 컴퓨팅 사용량이 많은 작업을 처리할 수 있다. 사용량 감소시 다시 축소(스케일 다운)할 수 있다.
💡
Load Balancing이란 서버가 처리해야할 요청(Load)을 여러대의 서버로 나누어(Balance) 처리하는 것을 말한다. 한대의 서버에 부하가 오지 않고 여러대의 서버에서 각각 최적의 성능을 보이는 것이 목적이다.
Load Balancing Algorithm
- 라운드로빈 방식
- 가중 라운드로빈 방식
- IP 해시방식
- 최소연결방식
- 최소응답시간방식
서비스의 규모의 증가에 따라 Traffic(네트워크 내부에 일정 시간 동안 흐르는 데이터 양)의 증가로 인해 원할한 서비스가 제공이 불가능해진다. 대처방법으로 크게 2가지가 존재한다.
1. 스케일 업(Scale-Up) : 기존 서버의 성능을 보다 높은 사양으로 향상시키는 방식 (Load Balancing X) Scale-Up ↔ Scale-Down
2. 스케일 아웃(Scale-Out) : 기존의 서버와 비슷한 성능의 서버를 증설하여 서버의 부하를 분담하는 방식.(Load Balancing O)

다음 다이어그램은 VPC (Amazon Virtual Private Cloud)내에서 배포된 EC2 인스턴스의 기본 아키텍처이다. 이 예시에서 EC2 인스턴스는 해당 리전의 가용 영역 내에 있다. EC2인스턴스는 들어오고 나가는 트래픽을 제어하는 가상 방화벽의 역할을 하는 보안 그룹의 보호를 받는다. 프라이빗 키는 로컬 컴퓨터에 저장되고 퍼블릭 키는 인스턴스에 저장된다(공개키-개인키 방식을 사용). 해당 시나리오에서는 Amazon EBS볼륨(블록 수준 스토리지 디바이스이며 인스턴스 연결이 가능하다. 인스턴스 연결시 물리적 하드드라이버 역할이 가능하다.)이 인스턴스를 지원한다.
💡
Amazon Virtual Private Cloud(Amazon VPC)를 사용하면 사용자가 정의한 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 시작할 수 있다. 이 가상 네트워크는 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사하며 AWS의 확장 가능한 인프라를 사용할 수 있다는 장이 있다.다음 다이어그램은 예제 VPC를 보여준다. VPC는 Internet gateway를 사용하여 인터넷과 통신한다. VPC에는 해당 지역의 각 가용 영역에 하나의 서브넷(네트워크 내부의 네트워크, 서브넷 마스크를 통해 서브네팅된 분할된 네트워크)이 있고, 각 서브넷에 EC2 인스턴스가 있으며, VPC의 리소스와 인터넷 간의 통신을 허용하는 인터넷 게이트웨이가 있다.
인스턴스
가상서버
인스턴스 타입
인스턴스의 다양한 CPU, 메모리, 스토리지, 네트워킹 용량 및 그래픽 하드웨어 구성.
탄력적인 IP 주소
동적 클라우드 컴퓨팅용 고정 IPv4주소.
Amazon EBS 볼륨
EC2의 분류
AWS EC2 -
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html
LoadBalancing -
https://velog.io/@alkwen0996/네트워크-스케일-업Scale-up-스케일-아웃scale-out과-로드밸런싱Load-Balancing
AWS VPC -
https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html
AWS EBS -
https://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volumes.html
AWS EC2 Storage -