Cloud_AWS 컴퓨팅 서비스 & EC2 실습

AWS 컴퓨팅 서비스

AWS 컴퓨팅 서비스는 클라우드에서 컴퓨팅 자원을 활용해 다양한 워크로드를 수행할 수 있도록 지원하는 서비스이다.

 

AWS 컴퓨팅 주요 서비스

  • EC2 (Elastic Compute Cloud): 클라우드 환경에서 인스턴스를 제공하는 기본 서비스
  • ECS (Elastic Container Service): EC2 기반 관리형 클러스터에서 실행되는 컨테이너 자원을 배포, 스케줄링, 스케일링 등을 관리하는 서비스
  • Lambda: 서버리스 컴퓨팅 서비스로, 별도의 서버 설정 없이 코드 실행이 가능
  • Lightsail: 애플리케이션까지 포함한 환경을 제공하며, 최소한의 설정만으로 쉽게 사용 가능

* 인스턴스: 클라우드 서비스 업체에서 제공하는 가상 서버. 클라우드 환경에서는 필요할 때 자원을 할당받고 사용 후 반납하는 방식이므로 '인스턴스'라는 용어를 사용.


Amazon EC2 소개 (Elastic Compute Cloud)

EC2는 AWS의 클라우드 환경에서 가상 서버 자원들을 제공하는 서비스로,

원하는 만큼 서버 자원을 탄력적으로 사용할 수 있다.

 

- EC2 인스턴스 유형

EC2 인스턴스는 CPU, 메모리, 스토리지, 네트워크 성능에 따라 다양한 유형이 제공된다.

EC2 인스턴스 유형 구조

 

- EC2 인스턴스 상태

EC2 인스턴스는 총 7가지 상태로 분류된다.

  1. 최초로 인스턴스 시작: 대기 중 → 실행 중 (특별한 이상이 없을 경우)
  2. 실행 중인 인스턴스 중지: 실행 중 → 중지 중 → 중지됨 (일시적 중지 상태)
  3. 중지된 인스턴스 재시작: 중지됨 → 대기 중 → 실행 중
  4. 중지된 인스턴스 종료: 중지됨 → 종료 중 → 종료됨 (인스턴스 영구 삭제)
  5. 실행 중인 인스턴스 종료: 실행 중 → 종료 중 → 종료됨 (인스턴스 영구 삭제)

EC2 인스턴스 상태 주기

  • ''중지됨' 상태는 인스턴스를 유지한 채 일시적으로 중지한 상태이기 때문에 언제든지 다시 구동 가능
  • '종료됨' 상태는 인스턴스를 영구 삭제하기 때문에 다시 사용이 어려움

따라서 잘 구분하여 인스턴스를 중지시키거나 종료시켜야 한다

 

- EC2 인스턴스 템플릿 (AMI)

AMI(Amazon Machine Image)는 EC2 인스턴스 실행 시 사용할 운영 체제소프트웨어가 포함된 템플릿이다.

  • 동일한 설정의 여러 인스턴스를 쉽게 생성 가능
  • 사용자 정의 AMI 생성 가능
  • AWS Marketplace에서 원하는 AMI 사용 가능
  • AWS에서 자체적으로 기본 AMI도 제공
  • AMI 복사를 통해 동일한 서버 환경을 다른 리전에 구축 가능

AMI 복사 및 배포


EC2 스토리지

EC2 인스턴스 환경을 설정한 후, 데이터를 저장할 스토리지를 선택해야 한다.

 

- 인스턴스 스토어

  • EC2 인스턴스와 직접 연결된 임시 저장소
  • 빠른 입출력 성능 제공
  • 인스턴스 종료 또는 중지 시 데이터 손실 발생
  • 임시 데이터 저장에 적합

* 인스턴스를 중지하면 운영체제와 설정은 유지되어 다시 구동 가능하지만, 인스턴스 스토어에 저장된 데이터는

중지해도 손실되므로 주의가 필요

 

- EBS (Elastic Block Store)

  • 네트워크를 통해 EC2와 연결되는 영구 블록 스토리지
  • 인스턴스 종료 후에도 데이터 유지
  • 스냅샷을 생성하여 백업 가능
  • 다른 인스턴스에 연결 가능

* EC2와 함께 사용할 수 있는 스토리지에는 파일 스토리지(EFS), 객체 스토리지(S3)도 포함된다.

인스턴스 스토어(내부 스토리지)와 외부 스토리지 옵션들의 차이


EC2 네트워킹

네트워킹은 클라우드 서버 운영에서 필수적인 요소이다.

 

- Amazon VPC (Virtual Private Cloud)

  • AWS 클라우드 내에서 논리적으로 격리가상 네트워크 환경 제공
  • 사용자가 직접 IP 주소 범위, 서브넷, 라우팅, 방화벽 설정 가능

* 가상 네트워크 환경: 물리적인 네트워크 장비(라우터, 스위치)가 없지만, AWS가 가상으로 이를 제공

* 논리적 격리: 물리적인 서버를 쓰는게 아니고 가상 네트워크 장비를 사용하기에, 소프트웨어적으로 가상 네트워크를 

사용하여 외부 네트워크와 분리하는 방식

 

- ENI (Elastic Network Interface)

ENI는 EC2 인스턴스가 네트워크에 연결되도록 해주는 가상의 네트워크 랜카드이다.

 

컴퓨터에 비유하면:

  • EC2 인스턴스: 컴퓨터(서버)
  • ENI: 컴퓨터에 꽂는 랜카드(NIC)

EC2 인스턴스를 생성하면 기본적으로 ENI도 자동 생성되며,

이 ENI는 기본 VPC 안에서 생성되어 EC2 인스턴스에 자동으로 연결된다.

사용자가 별도로 ENI를 만들 필요는 없고, 필요하면 추가 ENI를 생성하여 EC2 인스턴스에 연결할 수도 있다.

EC2 네트워킹 요소

 

- IP 주소

  • 프라이빗 IP: 내부 네트워크 통신망에서만 통신 가능
  • 퍼블릭 IP: 외부 네트워크와 통신 가능

EC2 보안

AWS는 EC2 인스턴스의 보안을 위해 다양한 기능을 제공한다.

 

- 보안 그룹

  • 가상 방화벽 역할 수행
  • 인바운드 및 아웃바운드 트래픽 제어 가능 (포트번호, IP 범위 설정 등)

- 키 페어

  • EC2 인스턴스 접속 시 필요한 보안 키
  • 퍼블릭 키: EC2 인스턴스에 저장 (쌍을 이루는 프라이빗 키가 있어야 서버에 접속 가능)
  • 프라이빗 키: 사용자 컴퓨터에 저장

EC2 모니터링

EC2의 안정성, 성능 유지, 장애 감지를 위해 모니터링이 필수적이다.

 

- 수동 모니터링

  • 관리자가 EC2 대시보드에서 직접 상태 확인
  • 관리자가 Amazon CloudWatch 서비스 페이지를 통해 상세 지표 확인 

- 자동 모니터링

  • 특정 임곗값 초과 시 경보 설정 가능 (Amazon CloudWatch 서비스에서 임곗값과 경보에 대한 설정 가능)
  • Amazon SNS를 활용해 관리자 이메일로 경보 전송 가능
  • CloudWatch 알람에서 이메일 알림을 설정하면, 사실상 SNS 서비스가 자동으로 생성되고 연동
  • AWS 오토 스케일링 서비스를 통해 자동적으로 서버 규모 증가/축소 가능

CloudWatch 서비스


EC2 인스턴스 구매 옵션

비용과 요구사항을 고려하여 다양한 구매 옵션을 선택할 수 있다.

  • 온디맨드 인스턴스: 사용한 만큼 비용 지불 (초 단위)
  • 서빙 플랜: 1~3년 약정을 통해 비용 절감
  • 예약 인스턴스: 1~3년 특정 인스턴스 유형과 리전을 약정하여 비용 절감
  • 스팟 인스턴스: 미사용 중인 인스턴스를 경매 방식으로 저렴하게 할당받는 방식

정리

  • EC2: 클라우드 환경에서 가상 컴퓨팅 자원을 제공하는 서비스
  • EC2 인스턴스: 가상 서버
  • AMI: 인스턴스 운영 체제 및 소프트웨어를 정의한 템플릿
  • EC2 스토리지: 인스턴스의 데이터 저장소 (인스턴스 스토어, EBS 등)
  • EC2 네트워킹: VPC, ENI, IP 주소
  • EC2 보안: 보안 그룹, 키 페어
  • EC2 모니터링: 인스턴스 상태에 대한 수동/자동 모니터링

EC2 실습

목표 아키텍처

 

실습 단계

  1. AMI를 이용한 EC2 인스턴스 배포
  2. SSH로 EC2 인스턴스에 접속하여 웹 서비스를 설정
  3. EC2 인스턴스에 생성된 웹 서비스에 접속
  4. EC2 인스턴스의 모니터링을 설정 (Cloude Watch 경보 이메일 알림을 설정할 경우 자동으로 SNS 서비스가 연동됨)
  5. 안전을 위하여 실습한 인스턴스 삭제

* 배포:  애플리케이션이나 서비스를 실행 환경에 올려놓는 과정

* EC2 인스턴스에서 배포란? 인스턴스를 생성하고, 설정을 마친 후 실행 가능한 상태로 만드는 것을 의미한다.

 

실습 1단계

인스턴스 배포

실습 2단계

SSH로 EC2 인스턴스 접속하여 웹 서비스 설정


실습 3단계

EC2 인스턴스에 생성된 웹 서비스 접속하기

 

실습 4단계

CloudWatch CPU 50% 이상 사용시 경보 생성

 

생성한 EC2 인스턴스와 연결한 SSH 터미널에서 CPU 과부하 명령어를 통해 CPU를 설정한 임곗값 이상으로 과부화 시키면 설정했던 관리자 메일로 경보 알람 이메일이 옴

 


실습 5단계

실습에 사용했던 인스턴스 종료