아마존 EC2에 대한 더 자세한 정보를 알고 싶다면, AWS 공식 사이트를 참조하시길 바랍니다.
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html
Amazon EC2란 무엇인가요? - Amazon Elastic Compute Cloud
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
1. Amazon EC2(Elastic Compute Cloud)
EC2는 아마존 웹 서비스(AWS)에서 제공하는 클라우드 컴퓨팅 서비스입니다. 클라우드 컴퓨팅은 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공합니다. 즉, EC2를 사용한다는 건 AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것을 의미합니다.
PC방에 가서 요금을 내고 이용하는 것 처럼, AWS에서 독립된 컴퓨터를 임대해주는 서비스라고 생각하시면 됩니다.
EC2에 Elastic(탄력적)이라는 단어가 붙어있는 이유는 다음과 같습니다.
1) 사용한 만큼만 비용을 지불합니다.
2) 비용뿐만 아니라 필요에 따라 성능, 용량을 자유롭게 조절할 수 있습니다.
1.1 EC2를 사용해야 하는 이유
1) 효율성: 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적입니다.
2) 비용 절감: 사용한 만큼만 지불하므로 비용을 절감할 수 있습니다.
EC2는 컴퓨터를 주문하면 바로 1분 안에 생성되고, 삭제 역시 즉시 제거됩니다. 초기 구입비나 세팅비가 전혀 없으며 그냥 사용한 만큼만 비용을 지불하면 됩니다. 딱 필요한 정도만 지불하고 사용할 수 있으니, 효율적으로 비용을 아낄 수 있습니다.
또한, EC2는 복잡한 세팅 없이 인터넷을 통해 자유롭게 접속할 수 있으며, 이미지(AMI) 기능도 사용할 수 있습니다. 컴퓨터를 사용하면 프로그램도 설치하고, 파일도 저장하고, 설정도 변경하게 되는데, 이 OS 상태 그대로 저장하는 기능을 이미지(AMI)라고 합니다.
이러한 이미지(AMI)를 이용해서 새로운 컴퓨터를 만들면 이미지에 저장된 상태와 똑같은 컴퓨터를 빠르게 생성할 수 있습니다. 즉, 컴퓨터를 하나 살 때마다 반복되는 설치 작업을 하지 않게 되는 것입니다.
결과적으로, 아마존 EC2를 사용하면 하드웨어에 선투자 할 필요가 없어, 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다.
EC2를 사용하여 원하는 만큼 가상 서버를 구축하고 보안 및 네트워크를 구성하며, 스토리지 관리를 할 수 있습니다. 또한 요구사항이나 갑작스러운 트래픽 증가 등 변동 사항에 따라 신속하게 규모를 확장하거나 축소할 수 있어 서버 트래픽 예측 필요성 역시 줄어들게 됩니다.
1.2 EC2 특징
1) 컴퓨터 요구사항의 변화에 따라 컴퓨팅 파워를 조정할 수 있습니다.
2) 실제로 사용한 용량 만큼만 지불합니다. (서비스 요금을 미리 약정할 필요도 없으며, 선입금, 하드웨어 비용 역시 필요 없습니다.)
3) OS 선택이 쉽습니다.
4) 몇 분이면 전 세계에 컴퓨터 수백여대를 생성할 수 있습니다. 실제로 미국에 가서 건물을 임대하고, 컴퓨터를 구입하고, 네트워크를 구축하는 비용과 시간에 서비스 신청만 하면 바로 이용 가능합니다.
5) 머신러닝, 웹 서버, 게임 서버, 이미지 처리 등 다양한 용도에 최적화 된 서버를 쉽게 구성 가능합니다.
6) 여러 다른 AWS 서비스와의 유기적인 연동이 가능합니다.
1.3 EC2 구성
* EC2 인스턴스를 생성한다는 것은 AMI(이미지)를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌리는 것을 의미합니다.
일반적인 서버를 보면 보통 컴퓨팅(CPU / RAM), 하드디스크, 랜카드로 나누어집니다.
이를 EC2에 대입해보면, 컴퓨팅은 인스턴스, 하드디스크는 EBS, 랜카드는 ENI라고 생각해볼 수 있습니다.
1) EC2 인스턴스 (Instance)
인스턴스란 단순히 AWS 클라우드에서 사용하는 가상 컴퓨터라고 생각하면 됩니다. 가상 컴퓨터의 CPU, 메모리, 그래픽 카드 등 연산을 위한 하드웨어 부분을 담당합니다.
그리고, Amazon EC2는 각 사용 사례에 맞게 최적화된 다양한 인스턴스 유형을 제공합니다.
게임에서 한정된 스탯으로 힘/민첩/지능 중 어느것을 찍을지 결정하는 것처럼, EC2 인스턴스란 한정된 요금으로 EC2 인스턴스의 유형(직업)을 고르고, 사이즈(스탯 포인트)를 골라 각 인스턴스별로 사용 목적에 따라 최적화를 시킬 수 있습니다.
* 인스턴스 유형이란, 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지의 구성을 제공하는 것을 말합니다. Amazon EC2는 애플리케이션의 종류와 목적에 따라 적합한 리소스 조합을 선택할 수 있는 유연성을 제공하며, 각 사용 사례에 맞게 최적화된 다양한 인스턴스 유형을 경험할 수 있습니다.
인스턴스는 고사양 게임용, 서버용, 대량의 데이터 저장소, 영상용, 로봇 등 컴퓨터 하드웨어 구성에 따라 여러 사용 목적을 정할 수 있습니다. 예를 들어, CPU에 힘을 실어 연산 능력이 좋은 서버를 만든다던지, 메모리 위주에 힘을 실어 저장소로서 기능을 구성한다던지, 그래픽 카드에 힘을 실어 게임을 돌린다던지 등 다양하게 구성이 가능합니다.
게임에 직업이 있듯이, 인스턴스 유형에도 '타입' 이라는 것이 존재합니다. AWS는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있습니다. (ex. t타입, m 타입, inf 타입 등)
위 그림을 참고해보면 범용, 컴퓨팅, 메모리 최적화, 저장 최적화 등 성능, 목적에 따라 여러 타입이 존재한다는 걸 알 수 있습니다. 특히 t와 m은 범용 타입이기 때문에 AWS 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입이므로, 가장 자주 접할 수 있는 타입입니다.
* vCPU? EC2는 가상 서버이므로, CPU 역시 가상에 할당됩니다. 이렇듯 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 합니다.
1) 범용: vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공됩니다.
2) 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높습니다.
3) 메모리 최적화: 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 큽니다.
4) 스토리지 최적화: 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공됩니다.
1-1) 인스턴스 사이즈
인스턴스 크기라 함은 인스턴스의 CPU 개수, 메모리 크기, 성능 등으로 사이즈가 결정된다는 것을 의미합니다. 즉, 인스턴스의 사이즈가 클수록 더 많은 메모리, 더 많은 CPU, 더 많은 네트워크 대역폭을 가질 수 있습니다.
위 표를 보면, 같은 t2 인스턴스 타입에 nano, micro, small 등 크기가 나눠져 있음을 볼 수 있습니다. CPU나 메모리 값을 보면 사이즈가 클수록 점점 늘어나고 성능역시 빨라짐을 알 수 있습니다.
즉, 사이즈가 클수록(아래로 내려갈수록) 점점 성능이 좋아집니다.
1-2) 인스턴스 타입 읽는 방법
1) m은 인스턴스 타입(범용 애플리케이션 서버용)을 의미합니다.
2) 5는 5세대를 의미합니다.
3) a는 amd 기반의 CPU 프로세서를 사용한다는 의미입니다.
4) xlarge는 큰 사이즈를 의미한다고 보면 됩니다.
2) EBS(Elastic Block Storage)
* EBS의 Block이란 Unix / Linux 계열 OS에서 일정한 크기(Block) 단위로 읽고 쓰는 저장 장치를 의미합니다.
위에서 살펴본 인스턴스가 연산에 관한(CPU, 메모리 등) 처리를 한다고 하면, 데이터를 저장하는 역할은 바로 EBS가 한다고 볼 수 있습니다. 즉, EC2에 장착하여 사용할 수 있는 가상 저장 장치로, EBS는 클라우드에서 사용하는 가상 하드디스크(HDD)라고 생각해 볼 수 있습니다.
즉, EBS는 사용이 쉽고 확장 가능한 고성능 블록 스토리지 서비스로서, EC2 용으로 설계되었습니다.
EBS는 EC2에 설치된 OS에서 그냥 일반적인 하드디스크나 SSD 처럼 인식됩니다. 그러므로 원하는 크기로 만들 수 있고, 성능 역시 원하는 수치로 설정할 수 있습니다.
또한 AWS 클라우드의 Amazon EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공하며, 사용자가 삭제하기 전까지는 데이터가 안전하게 유지됩니다. 특히, 단 몇 분 내에 사용량을 많게 또는 적게 확장할 수 있으며, 프로비저닝한 부분에 대해서만 저렴한 비용을 지불할 수 있습니다.
그러므로, EBS는 EC2 인스턴스에서 제공하는 기본 용량보다 더 사용해야 할 때, 운영체제를 중단시키지 않고 용량을 자유롭게 늘리고 싶을 때, 영구적인 데이터 보관이 필요할 때, RAID 등의 고급 기능이 필요한 경우에 쓰입니다.
2-1) EBS의 기본 개념
1) 볼륨(Volume): EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태입니다.
2) 이미지(Image): AMI(Amazon Machine Image)를 줄여 부르는 말로, OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성합니다.
3) 스냅샷(Snapshot): EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장한 파일을 뜻합니다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있습니다. EBS 스냅샷은 EBS 볼륨을 백업하고 이전 내용으로 복원하고 싶을 때, 나만의 AMI로 생성하고 싶을 때, EBS 볼륨을 다른 리전으로 이전하고 싶을 때 사용합니다.
4) IOPS(Input/Output Operation Per Second): 저장 장치의 성능 측정 단위, AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있습니다.
2-2) EBS의 타입
EBS도 역시 인스턴스처럼 각각 타입으로 나누어져 있습니다. EBS는 총 5가지 타입을 제공하는 데 다음과 같습니다.
1) 범용: SSD(General Purpose of GP3)
2) 프로비저닝된 IOPS: SSD(Provisioned IOPS or io2)
3) 쓰루풋 최적화 HHD(Throughput Optimized HEE or st1)
4) 콜드 HDD(SC1)
5)마그네틱(standard)
EBS에 대한 더 자세한 내용이 알고 싶다면, AWS 공식 사이트를 참조하시길 바랍니다.
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AmazonEBS.html
Amazon Elastic Block Store(Amazon EBS) - Amazon Elastic Compute Cloud
Amazon Elastic Block Store(Amazon EBS) Amazon Elastic Block Store(Amazon EBS)는 EC2 인스턴스에 사용할 수 있는 블록 수준 스토리지 볼륨을 제공합니다. EBS 볼륨은 형식이 지정되지 않은 원시 블록 디바이스처럼 동
docs.aws.amazon.com
3) AMI(Amazon Machine Image)
AMI는 EC2 인스턴스를 시작하는 데 필요한 정보가 들어있는 이미지입니다. 즉, EC2의 복사본이라고 생각하시면 됩니다.
인스턴스를 시작할 때 AMI를 지정해야 하며, 동일한 구성의 인스턴스가 여러 개 필요할 때는 한 AMI에서 여러 개의 인스턴스를 시작할 수 있습니다. 또한 서로 다른 구성의 인스턴스가 필요할 대는 다양한 AMI를 이용하여 인스턴스를 시작할 수 있습니다.
AMI는 EC2 인스턴스를 실행하기 위한 모든 정보를 가지고 있으며, EC2(가상 컴퓨터)를 실행하기 위한 CPU 타입이라던가, 저장 공간의 용량, 32비트인지 64비트인지, OS가 무엇인지, 어떤 SW가 설치되었는지 등의 세팅 정보를 저장한 단위입니다.
예를 들어, 리눅스가 깔린 EC2를 사용하고 싶다면, 인스턴스를 생성하고 OS를 일일히 설치해서 구성하는 게 아닌, 리눅스 환경 세팅이 된 리눅스 템플릿 AMI를 EC2에 적용시켜 아주 간편하게 리눅스 컴퓨터를 만들어 낼 수 있습니다.
현재 상태의 EC2 세팅(템플릿)을 복제해서 다른 계정이나, 다른 리전에 전달도 가능합니다. 또한 exe 처럼 프로그램 형태로 AMI 배포가 가능해 다른 사람이 받아 내 EC2 상태 그대로를 사용할 수 있습니다.
* 사용할 수 있는 대표적인 OS에는 Amazon Linux2, CentOS, Red Hat Enterprise Linux, Windows Server, Ubuntu 등이 있습니다.
AMI에 대한 더 자세한 정보가 알고 싶다면, AWS 공식 사이트를 참조하시기 바랍니다.
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AMIs.html
Amazon Machine Image(AMI) - Amazon Elastic Compute Cloud
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
'AWS > AWS 공부' 카테고리의 다른 글
[SQS] SQS, DLQ 정리 (0) | 2023.07.08 |
---|---|
[AWS] Amazon S3 정리 (0) | 2023.06.18 |
[AWS] VPC(Virtual Private Cloud), 서브넷(Subnet) (0) | 2023.06.17 |
[AWS] 리전과 가용영역 (0) | 2023.06.17 |
[CDK] Stack 배포 시 Url 생성 (0) | 2023.03.31 |