
AWS 가입부터 활용까지 를 듣고 정리한 내용입니다.
- EC2 인스턴스 이론 정리
- 클라우드 컴퓨팅의 핵심적인 아이디어 : 가상화, 종량제
✔️ 가상머신
✔️ 여러 가지 운영체제가 만들어지는 구조
✔️ 가상머신
✔️ aws 사용하는 입장
회사를 크게 스타트업과 대기업으로 분류해서 aws 사용하는 입장을 보자
(1) 스타트업(회사 시작 단계)
(2) 대기업
✔️ 클라우드 컴퓨팅을 사용하면 좋은 점은?


🔔 전통적인 모델 vs 클라우드 컴퓨팅 모델
(1) 전통적인 모델을 구매해서 컴퓨터를 사용시
- 규칙적이지 않는 불연속적으로 증감한다.
- 전통적인 모델을 사용시 비즈니스적으로 성공하기 힘들다.
(2) 클라우드 컴퓨팅 모델을 사용시
- 빨간색 수요, 파란색이 공급
- 수요가 증가에 따라 공급도 증가하여 빠르게 대응하는 것을 알 수 있다.
- 사용자가 늘어나면 컴퓨터를 만들고, 사용자가 줄어들면 컴퓨터 수를 줄인다.
- 가상화 기계를 쓰기 위해서는 물리적인 컴퓨터위에 운영체제, 가짜 기계를 만드는 것이기 때문에 그만큼 성능 상에서 패널티를 물게 된다.
✔️ 그래서? scalability를 사용해보자!
scalability은 얼마나 많은 컴퓨터에 대한 요구를 수용할 수 있는가?scalability : 규모 가능성, 변화하는 수요에 얼마나 탄력적으로 공급을 변환할 수 있는가
이제, EC2를 이용해서 어떻게 scalability를 사용하는지 두 가지에 대해 공부한다.
scalability 두 가지 전략 : Scale Up, Scale Out
Scale up이다.
컴퓨터가 2개가 필요하다.
컴퓨터A : 사용자가 점차 늘어난다. 웹 서버 설치되어 있다. (공격)
컴퓨터B : 컴퓨터에 A에서 컴퓨터 B로 접속한다. 접속들을 받아가면서 Scale Up한다. (수비)
현재 웹 서버가 필요하다.
AWS MarketPlace : App Store와 같이 다른 사람이 만든 프로그램을 설치하는 것!
웹 서버를 하나 띄우는 작업은 초기에 해야할 일들이 무척 많다.
ex) 초기 작업시 TomCat & Apache를 띄우는데 오랜 시간이 걸린다.
이런 작업을 할 필요 없이 모든 작업을 끝내 놓은 AMI라는 것을 사용하여 서비스 시작도 가능하다.
AWS Console을 통해 바로 MarketPlace를 이용
MarketPlace를 통해 한 번에 WordPress 서버를 띄울 것이다.
WordPress Certified by Bitnami and Automattic 선택
t2.micro(free)를 선택한다.
Software : 해당 이미지를 제공한 업체에서 지불해야할 가격
BitNami에서 설정해둔 보안설정을 그대로 따라 해준다.
키 페어는 기존에 생성한 키를 활용한다.
✔️ 이제 AMI 실행
인스턴스 화면으로 돌아가보면 새로운 AMI가 추가되었고, 초기화 중임을 확인할 수 있다.
퍼블릭 DNS(IPv4)로 접속하면 설치된 본인의 WordPress 웹 화면을 확인할 수 있다.
WordPress 초기화면을 확인한다.
공격 컴퓨터 인스턴스 추가는
EC2 Ubuntu 설치를 참고하며 설치하면 된다.
✔️ Ubuntu Server 20.04 LTS 선택
✔️ 원격 제어 선택
SSH : 원격제어하기 위한 방법
이제 원격 제어로 접근하여 db 설정 등 초기 설정을 할 필요가 없다. 왜? MarketPlace를 이용하여 Bitnami(기존 만들어져 있는) 것을 설치했기 때문이다.
✔️ wordpress 화면 접속
bitnami는 접속이 되지 않는다. (AMI Marketplace는 거의 사용하지 않는다.)
✔️ 사용자 화면에서 접속
ssh -i 비밀번호키 ubuntu@주소
sudo apt-get update : 최신 버전으로 업데이트
sudo apt-get install apache2-utils : apache2-utils를 설치
ab : apache에서 만든 부하 발생
-n : 몇 명이 접속할 것인가?-c : 동시 접속➡️ ab -n 400 -c 1 http://접속하려는웹주소/
| 요청 | 동시접속 | 총 소요시간 | 실패 | 초당처리속도 | 개별처리속도(초) |
|---|---|---|---|---|---|
| 400 | 1 | 24.073 | 0 | 16.62 | 0.060 |
| 400 | 2 | 24.348 | 0 | 16.43 | 0.121 |
| 400 | 10 | 25.014 | 0 | 15.99 | 0.625 |
| 400 | 20 | 25.041 | 0 | 15.97 | 1.252 |
| 400 | 100 | 25.560 | 0 | 15.65 | 6.390 |
(1) 400명 접속, 동시 접속 1명
ms : 1/1000
(2) 400명 접속, 동시 접속 2명
(3) 400명 접속, 동시 접속 10명
(4) 400명 접속, 동시 접속 20명
(5) 400명 접속, 동시 접속 100명
➡️ 동시 접속자 수가 늘어날 수록 서비스의 퀄리티가 점차 안좋아진다.
➡️ 이런 경우, ScaleUp을 사용하면 된다. (사용자 수에 맞추어 서버가 가동된다.)
ip address를 아마존으로부터 받는 방법, 받게 되면 소유하게 된다.
인스턴스를 중지시켰다가 다시 시작하게 되면 주소가 변경된다.
이를 해결하기 위해 Elastic IPs를 사용한다.
이는 유료이다.
Elastic IP를 받은 후, 어떤 인스턴스에 붙이지 않고 나둔다면 한달에 3600원정도 금액이 발생한다.다만? 실행 중인 인스턴스와 연결된 한 개의 Elastic IPs 주소의 경우 무료이다.
✔️ Elastic IPs 추가하고 인스턴스 연결하기
탄력적 IP 주소 할당

탄력적 IP 주소 연결

탄력적 IP 주소에 인스턴스 ID가 연결(추가)된 것을 확인할 수 있다.

해당 인스턴스에서 또한 탄력적 IP 주소가 추가된 것을 확인할 수 있다.

인스턴스 중지된 상태에서도 퍼블릭 IPv4 주소는 이전과 같다.

✏️ 이걸 왜 사용하나면?
Elastic IPs가 추가된 인스턴스는 인스턴스를 중지 후 인스턴스 시작을 할 때 새로운ip가 아닌,기존 ip(이전에 사용하던 ip)를 사용할 수 있다.
✔️ Elastic IPs 삭제
Release Addresses : 삭제