Amazon EC2란?
클라우드에서 컴퓨팅 파워의 규모를 자유자재로 변경할 수 있는 웹 서비스이다. 개발자가 보다 쉽게 웹 규모의 컴퓨팅 작업을 수행할 수 있도록 설계되어있다.
Amazon EC2의 이점
Amazon EC2로 클라우드에서 컴퓨팅을 수행할 수 있습니다.
Amazon EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있습니다.
컴퓨팅 리소스에 대한 포괄적인 제어권을 제공(인스턴스를 늘린다던가를 맘대로 제어할 수 있다)
개발자들이 언제든지 리소스 사용량을 관리
새로운 서버 인스턴스를 획득하고 부팅하는데 시간이 단축되므로 요구사항의 변화에 따라 신속하게 용량을 확장하거나 축소할 수 있습니다. ⇒ 이벤트 오픈 시 서버 인스턴스 확장
실제 사용한 만큼만 요금을 지불하면 되므로, 컴퓨팅 비용이 절약됩니다.
EC2 사용이유
소규모 개발자들은 대용량 컴퓨팅 리소스를 구입할 자본이 없어 예기치 않은 로드 스파이크를 처리하는 데 필요한 용량을 확보하지 못했습니다.
개발자들이 초기 투자 또는 성능 저하 없이 Amazon의 고유한 이점인 대규모 확장성 을 활용할 수 있게 되었습니다.
EC2 서비스의 탄력적인 특성을 갖고 있어 개발자들이 트래픽의 스파이크 또는 수요에 맞춰 즉시 용량을 조정할 수 있습니다.
EC2 요금 https://aws.amazon.com/ko/ec2/pricing/
- 온디맨드 : 실행하는 인스턴스에 따라 시간당 또는 초당 컴퓨팅 파워에 대한 비용을 지불한다.
- 예약 인스턴스 : 용량 예약을 제공하고 인스턴스의 시간당 요금에 대해 상당한 할인 혜택을 제공한다. 또한, 예약 인스턴스를 특정 가용 영역에 지정하면 용량 예약이 제공되므로 필요할 때 예약한 인스턴스를 시작할 수 있다는 확신을 가질 수 있습니다.(spot이랑 다른점)
- 스팟 인스턴스 : 인스턴스 용량에 대해 원하는 가격으로 입찰할 수 있으므로 애플리케이션의 시작 및 종료 시간이 유연한 경우 훨씬 더 많은 비용을 절약할 수 있습니다. EC2에 의해 종료가 된다면, 부분 사용시간에 대한 요금이 부과되지 않습니다. 하지만 본인이 인스턴스 사용을 중지한다면 사용한 전체 시간에 대해서 요금이 부과될 것입니다.
- 전용 호스팅 : 물리적 EC2 서버, 전용 호스트는 기존 서버 바운드 소프트웨어 라이센스를 사용할 수 있도록하여 비용을 절감 할 수 있습니다.
EC2 환경에서 시스템을 실행하려면
계정을 설정하고 AMI를 선택하거나 만들면 인스턴스를 부팅할 수 있습니다. RunInstances API를 호출하여 원하는 수의 온디맨드 인스턴스에서 AMI를 시작할 수 있습니다. 시작할 인스턴스 수를 명시하기만 하면 됩니다.
AMI(Amazon 머신 이미지) : AMI는 인스턴스를 시작하는데 필요한 정보를 제공합니다. 인스턴스를 시작할 때 AMI를 지정해야 합니다. 동일한 구성의 인스턴스가 여러 개 필요할 때는 한 AMI에서 여러 인스턴스를 시작할 수 있습니다. 서로 다른 구성의 인스턴스가 필요할 때는 다양한 AMI를 사용하여 인스턴스를 시작하면 됩니다.
AMI는 다음을 포함합니다.
- 1개 이상의 Amazon Elastic Block Store(Amazon EBS) 스냅샷 또는, 인스턴스 스토어 기반 AMI의 경우, 인스턴스의 루트 볼륨에 대한 템플릿(예: 운영 체제, 애플리케이션 서버, 애플리케이션)
- AMI를 사용하여 인스턴스를 시작할 수 있는 AWS 계정을 제어하는 시작 권한
- 시작될 때 인스턴스에 연결할 볼륨을 지정하는 블록 디바이스 매핑
AMI 사용
AMI를 생성 및 등록한 다음 새 인스턴스를 시작하기 위해 사용한다. AMI 소유자가 시작 권한을 부여한 경우 AMI에서 인스턴스를 시작할 수 있습니다. AMI를 동일한 AWS리전 또는 다른 AWS리전으로 복사할 수 있습니다. 더 이상 필요 없는 AMI는 등록 취소할 수 있습니다. 인스턴스에 연결되면 사용자는 인스턴스르 ㄹ다른 서버와 동일한 방식으로 사용할 수 있습니다.
온디맨드 인스턴스 : 인스턴스 구입 옵션 중 하나이다. 온디맨드 인스턴스를 사용하면 장기 약정 없이 초 단위로 컴퓨팅 용량을 구입할 수 있습니다. 수명 주기를 완전하게 제어할 수 있습니다. 즉 시작, 중지, 수면, 사용 시작 또는 종료 시기를 결정할 수 있습니다. 온디맨드 인스턴스가 running 상태인 시간에 대해서만 지불하면 됩니다.