아키텍처 - AWS 인스턴스 스케줄러

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

아키텍처

이 섹션에서는 참조 구현 아키텍처 다이어그램, AWS Well-Architected 설계 고려 사항, 보안 구성 요소, 스케줄러 구성이 솔루션에 사용되는 AWS 서비스를 제공합니다.

아키텍처 다이어그램

이 솔루션을 배포하면 AWS 계정에 다음 구성 요소가 배포됩니다.

AWS 클라우드에서의 인스턴스 스케줄러

InstanceScheduler 아키텍처
  1. Amazon EventBridge 규칙은 구성 가능한 간격(기본값: 5분마다)으로 오케스트레이션 Lambda 함수를 트리거합니다.

  2. EventBridge 규칙은 DynamoDB 구성 테이블을 쿼리하여 활성 예약 대상을 식별하는 AWS Lambda 오케스트레이션 함수를 호출합니다. 그런 다음 오케스트레이터는 각 활성 대상에 대해 병렬 예약 Lambda 함수를 호출합니다.

  3. 일정 정의 및 기간은 Amazon DynamoDB 구성 테이블에 저장됩니다. 이 테이블에서 일정과 기간을 원하는 수만큼 정의하여 인스턴스 시작 및 중지 시기를 제어할 수 있습니다.

  4. DynamoDB 레지스트리 테이블은 모든 관리형 리소스를 자동으로 추적합니다. 리소스에 예약 태그가 지정되면 AWS 태그 지정 이벤트에 대한 응답으로 리소스가이 테이블에 등록됩니다.

  5. 각 예약 Lambda 함수는 태그가 지정된 리소스를 설명하고, 현재 시간을 기준으로 일정을 평가하고, 적절한 시작 또는 중지 작업을 실행합니다.

    1. EC2 인스턴스의 경우 용량 부족으로 인해 시작 작업이 실패하면 시작 작업을 다시 시도하기 전에 인스턴스 크기를 대체 인스턴스 유형으로 조정하도록 솔루션을 구성할 수 있습니다.

  6. 일정 관리는 DynamoDB 콘솔, 스케줄러 CLI 도구 또는 AWS CloudFormation Custom 리소스를 통해 사용할 수 있습니다. 스케줄러 CLI AWS CloudFormation 이 솔루션은 몇 가지 예제 일정이 미리 구성된 상태로 배포됩니다.

  7. 교차 계정 배포는 스포크 계정이 허브 계정에 자동으로 자체 등록하는 허브 스포크 아키텍처를 사용합니다. 스포크 스택은 허브 스택과 동일한 리전에 배포해야 하며 허브 스택 또는 동일한 AWS Organization의 멤버의 사전 승인을 받아야 합니다.

  8. 이 솔루션은 허브 계정(글로벌 이벤트) 및 스포크 계정(리전별 로컬 이벤트)의 EventBridge 버스에 예약 및 등록 이벤트를 게시합니다. EventBridge

참고

AWS CloudFormation 리소스는 (AWS CDK) 구문에서 생성됩니다.

이 솔루션에서 사용하는 모든 Lambda 함수는 리소스에 대한 권한 요구 사항에 AWS IAM을 활용하고 Amazon Simple Notification Service(Amazon SNS 주제) 및 DynamoDB 테이블의 암호화에 AWS KMS를 활용합니다.

솔루션이 간격 예약을 수행할 때마다 적절한 태그가 지정된 인스턴스의 현재 상태를 확인하여 관련된 일정에서 인스턴스 태그의 일정에 정의된 하나 이상의 기간으로 지정된 목표 상태와 비교합니다. 그 후 예약 간격에 따라 필요에 맞게 적절한 시작 또는 중지 작업이 적용됩니다.

예를 들어 Lambda 함수가 금요일 오전 9시(ET)에 간접 호출되고 Schedule=office-hours 태그로 지정된 중지 상태의 EC2 또는 RDS DB 인스턴스를 식별하면 Amazon DynamoDB에서 office-hours 일정 구성 세부 정보를 확인합니다. office-hours 일정에 인스턴스를 월요일부터 금요일까지 동부 표준시 기준 오전 9시부터 오후 5시까지 실행되어야 한다는 기간이 포함되어 있으면 Lambda 함수는 해당 인스턴스를 시작합니다.

또한 Lambda 함수는 리소스에 대한 정보를 기록하며, 이를 선택적으로 Amazon CloudWatch Custom 대시보드에 표시합니다. 기록된 정보에는 각 일정에 대해 태그가 지정된 인스턴스 수, 해당 인스턴스의 크기, 해당 인스턴스가 현재 실행 중인 상태인지 또는 중지된 상태인지 여부가 포함됩니다. 이 사용자 지정 대시보드에 대한 자세한 내용은 운영 인사이트 대시보드를 참조하세요.

참고

Amazon EC2 인스턴스를 중지하는 것은 Amazon EC2 인스턴스를 종료하는 것과 다릅니다. 기본적으로 Amazon EC2 인스턴스는 운영 체제가 종료될 때 종료되지 않고 중지되도록 구성되어 있지만, 이 동작은 수정할 수 있습니다. 이 솔루션을 사용하기 전에 인스턴스가 적절하게 중지 또는 종료되도록 설정되어 있는지 확인합니다.