티스토리 뷰

Amazon Elastic Compute Cloud(EC2)




EC2는 AWS의 가장 핵심적인 서비스로 가상 서버를 나타냅니다.


클라우드 상에서 가상서버(인스턴스)와 서버 백업 이미지(AMI), 디스크(EBS)와 디스크 백업(EBS), 방화벽(보안그룹)

고정 글로벌 IP(Elastic IP) 등을 이용할 수 있는 서비스입니다.


기본적인 이용 방법으로는 미리 AWS에 준비돼 있는 AMI에 EBS 용량, 보안 그룹에서 통신제어 등을 설정한 후에 인스턴스를 생성합니다. 그러고 나서 인스턴스에 로그인해서 미들웨어를 설치하고 설정을 마친 다음에 백업이 필요한 시점에 AMI를 생성하거나 필요하면 Elastic IP를 할당해서 인터넷 통신이 가능하게 합니다.





인스턴스


인스턴스는 기존의 온프레미스 환경에서의 서버에 상응합니다. 리눅스나 윈도우 등의 다양한 OS에 대응한

인스턴스를 구축할 수 있습니다.


인스턴스는 유스 케이스에 따라 필요한 CPU, 메모리, 네트워크 캐퍼시티가 달라집니다. EC2에는 인스턴스 타입이라는 구성 패턴이 준비돼 있습니다. 범용적인 사용을 위한 M4 인스턴스, CPU 성능을 높인 C4 인스턴스,

메모리 용량을 키운 R3 인스턴스 등이 있습니다.


게다가 각 인스턴스에는 small, medium, large, xlarge와 같이 세부 옵션이 있어서

원하는 성능에 맞춰 선택할 수 있습니다.










Amazon Elastic Block Store(EBS)






EBS는 EC2 인스턴스에서 사용하는 스토리지 입니다. 일종의 외장 하드디스크라고 생각하면 됩니다. (SSD,HDD)

EC2와는 네트워크를 기반으로 연결되며, 내부적으로 RAID1과 같은 구성으로 디스크가 확장됩니다.

사용자에게는 단순한 스토리지 볼륨으로 보이는데 실제로는 AWS에 의해 관리되는 관리 서비스입니다.

EBS는 스토리지 이미지를 스냅샷 형식으로 S3에 백업해서 보관 또는 복제를 쉽게 할 수 있습니다.


EBS는 여러 볼륨 타입 중에서 선택할 수 있고, 종류에 따라 IOPS(I/O 액세스 성능)와 가격이 달라집니다.

(참고로, ELB는 스토리지 서비스입니다.)


SSD 타입과 HDD 타입의 두 종류가 있습니다.

SSD 타입에는 범용 SSD라고 불리는 gp2와 성능 조정이 가능한 io1이 있습니다.


HDD 타입에는 순차적 데이터에 강한 st1과 액세스 빈도가 낮은 데이터에 적합한 sc1, 구세대 마그네틱이 있습니다

특별한 요건이 없는 한 범용 SSD(gp2)를 이용합니다. 마그네틱은 초창기 서비스로 현재는 사용상의 이점이 거의 없기 때문에 기본적으로는 사용하지 않습니다.



Q: 여러 인스턴스가 단일 볼륨에 액세스하는 기능을 지원합니까?


여러 볼륨을 단일 인스턴스에 연결할 수는 있지만 하나의 볼륨에 여러 인스턴스를 연결하는

서비스는 현재 지원되지 않습니다.



Q: 일반적인 Amazon S3 API를 사용해 내 EBS 스냅샷에 액세스할 수 있습니까?


아니요. EBS 스냅샷은 Amazon EC2 API를 통해서만 사용할 수 있습니다.






AWS Elastic Load Balancing(ELB)







ELB는 부하 분산 장치입니다. EC2 인스턴스의 앞단에 두고, 여러 개의 EC2 인스턴스에 통신을 분산해줍니다.

ELB를 사용하면 가용성확장성 높은 시스템을 쉽게 구축할 수 있습니다.


On Premise의 부하 분산 장치는 비교적 비싼 장비라는 이미지가 있습니다.

ELB는 월 2만원 정도의 비용으로 사용할 수 있습니다.

ELB의 특성을 이해하고 제대로 활용하는 것이 AWS를 제대로 활용하는 방법이라고 할 수 있습니다.


ELB에는 제1세대인 CLB(Classic Load Balancer)와 제2세대인 ALB(Application Load Balancer)의 두 종류가 있고,

총칭해서 ELB라고 합니다.


ALB는 어플리케이션 레이어(L7)의 라우팅이 가능하고

CLB로 구현 가능한 기능은 거의 커버하고 있습니다.


그러므로 시스템을 구축할 때는 ALB를 이용하면 됩니다.













Auto Scaling






Auto Scaling은 CPU 또는 메모리 사용량등에 따라 EC2 인스턴스를 자동으로 늘리고 줄이는 서비스입니다.

이 기능을 사용하면 부하에 따라 자원을 자동으로 최적화할 수 있습니다.

AWS의 상징적인 서비스라고 할 수 있습니다. Auto Scaling 기능은 ELB와 함께 사용하는 경우가 많습니다.


Auto Scaling 기능은 ELB와 함께 말고 따로 쓰일 수도 있습니다.

예를 들어, 배치 처리의 대기 건수가 늘어났을 때 자동 스케일링을 이용해 인스턴스를 늘리고 일시적으로

처리 능력을 향상시키는 이용 방법도 있습니다.