본문 바로가기
클라우드/클라우드컴퓨팅 수업

AWS EC2(1)

by dustnn 2024. 10. 8.
  • Cloud Infrastructure
  • Cloud Platforms(SaaS, PaaS, IaaS)
  • Compute Services(AWS EC2)
  • Cloud Storage(AWS S3)
  • Cloud Database
  • Virtualization(클라우드컴퓨팅의 기본 원리)
  • Security, Privacy(보안 기능)
  • Reliability, Availability(데이터센터 안전 유지 기능)
  • DevOps, MLOps(빠르게 클라우드 전달하는 방법)
  • Cloud-based AI(머신러닝 파이프라인 실행 방법)
  • Edge Computing(클라우드컴퓨팅 이외에 등장하는 패러다임)

IaaS의 일종인 AWS(Amazon Web Service)는 사용자의 니즈에 맞는 클라우드 서비스를 제공하고 사용자는 필요한 서비스를 조합하여 사용할 수 있다.

 

Amazon이 제공하는 서비스들

다음 표에서 볼 수 있듯 AWS는 다른 서비스보다 비중은 한참 적게 차지하지만 아마존의 실제 이윤은 AWS로부터 오는 게 대부분이라는 사실을 알 수 있다.

 

AWS는 클라우드 서비스의 시초이자 시장의 1/3을 차지하기 때문에 중요하고 클라우드 컴퓨팅 수업도 AWS를 위주로 진행될 것이라고 한다..

주요 서비스로는

  • EC2(Elastic Compute Cloud): Infrastructure service for virtual servers
  • S3(Simple Storage Service): Storage service for web objects
  • EBS(Elastic Block Store): Storage service for virtual storage volumes
  • ELB(Elastic Load Balancing): Service for virtual load balancers
  • Auto Scaling: Service for scaling EC2 capacities

각 지역 안에서도 많은 availability zone이 존재한다.

예컨대 ap-southeast-2a 에서 ap는 asia pacific 지역을 뜻하는 것이고 southeast는 그 속의 availability zone을 말한다.

이렇게 여러 지역 독립적으로 운영되고 있어 한 availability zone이 실패하면 다른 zone 사용이 가능하다. 하지만 S3는 유일하게 클라우드 안에서 통용된다.

 

 

EC2는 가상 서버로, 가장 핵심적인 서비스다.

시간 단위로 서비스를 대여하는 것이므로 안 쓸 때는 꺼두어야 한다!! EC2는 AMI와 인스턴스 종류라는 요소를 가진다.

- AMI(Amazon Machine Image)는 EC2 인스턴스를 실행하기 위해 필요한 정보를 모아놓은 단위로, OS, default software, configuration, virtualization type가 있다.

- 인스턴스란 가상의 컴퓨팅 환경으로, 상상 속 컴퓨터 한 대라고 생각하면 된다.

<EC2 Instance Types>

인스턴스는 다음과 같이 c5d.xlarge 와 같은 이름 형식을 지닌다.

c는 prefix(인스턴스 패밀리), 5는 세대, d는 suffix(인스턴스 크기)를 뜻한다.

인스턴스 정보 예시

  • prefix(인스턴스 패밀리)

=> 용도에 따라 분류

- t#: the cheapest one, general purpose

- c#: compute optimized

- m#, r#: memory optimized(많은 메모리 용량이 필요할 때)

- p#, f#: accelerated computing

- h#, i#, d#: storage optimized(더 많은 storage 용량이나 더 질높은 storage 기능이 필요할 때)

#에는 숫자가 오고 숫자가 클수록 최신이다.

  • suffix(series)

=> 어떤 속성인지에 따라 분류(ISA가 다름)

- no suffix: Intel Xeon series

- -a: AMD EPYC series(cheaper than Intel Xeon)

- -g: ARM Neoverse series(cheapest one, but it's AArch64, not AMD64) => 모바일 기기(스마트폰 등)에서 주로 사용

- -d: comes with NVMe storage

 

<EC2 Pricing>

  • On-demand

: 분단위로 지불, 고정된 가격, 가장 많이 사용

  • Spot instance

: 분단위로 지불하지만 server의 수요에 따라 가격 측정(server가 바쁠수록 비쌈)

  • Reserved

: 하나의 virtual machine 예약해두고 사용

: 연단위로 지불

: no upfront(12개월 할부), partial upfront(몇 부분만 선불), all upfront(선불제)

<EC2 Security>

: 방화벽 설치해둠 => instance에 접근 불가가 디폴트값

: 포트가 개방되어야 ssh에 접속할 수 있음(ssh에 해당하는 포트 번호: 22)

 

 

이름 입력한 후 애플리케이션 및 OS 이미지를 ubuntu로 설정한 다음

 

AMI 가장 위에꺼로 선택하고

 

인스턴스 유형은 프리티어 가능한 t2.micro 선택해주고 키페어는 필요 없다.

 

 

이렇게 성공 메시지가 뜨면 인스턴스가 시작된 것이다.

이제 연결을 해주면 다음과 같이 뜨는데, 연결이 됐단 뜻이다.

 

 

하지만 이때 연결이 안 될 경우도 있는데, 아마 포트번호를 명시하지 않아서일 것이다.

 

 

다음과 같이 인바운드 규칙에서 포트 범위를 22로 특정지어야 ssh 인스턴스에 연결할 수 있다.

 

다 사용한 다음에는 꼭 종료를 해줘야 비용이 발생하지 않는다.

<Elastic IP>

EC2 인스턴스는 동적 IP주소를 할당받지만 AWS 계정을 생성하면 static IP주소를 할당받는다.

위의 인스턴스 ID가 계속 다른 것은 내가 AWS 계정을 생성한 것이 아니라 IAM user여서 그런 것인듯.

'클라우드 > 클라우드컴퓨팅 수업' 카테고리의 다른 글

클라우드컴퓨팅이란  (3) 2024.10.04