Lambda와 CloudWatch에서 서버리스 스케줄 작업 수행

소개



이 기사에서는 Lambda 스크립트를 CloudWatch를 사용하여 정기적으로 실행하는 방법을 소개합니다.
이 방법을 사용하면 서버리스 스케줄 작업을 수행 할 수 있습니다!

전제 조건



AWS 계정을 생성하는 절차나 정기적으로 실행하려는 Lambda 함수를 생성하는 작업이 끝난 상태를 가정합니다.
또, 용어의 설명도 생략하므로, 모르는 분은 구구해 주세요.

Lambda 함수의 정기 실행 방법



1. 트리거 지정



정기 실행하려는 Lambda 함수 설정 화면의 트리거 추가에서 CloudWatch Events를 선택합니다.


2. 규칙 만들기



정기 실행 빈도를 지정하는 CloudWatch Events를 만듭니다.
화면 하단의 트리거 설정에서 규칙 목록 상자를 클릭하고 새 규칙 만들기를 선택합니다.


아래와 같은 화면이 표시되므로 각 정보를 입력합니다.
  • 규칙 이름: 이 일정에 대한 규칙 이름을 지정합니다. 규칙은 재사용 가능합니다.
  • 규칙 설명 : 규칙에 대한 설명입니다.
  • 룰 타입: 이번에는 정기 실행시키기 위해서 「스케줄식」을 선택합니다.
  • 스케줄 표현식 : 실행 간격을 지정하는 cron 또는 rate 표현식을 입력하십시오. (cron 및 rate 표현식은 다음 항목 참조)
  • 트리거 활성화 : 설정을 저장할 때 트리거를 활성화하거나 선택합니다.



  • 3. cron식과 rate식에 대해서



    둘 다 일정을 정의하는 표현식입니다.ざっと 다음과 같은 사용법을합니다.

    cron(분 시간 일 월 요일 년)
    값을 묻지 않는 (any)에는 와일드 카드로 *와?를 사용합니다. 엄격한 정의와는 다르지만, 숫자를 묻지 않는 경우는 *, 요일을 묻지 않는 경우는?를 사용하면 OK입니다.

    rate(간격 값 단위)
    단위에는 minute, minutes(값이 1 이상인 경우), hours 등을 사용할 수 있습니다.

    자세한 내용은 공식 문서에 기재되어 있으므로 참조하십시오.
    htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 아마 존 C ぉ 우도 tch / ぁ st / 에 ぇ ts / S 치 즈 ぇ ゔ ぇ ts. HTML

    4. 트리거 추가 및 설정 저장



    규칙 설정을 모두 입력했으면 추가 버튼을 클릭합니다.
    이렇게 하면 Lambda 함수에 CloudWatch Events 트리거가 추가됩니다.
    또한 이 Lambda 함수에 대해 CloudWatch Events에 대한 사용 권한이 자동으로 추가됩니다.

    5. 그리고는 실행을 기다리는 것만



    지정된 시간까지 기다리면 Lambda 함수가 실행됩니다!
    제대로 실행되지 않았다면 CloudWatch로 이동하여 로그 및 이벤트 설정을 확인해 보세요. 또한, corn식으로 지정한 일시는 GMT로 해석되기 때문에, 시차의 영향이 아닐지도 모르기 때문에 체크입니다.

    CloudWatch를 열고 규칙 > 생성한 규칙 이름을 클릭하면 현재 규칙의 내용, 다음 일정, 참조된 Lambda 함수 등이 표시됩니다.


    추가 모니터링을 클릭하면 이 규칙이 호출된 시기를 확인할 수 있습니다.
    트리거의 문제인지, 함수 자체의 문제인지의 구분으로서는, Lambda 함수의 「테스트」기능도 활용할 수 있군요.

    결론



    이 기사에서는 Lambda 스크립트를 CloudWatch를 사용하여 정기적으로 실행하는 방법을 소개했습니다. 종래 스케줄 태스크의 실행에는 EC2 인스턴스를 사용해 cron을 실행하는 등으로 실현하고 있었습니다만, 이 방법이면 서버리스 아키텍쳐로 완결시킬 수 있어 매우 편리하네요. 나는 크롤러에 응용하고 있지만, 용도는 다양 할 것 같습니다.

    좋은 웹페이지 즐겨찾기