ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] #4 VPC 구축 실습 3(Auto Scaling)
    Software engineer/Infra 2023. 5. 19. 19:58

     

    이번엔 EC2의 고가용성을 확보하기 위한 Auto Scaling 서비스에 대해서 실습해 보겠습니다.

     

     

     

    스압주의!

     

     

     

    실습순서

    • Auto Scaling란?
    • 시작 템플릿 생성
    • Auto Scaling 그룹 생성
    • Auto Scaling 기능 확인

     

     

    Auto Scaling란?

    애플리케이션의 수요에 따라 EC2 인스턴스의 수를 자동으로 조절하여 가용성을 유지하고, 트래픽 변동에 대응하여 자원 확장과 축소를 자동으로 처리하는 서비스입니다.

     

    Auto Scaling은 애플리케이션의 부하 상황에 따라 EC2 인스턴스의 수를 동적으로 조정하여 트래픽에 대한 적절한 대응을 가능하게 합니다. 부하가 증가하면 Auto Scaling은 추가 인스턴스를 자동으로 프로비저닝 하여 애플리케이션의 성능과 가용성을 유지합니다. 반대로 부하가 감소하면 Auto Scaling은 불필요한 인스턴스를 자동으로 제거하여 자원을 효율적으로 관리합니다.

    Auto Scaling 그룹은 인스턴스의 최소 및 최대 개수와 같은 조건을 설정하고, 이에 따라 인스턴스를 자동으로 생성 또는 종료합니다. 이때, Auto Scaling은 Amazon EC2 인스턴스, Amazon ECS 컨테이너, Spot Fleet 인스턴스 등 다양한 인스턴스 유형을 지원합니다.

    또한, Auto Scaling은 CloudWatch와 통합하여 애플리케이션의 지표 및 상태를 모니터링하고, 정의된 임계값을 기준으로 스케일링 작업을 수행합니다. 예를 들어, CPU 사용률이 높아지면 Auto Scaling은 인스턴스를 자동으로 추가하여 부하를 분산시킵니다.

    이러한 방식으로 Auto Scaling은 애플리케이션의 가용성을 향상하고, 트래픽의 변동에 유연하게 대응하여 자원의 효율성을 최적화합니다. 또한, 수동으로 인스턴스를 추가하거나 제거할 필요 없이 확장 및 축소가 자동으로 처리되므로 운영자의 관리 부담을 줄여줍니다.

     

     

     

    시작 템플릿 생성

    이제 시작 템플릿을 만들어 보겠습니다.

     

    시작 템플릿 이름을 지정하고 생성하는 버전에 대한 설명도 추가합니다. 

    Auto Scaling 지침에서는 해당 옵션을 꼭 체크하고 가겠습니다.

     

    원하는 OS를 선택합니다.

     

    인스턴스 유형과 키 페어를 선택합니다.

     

    서브넷은 템플릿 생성 이후 Auto Scaling 시작시에 설정하겠습니다.

    네트워크 설정은 고급 네트워크 구성에서 네트워크 인터페이스 추가를 진행합니다.

    보안그룹은 SSH와 HTTP 접속 허용 보안 그룹을 선택하고 퍼블릭 IP 자동 할당을 활성화합니다.

    그리고 시작 템플릿 생성을 합니다.

     

     

     

    Auto Scaling 그룹 생성

    생성된 템플릿을 확인 후 작업에서 Auto Scaling 그룹 생성을 진행합니다.

     

    Auto Scaling 그룹 이름일 지정합니다.

     

    시작 템플릿은 선택합니다.

     

    네트워크 옵션에서 VPC를 선택하고 public 서브넷을 선택합니다.

     

    고급 설정은 수정 없이 진행합니다.

     

    그룹 크기 및 크기 조정은 테스트를 위해 모두 2개로 맞추고 넘어갑니다.

     

    알림 추가 없이 다음으로 넘어갑니다.

     

    태그는 Name: jh-asg-ec2으로 추가했습니다. Auto Scaling을 통해 생성된 ec2 인스턴스들이 모두 해당 태그를 가집니다.

    이렇게 다음으로 진행하고 완료합니다.

     

    생성된 Auto Scaling Group은 곧바로 인스턴스를 자동으로 생성합니다.

     

    활동탭에서는 Auto Scaling Group이 진행한 작업 기록을 확인할 수 있습니다.

     

     

     

    Auto Scaling 기능 확인

    이번엔 Auto Scaling Group 이 자동으로 인스턴스를 scaling 하는지 확인해 보겠습니다.

    생성된 EC2 인스턴스 중 하나를 강제로 종료시켜 보겠습니다.

     

    인스턴스 강제 종료 후 Auto Scaling Group에서 인스턴스 관리탭을 확인해 보면 강제 종료된 인스턴스의 상태가 Unhealty 상태인걸 확인할 수 있습니다.(실시간이 아니기 때문에 좀 기다려야 합니다! 체크하는 시간 또는 횟수는 따로 설정할 수 있습니다.)

     

    작업 기록상에서도 확인이 가능합니다.

     

    이렇게 인스턴스에서 확인해 보면 새로운 인스턴스가 자동을 생성됨을 확인할 수 있습니다.

     

    만약 Auto Scaling Group의 고급 세부 정보에서 그룹 크기를 줄이면 해당 사항이 바로 반영됩니다.

     

    기존에 2개였던 Auto Scaling Group 인스턴스가 모두 종료되고 한 개만 남았음을 확인할 수 있습니다.

     

    이렇게 기능 확인까지 완료했습니다.

     

     

     

     

    아참!!!

    테스트가 끝나고 난 후에는 Auto Scaling Group의 세부정보에서 필요 인스턴스를 0으로 꼭 수정해 주세요.

    해당 옵션을 수정하지 않고 그냥 인스턴스가 끄게 될 경우 인스턴스는 다시 살아나고 과금이 될 수 있습니다!!!

     

     

     

     

     

    위 실습은 유튜브 'AWS강의실'의 AWS 기초 강좌 12를 보고 진행했습니다.

    참고: https://www.youtube.com/watch?v=Mkr0PxydGSE&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&index=14&ab_channel=AWS%EA%B0%95%EC%9D%98%EC%8B%A4

     

Designed by Tistory.