삽질도 두드려 보고,

DESIGN YOUR EXPERIENCE

코스 전체목록

닫기
본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

EC2

EC2 Elastic Compute Cloud


 AWS에서 가장 대표 적인 서비스 중 하나이다. VM을 대여하거나, 데이터를 가상 장치에 저장하고 로드밸런싱을 구성하거나, 자동 스케일링을 구현할 수 있다.

 EC2에서 제공하는 운영체제는 Linux, Windows, MacOS가 있다. 인스턴스를 생성할 때, CPU, RAM, EBS Storage, NIC 등의 가상 하드웨어 스펙을 지정할 수 있다. Public IP 주소와 Security Group으로 불리는 방화벽 규칙도 설정한다.

 또한 인스턴스가 최초로 생성될 떄는 초기 작업(업데이트, 패키지, 파일 다운로드 등)을 위한 스크립트를 지정할 수 있는데 이를 부트스트래핑(Bootstrapping)이라 한다. 부트스트래핑의 모든 명령은 sudo 권한으로 수행된다.

EC2 Instance Types


 EC2는 사용 목적에 맞는 인스턴스를 생성할 수 있도록 여러 종류의 인스턴스 타입을 제공하고 있다. t2.micro와 같은 형식의 네이밍 규칙을 따르고 있으며, 처음 알파벳(t)은 인스턴스 클래스로 불린다. 그 뒤 숫자는 해당 클래스의 하드웨어 세대를 뜻하며, AWS가 데이터센터의 서버를 더 고성능의 하드웨어로 세대교체 하면 이 숫자가 올라간다. 점(.) 뒤의 문자열은 해당 인스턴스 클래스 내에서 하드웨어 스펙의 크기를 표현한다. micro에서 large, xlarge, 16large로 올라갈 수록 하드웨어의 성능이 높아진다.

 이 외 모든 인스턴스 타입에 대해서는 aws.amazon.com/ko/ec2/instance-types/ instances.vantage.sh에서 확인할 수 있다.

 이 중 t2.micro는 AWS의 프리티어 전용 인스턴스 타입으로, AWS 최초 가입 12개월 동안 이 타입으로 생성된 인스턴스는 한달에 750 시간 즉, 한달 내내 무료로 사용할 수 있다. 자세한 프리티어 정책의 정보는 https://docs.aws.amazon.com/ko_kr/awsaccountbilling/latest/aboutv2/billing-free-tier.html와 https://aws.amazon.com/ko/free/free-tier-faqs/에서 확인할 수 있다.

EC2 인스턴스 구매 옵션


 EC2 인스턴스를 생성하기에 앞서 어떤 요금제를 적용하여 인스턴스를 사용할 지 정해야한다. 몇 가지 종류가 있는데 자신이 이 인스턴스를 어떻게 사용할 지에 따라서 전략적으로 요금제를 정할 수 있으며, 활용 목적과 스타일에 따라 적합한 요금제를 선택한다면 요금을 절약할 수 있다.

On-demand Instance
  • 짧은 워크로드에 적합
  • 요금 예측이 쉬움
  • Windows, Linux 인스턴스의 경우 부팅 1분 이후 초당 사용 요금이 청구됨
  • 다른 운영체제의 경우 시간당 사용 요금이 청구됨
Reserved Instances
  • 1년 또는 3년 사용 약정
  • 장기 워크로드에 적합
  • 전액 선결제(최대 할인), 부분 선결제, 후불 결제 중 선택 가능
Convertible Reserved Instance
  • 1년 또는 3년 사용 약정
  • 장기 워크로드에 적합
  • 인스턴스 유형을 변경할 수 있음
Savings Plans
  • 1년 또는 3년 사용 약정
  • 장기 워크로드에 적합
  • 특정 인스턴스 유형을 약정하는 것이 아니라 달러 단위로 사용량을 약정
  • 사용량 한도를 넘어가면 On-demand 가격으로 청구됨
  • 인스턴스가 생성될 리전과 인스턴스 타입의 클래스가 고정되지만 인스턴스 타입의 크기는 m5.xlarge, m5.2xlarge 등으로 변경할 수 있으며, OS도 변경할 수 있음. 테넌시는 호스트, 전용, 기본(공유)로 전환할 수 있음
Spot Instances
  • 짧은 워크로드에 적합
  • 인스턴스가 손실될 수 있음(신뢰성 낮음)
  • 지불할 의향이 있는 스팟 최고가를 결정하면, 인스턴스의 비용이 지불 의사 최고가보다 낮은 한에서 계속 인스턴스를 사용할 수 있음
  • 시간이 지남에 따라 스팟 가격이 지불 의사 최고가보다 높아지는 경우에는 두가지 옵션이 있음
    • 인스턴스를 중단하며, 스팟 가격이 최고가보다 낮아지는 경우 인스턴스를 재시작
    • 인스턴스를 종료
  • 2분의 유예 시간동안 옵션 결정을 할 수 있음

  • 스팟 인스턴스 요청은 위 플로우를 통해 진행됨
  • 스팟 인스턴스 요청은 일회성과 지속성 두가지가 있음.
  • 일회성은 맨 처음만 스팟 요청이 발생
  • 지속성은 스팟 요청의 유효기간 동안 스팟 요청이 계속 전달 됨, 인스턴스가 스팟 가격 상승으로 인해 중단될 경우, 다시 스팟 요청이 전달되어 스팟 인스턴스가 재시작됨
  • 스팟 요청이 취소되기 위해서는 open, active, disabled 상태여야 함
  • 스팟 요청이 취소되더라도 기존에 실행중이던 인스턴스는 종료되지 않음.
  • 스팟 인스턴스를 정구히 종료하려면, 스팟 요청을 취소한 후 스팟 인스턴스를 종료해야 함
Spot Fleets
  • 한 세트의 스팟 인스턴스에다가 선택적으로 온디맨드 인스턴스를 조합할 수 있음
  • 정의된 비용 제한 내에서 용량을 맞추려 노력함
  • 정해진 예산 또는 용량에 달한 경우 인스턴스 실행을 멈춤
  • 스팟 인스턴스 할당 Strategies
    • lowestPrice: 가장 적은 비용을 가진 풀에서부터 인스턴스를 실행; 짧은 워크로드에 적합
    • diversified: 기존에 정의한 모든 풀에 걸쳐 분산됨; 풀이 중단되더라도 다른 풀이 활성화 됨
    • capacityOptimized: 인스턴스 개수에 따라 최적 용량으로 실행 됨
  • 인스턴스 유형과 가용 영역을 지정하는 단순 스팟 요청과는 달리 스팟 플릿은 할당 전략에 따라 인스턴스 유형과 AZ를 최적 선택함
Dedicated Instances
  • 물리적 서버를 다른 계정과 공유하지 않음
  • 인스턴스 재부팅 시에는 다른 서버 호스트에서 부팅될 가능성 있음
  • 내 계정의 비전용 인스턴스도 생성될 수 있음
  • 인스턴스의 배치 컨트롤이 불가능
  • 기본 요금 시간당 $2 청구
  • 사용하는 인스턴스 당 사용료 청구
Dedicated Hosts
  • 물리적 서버 전체를 예약하며, 다른 계정과 공유하지 않음.
  • 하드웨어 낮은 수준의 가시성을 제공
  • 인스턴스 배치를 제어할 수 있음
Capacity Reservations
  • 특정한 AZ에 On-demand 인스턴스를 예약할 수 있음
  • 기간 약정이 없으며, 원하는 떄에 사용 용량을 예약하고 취소할 수 있음
  • 인스턴스 실행과 무관하게 On-demand 요금 청구

배치그룹(Placement Groups)

 배치그룹은 EC2 인스턴스가 AWS 인프라에 배치되는 전략을 결정한다.

Cluster: 단일 AZ 인스턴스를 배포한다. 낮은 Latency를 가진다. 한 인스턴스가 실패하면 클러스터의 모든 인스턴스가 실패한다.

Spread: 모든 인스턴스는 다른 하드웨어 랙에 배치된다. 배치그룹 당 AZ 별로 최대 7개의 인스턴스를 가질 수 있다.

Partition: 여러 파티션에 분할하여 배포한다. AZ 당 최대 7개의 파티션을 설정할 수 있으며, 파티션은 AWS의 서버랙을 의미하며, 파티션 안에는 많은 EC2 인스턴스를 배치할 수 있다.

 

Elastic Network Interface(ENI)

 VPC의 논리적 구성요소이며 가상 네트워크 인터페이스이다. ENI는 각 AZ에 바인딩되며, 다른 AZ에서는 새 ENI를 만들어야 한다. EC2는 기본적으로 Primary ENI를 갖고 있으며, 사설 IP가 할당된다. ENI는 추가로 더 장착할 수 있으며, 또다른 사설 IP가 할당될 것이다. ENI에 여러 보안그룹을 적용할 수 있으며, 각 ENI는 사설 IP에 매핑되는 탄력적 IP를 얻을 수도 있다.

댓글

댓글 본문
버전 관리
Hyunseok Lim
현재 버전
선택 버전
graphittie 자세히 보기