2022.06.08.

AWS 알아보기 Part 4

(EC2 소개 및 실습)

 

 

 

 

 

EC2(Elastic Compute Cloud)

  • 정의

- 안전하고 크기 조정이 가능한 computing power를 cloud에서 제공하는 web service

 

- 개발자가 더 쉽게 web 규모의 cloud computing 작업을 할 수 있도록 설계되어, computing resource에 대한 포괄적인 제어권을 제공함.

 

 

  • 사용 예시

- server를 구축할 때 (ex. game server, web server, application server)

 

- application을 사용하거나 hosting할 때 (ex. DB, ML, bitcoin 채굴, 연구용 program)

 

- 기타 목적 (ex. graphic rendering, game)

 

 

  • 특성

- 초 단위 on-demand price model: on-demand model에서는 price가 초 단위로 결정됨. service 요금을 미리 약정하거나 선입금할 필요가 없음.

 

- 빠른 구축 속도와 확장성: 몇 분이면 전 세계에 instance 수백여대를 구축 가능

 

- 다양한 구성방법 지원: ML, web server, game server, image 처리 등 다양한 용도에 최적화된 server 구성이 가능함. 다양한 과금 model 사용도 가능함.

 

- 여러 AWS service와 연동: auto scaling(EC2의 숫자를 자동으로 조정해줌), ELB(Elastic Load Balancer, 다수의 EC2의 traffic을 분산해줌), CloudWatch(EC2를 monitoring) 등의 service와 연동 가능함.

 

 

  • 구성

- Instance: cloud에서 사용하는 가상 server로 CPU, memory, graphic card 등 연산을 위한 HW를 담당

 

- EBS(Elastic Block Storage): cloud에서 사용하는 가상 hard disk

 

- AMI: EC2 instance를 실행하기 위한 정보를 담고 있는 image

 

- Security Group: 가상의 방화벽

 

 

 

EC2 실습

  • 목표 및 과정

- 목표: EC2 한 대를 provision하여 web server 구성하기

 

- 과정: EC2를 구성하기 위한 AMI 선택 => EC2 유형과 size 선택 => EBS 설정 => Security Group 설정 => EC2 생성 => EC2 접속 후 web server 설치 및 web server 실행 => web browser에서 접속 test

 

 

  • 실습 과정 (1) - Instance 생성

- 'EC2' 검색 후 선택

 

 

- 왼쪽 메뉴에서 '인스턴스' 선택 후 오른쪽 상단의 '인스턴스 시작' 선택

 

 

- '이름 및 태그'에서 '태그 추가' 선택 => '키'에는 'Name'을, '값'에는 'MyWebServer'라고 입력 ('Name'에서 'N'을 꼭 대문자로 해야함)

 

 

- 나중에 web server에 접속할 때 key pair가 반드시 필요함 => '키 페어'에서 '기존 키 페어 선택'을 해도 되고 '새 키 페어 생성'을 해도 됨 => '새 키 페어 생성'을 선택 => 이름을 'MyWebServerKP'로 변경 (다른 이름도 상관없음)

 

 

- 외부(web browser)에서 접속 test를 할 것이기 때문에 Security Group 생성이 필요함 => '네트워크 설정'에서 오른쪽의 '편집' 선택 => '보안 그룹 생성' 선택 => 이름을 'MyWebServerSG'로 변경 (다른 이름도 상관없음) => 'Add security group rule' 선택 => '유형'에서 'HTTP' 선택 (web server는 http protocol로 접속하기 때문임) => '원본'에서 '0.0.0.0/0'과 '::/0' 선택 => FTP를 사용할 때 key pair가 반드시 필요하기 때문에 download 받은 key pair file(pem 형식)은 잘 보관해야 됨

 

 

 

- 나머지는 일단 모두 기본값으로 설정 => 'AMI(Amazon Machine Image)'에서 'Amazon Linux 2 AMI' 선택, 'Instance 유형'에서 't2.micro' 선택, 'Storage 구성'에서 '8', 'gp2' 선택

 

 

- 오른쪽 하단의 '인스턴스 시작' 선택

 

- 조금 기다리면 '인스턴스' 화면에 뜸.

 

 

- web server를 설치할 것이기 때문에 오른쪽 상단의 '연결' 선택 => 그대로 둔 채 '연결' 선택 =>  EC2 connector(web browser에서 직접 EC2 instance로 접속하는 것)로 접속됨

 

 

 

  • 실습 과정 (2) - EC2 connector

- EC2 connector 접속 => 'sudo -s'를 입력하여 권한 획득 => 'yum install httpd -y'를 입력하여 web server를 설치

 

 

- 'service httpd start'를 입력하여 web server를 실행 => 하단의 '퍼블릭 IP' 값을 url 창에 입력 => test page가 생성된 것을 확인

 

 

 

- test page가 허전하니 index.html file을 만들기로 함 (index.html file은 user가 처음으로 접속했을 때 보이는 page임) => 'nano /var/www/html/index.html'을 입력 => 원하는 내용 작성 후 저장을 위해 'Ctrl + X' 입력 => 저장할 것이냐는 물음에 'Y' 입력 => 'Enter' 입력하여 빠져나옴

 

 

- 다시 하단의 '퍼블릭 IP' 값을 url 창에 입력하여 page에 들어가면 내용이 변한 것을 확인할 수 있음.

 

 

 

  • 실습 과정 (3) - EC2 종료

- 인스턴스를 중지시키거나 종료시키지 않으면 돈이 계속 나감 => 왼쪽 메뉴에서 '인스턴스' 선택 후 종료할 인스턴스를 선택 => 마우스 오른쪽 버튼 클릭 후 '인스턴스 중지'나 '인스턴스 종료' 선택 ('인스턴스 중지'를 해도 EBS 요금은 계속 나가기 때문에 사용하지 않을 것이라면 '인스턴스 종료'를 해야 함)

 

 

 

 

 

 

참고: AWS 강의실(https://www.youtube.com/c/AAAWS)

복사했습니다!