본문 바로가기

programming/Web

AWS - EC2(EBS/AZ/ELB)

Elastic Compute Cloud

ECC -> EC2

 

유동적인(탄력적인) 컴퓨터 클라우드

 

EC2 사용시 지불방법

1. on-demand : 시간단위로 가격이 고정되어 있음. 개발 초기단계, 유연한 크기 설정 가능

개발 시작 시간, 개발 끝나는 시간을 알수 없는 경우, 단기간에 개발을 할 수 있는경우, 개발 초기단계에서 EC2인스턴스에 테스트를 해볼때 적합함

 

2. reserved : 한정된 EC2 용량 사용가능, 지정석, 크기를 늘이고 줄이는 기능 없음, on-demand 보다 가격이 저렴함.

개발의 시작과 끝을 미리 알 수 있는 경우에 적합. 예상가능한 워크로드시 지정해두고 할인받아 사용가능

 

3. spot : 입찰 가격 적용, 가장 큰 할인률을 적용받을 수 있음. 

 

 

EC2는 어떻게 작동되는가? 무엇으로 구성되어있는가?

EBS : EC2 안에 부착되어있는 가상 디스크 

 

다양한 볼륨이 존재하므로 적절한 선택이 필요함

EBS 란? Elastic Block Storage

저장공간이 생성되어지며 EC2 인스턴스에 부착된다

디스크 볼륨 위에 File System이 생성된다

EBS는 특정 Availability Zone에 생성된다

 

Availability Zone(AZ)는 뭘까?

일명 가용 영역 = 데이터 센터 = IDC

하나의 Region(aws 제공 인프라 위치, 서울, 도쿄, 미국 등) 안에 여러개의 AZ가 존재할 수 있다.

일종의 DR(Disaster Recovery) 

 

다시 EBS로 돌아와서 볼륨 타입

<SSD군>

1) General Purpose SSD(GP2) : 최대 10K IOPS 지원, 1GB당 3IOPS 속도가 나옴

2) Provisioned IOPS SSD(IO1) : 극도의 I/O률을 요구(매우 큰 DB관리) 환경에서 주로 사용. 10K이상의 IOPS를 지원

 

<Magnetic/HDD군>

1) Throughput Optimized HDD(ST1) : 빅데이터, 로그 프로세싱시 주로 사용, boot 볼륨으로 사용 불가(os없음)

2) CDD HDD(SC1) : 파일서버와 같이 빈번한 입출력 없이 오랫동안 데이터 보관용, boot 볼륨으로 사용 불가

3) Magnetic (Sandard) : 가장 저렴, boot 볼륨으로 사용 가능

 

 

ELB(Elastic Load Balancers)

수많은 서버의 흐름을 균형있게 흘려보내주는 역할

병목현상 방지

 EC2 인스턴스가 unhealty 인스턴스가 되는경우 healty 인스턴스로 보내주는 역할

 

ELB종류

특정상황 - 어떤 ELB를 적절하게 사용해야 하는지

1) Application Load Balancer : OSI 7에서 작동됨,

HTTP, HTTPS같은 트래픽의 로드밸런싱 역할

라우팅설정을 따로 할 수 있어서, 특정 서버로 트래픽을 보내줄수 있다 (커스터마이징 가능)

 

2) Network Load Balancer : OSI 4에서 작동됨

극도의 퍼포먼스가 요구되는 TCP 트래픽에 적합함

구글이나 네이버같은 큰 서버에서 적합함

 

3) Classic Load Balancer : 현재 legacy로 간주됨, 따라서 거의 쓰이지 않음.

Layer7의 HTTP. HTTPS 라우팅 기능 지원

Layer4의 TCP 트래픽 라우팅 기능 지원

 

에러 처리

Load Balancer Error : 504 Error

주로 웹서버/데이터베이스 레이어에서 에러처리

 

X-Forwarded-For 헤더

public IP 주소로 접속(152.12.3.225)

DNS 를 통해

ELB에 도달 (private IP 10.0.0.23)

EC2(10.0.0.23) 으로 요청 보냄

 

-> EC2는 private IP 만 알수 있다. 즉 DNS에서 변환된 Private IP만 알수있으므로, 실제 요청의 원천은 알 수 없다

-> 이를 위해 X-Forwarded-For 헤더를 사용

 

Route53

AWS에서 제공하는 DNS 서비스

EC2 인스턴스/S3 Bucket / Load Balancer 서비스들에게 이름을 부여해주는 서비스

도메인 주소를 구매하여 연결

 

1. 도메인 등록(유료) 또는 타 사이트에서 도메인 생성