DevOps/AWS

2. 가상 서버 사용하기 EC2

prden 2021. 8. 24. 09:35

1. AMIs : 이미지화

 1) Create Image : 이미지 생성하는 동안 그 인스턴스 잠깐 서버 멈춘다. 

 2) 이미지를 기반으로 새로운 인스턴스 만들기

 3) 백업할 때 활용

 4) create instance 할 때 선택하는 운영체제도 아마존에서 이미지화해서 제공하는 것이다. 사이드 바 보면 MyAMIs, AWS Marketplace(다른 사람이 만들어놓은 것) 등 있다. 

 4) 도커랑 어떻게 연결할 수 있나?

2. Market Place : wordpress 설치

 1) instance 접근방법 : aws 콘솔에서

 2) application 접근방법 : aws 설명서에 나와있음 (ex) 관리자 페이지 접근 방법 (아이디, 비밀번호)

 3) database 접근 방법  : id, password도 알려줌

 

3.  Scalability -Cloud와 관계, ELB 등으로 병렬연결하는 방법

1) Cloud : 가상화(가상머신-가상 컴퓨터), 종량제 

 가상머신이란 소프트웨어로 만든 기계로 운영체제  위에 까는 것임.

src = https://www.youtube.com/watch?v=CQ_3SawkRJU&list=PLuHgQVnccGMC5AYnBg8ffg5utOLwEj4fZ&index=19

사용한 만큼만 비용을 내기 때문에 효율적이다. 

 

2) scale - up :

웹사이트의 접속자가 많아질 때 더 좋은 컴퓨터로 업그레이드하는 것

인스턴스 만들어서 공격 , 방어해보기 

 

3) 스트레스 테스트 :

attack 서버랑 webapplication서버(여기서는 wordpress깔아서 사용) 이용해서 스트레스 테스트할 수 있다.

ex) apache - util에서 request 수 과다하게 보내거나 동접자수 늘리기 등 가능 (총 소요시간, 초당 처리속도, 개별처리속도 등 확인 가능)

https://www.youtube.com/watch?v=RYGAYJQf5G0&list=PLuHgQVnccGMC5AYnBg8ffg5utOLwEj4fZ&index=22

scale up 하는 방법은 인스턴스를 이미지화해서 더 좋은 인스턴스(좋은 컴퓨터)로 업그레이드 하면 된다. 그리고 고정 ip 다시 업그레이드한 쪽으로 붙이면 된다. 

*elastic ip : 고정 ip 받는 방법(유료임)

3) scale - out :

여러 대의 컴퓨터로 요청처리하는 것 (scale up을 아무리 해도 규모가 커지면 한계에 도달한다) 그러나 처음에는 서비스할 때 scale up으로 시작해야 한다. 

#1. scale out하는 방식 

https://www.youtube.com/watch?v=tcYH0Vkhy24&list=PLuHgQVnccGMC5AYnBg8ffg5utOLwEj4fZ&index=26

 

#2. scale out하는 방식 

https://www.youtube.com/watch?v=tcYH0Vkhy24&list=PLuHgQVnccGMC5AYnBg8ffg5utOLwEj4fZ&index=26

 

#3. scale out하는 방식(DNS 서버 설정해서 웹서버도 부하 분산시키게 하는 방식)

https://www.youtube.com/watch?v=tcYH0Vkhy24&list=PLuHgQVnccGMC5AYnBg8ffg5utOLwEj4fZ&index=26

 

#3. scale out하는 방식(로드밸런서 사용), 여기서는 로드밸런서가 ip 가지고 있다.

https://www.youtube.com/watch?v=tcYH0Vkhy24&list=PLuHgQVnccGMC5AYnBg8ffg5utOLwEj4fZ&index=26

 

4) ELB : 로드밸런싱

  • 로드밸런서 포트(80)가 따로있고 거길로 들어간다음 웹서버의 어떤 포트로 갈 것인지 웹서버의 포트가 InstancePort(80)이다. Port는 다르게 설정 가능 
  • 로드밸런서 Https를 추가해도 instanceprotocol은 http사용해도 된다. 
  • configure Health Check : Instance 컴퓨터가 살아있는지 죽어있는지 정기적으로 확인해서 죽었으면 그곳으로 보내지 않음
  • 인스턴스 만들어서 로드밸러서에 등록 
  • 하나는 웹서버 인스턴스, 하나는 부하 발생 위한 인스턴스 -> 웹서버 인스턴스 1개 이상 만들어서 ELB로드밸런서에 등록 
  • 사용자가 접근하는 것은 ELB에 접속하는 것이고 ELB가 각각 웹서버에 분산시키고 그에 따라 나온 결과 ELB를 통해 내보내 줌
  • 나중에 도메인을 구입해서 ELB에 붙이면 된다.

- scale out 할 때 DB 이렇게 설정해줘야 한다. 

 

5) Auto Scaling

사용량 많아질 때 자동으로 Instance 생성하고 그러다가 사용량 줄어들면 자동으로 Instance 삭제

  • 이미지를 auto scaling 화 해서 붙여야 한다. 그러기 위해서
  • Luanch Configuration 하고(여기서 auto scaling 위한 이미지 선택해야 한다.)
  •  로드 밸런서에 자동으로 인스턴스가 붙는다.
  • cloud watch에서 알람 설정
  • auto scaling group 만들어야 한다.