Amazon EventBridge로 EC2인스턴스 기동,정지 자동화 스케줄 설정

2023.03.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요, 임채정입니다.
이번 블로그에서는 Amazon EventBridge를 사용해서 EC2 인스턴스의 기동,정지를 하는 자동화 스케줄을 설정해보겠습니다.

아젠다

  1. EC2 인스턴스 작성
  2. IAM 역할 작성
  3. Amazon EventBridge 일정 작성
  4. 결과 확인

1. EC2 인스턴스 작성

먼저 EC2 인스턴스부터 작성하겠습니다.
사실상 인스턴스를 만질 필요없이 기동,정지의 테스트에만 사용할 것이기 때문에 이름이랑 키페어정도만 간단하게 입력해주고 인스턴스를 작성해주겠습니다.

EC2 인스턴스가 작성되었습니다.

2. IAM 역할 작성

EventBridge 일정을 생성하는데에는 IAM 역할이 필요하기 때문에 먼저 작성하겠습니다.
EventBridge 일정에 대한 IAM 역할에 관해서는 다음 공식 페이지를 참고해서 작성했습니다.

IAM 페이지의 역할 탭에 들어가서 역할 만들기를 클릭합니다.

사용 사례에서 먼저System Manager 를 클릭하고 다음으로 넘어갑니다.

권한은 AmazonEventBridgeSchedulerFullAccess을 선택합니다.
EventBridge 스케줄러에 대한 전체 액세스 권한을 부여하는 정책입니다.

이름은 임의로 입력하고 생성을 해줍니다.

IAM 역할의 생성이 되면 신뢰관계 탭을 선택해서 신뢰 관계 편집을 해줍니다.

변경 내용은 다음과 같습니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "scheduler.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

여기까지 하면 IAM 역할의 생성은 끝입니다.

3. Amazon EventBridge 일정 작성

다음으로는 Amazon EventBridge 일정하겠습니다.

Amazon EventBridge 페이지에서 EventBridge 일정을 클릭하고 일정 생성을 클릭합니다.

인스턴스 시작 일정 생성

이름을 임의로 입력한 후에

일정 패턴을 Cron 표현식으로 입력해주겠습니다.
블로그에서는 테스트로 매일 임의의 시간에 실행되도록 설정해주겠습니다.

대상 선택은 StartInstance 를 선택해줍니다.

그리고 대상 인스턴스는 위에서 작성한 인스턴스의 인스턴스ID 를 입력해주고 다음을 클릭합니다.

그리고 권한으로 2번에서 생성한 IAM 역할을 지정해주고 다음으로 클릭합니다.

그러면 다음과 같이 일정이 만들어집니다.

인스턴스 정지 일정 생성

인스턴스를 정지하는 일정도 만들어 주겠습니다.

시작 일정도 같지만 대상 선택에서 StopInstance를 선택해야 합니다.
그 외에는 시작 일정과 동일합니다.

정지 일정도 생성되었습니다.

결과적으로 다음과 같이 시작과 정지 일정이 생성되었습니다.

4. 결과 확인

마지막으로 결과를 확인해보겠습니다.
다음과 같이 해당 시간이 되었을 때 인스턴스가 정지하고 시작되는 것을 확인할 수 있습니다.