본문 바로가기
클라우드/AWS

[AWS] 01. AWS 시작, EC2란?

by sangyeon 2022. 2. 7.
728x90

1. EC2란 무엇인가?

EC2란, Elastic Compute Cloud의 약자로 

 

Amazon Elastic Compute Cloud(EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스이다. 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계 되었다.

Amazon EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있다. 컴퓨팅 리소스에 대한 포괄적인 제어권을 제공하며, Amazon의 검증된 컴퓨팅 인프라에서 실행할 수 있다.

Amazon EC2는 새로운 서버 인스턴스를 획득하고 부팅하는 데 필요한 시간을 단 몇 분으로 단축하므로 컴퓨팅 요구사항의 변화에 따라 신속하게 용량을 확장하거나 축소할 수 있습니다. 또한 실제 사용한 만큼만 요금을 지불하면 되므로 컴퓨팅 비용이 절약된다.

간단하게 이야기하면, 클라우드 상의 컴퓨팅 파워(리소스)를 빌려서 쓴만큼 가격을 지불하여 사용하는 것을 뜻한다.

ex) 갑자기 클라이언트가 몰릴 때, 신속하게 컴퓨터 리소스를 탄력적으로 증가시켜 대응할 수 있다.

 

2. EC2의 가격 정책

 

 1. On-Demand : 실행하는 인스턴스에 따라 시간 또는 초당 컴퓨팅 파워로 측정된 가격을 지불하는 방식.

      - 약정은 필요 없음(쓰는 만큼만 나옴)

      - 장기적인 수요 예측이 힘들거나 유연하게 EC2를 사용하고 싶을 때 사용

      - 한 번 시험삼아 테스트로 써보고 싶을 때 사용

 

  2. Spot Instance : 경매 형식으로 시장에 남는 인스턴스를 저렴하게 구매해서 사용하는 방식.

 

     - 최대 90% 저렴

     - 언제 다시 내주어야 할지 모름

     - 시작 종료가 자유롭거나 추가적인 컴퓨팅 파워가 필요한 경우

 

  3. Reserved Instance(예약 인스턴스) : 미리 일정 기간(1~3년) 약정해서 사용하는 방식.

   

     - On-Demand에 비해 최대 75% 정도 저렴.

     - 수요 예측이 확실할 때 사용

     - 총 비용 절감을 위해 어느정도 기간의 약정이 가능한 사용자에게 적합.

 

  4. Dedicated(전용 호스트) : 실제 물리적인 서버를 임대하는 방식.

   

     - 라이센스 이슈 (윈도우 서버 등) : 윈도우 서버의 경우 물리적인 서버 하나당 라이센스가 하나인데, AWS의 경우 성         능이 엄청 좋은 서버 하나를 쪼개 가상화 기술을 사용하기 때문에 라이센스 이슈가 있다. 그렇기 때문에 레거시 장         비를 구축하여 사용한다.

 

 

3. EC2의 타입 종류

 

 

4. EC2 생성 및 웹 서버 만들기

1. 가상 머신 시작 EC2 사용
2. 기본 Amazon Linux AMI 선택
3. EC2 타입 - t2.micro 선택 (가장 저렴)
4. 인스턴스 세부 설정(네트워크는 디폴트로 세팅)

- 네트워크의 경우 이후에 더 자세하게 다룰 예정.

 

5. 종료 방식 설정 후 다음 버튼
6. 스토리지 선택에서 크기는 8G, 볼륨 유형은 가장 저렴한 마그네틱을 선택하고 다음
7. 태그 설정
8. Security Group - 방화벽 설정 모든 트래픽에서 접근 가능하도록 모두 열어놓음
9. 마그네틱을 인스턴스의 볼륨으로 선택
10. 인스턴스 시작 전 최종 확인
11. 키 페어 생성 및 다운로드
12. 인스턴스 정상 기동 확인

 

이후에 발급받은 private key를 사용하여 원격접속 프로그램으로 접속을 할 경우 아래와 같이 진행한다.

 

13. 다운로드 받은 키 파일 형식을 .ppk로 변경 후 Putty Gen에서 Load 하여 Private key로 저장
14. Public IP 입력
15. Data에서 로그인 유저명을 ec2-user로 입력(default임)
16. Auth > Private key file을 아까 다운 받았던 lecture-test.ppk를 선택
17. 접속 화면

 

이후에 sudo 권한을 통한 httpd 설치 후 간단한 웹 서버 페이지 호출을 해보면,,

 

[ec2-user@ip-172-31-7-237 ~]$ sudo -s   
[root@ip-172-31-7-237 ec2-user]# yum install httpd -y

...(중략)

Installed:
  httpd.x86_64 0:2.4.52-1.amzn2

Dependency Installed:
  apr.x86_64 0:1.7.0-9.amzn2                apr-util.x86_64 0:1.6.1-5.amzn2.0.2
  apr-util-bdb.x86_64 0:1.6.1-5.amzn2.0.2   generic-logos-httpd.noarch 0:18.0.0-4.amzn2
  httpd-filesystem.noarch 0:2.4.52-1.amzn2  httpd-tools.x86_64 0:2.4.52-1.amzn2
  mailcap.noarch 0:2.1.41-2.amzn2           mod_http2.x86_64 0:1.15.19-1.amzn2.0.1

Complete!


[root@ip-172-31-7-237 ec2-user]# service httpd start
Redirecting to /bin/systemctl start httpd.service


# 인스턴스가 죽었다 살아나도 아파치서버가 알아서 다시 올라가도록 서비스로 등록한다.
[root@ip-172-31-7-237 ec2-user]# chkconfig httpd on
Note: Forwarding request to 'systemctl enable httpd.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.


이후에 /var/www/html 아래에 간단한 index.html 파일을 만들어 호출해본다.

index.html 내용 아래 참고

================================

[root@ip-172-31-38-189 html]# cat index.html
<html><h2>hello world!</h2></html>

================================

이후 브라우저에서 웹 페이지 호출!!

 

 

이상.. AWS 기본 개념 및 EC2를 만들어서 실행해보았다..

728x90