인프라 구성하기

김성현·2021년 1월 26일
0

aws공부

목록 보기
7/10

가용성

  • 해당 시스템이나 서비스가 가동 및 실행 되는 시간의 비율
  • 가용성이 높다는 건 서비스의 가동률이 높다는 것
가용성 비율가동 중지 시간(24시간 기준)
90%876시간(36.5일)
95%438시간(18.25일)
99%87.6시간(3.65일)
99.9%8.76시간
99.99%52.56분
99.999%5.256분



확장성(Sccalability)

  • 서비스나 응용프로그램이 증가하는 성능 요구에 맞게 향상될 수 있는 정도를 나타냄
  • 동시 접속자가 100명인 시스템을 가정했을 때 특정 시즌이나 이벤트로 동시 접속자가 100배 이상 많이 접속하는 경우 확장성이 높은 시스템은 사용자 증가에 따라 시스템의 자원이나 리소스를 손쉽게 추가/삭제할 수 있다.


Amazon Auto Scaling

  • 서비스 오픈 초기 서버의 사용자가 급증하면 Auto Scaling을 사용하여 인스턴스를 늘려 성능을 유지하고, 이용자가 줄어 평상시 상황이 유지되면 인스턴스를 자동으로 줄여 비용을 줄이는 효과가 있다.


Amazon Auto Scaling의 구성 요소

  • Amazon Auto Scaling 그룹
    인스턴스의 조정 및 관리 목적으로 구성된 논리적 그룹으로 Auto Scaling을 수행하는 인스턴스의 모음이다. B2B용 웹 사이트를 여러 인스턴스에서 서비스한다면 애플리케이션의 성능을 향상시키기 위해 Auto Scaling 그룹을 사용하여 지정된 조건에 따라 자동으로 인스턴스 수를 늘리거나, 비정상적으로 동작하는 경우 고정된 수의 인스턴스를 유지하거나, 비용 절감을 위해 인스턴스의 수를 자동으로 조정할 수 있다.


  • 시작 구성
    Auto Scaling 그룹에서 인스턴스를 시작하는데 사용하는 템플릿으로 시작 구성을 생성하는 경우 Amazon Machine Image(AMI), 인스턴스 유형, 키 페어, 하나 이상의 보안 그룹, EBS 등 인스턴스에 대한 정보를 지정한다.



    시작 구성은 여러 개의 Auto Scaling 그룹에 지정될 수 있으나, Auto Scaling 그룹은 하나의 시작 구성만을 지정할 수 있다. 또한 시작 구성은 한 번 생성한 이후에는 수정/변경을 할 수 없다.

  • Amazon Auto Scaling 그룹 조정
    그룹 조정은 인스턴스의 수를 늘리거나 줄이는 기능입니다. 조정 작업은 이벤트와 함께 시작하거나, Auto Scaling 그룹의 인스턴스를 시작하거나 종료하도록 수행하는 조정 작업과 함께 수행된다.


    조정 옵션들로
    현재 인스턴스 수준 유지 관리 : 최소 또는 향상 지정된 수의 인스턴스를 실행 유지 관리하도록 구성할 수 있습니다.
    수동 조정 : Auto Scailng 그룹에서 최소, 최대 또는 원하는 용량의 변경 사항을 조정 변경할 수 있다.
    일정을 기반으로 조정 : 예측 가능한 일정에 따라 수요가 증가하거나 감소하는 경우 일정에 따른 확장 및 축소 작업을 시간 및 날짜 함수를 통해 자동으로 수행되도록 구성할 수 있다.
    온디맨드 기반 조정 : 리소스를 조정하는 가장 효과적인 방법으로 인스턴스의 CPU 사용률이 15분 동안 90% 유지될 때 마다 인스턴스를 확장하도록 구성하는 정책을 생성할 수 있다. CPU, 메모리 사용량, 네트워크의 대역폭이 일정 수준 이상인 경우 새로운 인스턴스를 시작하고, 네트워크 대역폭이 다시 내려가면 인스턴스를 종료하는 정책을 수립하여 적용할 수 있다.

ELB 설정하기

  1. aws에 로그인하여 [EC2]에 좌측 메뉴에 [로드 밸런싱]에서 [로드 밸런서 생성] 페이지로 이동하여 유형 선택에서 "Classic Load Balancer"로 생성을 진행한다.


  2. 이름과 vpc를 지정하고 서브넷에서 퍼블릭으로 지정한 서브넷으로 선택하고 [다음 : 보안 그룹 할당]으로 이동한다.


  3. 기존 보안 그룹 중에서 "Tutorial Security Group"으로 사용한다. 이후 내용은 넘겨서 로드밸런서를 생성한다.


Auto Scaling 구성하기

  1. [EC2]의 좌측 메뉴에서 [시작 구성] 페이지로 이동하여 생성을 시작한다.


  2. 이름을 지정하고 AMI와 인스턴스 유형은 프리티어로 사용한다.


  3. 고급 세부 정보에서 사용자 데이터에
    /#!bin/sh
    yum install -y httpd php php-mysql mysql
    chkconfig httpd on
    etc/init.d/httpd start
    cd /tmp
    wget https://s3.ap-northeast-2.amazonaws.com/cftest20180909/autoscaling-source.zip
    unzip autoscaling-source.zip
    sudo mv *.php/var/www/html/ 내용을 추가한다.


  4. 기존 보안 그룹에서 "Tutorial Security Group"으로 선택하고 키 페어는 기존 키페어에서 사용한다.


  5. 그 다음 다시 [EC2] 좌측 메뉴에서 [Auto Scaling 그룹]에서 생성을 진행한다.


  6. 첫 페이지에서 이름을 지정하고 아까 만든 시작 구성을 선택하고 다음으로 이동한다.


  7. "Tutorial-vpc"로 지정하고 퍼블릭으로 설정한 서브넷을 사용한다.


  8. 처음에 만들어둔 ELB를 선택하고 다음으로 이동한다.


  9. 처음 인스턴스의 갯수와 최소 최대 인스턴스의 개수를 지정하고 CPU의 사용률이 70이 넘어갈 때 확대와 축소를 진행하게 만든다. 그후 검토로 이동해서 생성해준다.


0개의 댓글