2. EC2 Instance 구성요소
이번 글에서는 EC2 Instance를 생성하는 과정에서 필요한 구성요소에 대해서 작성을 하고자 한다.
바로 시작하자.
구성요소1. EBS
EBS는 인스턴스에 사용할 수 있는 블록 수준 스토리지 볼륨을 제공합니다.
하나의 인스턴스 또는 여러개 인스턴스에 동시에 연결할 수 있는 AWS의 외장하드디스크라고 생각하면 된다.
즉, 쉽게 말해 EC2 인스턴스 서버에 데이터를 저장하는 스토리지라고 생각하면 된다.
EBS Volume type
- 범용 SSD 볼륨(gp2 및 gp3) : 다양한 트랙잭션 워크로드를 위한 가격과 성능의 균형을 유지한다. 단일 인스턴스 데이터베이스, 개발 및 데스트 환경에 사용 적합하다.
- 프로비저닝된 IOPS SSD 볼륨(io1 및 io2): 스토리지 성능과 일관성에 민감한 I/O 집약적 워크로드의 요구 사항을 충족되도록 설계 되었다.
- 처리량 최적화 HDD 볼륨(st1): IOPS가 아닌 처리량으로 성능을 정의하는 저비용 마그네틱 스토리지를 제공한다. Amazon EMR, ETL, data warehouse, Log 처리 등 대용량 순차 워크로드에 적합함.
- 콜드 HDD 볼륨(sc1): IOPS가 아닌 처리량으로 성능을 정의하는 저비용 마그네틱 스토리지를 제공한다. 순차적인 대용량 콜드 데이터 워크로드에 적합함. 데이터에 자주 액세스할 필요가 없고 비용을 절약해야 한다면 저렴한 블록 스토리지로 이러한 볼륨이 적합함.
구성요소 2. AMI
Amazon Machine Image(AMI)은 인스턴스(서버)를 시작하기 위해 필요한 정보를 모아둔 이미지라고 생각하면 된다.
AMI는 다음을 포함한다.
- Instance에 사용할 OS는 무엇인가?
- CPU, Memory 크기는 어느정도로 할 것인가?
- 소프트웨어는 어떤게 설치되어있는가?
- 등등이 존재한다. 직접 구축해 봐야한다.
그럼 이런것도 가능하지 않을까?
같은 스펙에 EC2 서버를 여러개 생성해야한다고 할 때, 하나의 인스턴스를 기준으로 AMI를 생성하고 이후에 해당 AMI를 사용하여 여러개의 EC2 서버를 생성하는 것이다. 당연히 가능하다.
AMI 생성 과정이 어떻게 되는가?
1. EBS 스냅샷 찍기(하드디스크 내용 백업)
2. 찍은 스냅샷을 S3 Bucket에 저장
3. 해당 스냅샷을 통해 AMI 생성
4. 해당 AMI를 통해서 인스턴스 생성 또는 다른 리전, 다른 사용자에게 전달 가능
* EBS의 경우 한번 생성하면 다른 곳으로 이전이 불가능하다. 알고 있자.
구성요소3. ENI
기본적으로 ENI는 EC2 인스턴스에 연결할 수 있는 가상 네트워크 카드이다.
인스턴스에 대한 네트워크 연결을 활성화하는 데 사용된다. 둘 이상의 인스턴스에 연결하면 두 개의 서로 다른 서브넷에서 통신할 수 있다.
Security Group이 생성되면서 ENI가 할당된다.

- ENI의 기본 인터페이스는 eth0이다. 인스턴스 생성시 ENI에 연결되며 인스턴스에서 주고 받은 모든 트래픽을 처리하는 데 사용된다.
- ENI에는 EC2 인스턴스와 마찬가지로 내장 방화벽 역할을 하는 보안 그룹이 있다.
Linux 방화벽 대신 이러한 방화벽(iptables)을 사용하여 서브넷 간 트래픽을 관리할 수 있다.
이렇게 중요 구성요소는 끝이 났다.
이제는 직접 구성하는 단계가 필요하다.
함께 해보자!