[AWS]아마존 웹서비스 기초지식 2
EC2 AWS Marketplace
AWS Marketplace
다른 사람이 만든 인스턴스를 찾아서 사용할 수 있는 곳으로, 플레이스토어나앱스토어와 유사하다고 볼 수 있다.
가령 wordpress를 운영한다고 하면, 인스턴스를 생성해서 필요한 소프트웨어를 설치하고, 워드프레스를 다운받는 것부터 보안관련 세팅까지 하는 방법이 있고, 이런 모든 작업을 끝내놓은(이미지화 해놓은) AMI를 사용해서 바로 서비스를 시작할 수 있는 방법이 존재한다.
인스턴스를 생성할때 운영체제를 선택하는 것도 아마존이 제공하는 AMI를 이용하는 것이다. 내가 생성한 인스턴스를 이미지화할 수도 있고, 아마존이 제공하는 AMI를 사용하는 방법(AWS Marketplace) 외에 다른 사용자들이 만든 AMI를 제공하는 Community AMIs가 있다.
EC2 Scalability - Scale Up
EC2의 가장 큰 특징(사실 EC2뿐만아니라 클라우드컴퓨팅의 특징) 은 가상화와 종량제
가상화
가상머신은 물리적인 컴퓨터의 하드웨어들을 소프트웨어적으로 구현하는 것이다. 그런 가상머신을 이용해서, 한 대의 컴퓨터에도 여러개의 운영체제를 설치할 수 있다.
개인용으로는 VMWare, VirtualBox, Parallels가 있고, 기업용으로는 클라우드컴퓨팅 서비스(AWS, AZURE 등)를 이용한다.
클라우드 컴퓨팅의 장점
전통적인 컴퓨팅 모델은 서비스를 이용하는 사용자와 서비스를 제공하는 컴퓨터의 성능사이에 갭이 발생한다. 컴퓨터의 성능이 사용자의 수요를 못따라가거나, 혹은 수요가 줄었을때는 컴퓨터의 성능이 낭비가 되기도 한다. 반면에 클라우드 컴퓨팅 모델은 사용자의 수요에 따라 컴퓨터의 성능을 조절할 수 있기때문에 비용 효율적이다.
Scalability
확장성(사용자 수의 증대에 유연하게 대응할 수 있는 정도)
EC2는 Scale up과 Scale out 으로 인스턴스의 규모를 유연하게 변경할 수 있다.
필요에 따라 낮은 성능의 저렴한 컴퓨터를 구성하거나 높은 성능의 강력한 컴퓨터를 구성하는 것을 탄력적으로 할 수 있다.
Scale up
인스턴스의 규모를 업그레이드 하는 것
(인스턴스를 이미지화해서 더 좋은 인스턴스타입으로 바꾸는 것이다)
스트래스 테스트
scale up test를 위해 인스턴스를 2개를 생성해서 공격과 수비를 통해 필요한 인스턴스의 규모를 측정할 수 있다.
부하발생기로 apache 의 ab를 사용
명령어)
Sudo update
Sudo apt-get install apache2-utils
ab -n 400 -c 1 접속할 주소
n: 몇명, 몇번인지 (400)
c:동시접속 갯수 ( 1 )
접속할 주소 : 뒤에 /(슬래시) 붙여야함
스트래스 테스트를 하면
Time taken for tests(총 소요시간),
Failed requests(요청 실패),
Requests per second(초당 처리속도),
time per request(개별처리속도)
등 을 알아내서 각각 비교할 수 있다.
Scale up을 하기위해 필요한 것
Elastic IP (고정 IP)
인스턴스를 멈췄다가 다시 가동시키면 다른 IP를 부여받는다. ( 0.0.0.0 ~ 255.255.255.255 의 한정된 아이피 주소중에서 배분을 해야되기때문에 안쓰는 IP는 또 다른 필요한 곳에 쓰이고 다시 가동시킬때는 새 IP를 부여받는다)
그래서 고정 IP를 사용해서, 컴퓨터를 교체해도 사용자는 동일한 IP를 통해 서비스에 접근할 수 있도록 하는 방법이다. (Allocate로 부착하고, Release로 삭제함)
접속량이 많이진다고 바로 인스턴스를 scale up하면, 접속이 모두 끊기는 대형사고가 발생하고 밥줄도 끊기게 됨.
Leave a comment