중지 및 시작 일정을 자동화하세요. - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

중지 및 시작 일정을 자동화하세요.

개요

인스턴스 스케줄러를 사용하면 Amazon EC2 및 Amazon RDS (Amazon RDS) 인스턴스의 시작과 중지를 자동화하여 운영 비용을 절감할 AWS수 있습니다. 모든 인스턴스를 계속 최대 사용률로 실행하도록 두면 사용하지 않는 리소스에 대한 비용을 지불하게 될 수 있습니다. 인스턴스 스케줄러를 AWS 켜면 업무 시간 외, 주말 또는 사용량이 적은 기타 기간 등 필요하지 않은 시간에 인스턴스를 끌 수 있습니다. 이로 인해 시간이 지날수록 비용을 크게 절감할 수 있습니다.

AWS 또한 Instance Scheduler의 인스턴스 스케줄러는 교차 계정 인스턴스 예약, 자동 태그 지정, 명령줄 인터페이스 또는 유지 관리 창을 사용하여 일정 또는 기간을 구성하는 기능을 제공합니다. AWS Systems Manager 이러한 기능을 사용하면 인스턴스를 더 효과적으로 관리하고 다양한 프로젝트 또는 팀 전반에 걸쳐 비용을 정확하게 추적하고 할당할 수 있습니다.

사례 연구

프로덕션 환경에서 Instance Scheduler를 사용하여 매일 업무 시간 외에 인스턴스를 자동으로 중지하는 회사를 예로 들어 보겠습니다. AWS 이 회사가 모든 인스턴스를 최대 사용률로 실행하도록 두면 정규 업무 시간에만 필요한 인스턴스 비용을 최대 70% 까지 절감할 수 있습니다. 다음 차트는 주간 사용률이 168시간에서 50시간으로 어떻게 감소했는지 보여줍니다.

주간 사용률 감소 차트

다른 예를 생각해 보세요. 전기 유틸리티 회사인 자메이카 퍼블릭 서비스 컴퍼니 리미티드 (JPS) 는 데이터베이스를 Amazon RDS로 마이그레이션했습니다. 이제 JPS는 Amazon EC2를 사용하여 API 서비스를 호스팅하고 다른 애플리케이션을 실행합니다. JPS의 경우 인스턴스 스케줄러 on은 비프로덕션 환경 관리를 위한 핵심 도구가 AWS 되었습니다. JPS는 인스턴스 스케줄러를 사용하여 개발 비용을 줄이고 AWS 팀 요구 사항 및 작업 일정에 따라 EC2 인스턴스를 관리했습니다. 이를 통해 JPS는 비용을 40% 절감할 수 있었습니다. 자세한 내용은 인스턴스 스케줄러를 사용하여 클라우드로 효율적으로 마이그레이션하고 비용을 40% 절감한 Jamaica Public Service의 AWS 사례 연구를 참조하십시오. AWS

비용 최적화 시나리오

다음 예제 시나리오는 에서 인스턴스 스케줄러를 사용할 때 얻을 수 있는 비용 이점을 설명하는 데 도움이 됩니다. AWS이 시나리오에서 싱가포르의 주요 소매 회사는 Amazon EC2에 두 개의 Windows 환경을 배포합니다. 마케팅 팀은 워크로드 A로 알려진 첫 번째 환경을 활용하여 매장이 열려 있는 동안 매장 내 거래를 실시간으로 분석합니다. 워크로드 B로 알려진 두 번째 환경은 정규 업무 시간에만 작업하는 회계 팀 전용으로 사용됩니다. 두 환경의 현재 운영 일정 (연중무휴) 은 현재 사용 패턴을 고려할 때 이상적이지 않으며 회사 운영 비용을 줄이기 위해서는 최적화가 필요합니다.

다음 다이어그램은 최적화 이전의 월별 비용을 보여줍니다.

최적화 전 월별 비용

예를 들어, 3월에는 31일이 있는데 그 중 23일이 평일입니다. 마케팅 팀에서 Instance Scheduler를 사용하고 필요할 때만 인스턴스를 운영할 경우 (즉, 매월 730시간이 아닌 월 321시간), 매월 932.52 달러를 절약할 수 있습니다. AWS 이는 운영 비용을 56% 절감한 것과 같습니다. 회계 팀에서도 인스턴스 사용 시간이 월 730시간에서 230시간으로 줄어드는 등 상당한 이점을 누릴 수 있습니다. 그 결과 1,140달러, 즉 68.5% 가 절감됩니다. 회사는 총 월 2,072.52달러 (62% 감액에 해당) 또는 연간 24,870.24달러를 절감할 수 있습니다.

다음 다이어그램은 최적화 후의 월별 비용을 보여줍니다.

최적화 이후 월별 비용
참고

이 예제의 가격은 2023년 AWS Pricing Calculator3월에 를 사용하여 결정되었습니다.

비용 최적화 권장 사항

이 섹션에서는 이전 비용 최적화 시나리오 섹션에서 다룬 예제 시나리오를 AWS 기반으로 인스턴스 스케줄러를 배포하고 구성하는 방법을 설명합니다. 에서 인스턴스 스케줄러를 사용하여 다음 단계를 수행하여 비용을 최적화하는 것이 좋습니다. AWS

  1. 인스턴스 스케줄러 스택을 시작합니다.

  2. 기간 구성

  3. 일정 구성

  4. 인스턴스 태그 지정

다음 아키텍처 다이어그램은 인스턴스 스케줄러 스택에서 생성되는 내용을 보여줍니다. AWS 클라우드

인스턴스 스케줄러 스택 아키텍처

다이어그램은 다음 워크플로 단계를 보여줍니다.

  1. AWS CloudFormation 템플릿은 사용자가 정의한 간격으로 Amazon CloudWatch 이벤트를 설정합니다. 이 이벤트는 AWS Lambda 함수를 호출합니다. 구성 중에 AWS 리전 및 계정을 정의합니다. 또한 인스턴스 스케줄러가 해당 Amazon EC2 인스턴스, Amazon RDS 인스턴스 및 클러스터와 일정을 연결하는 데 AWS 사용하는 사용자 지정 태그를 정의합니다.

  2. 일정 구성 값은 Amazon DynamoDB에 저장되며 Lambda 함수는 실행될 때마다 해당 값을 검색합니다. 그런 다음 해당 인스턴스에 사용자 지정 태그를 적용할 수 있습니다.

  3. 인스턴스 스케줄러를 처음 구성하는 동안 해당하는 Amazon EC2 및 Amazon RDS 인스턴스를 식별하기 위한 태그 키를 정의합니다. 일정을 생성할 때 지정한 이름은 태그가 지정된 리소스에 적용할 일정을 식별하는 태그 값으로 사용됩니다.

인스턴스 스케줄러 스택을 실행합니다.

이 섹션에서는 에서 인스턴스 스케줄러용 CloudFormation 스택을 시작하는 방법을 보여줍니다. AWS

참고

에서 인스턴스 스케줄러를 실행하는 동안 AWS 서비스 사용한 비용은 사용자 부담입니다. AWS 2023년 1월 현재, us-east-1 리전에서 기본 설정으로 이 솔루션을 실행하는 데 드는 비용은 Lambda 요금의 경우 월 약 9.90 USD이며, Lambda 프리 티어 월간 사용 크레딧이 있는 경우 더 저렴합니다. 자세한 내용은 솔루션 라이브러리의 구현 가이드에 AWS 있는 인스턴스 스케줄러의 비용 섹션을 참조하십시오. AWS

인스턴스 스케줄러 스택을 시작하려면 다음 단계를 완료하십시오.

  1. AWS Management Console로그인하고 Launch solution (다운로드 가능한 템플릿) 을 선택하여 템플릿을 시작합니다 instance-scheduler-on-aws.template CloudFormation.

    참고

    또한 구현의 시작점으로 사용할 템플릿을 다운로드할 수도 있습니다.

  2. 이 템플릿은 기본적으로 미국 동부(버지니아 북부) 리전에서 시작됩니다. 다른 지역에서 인스턴스 스케줄러를 시작하려면 콘솔 탐색 표시줄의 지역 선택기를 사용하십시오.

    참고

    이 예에서는 아시아 태평양 (싱가포르) 지역을 사용합니다.

  3. 스택 생성 페이지의 사전 요구 사항 - 템플릿 준비 섹션에서 템플릿 준비 옵션이 선택되어 있는지 확인합니다. 템플릿 소스 섹션에서 Amazon S3 URL 옵션이 선택되었는지 확인합니다.

  4. Amazon S3 URL 텍스트 상자에 올바른 템플릿 URL이 있는지 확인한 후 다음을 선택합니다.

  5. 스택 세부 정보 지정 페이지에서 솔루션 스택 이름을 할당합니다. 이름 지정 문자 제한에 대한 자세한 내용은 AWS Identity and Access Management (IAM) 설명서의 IAM 및 STS 제한을 참조하십시오. 이 안내서에 있는 예제의 스택 이름을 호출합니다. MyInstanceScheduler

    참고

    스택 이름은 28자를 초과할 수 없습니다.

  6. 매개 변수에서 템플릿의 매개 변수를 검토하고 필요에 따라 수정합니다.

  7. 다음을 선택합니다. Configure stack options(스택 옵션 구성) 페이지에서 Next(다음)를 선택합니다.

  8. 검토 페이지에서 설정을 검토하고 확인합니다. 템플릿이 IAM 리소스를 생성한다는 것을 확인하는 상자를 선택합니다.

  9. 생성을 선택하여 스택을 배포합니다.

기간 구성

CloudFormation 템플릿을 배포한 후 솔루션은 자체 사용자 지정 기간 규칙 및 일정을 생성하는 데 참조로 사용할 수 있는 샘플 기간 규칙 및 일정이 포함된 DynamoDB 테이블을 생성합니다. 기간 구성의 예는 설명서에서 인스턴스 스케줄러의 샘플 일정을 참조하십시오. AWS

이 시나리오의 단계를 완료하려면 각 워크로드에 해당하고 특정 요구 사항을 충족하는 기간을 생성해야 합니다. 예:

Period 1 (Workload A): Name: retail-hours Days: Monday to Sunday Hours: 1100 - 2300 Period 2 (Workload B): Name: office-hours Days: Monday to Friday Hours: 0800 - 1800

기간을 구성하려면 다음 단계를 완료하세요.

  1. DynamoDB 콘솔에 로그인하고 인스턴스 스케줄러용 템플릿을 시작한 CloudFormation 지역과 동일한지 확인합니다. AWS

  2. 탐색 창에서 [Tables] 를 선택한 다음 이름이 지정된 테이블을 선택합니다. ConfigTable

  3. 테이블 항목 탐색을 선택합니다.

  4. 근무 시간 기간을 만들려면 근무 시간 항목의 기간을 선택합니다.

  5. 항목 편집 페이지에서 시작 시간 값을 0800으로 변경하고 종료 시간 값을 1800으로 변경합니다. 평일에는 기본값을 그대로 두십시오.

    참고

    시작 시간종료 시간 값은 인스턴스를 시작하고 중지해야 하는 시기를 결정하는 반면, 평일 값은 이 일정이 적용되는 요일 (이 예에서는 월요일부터 금요일까지) 을 결정합니다.

  6. 변경 사항 저장을 선택합니다.

  7. 근무 시간 기간을 복제하고 이를 사용하여 소매 시간을 위한 새 기간을 만들려면 근무 시간 항목의 기간을 선택합니다. 그런 다음 작업 메뉴에서 항목 복제를 선택합니다.

  8. 필요에 맞게 속성을 수정하십시오. 예제 시나리오의 요구 사항을 충족하는 데 사용되는 속성은 다음과 같습니다.

    type: period name: retail-hours begintime: 11:00 description: Retail hours endtime: 23:00 weekdays: mon-sun
  9. 항목 생성을 선택합니다.

  10. ConfigTableDynamoDB에서 항목 목록에 나열된 방금 생성한 두 기간을 식별합니다.

일정을 구성합니다.

인스턴스 스케줄러 온의 컨텍스트에서 AWS스케줄은 하나 이상의 기간 적용 및 관련 시간대를 의미합니다. 그러면 이러한 일정이 인스턴스에 태그로 할당됩니다. 이 섹션에서는 두 예제 워크로드의 다양한 시간 패턴을 수용하기 위해 두 개의 일정 (아래 그림 참조) 을 만든 다음 이전 섹션에서 생성한 기간과 일정을 연결하는 방법을 보여줍니다.

Schedule 1: Name: singapore-office-hours Period: office-hours Timezone: Asia/Singapore Schedule 2: Name: singapore-retail-hours Period: retail-hours Timezone: Asia/Singapore

일정을 만들고 구성하려면 다음 단계를 완료하세요.

  1. DynamoDB 콘솔에 로그인하고 인스턴스 스케줄러용 템플릿을 시작한 CloudFormation 지역과 동일한지 확인합니다. AWS

  2. 탐색 창에서 [Tables] 를 선택한 다음 이름이 지정된 테이블을 선택합니다. ConfigTable

  3. 테이블 항목 탐색을 선택합니다.

  4. 영국 근무 시간 일정을 복제하고 이를 사용하여 근무 시간 (예: 싱가포르 근무 시간) 에 대한 새 일정을 만들려면 uk-office-hours 해당 항목의 일정을 선택합니다. 그런 다음 작업 메뉴에서 항목 복제를 선택합니다.

  5. 필요에 맞게 속성을 수정하십시오. 예제 시나리오의 요구 사항을 충족하는 데 사용되는 속성은 다음과 같습니다.

    type: schedule name: singapore-office-hours description: Office hours in Singapore periods: office-hours timezone: Asia/Singapore
  6. 항목 생성을 선택합니다.

  7. 4~6단계를 반복하여 다음 속성 값을 사용하여 싱가포르 소매 시간 일정을 생성합니다.

    type: schedule name: singapore-retail-hours description: Retail hours in Singapore periods: retail-hours timezone: Asia/Singapore
  8. ConfigTableDynamoDB에서 생성한 두 개의 일정과 두 개의 기간을 식별합니다.

인스턴스 태그 지정

일정을 설정한 후에는 태그를 사용하여 사용하려는 특정 인스턴스에 일정을 할당해야 합니다. 내에서 AWS Resource Groups태그 편집기를 사용하여 Amazon EC2 인스턴스에 태그를 생성하고 할당할 수 있습니다.

  1. AWS Management Console로그인하여 이전에 CloudFormation 템플릿을 실행한 지역과 동일한 지역에 있는지 확인하십시오.

  2. Resource Groups 콘솔을 엽니다. 탐색 창에서 [태그 지정] 을 확장한 다음 [태그 편집기] 를 선택합니다.

  3. 태그할 리소스 찾기 섹션의 지역에서 지역을 선택합니다. 리소스 유형으로는 Amazon EC2 또는 Amazon RDS를 선택합니다. 이 시나리오는 워크로드 A의 Amazon EC2 인스턴스에 초점을 맞추고 있습니다. 마케팅 팀은 싱가포르 지역의 워크로드 A를 사용하고 있습니다. 이 워크로드의 리소스에는 이미 부서 키와 마케팅 값 태그가 지정되어 있습니다. 이 태그를 사용하여 인스턴스를 검색할 수 있습니다.

  4. 리소스 검색을 선택합니다.

  5. 검색 결과 목록에서 일정에 포함할 인스턴스를 선택한 다음 선택한 리소스의 태그 관리를 선택합니다.

  6. 선택한 모든 리소스의 태그 편집 섹션에서 Add tag (태그 추가) 를 선택하여 인스턴스 스케줄러 스케줄 태그를 EC2 인스턴스에 추가합니다. 스케줄과 일치하는 태그 키와 값을 사용할 수 있습니다 (이전에 DynamoDB에서 생성됨).

  7. 태그 키에는 일정을 추가합니다. 태그 값에 입력합니다 singapore-retail-hours.

  8. 변경 사항 검토 및 적용을 선택합니다.

  9. 선택한 모든 EC2 인스턴스에 태그를 적용하려면 선택한 모든 인스턴스에 변경 사항 적용을 선택합니다.

  10. 적용하려는 추가 일정에 대해 3~9단계를 반복합니다.

결과 검증

에서 인스턴스 스케줄러를 사용할 때의 비용 이점을 측정하는 AWS Cost Explorer데 사용하는 것이 좋습니다. AWS Cost Explorer를 사용하여 다음 작업을 수행할 수 있습니다.

  • 인스턴스 스케줄러로 관리되는 인스턴스를 포함하여 EC2 인스턴스와 관련된 비용을 보고 분석할 수 있습니다.

  • Cost Explorer 뷰를 태그별로 필터링하여 특정 워크로드에 집중하고 인스턴스 스케줄러를 사용하여 달성한 비용 절감 효과를 세밀하게 확인할 수 있습니다.

  • 인스턴스 스케줄러 사용의 재정적 영향에 대한 통찰력을 얻으십시오.

  • 추가 비용 최적화를 위한 기회를 파악하고 데이터 기반 결정을 내려 지출을 최적화하세요. AWS

다음 차트는 인스턴스 스케줄러를 사용하여 최적화하기 전 7일 (월요일~일요일) 동안의 워크로드 A와 워크로드 B의 운영 비용을 보여줍니다.

워크로드 A와 B의 총 비용을 합산했습니다.

워크로드 A와 B의 총 비용 합계

워크로드 A 비용

워크로드 A 비용

워크로드 B 비용

워크로드 B 비용

이 시나리오에서 Cost Explorer는 에서 인스턴스 스케줄러를 구현함으로써 발생하는 비용 절감 효과를 보여줍니다. AWS다음 차트는 최적화 후 7일 (월요일~일요일) 동안의 워크로드 A와 워크로드 B의 운영 비용을 보여줍니다.

워크로드 A와 B의 총 비용을 합산했습니다.

워크로드 A와 B의 총 비용 합계

워크로드 A 비용

워크로드 A 비용

워크로드 B 비용

워크로드 B 비용

추가 리소스