Amazon EC2 : 가상 서버 서비스

yedi·2024년 7월 18일
post-thumbnail

Amazon EC2 : 가상 서버 서비스

| 정의

  • Amazon EC2 (Amazon Elastic Compute Cloud) 는 짧은 시간에 실행 환경을 구축할 수 있는 가상 서버
  • 컴퓨터 용량을 제공하는 서비스
  • 탄력적이라는 의미의 'Elastic'은 사용한 만큼만 돈을 내고 컴퓨팅 자원의 성능과 용량을 자유롭게 조절할 수 있다는 뜻
  • Amazon EC2에서 사용자는 손쉽게 컴퓨팅 자원을 빌리고, 사용한 만큼만 비용을 지불
  • 가상의 서버 컴퓨터를 프로비저닝 (provisioning) 하고 실행할 수 있게 하는 것으로, 프로비저닝이란 필요할 때 바로 사용할 수 있도록 인프라 구성 및 관리 작업을 자동화하는 것
  • 임대 서버는 이미 만들어진 서버 기계나 서버 기능을 빌리는 것이지만, 클라우드의 경우에는 빌린 도구를 사용하여 자신의 서버를 만드는 것
    (클라우드는 하드웨어의 구성과 OS의 조합을 탄력적으로 선택할 수 있고 구축이 쉬움)


| 서버 구축 과정

서버 구축 필요 -> [ AWS 회원 가입 -> EC2 인스턴스 생성 -> 웹 애플리케이션 배포 ] -> 서버 운영

  • EC2 인스턴스 (EC2 instance) = Amazon EC2로 만든 서버 객체
  • Amazon EC2는 다양한 사양(CPU, 메모리, 스토리지 등)의 인스턴스 유형과 다양한 운영체제(윈도우, 맥OS, 리눅스 등)를 지원
  • 사용자는 자신의 필요에 맞게 서버 세팅 가능


| 서버의 용도

EC2 인스턴스를 구성할때 어떤 서버로 쓸 것인지 용도에 따라 서버에 설치할 운영체제도 달라진다.
대표적인 서버의 용도를 알아보자.

종류 설명
웹 서버 클라이언트로부터 HTTP 요청을 받아 정적인 웹 페이지를 제공하며 정적인 웹 페이지를 제공하는 서버
( HTML, CSS, Java Script, 이미지 )
API 서버 클라이언트로부터 API 요청을 받아 정적인 웹 페이지를 제공하며 JSON 또는 XML 형식을 이용
프록시 서버 클라이언트와 서버 사이에서 중계 역할을 수행하며 통신 중계, 보안, 로드 밸런싱, 캐싱등 이용
FTP 서버 파일 업로드 및 다운로드 서비스 제공


| 주요 기능

각 기능에 대해서 알아보자.

종류 설명
인스턴스 AWS 클라우드에 생성한 가상 서버
‘실체’라는 의미이며 실제 가동되고 있는 가상화 컴퓨터
AMI
(Amazon Machine Images)
소프트웨어 구성을 기록한 템플릿
인스턴스(가상 서버)를 생성하기 위한 금형과 같은 것으로 금형을 한 번 만들어 두면 얼마든지 같은 설정의 서버를 생성 가능
OS만 설치된 간단한 유형부터 소프트웨어도 설정된 유형까지 다양한 AMI가 존재
키 페어 인스턴스에 SSH 접속할 때 인증을 위해 사용하는 키
(SSH는 서버에 설치된 소프트웨어를 조작할 때 사용하는 방식)
EBS
(Elastic Block Store)
AWS 클라우드에서 사용할 수 있는 스토리지
영구적인 블록 스토리지 볼륨
(EBS : 데이터를 블록 단위로 저장 <-> Amazon S3 : 오브젝트 스토리지 방식)
(HHD : 저비용 <-> SSD : 고성능)
보안 그룹 가상 방화벽으로, 1개 이상의 인스턴스 트래픽을 제한
Elastic IP 정적(고정) IPv4 주소
인스턴스가 아닌 AWS 계정 단위로 부여


| 인스턴스

인스턴스의 설정 항목표기 방법에 대해서 알아보자.

1. 설정 항목

종류 설명
AMI EC2 인스턴스의 가상 이미지이며 소프트웨어 구성을 작성한 템플릿
인스턴스 유형 EC2 인스턴스의 장비 사양이며 CPU, 메모리, 장비 유형을 결정
리전(Region) 서버를 설치할 지역
네트워크 EC2 인스턴스를 배치할 네트워크
서브넷 설치할 네트워크의 범위
IAM 역할 인스턴스의 접속 권한 정책 설정
스토리지의 용량과 종류 서버 장비의 스토리지, S3와 같은 외부 스토리지 선택 못함
태그(EC2 인스턴스의 레이블) 인스턴스에 임의의 태그 부여 가능
보안 그룹 프로토콜로 포트 혹은 IP 주소, 아니면 양쪽 모두 필터링 설정

2. 유형 표기

인스턴스 표기는 유형과 크기를 조합하여 사용한다.

인스턴스 유형.인스턴스 크기

위의 표기 방식으로 t2.micro 와 같이 사용한다.
t2의 크기로는 nano, micro, small, medium, large, xlarge, 2xlarge, 4xlarge 8종류가 있고 인스턴스의 유형으로는 아래와 같다.

용도 인스턴스 유형
범용 T2, T3. M5, M4 등
컴퓨팅 최적화 C5, C4 등
메모리 최적화 Xle, X1, R4 등
가속화된 컴퓨팅 최적화 P3, P2, F3, F1 등
스토리지 최적화 H1, I3, D2 등


| ELB(Elastic Load Balancing) : 트래픽을 분배하는 분산 장치

ELB란 AWS가 제공하는 로드 벨런서
로드 밸런스란 서버에 집중되는 접속(트래픽)을 서버 여러 대나 네트워크에 분배하는 방식

종류 설명
ALB
(Application Load Balancer)
- HTTP 및 HTTPS에 가장 적합한 로드 벨런서애플리케이션 계층(구체적인 통신을 제공하는 계층)에서 동작
- 분배대상으로 정적 IP 주소를 설정하고 그 IP를 가진 호스트(기기)로 전송 불가능
- 지원 프로토콜 : HTTP, HTTPS
NLB
(Network Load Balancer)
- 전송 계층(전송된 데이터의 제어를 담당하는 계층)에서 동작
- 분배대상으로 정적 IP 주소를 설정할 수 있고 서버에 접속한 클라이언트의 IP 주소를 그대로 서버에 전송하도록 설정 가능
- 지원 프로토콜 : TCP, TLS
CLB
(Classic Load Balancer)
- 오래된 유형의 로드 벨런서
- 지원하는 프로토콜이 많지만 앞으로 구축할 시스템에는 사용하지 않는 것 권장
- 지원 프로토콜 : TCP, SSL/TLS, HTTP, HTTPS


| 스냅샷(snapshot)

디스크(Disk)
운영체제, 응용 프로그램 및 디지털 정보를 저장하고 검색하는 데 사용되는 저장장치

특정 시점의 서버 디스크 상태를 보존하는 기능
특정 시점의 서버 디스크 상태를 통째로 보존하는 파일이나 폴더 등의 집합
통째로 보존하기 때문에 데이터나 소프트웨어 뿐만 아니라 OS와 설정 정보 모두 포함

최초에는 통째로 보존하지만 두 번째 이후는 차분(증분)만 보존
증분 백업이란, 선택된 폴더의 전체 백업 이후, 변경되거나 추가된 데이터만 선택적으로 백업하는 방식

소프트웨어나 OS 갱신 작업 등을 할 때 문제가 발생하면 바로 되돌릴 수 있도록 백업하거나, 개인이 AWS에서 AMI를 만들기 위해 사용

스냅샷의 보존 장소는 Amazon S3이지만 스냅샷의 파일은 사용자가 자유롭게 다운할 수 없음
사용자가 S3를 사용할 때의 영역과는 다른 영역으로, 볼 수 없는 장소에 보존되며 S3 요금은 발생하지 않음



| 오토 스케일링(Auto Scaling) : 수요에 맞춰 EC2 대수를 증감

오토 스케일링이란 서버의 엑세스 상태에 따라 서버 대수를 늘리거나 줄이는 기능
EC2 외의 서비스를 지원하는 오토 스케일도 존재
AWS는 EC2 Auto Scaling을 단독으로 사용할 뿐만 아니라 CloudWatch에서 서버의 부하 정보(CPU 부하, 네트워크 통신량 등) 데이터를 참고하여 스케일링에 참고 가능

오토 스케일링을 시작하려면 ‘Auto Scaling 그룹’(인스턴스의 집합)을 생성하고 그룹에 인서턴스(서버)의 최소 대수와 최대 대수를 설정 가능 -> 범위에 맞게 인스턴스 증감



참고

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=274143194

0개의 댓글