1. EC2란?
EC2는 AWS에서 가장 기본적이면서 널리 쓰이는 인프라이며 인터넷에 연결된 가상 서버를 제공한다. EC2를 사용하면 클릭 몇 번으로도 서버를 생성할 수 있어 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적이다. 또한 사용한 만큼만 요금을 지불하므로 비용도 절감된다.
2. 인스턴스 유형
인스턴스랑 EC2에서 생성한 가상 서버를 말한다. 우리 컴퓨터들도 얼만큼의 성능을 내는지를 사양을 통해 알려준다. EC2도 마찬가지다. 우리는 이러한 사양을 보고 사용량이 많다면 높은 사양을 사용하고 적다면 낮은 사양을 사용하면 된다. 이때 t2.micro, m3.medium과 같이 사양을 표현하는데 t, m과 같은 것들을 인스턴스 패밀리라고 부르고 뒤에 있는 숫자를 세대(Generation)라고 부른다. 이때 인스턴스 패밀리에는 다음과 같은 것들이 있다.
타입 | 설명 |
범용 | vCPU, 메모리, 네트워크 등 모두 평균적인 사양으로 제공된다. |
컴퓨터 최적화 | 다른 패밀리에 비해 메모리 대비 vCPU 비율이 높다. |
GPU 인스턴스 | 고성능 NVIDIA CPU가 장착된다. |
메모리 최적화 | 다른 패밀리에 비해 메모리 용량이 크다. |
스토리지 최적화 | 다른 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O를 제공한다. |
마이크로 인스턴스 | 가격이 가장 싼 인스턴스로 낮은 vCPU와 적은 메모리를 제공한다. 프리 티어에서 무료로 사용할 수 있다. |
각 CPU에 대한 정보는 아래에서 확인할 수 있다.
3. 구매 옵션
EC2 구매 방식은 크게 3가지로 구분된다.
타입 | 설명 |
On Demand Instance | 1. 필요시 바로 생성하는 방식으로 세 방식 중 가장 비쌈. 2. 과금은 1시간 단위이며 1분만 사용해도 1시간 단위로 결제. 3. Shared tenancy와 Dedicated tenancy로 구분됨. 공유 인스턴스(Shared tenancy)는 하나의 물리적 서버에 여러 EC2 인스턴스가 실행됨. 즉, 한 인스턴스가 많은 자원을 소모하면 다른 인스턴스에 영향을 미칠 수 있음. Dedicated tenancy는 하나의 물리적 서버에 하나의 EC2 인스턴스를 실행함. 다른 인스턴스에 영향을 받지 않는 장점이 있으므로 Shared tenancy보다 비용이 비쌈. |
Spot Instance | 1. 사용자 제시 가격(입찰가격)을 정해놓고 저렴할 때 이용할 수 있음.즉,수요와 공급에 따라 가격이 결정되고 높게 입찰한 사람한테 인스턴스가 할당되는 경매 방식의 인스턴스임. 2. 웹 크롤링, 이미지 변환, 테스트 등 불시에 중단되어도 상관없는 업무에 적합함. 3. 단기적으로 서버에 대한 수요가 많을 때 유리함. |
Reserved Instance | 1. 1년 혹은 3년 동안의 예약금을 선불로 결제하면 시간당 요금이 할인된다. On Demand Instance 방식과 동일하게 Shared tenancy와 Dedicated tenancy로 구분된다. |
아래 url에서 ec2의 요금표를 확인할 수 있다.
4. 생성 방법 (On Demand Instance)
아래는 AWS 로그인시 화면 중 일부다. 노란 박스의 모든 서비스 보기를 누르자.
그러면 aws에서 제공하는 여러 service들을 볼 수 있다. 우리는 EC2 인스턴스를 생성할 것이므로 EC2를 선택하자.
그리고 왼쪽 탭에서 "인스터스"를 누르고 "인스턴스 시작"을 누르자.
처음에는 태그를 설정한다. 태그는 Key-Value로 이루어지며 아래와 같이 Test를 이름으로 작성하면 Key는 Name, Value는 Test가 된다. Add additional tags를 누르면 추가 키들을 생성할 수 있다.
운영체제는 Ubuntu로 선택하고 프리티어에서 가능한 "Ubuntu Server 22.04 LTS (HVM), SSD Volume Type"을 선택했다. 다른 운영체제를 원하다면 다른 것을 선택하면 된다.
인스턴스 유형도 프리티어에서 무료로 제공하는 "t2.micro"를 선택했다. 더 좋은 사양이 필요하다면 해당 인스턴스 유형을 선택하자. 단, 요금이 발생한다.
다음으로 키 페어(Key pair)를 설정한다. Key pair란 EC2 인스턴스에 접속하기 위한 것을 말한다. 우리는 aws가 처음이므로 일단 사용할 Key pair를 만들어야 한다. 따라서 "새 키 페어 생성"을 눌러서 키 페어를 생성하자. Key pair name에는 사용하고 싶은 key pair이름을 적어주면 된다. 필자의 운영체제는 window이고 이후 EC2를 연결하기 위해서는 PuTTY를 사용해야 하지만 키 페어 유형은 RSA, 프라이빗 키 파일 형식은 .pem로 선택했다. PuTTY이용시 .pem을 변환하면 되기 때문이다.
어쨋든 만들어진 키페어로 설정하면 .pem 파일이 다운된다. 해당 파일은 이후 EC2 접속에 사용된다.
이후 네트워크 및 security group을 설정한다. 네트워크, security group 모두 기본값을 사용하자. 아래와 같이 설정하면 Linux SSH 포트 22번이 기본적으로 설정된 Security Group이 생성된다.
스토리지의 경우 프리 티어는 30GB까지 범용 SSD 혹은 마그네틱 스토리지를 사용할 수 있다. 이 인스턴스는 standard 즉 마그네틱을 선택했다.
마지막으로 인스턴스 개수를 선택하고 인스턴스 시작을 눌러주자.
위 작업을 마치고 인스턴스 생성을 기다리면 아래와 같이 잘 작동하는 것을 확인할 수 있다. 이제부터는 해당 인스턴스를 사용할 수 있다.
참고) 용어 정리
- vCPU
EC2는 가상 서버로 가상화 소프트웨어 및 하드웨어를 통해 실행된다. 이때 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다. - Burst 기능
위에서 사용한 t2 인스턴스 유형은 CPU 사용량이 높아지면 CPU 자원을 더 할당받아 성능을 높이다. 이러한 기능을 Burst 기능이라고 부른다. Burst 기능 중에는 CPU 크레딧을 소모한다. 부여되는 CPU 크레딧은 t2 인스턴스 사양에 따라 다르다. General Purpose (SSD) 볼륨도 Burst 기능을 제공한다. 순간적으로 I/O가 몰리면 IOPS를 높여 I/O가 대기하지 않고 원활하게 처리하게 해준다. Burst 동안에는 IO 크레딧을 소모하며 부여되는 IO 크레딧은 스토리지 용량에 따라 다르다.
'BackEnd > AWS' 카테고리의 다른 글
[EC2, Spring] EC2 Spring MVC 서버 배포 (0) | 2023.05.24 |
---|---|
[RDS] MySQL workbench 연결하기 (0) | 2023.05.15 |
[RDS, JDBC] RDS(MySQL)와 JDBC 연결하기 (0) | 2023.05.15 |
[AWS] EBS란? (생성 방법 및 마운트) (0) | 2023.05.02 |
[AWS] Windows에서 EC2 인스턴스 접속하기 (0) | 2023.04.30 |