記錄

생활코딩_AWS) Scale Up 본문

Web/AWS

생활코딩_AWS) Scale Up

surhommejk 2018. 8. 23. 11:41

이번 강의에서는 서버 컴퓨터의 확장성에 대해서 배웠다. 확장성이 왜 필요하고 어떻게 하는지에 대해서 배웠다.


확장성이 필요한 이유는 서버 컴퓨터가 감당해야 할 트래픽의 크기가 일정하지 않고 변화한다는 것이 근본적인 이유다. 증가하는 트래픽을 감당하기 위해서는 서버 컴퓨터의 성능을 높혀주어야 하기 때문이다. 또, 여기서 한 걸음 더 나아가자면 줄어드는 트래픽에 대응하기 위해서도 탄력적인 서버 성능의 변화가 필요하다. 트래픽보다 고 성능의 서버를 유지하면 서버 유지 비용이 많이 들기 때문이다. 아래 표는 수업에서 나온 수업 자료인데 이런 부분을 선 그래프로 잘 나타내고 있다.

Scale Up, Scale Out 을 통한 탄력적인 서버 성능 관리


트래픽과 성능간의 격차가 좁을 수록 비용관리 측면에서 가장 효율적인 서버 운영이라고 할 수 있다. 우측의 클라우드 컴퓨팅처럼 트래픽과 서버 성능을 나타내는 그래프의 격차가 좁다는 것이 곧 서버를 비용측면에서 가장 효율적으로 운영하고 있다는 뜻이다.

이것이 가능한 이유는 물리적인 컴퓨터를 소프트웨어 기술을 통해 나눌 수 있기 때문이다. 아래 사진 역시 수업 자료에서 나온 표로써 성능의 효율적인 제공을 위해 컴퓨터를 어떻게 합치거나 나누는지를 보여준다

강력한 컴퓨터 = > 물리적으로 여러대의 컴퓨터를 하나의 컴퓨터로 엮어주는 기술을 통해 탄생

저렴한 컴퓨터 = > 물리적으로 한 대의 컴퓨터를 쪼개서 할당


강의에서는 Scale-Up을 실습하기 위해서 스트레스 테스트용 프로그램을 설치한다. 접속자 수를 늘려감에 따라 점점 접속 되는 속도가 떨어지기 시작한다. 여기서 말하는 접속 되는 속도란 웹브라우저에서 사이트에 접속시 첫 페이지 로드까지 걸리는 시간을 의미한다.

챙겨갈 포인트는 인스턴스를 stop 했다가 다시 start 하게 되면 ip가 바뀐다는 사실이다. aws에서 인스턴스가 stop되면 ip를 회수해 갔다가 재시작시 새로운 ip를 부여하게 된다. 그래서 동일한 ip를 유지하기 위해서 Elastic IP를 이용해 고정 IP를 받아야 한다.


Elastic IP를 이용해 고정 IP를 만들어서 이를 인스턴스에서 활용하는 절차는 아래와 같다.

1) Elastic IP 에서 IP를 할당 받는다

2) Elastic IP 에서 우클릭 후 Associate Address를 클릭한다

3) 인스턴스 목록에 자동으로 내가 보유한 인스턴스가 뜨는데 거기서 원하는 인스턴스를 클릭해 연결한다

4) 고정된 IP가 원하는 인스턴스에 붙게 되었다

(인스턴스에서 IP를 확인해보면 Elastic IP가 붙게 되었고 이는 stop 후 재시작 하여도 그대로 유지된다)



고정 IP가 인스턴스에 할당 되었다면 이제 Scale-Up 할 준비가 끝났고 Scale-Up하는 절차는 다음과 같다

1) Scale_Up 하고자 하는 인스턴스를 우클릭해서 create Image를 누른다

2) 인스턴스에서 원하는 인스턴스의 모니터링 탭에서 현황을 파악한다

(차후 더 적합한 인스턴스 타입을 고르기 위한 사전 정보 습득)

3) AMI로 가서 아까 만들어뒀던 image를 클릭 후 launch하여 적합한 인스턴스 타입을 고른다

(여기 3번에서 Scale-Up이 발생하는 것이다)

4) 원래 운영하던 인스턴스에 붙어있던 Elastic IP를 새로 생성한 인스턴스(Image를 만들고 Scale-Up한 인스턴스)에 재할당한다   

5) Scale-Up이 완료되었음

'Web > AWS' 카테고리의 다른 글

생활코딩_AWS) Auto Scaling  (0) 2018.08.23
생활코딩_AWS) Scale Out  (0) 2018.08.23
생활코딩_AWS) EC2 리눅스 인스턴스 접속  (0) 2018.08.23
생활코딩_AWS) EC2 태그와 보안그룹  (0) 2018.08.17
생활코딩_AWS) EC2 인스턴스  (0) 2018.08.17
Comments