본문 바로가기

Cloud

4장] 서버 서비스 Amazon EC2

Amazon Elastic Compute Cloud(Amazon EC2)
: 컴퓨팅 용량을 제공하는 서비스로 서버에 필요한 세트를 클라우드에서 빌릴 수 있다.

❗EC2는 매니지드 서비스가 아니므로, 서버 및 네트워크 운영은 AWS가 담당하지만 OS를 포함하여 필요한 소프트웨어는 사용자가 직접 설치하고 운영해야 한다.

- 스케일 아웃(동일 서벗를 여러 개 늘려서 수평으로 확장), 스케일 다운(기존 시스템보다 작은 용량의 시스템으로)

인스턴스 가상 서버
AMI 가상 이미지로 소프트웨어 구성을 작성한 템플릿
키 페어 인스턴스에 접속할 때 인증을 위한 키
EBS 인스턴스 스토리지
보안 그룹 가상 방화벽
Elastic IP 정적(고정) IP주소

EC2 운영

- 물리적인 작업 : 서버 설치, 하드웨어 및 주변 환경 구축
- - 클라우드 환경 X : 현지에 가서 직접 케이블을 연결하여 작업
- - 클라우드 환경 O : 관리 콘솔에서 작업

- 소프트웨어적인 작업 : 서버 OS에 로그인하여 작업
- - SSH를 이용해 원격으로 로그인하여 작업

SSH는 서버를 원격에서 작업하기 위한 프로토콜
➕EC2 인스턴스에 사설 IP주소를 부여하는데 리전별로 하나씩 존재하는 기본 VPC에 이미 NAT이 설정되어있고 이 NAT을 통해 EC2 인스턴스의 사실 IP주소를 공인 IP주소로 변환한다.

인스턴스 유형과 크기

범용 일반 T2, T3, M5, M4
컴퓨팅 최적화 연산 능력 C5, C4
메모리 최적화 메모리 엑세스 속도 X1e, X1
대용량 메모리 탑재 R4
가속화된 컴퓨팅 최적화 GPU P3, P2, G3, F1
스토리지 최적화 스토리지 최적화 H1, I3, D2
nano micro small medium large xlarge 2xlarge 4xlarge

EBS
: 영구적인 블록 스토리지 볼륨

🧐블록 스토리지 볼륨 vs 오브젝트 스토리지
블록 스토리지 볼륨 : 데이터를 바이트 블록 단위로 디스크에 저장 ex. EBS
오브젝트 스토리지 : 데이터를 오브젝트 단위로 저장 ex. S3

- 고성능 -> SSD
- 저비용 -> HDD

SSH를 사용한 접속과 키 페어

서버 성능을 올리거나 내리거나 백업하는 등 서버의 전반적인 작업 -> 관리 콘솔
서버에 설치한 소프트웨어를 조작 -> 원격 접속으로 조작

서버에서 SSH를 사용하기 위한 프로그램(데몬)을 기동하고 클라이언트에는 조작하기 위한 소프트웨어(ex. Putty, Tera Term)을 설치해야 한다.

ELB

- ALB(Application Load Balancer)
OSI 모델의 application layer에서 동작, HTTP(S)에 가장 적합하다.
요청되는 명령어의 내용을 보고 판단하기 때문에 URL 디렉터리 단위로 분배하는 것이 가능하다.
인스턴스와 로드 밸런서 사이의 암호화가 가능하고 분배 대상으로 정적 IP 주소를 설정하고 그 IP를 가진 호스트로 전송할 수 없다.

- NLB(Network Load Balancer)
OSI 모델의 transport layer에서 동작, TCP, TLS 프로토콜을 지원한다.
패킷밖에 볼 수 없기 때문에 ALB만큼 상세하게 분배할 수 없지만 분배 대상의 정적 IP주소를 설정할 수 있고 서버에 접속한 클라이언트의 IP 주소를 그대로 서버에 전송할 수 있다.

- CLB(Classic Load Balancer)
지원하는 프로토콜은 많으나, 오래된 유형으로 요즘은 많이 쓰지 않는 추세이다.

스냅샷
: 어떤 시점의 서버 디스크 상태를 통째로 보존한 파일이나 폴더 등의 집합
- Amazon DLM(데이터 수명 주기 관리자)를 사용하면 스냅샷 생선, 삭제를 자동화할 수 있다-> 서버 망가졌을 때 대응 가능
- AMI 작성, EBS 볼륨 생성할 때 사용한다.

Auto Sacling
: 서버 엑세스 상태에 따라 서버 대수를 늘리거나 줄이는 기능