컴퓨팅 - EC2

EC2 개요 및 인스턴스 생성

  • EC2란? AWS 클라우드 컴퓨팅 서비스로써,  클라우드 가상서버(Virtual Machine)를 제공한다.
  • 클라우드 가상 서버를 "인스턴스"라고 부름
  • EC2 인스턴스 생성 실습

1. 이름 및 태그 (태그값 설정 시, 인스턴스가 많아질 경우 구분하기 유용)

2. Application 및 OS 이미지 (Amazon Machine Image, AMI 선택)
Lunux / Mac OS / Ubuntu / Windows...

3. 인스턴스 유형 (CPU, 아키텍처, 메모리, 스토리지 유형 선택)

4. 키페어(키페어 생성 후, 추후 접속을 위해 .pem 파일(키파일)을 저장해 둠)

5. 네트워크 설정

6. 스토리지 구성(인스턴스에서 사용할 EBS 볼륨 스토리지 설정, 설정값에 따라 인스턴스가 제거되도, 스토리지는 삭제 안되도록 할 수 있다. EBS 볼륨에는 OS가 설치된다.)

7. 고급 세부 정보(종료 방지, Cloud Watch 활성화 등)

EC2 기능 및 구성

- AWS 콘솔에서 "EC2" 접속 후, 인스턴스 탭으로 이동하여 생성 시 설정한 값들을 확인할 수 있다.

EC2 인스턴스 원격 접속 실습

Linux EC2 인스턴스 접속하기

방법1. SSH 프로토콜을 이용한 접속

- Linux EC2 인스턴스의 경우, SSH 프로토콜을 이용해 원격 접속 및 파일 전송이 가능하다.

- SSH(Secure Shell Protocol)은 보안을 통해 원격으로 접속하기 위한 방식

(SSH 프로토콜 연결을 위해, EC2는 TCP Port 22번을 열어두어야 함)

- 아이디, 패스워드 방식이 아닌 Public Key와 Private Key를 이용해 연결

- Client가 가지고 있는 Private Key(.pem 파일?)을 SSH 프로토콜로 EC2 Linux 인스턴스로 전송하면, EC2는 Public Key와 비교하여, 유효하면 접속을 허용한다.

- 원격 접속 방법 : 터미널 또는 파워쉘 프로그램에서 ssh 명령어 사용하여 접속

```

ssh i ".pem 파일 경로" <개인 아이디>@<EC2 public DNS 또는 IP>

```

 

방법2. AWS EC2 콘솔이 제공하는 Instance Connect 서비스 이용

- Linux EC2 인스턴스의 경우, AWS가 제공하는 Instance Connect 서비스 사용 가능

- 웹 브라우저를 통해 EC2에 편리하게 연결할 수 있도록 제공한다.

- 원격 접속 방법 : EC2 인스턴스 콘솔에서, "연결" 버튼 클릭 후,  "인스턴스에 연결" 내에서 하단 "연결" 버튼을 클릭

Windows EC2 인스턴스 접속하기

방법1. RDP 프로토콜을 이용한 접속

- Windows EC2 인스턴스의 경우, RDP 프로토콜을 이용해 원격 접속 및 파일 전송이 가능하다.

- RDP(Remote Desktop Protocol)은 Windows OS를 원격으로 접속하기 위한 방식

(SSH 프로토콜 연결을 위해, EC2는 TCP Port 3389번을 열어두어야 함)

- 아이디, 패스워드를 이용해 연결

- 원격 접속 방법 : 윈도우의 원격 데스크톱 연결 프로그램 사용

```

EC2 public DNS 또는 IP 입력

EC2 콘솔 연결 화면에서 표시되어 있는 아이디 입력 : Administrator

EC2 콘솔 연결 화면에서 Private Key(.pem) 파일 업로드 시 표시되는 암호 입력 : ...

```

EC2 리눅스 웹서버 생성 실습

```

# EC2 콘솔에서 Instance Connect 기능으로 접속

# ec2 root 계정으로 전환

sudo su

# 웹서버 생성 명령어 수행

# 패키지 업데이트

yum update -y

# 웹서비스 패키지 설치

yum install httpd -y

# 웹서버 시작

service httpd start

# 웹서버 실행 확인

chkconfig httpd on

# 아파치 웹서버 홈 디렉토리 이동

cd /var/www/html

# index.html 파일을 만들어줌

echo " Hello AWS EC2. $(hostname -f)" > index.html

# 브라우저에서 EC2 DNS 주소를 입력하여 테스트

```

EC2 인스턴스 구매옵션

- 온디맨드 인스턴스 : 약정 없이 초당 사용한 만큼 비용 지불

> 사용한 만큼만 비용을 지불

> 처음 60초 이후 초당 과금

> 단기간 동안 예측할 수 없는 워크로드 및 중단되면 안되는 어플리케이션 유용

> 초기 어플리케이션 테스트에 유용함

 

- 스팟 인스턴스 : 사용 안하는 인스턴스를 경매 방식으로 구매하여 사용

> 사용하지 않는 예비 EC2 용량을 경매방식으로 구매하여 사용하는 방식

> 온디맨드 인스턴스보다 최대 90% 저렴

> 경매 조건에 미달하면 인스턴스가 정지 또는 종료되므로, 언제든지 시작 및 종료가 가능한 경우에 사용

> 여러 개의 스팟 인스턴스를 하나의 그룹으로 묶어 스팟 집합(Spot Fleets)으로 구매해서 사용

> 예약 인스턴스(항상 실행 가능) + 스팟인스턴스(짧은 시간 급격하게 증가된 용량이 필요한 경우)의 조합으로 사용

 

- 예약 인스턴스 : 1년 또는 3년 기간을 약정하여 인스턴스를 사용

> 온디맨드에 비해 75% 저렴

> 수요가 꾸준하고 예측가능한 경우에 유용
> 선택 가능한 예약 인스턴스 유형
  - 표준 예약 : 초기 인스턴스 설정을 변경할 수 없음
  - 전환형 예약 : 인스턴스 설정을 중간에 변경할 수 있음
  - 정기 예약 : 지정된 시간,날짜 동안에만 인스턴스 사용할 경우

 

- Saving Plan : 1년 또는 3년 기간의 일정 사용량을 약정하여 시간당 요금으로 인스턴스를 사용

> 기간 동안에 특정 사용량으로 구매

> EC2 뿐만 아니라 Lambda 및 Fargate 서비스도 사용 가능

> 사용량은 시간당 USD 요금으로 측정

> 온디맨드에 비해 최대 66 - 72% 저렴

> 인스턴스 설정을 자유롭게 변경할 수 있는 유연성이 존재함
(인스턴스 패밀리, 인스턴스 사이즈, 리전, OS 관계 없이 적용 및 변경 가능)

 

- 전용 호스트 : 물리적인 전용 서버를 할당 받아 사용하는 방식

> 다른 방식의 경우, 자동으로 AWS가 할당해줌

> CPU 소켓, 코어 등이 표시됨

> 사용자가 인스턴스 배치 방법을 지정할 수 있음

> 소켓당, 코어당 또는 VM 당으로 사용하는 SW 라이선스 사용 가능하여, 라이선스 비용절약 가능

> CPU 코어나 물리적 서버에 할당되는 라이선스를 기존에 보유한 경우 적합

 

- 전용 인스턴스 : 물리적인 전용 서버를 할당 받아 사용하는 방식

> 전용 호스트에서 사용가능한 CPU 코어, 인스턴스 배치 ,사용자 라이선스는 사용 불가

EC2 인스턴스 유형

- 인스턴스를 생성할 때 지정하는 인스턴스 유형에 따라 컴퓨터의 하드웨어가 결정됨

- 인스턴스 유형은 목적에 따라 범용, 컴퓨팅 최적화(CPU 좋음), 스토리지 최적화 등에 맞는 것을 선택

- 좋은 성능일 경우, 네트워크 성능도 좋다.

네트워크 인터페이스

- EC2도 개별 서버이기 때문에, 네트워크 인터페이스를 통해 다른 EC2 서비스들과 통신한다.

- EC2의 네트워크 인터페이스는 가상 네트워크 인터페이스(Elastic Netwowrk Interface, ENI)다.

- IP 주소, MAC 주소 등이 부여

- 인스턴스에 연결되어 네트워크 통신을 하는 역할을 수행

- 인스턴스 생성 시 기본 네트워크 인터페이스가 IP 주소 등의 정보 할당과 함께 생성

- EC2에 추가로 여러 개의 네트워크 인터페이스 연결 가능

- EC2 콘솔 > 인스턴스 > 네트워킹 탭 > EC2와 연결된 네트워크 인터페이스 확인 가능

보안그룹(Security Group)

탄력적 IP(Elastic IP)

EC2 AMI

EC2 배치그룹(Placement Groups)

EC2 라이프 사이클

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기