웹사이트 검색

AWS에서 EC2 Auto Scaling Group(ASG)을 설정하는 방법


이 페이지에서

  1. ASG가 인스턴스 수를 관리하도록 인스턴스를 종료합니다.\n
  2. ASG가 인스턴스 수를 늘릴 수 있도록 인스턴스의 부하를 늘립니다.\n
  3. Auto Scaling 그룹 삭제
  4. 결론:

ASG(Auto Scaling Group) 기능은 AWS(Amazon Web Services) 클라우드의 EC2(Elastic Compute Cloud) 서비스와 함께 제공됩니다. ASG에는 자동 조정을 위해 논리적 그룹으로 취급되는 EC2 인스턴스 모음이 포함되어 있습니다. ASG를 사용하면 상태 확인 교체 및 조정 정책과 같은 EC2 Auto Scaling 기능을 사용할 수 있습니다. ASG의 인스턴스 수와 EC2 Auto Scaling 서비스의 자동 조정을 유지하는 데 도움이 됩니다. ASG를 생성하려면 먼저 실행 구성을 생성해야 합니다.

시작 구성은 ASG가 EC2 인스턴스를 시작하는 데 사용하는 구성 템플릿입니다. 시작 구성을 생성할 때 Amazon 머신 이미지(AMI), 인스턴스 유형, 키 쌍, 보안 그룹 등과 같은 인스턴스에 대한 정보를 지정합니다.

Auto Scaling은 애플리케이션을 모니터링하고 카운트에 차이가 있는 경우 원하는 용량을 자동으로 조정합니다.

Auto Scaling에 대한 추가 요금은 없습니다. 애플리케이션을 실행하는 데 필요한 AWS 리소스와 Amazon CloudWatch 모니터링 요금에 대해서만 지불하면 됩니다.

ASG와 관련된 청구에 대해 자세히 알아보려면 여기를 클릭하십시오.

이 기사에서는 ASG를 생성하는 방법과 인스턴스 수가 감소하거나 시스템 부하가 증가하는 경우 인스턴스 수를 유지할 수 있는 방법을 살펴봅니다.

  1. AWS 계정(계정이 없는 경우 생성).

  1. AWS에 로그인합니다.\n
  2. 시작 구성 만들기
  3. Auto Scaling 그룹 생성
  4. ASG가 인스턴스 수를 관리하도록 인스턴스를 종료합니다.\n
  5. ASG가 인스턴스 수를 늘릴 수 있도록 서버의 부하를 늘립니다.\n
  6. Auto Scaling 그룹을 삭제합니다.\n

AWS에 로그인

  1. AWS 로그인 페이지로 이동하려면 여기를 클릭하십시오.\n

위의 링크를 누르면 로그인 세부 정보를 사용하여 로그인해야 하는 다음과 같은 웹 페이지가 표시됩니다.

AWS에 성공적으로 로그인하면 다음과 같이 모든 서비스가 나열된 기본 콘솔이 표시됩니다.

시작 구성 만들기

시작 구성을 생성하려면 화면 상단의 탐색 표시줄에서 "Services\를 클릭하고 "EC2\를 클릭하여 EC2 콘솔로 이동합니다.

화면 왼쪽 탐색 창의 "Auto Scaling\에서 "Launch Configurations\를 선택합니다.

다음 페이지에서 "시작 구성 생성\을 선택합니다.

AMI 선택 페이지에서 AMI를 선택합니다. 자체 AMI가 있는 경우 내 AMI에서 AMI를 선택할 수도 있습니다. 여기서는 프리 티어에 적용할 수 있는 Ubuntu Server 18.04 LTS AMI를 선택합니다.

인스턴스 유형 선택 페이지에서 인스턴스에 대한 하드웨어 구성을 선택합니다. "다음: 구성\ 세부 정보를 클릭합니다.

여기서는 프리 티어에 적용할 수 있는 인스턴스 유형을 선택합니다. 원하는 인스턴스 유형을 선택할 수 있습니다.

이 페이지에서 만들 시작 구성에 이름을 지정하고 나머지는 그대로 유지합니다. "다음: 스토리지 추가\를 클릭합니다.

원하는 디스크 공간을 지정하고 "다음: 보안 그룹 구성\을 클릭합니다.

검토 페이지에서 "새 보안 그룹 만들기\를 선택한 다음 검토를 클릭합니다. 이렇게 하면 소스가 0.0.0.0/0이므로 어디서나 서버에 대한 SSH 액세스를 허용하는 데 도움이 됩니다.

검토 페이지에서 "시작 구성 생성\을 선택합니다.

기존 키 페어를 선택하거나 새 키 페어를 생성하려면 나열된 옵션 중 하나를 선택한 다음 승인 확인란을 선택한 다음 시작 구성 생성을 선택합니다.

Auto Scaling 그룹 생성

시작 구성 생성을 완료하면 다음 화면이 표시됩니다. ASG를 생성하려면 "이 시작 구성을 사용하여 Auto Scaling 그룹 생성\을 클릭합니다.

생성할 ASG의 이름을 지정하고 고가용성을 위해 VPC에서 기존 서브넷을 선택한 후 "다음: 조정 정책 구성\을 클릭합니다.

이 페이지에서 "조정 정책을 사용하여 이 그룹의 용량 조정\을 선택하고 원하는 인스턴스 수와 ASG의 최대 인스턴스 수 사이에서 조정할 인스턴스 수를 지정합니다. 지표 유형에서 "평균 CPU 사용률\을 유지하고 선택한 "목표 값\을 지정합니다. 그러면 지정된 기간 동안 CPU 로드가 지정된 목표 값(%)을 초과하는 경우 그룹의 인스턴스 수가 증가합니다. "다음: 알림 구성\을 클릭합니다.

알림을 받는 데 도움이 되는 선택적 단계입니다. 선택 사항이므로 구성하지 않습니다. "다음: 태그 구성\을 클릭합니다.

이것은 선택적 단계이기도 합니다. 태그를 추가하려면 태그 편집을 선택하고 각 태그에 대한 태그 키와 값을 제공한 다음 검토를 선택합니다.

검토 페이지에서 "Auto Scaling 그룹 만들기\ 버튼을 클릭합니다.

"Auto Scaling 그룹 생성 실패\ 메시지가 표시되면 당황하지 말고 재시도를 클릭하십시오.

이제 Auto Scaling 페이지로 이동하여 Auto Scaling 그룹의 상태를 확인할 수 있습니다. Activity History를 클릭하여 상태를 확인하십시오.

인스턴스 페이지에서 인스턴스 상태와 인스턴스 수를 확인할 수도 있습니다.

ASG가 인스턴스 수를 관리하도록 인스턴스를 종료합니다.

ASG가 예상대로 작동하는지 확인하려면 인스턴스 중 하나를 종료합니다. 인스턴스를 선택하고 작업 -> 인스턴스 상태 -> 종료를 클릭하고 프롬프트가 표시되면 "예, 종료합니다\를 클릭합니다.

우리는 조정 정책에서 원하는/최소 개수로 2를 지정했습니다. 즉, ASG는 항상 정상 상태의 인스턴스가 2개여야 합니다. 종료가 중단되면 ASG는 조정 활동을 수행하기 전에 조정 정책에서 지정한 300초 동안 대기합니다.

300초 동안 기다린 후 ASG가 호출되고 원하는 수를 유지하기 위해 새 인스턴스를 시작하려고 시도합니다. ASG의 활동 내역에서 상태를 확인할 수 있습니다.

ASG가 인스턴스 수를 늘릴 수 있도록 인스턴스의 부하를 늘립니다.

이제 서버의 부하가 우리가 생성한 조정 정책에서 지정한 목표 값을 초과하는 경우 ASG 인스턴스가 어떻게 계산되는지 확인합니다.

두 EC2 인스턴스에 로그인하는 서버의 로드를 늘리려면.

EC2 인스턴스 생성 방법과 연결 단계를 알아보려면 여기를 클릭하십시오.

로그인 후 다음 명령을 사용하여 로드를 늘리는 데 필요한 패키지를 설치합니다.

sudo apt-get update
sudo apt-get install stress

다음 명령을 사용하여 CPU 부하를 늘립니다.

stress --cpu  50 --timeout 400

이 명령은 CPU 부하를 400초 동안 50%로 증가시킵니다.

ASG에서 목표 값을 40%로 지정했습니다. CPU 로드가 목표 값을 초과하면 ASG는 조정 활동을 수행하기 전에 조정 정책에 지정된 300초 동안 대기합니다.

300초 동안 기다린 후 ASG가 호출되고 요구 사항을 충족하기 위해 새 인스턴스를 시작하려고 시도합니다.

ASG의 활동 내역에서 상태를 확인할 수 있습니다.

인스턴스 페이지에서 인스턴스 수를 볼 수도 있습니다.

Auto Scaling 그룹 삭제

모든 인스턴스를 삭제하는 것만으로는 리소스를 정리하기에 충분하지 않습니다. ASG는 원하는 상태와 일치하도록 인스턴스를 다시 만듭니다. 리소스를 정리하려면 ASG를 삭제해야 합니다.

ASG를 삭제하려면 생성한 ASG로 이동하여 작업 -> 삭제를 클릭하고 메시지가 표시되면 "예, 삭제합니다.\를 클릭합니다.

결론:

이 문서에서는 시작 구성을 만들고 이를 사용하여 ASG를 만들었습니다. ASG가 원하는 상태를 업데이트하고 조정 정책을 충족하기 위해 인스턴스 수를 늘리는 방법을 확인했습니다. 또한 ASG를 삭제하는 방법도 살펴보았습니다.