[AWS] AWS EC2(Amazon Elastic Compute Cloud)란?

업데이트:



✅ AWS EC2(Elastic Compute Cloud)란?

EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스 이다. EC2를 통해서 아마존이 전 세계에 구축한 데이터 센터의 서버용 컴퓨터들의 자원을 원격으로 사용할 수 있다. 쉽게 말해 아마존으로부터 한대의 컴퓨터를 빌리는 것이다.

물론, 가정용 컴퓨터와 EC2는 중요한 차이가 존재한다. EC2는 생성 요청시 바로 생성되고 삭제 역시 즉시 제거된다. 또한 초기 구입비, 세팅비가 전혀 없고 사용한 만큼 비용을 지불하면 된다.

또한 복잡한 공유기 세팅없이 인터넷을 통해서 자유롭게 접속 할 수 있고, AMI 기능을 사용해서 OS 및 기타 SW 세팅을 편리하게 할 수 있다.

그리고 원하는 만큼의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있으며 추가 요구사항이나 갑작스러운 트래픽 증가 등 변동 사항에 따라 신속하게 규모를 확장하거나 축소 할 수 있어 서버 트래픽 예측 필요성이 줄어든다는 장점이 있다.

실제 컴퓨터는 OS세팅, SW설치, 하드웨어 설치, 초기비용 등 여러가지 준비해야 할 것들이 많지만 EC2는 이런 모든 세팅을 편리하게 도와주기 때문에 굉장히 편리하다.



📌 EC2 특징 요약


EC2의 특징을 요약 정리하자면 다음과 같다.

  • 컴퓨팅 요구사항의 변화에 따라 컴퓨팅 파워를 조정할 수 있다.

  • 실제로 사용한 용량 만큼만 지불한다 ( HW비용x, 선입금x )

  • AMI를 통해 Linux, Windows 중 OS 선택이 쉽게 가능하다.

  • 빠르게 많은 PC를 생성 할 수 있다.

  • 여러 다른 AWS 서비스와의 유기적인 연동이 가능하다.







✅ EC2의 구성요소



📌 인스턴스


AWS 클라우드에서 사용하는 가상 컴퓨터 라고 이해하면 된다.

가상 컴퓨터의 CPU, 메모리, 그래픽 카드 등 연산을 위한 하드웨어 부분을 담당한다.

내가 어떤 용도로 EC2를 사용하고자 하는지에 따라 적합한 인스턴스를 선택하면 된다. 이를 인스턴스 유형(타입) 이라고 한다.



📌 인스턴스 유형


한정된 요금으로 EC2 인스턴스의 유형을 고르고 사이즈를 골라 인스턴스 별 사용 목적에 따라 최적화를 시키기 위해 적절한 인스턴스 유형을 선택하면 된다.

예를들어 CPU에 힘을 실어 연산능력이 좋은 서버를 만든다던지, 메모리 위주에 힘을 실어 저장소로서 기능을 구성한다던지, 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능하다.



📌 인스턴스 명명규칙


인스턴스 타입이 어떤게 있고 사이즈는 뭐가 있고를 전부다 외울 필요는 없다. 다만 위 사진 처럼 인스턴스가 주어졌을 때 무슨무슨 의미인지만 알면 된다.

  • 인스턴스 타입 : 사용 목적 ( 서버용, 머신러닝용, 게임용 )에 따라 이름을 구분지어 사용한다.

  • 세대 : 1세대, 2세대 … 숫자가 높을 수록 최신 버전이라고 보면 된다.

  • 접두사 : a는 amd기반의 CPU 프로세서를 사용한다는 의미이다.

  • 사이즈 : nano, micro, small, medium, large, xlarge, 2xlarge 로 구성되고 사이즈가 클수록 더 많은 메모리, 더 많은 CPU, 더 많은 네트워크 대역폭을 가질 수 있다.



📌 AMI ( Amazon Machine Image )


인스턴스를 시작하는데 필요한 소프트웨어 구성 ( OS, 애플리케이션 서버 및 애플리케이션 ) 이 포함된 템플릿이다.

EC2를 실행하기 위해서는 CPU 프로세서 타입이라던지 저장공간 용량은 몇인지, 32비트인지 64비트인지, OS는 윈도우인지 리눅스인지, 소프트웨어는 어떤게 설치되었는지 등의 정보가 필요한데 이러한 세팅정보를 템플릿단위로 저장한 것을 AMI라고 한다.




📌 기타 구성요소


  • 키 페어(선택) : 인스턴스 로그인 정보를 보호한다. (AWS는 공개키를 저장하고, 사용자는 개인키를 안전한 장소에 보관하는 방식)

  • Elastic Block Store(EBS) : HDD, SSD 같은 하드디스크 용량이라고 보면 된다.

  • 리전 및 가용영역

  • 태그 : key-value로 태그를 달아준다. 일반적으로 기업에서 보통 수백개의 ec2를 사용하는데, 부서별, 사용자별로 사용 EC2가 굉장히 많다. 이런 EC2들을 효과적으로 관리하기 위해 태그를 반드시 달아줘야 한다. 이를 통해 같은 태그가 달린 EC2들을 일괄적으로 관리하는데 예를들면 test태그가 붙은 ec2는 전부 사용종료해라 혹은 temp태그가 붙은 ec2는 전부 실행해라 이런식으로 관리에 용이하다.

  • 사용자 데이터 (User Data) : EC2 인스턴스가 start 되자 마자 실행할 스크립트

  • 배치그룹 : 인스턴스를 시작할 클러스터 그룹이다. 일부 인스턴스 유형에서만 지원되며, 호환되지 않는 인스턴스 유형을 지정하면 인스턴스를 시작하는 데 실패합니다.

  • 네트워크 설정 : VPC, subnet, 보안그룹 등



📌 EC2 인스턴스 스토어



인스턴스 스토어는 인스턴스에 블록 수준의 임시 스토리지를 제공한다. 스토리지가 물리적으로 연결된 디스크라면 인스턴스 스토어는 버퍼, 캐시 등 자주 변경되는 정보의 임시 저장소라고 보면 된다.

인스턴스 실행시 인스턴스 스토어 볼륨을 지정할 수 있고 하나의 인스턴스에서 인스턴스 스토어를 분리해서 다른 인스턴스에 연결하는것은 불가능하다.

인스턴스가 재부팅(의도적이든 의도적이지 않든)되어도 인스턴스 스토어의 데이터는 유지되지만 일부 상황에서는 데이터가 손실 된다.

  • 인스턴스 중지
  • 인스턴스 종료
  • 인스턴스 최대 절전 모드 전환
  • 기본 디스크 드라이브 오류

때문에 중요한 장기 데이터는 인스턴스 스토어에 저장하지 않는것이 좋다.



📌 EC2 인스턴스 생명주기


Amazon EC2 인스턴스는 시작한 순간부터 종료될 때까지 다양한 상태로 전환된다. 아래 그림은 인스턴스 상태 간 전환을 나타낸다.

인스턴스 상태 설명 인스턴스 사용 요금
pending 인스턴스는 running 상태로 될 준비를 하고있습니다. 인스턴스는 시작되거나 stopped 상태 이후에 시작되면 pending 상태로 들어갑니다. 미청구
running 인스턴스를 실행하고 사용할 준비가 되었습니다. 청구
stopping 인스턴스를 중지할 준비를 하고 있습니다. 미청구
stopped 인스턴스가 종료되고 사용이 불가합니다. 언제든지 인스턴스를 다시 시작할 수 있습니다. 미청구
shutting-down 인스턴스가 종료할 준비를 하고 있습니다. 미청구
terminated 인스턴스가 영구적으로 삭제되었으며 시작할 수 없습니다. 미청구





댓글남기기