자습서: 예약 이벤트와 함께 AWS Lambda 사용 - AWS Lambda

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

자습서: 예약 이벤트와 함께 AWS Lambda 사용

이 자습서에서는 다음 작업을 수행합니다.

  • URL 정기 확인 예약 블루프린트를 사용하여 Lambda 함수를 생성합니다. 1분마다 실행되도록 Lambda 함수를 구성합니다. 참고로, 함수가 오류를 반환하는 경우 Lambda는 Amazon에 오류 지표를 기록합니다. CloudWatch

  • 오류 Errors 지표가 생성될 AWS Lambda 때 Amazon SNS 주제에 메시지를 게시하도록 Lambda 함수의 지표에 CloudWatch 경보를 구성합니다. CloudWatch 이메일 알림을 수신하려면 Amazon SNS 주제를 구독합니다. 이 자습서에서는 이를 설정하기 위해 다음 작업을 수행했습니다.

    • Amazon SNS 주제 생성

    • 해당 주제에 새 메시지가 게시될 때 이메일 알림을 수신할 수 있도록 주제를 구독합니다.

    • CloudWatchAmazon에서는 오류 발생 시 Lambda 함수의 Errors 지표에 경보를 설정하여 SNS 주제에 메시지를 게시합니다.

사전 조건

이 자습서에서는 사용자가 기본 Lambda 작업과 Lambda 콘솔에 대해 어느 정도 알고 있다고 가정합니다. 그렇지 않은 경우 콘솔로 Lambda 함수 생성의 지침에 따라 첫 Lambda 함수를 생성합니다.

Lambda 함수 생성

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/lambda/에서 AWS Lambda 콘솔을 엽니다.

  2. 함수 생성을 선택합니다.

  3. 청사진 사용(Use a blueprint)을 선택합니다.

  4. 블루프린트 선택 드롭다운 목록을 열고 URL의 정기 확인 예약 블루프린트를 선택합니다.

  5. 다음 설정을 구성합니다.

    • 함수 이름 - lambda-canary.

    • Execution role(실행 역할) – AWS 정책 템플릿에서 새 역할을 생성합니다.

    • 역할 이름lambda-eventbridge-role.

    • 정책 템플릿단순 마이크로서비스 권한.

    • 규칙새 규칙 생성.

    • 규칙 이름CheckWebsiteScheduledEvent.

    • 규칙 설명CheckWebsiteScheduledEvent trigger.

    • 규칙 유형Schedule expression.

    • 예약 표현식rate(1 minute).

    • 환경 변수

      • 사이트https://docs.aws.amazon.com/lambda/latest/dg/welcome.html

      • 예상What is AWS Lambda?

  6. 함수 생성을 선택합니다.

EventBridge (CloudWatch Events) 는 일정 표현식에 따라 1분마다 이벤트를 생성합니다. 이벤트는 Lambda 함수를 트리거하여, 지정된 페이지에 해당 문자열이 나타나는지 확인합니다. 표현식 예약에 대한 자세한 내용은 Rate 또는 Cron을 사용한 예약 표현식 단원을 참조하세요.

Lambda 함수 테스트

Lambda 콘솔에서 제공하는 예제 이벤트를 사용하여 함수를 테스트합니다.

  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. lambda-canary 함수를 선택합니다.

  3. 테스트를 선택합니다.

  4. 이벤트 템플릿 (cloudwatch-scheduled-event) 을 사용하여 새 CloudWatch이벤트를 생성합니다.

  5. 이벤트 생성(Create event)을 선택합니다.

  6. Invoke를 선택합니다.

함수 실행의 출력은 페이지 상단에 표시됩니다.

Amazon SNS 주제를 생성하고 이를 구독합니다.

canary 함수가 오류를 반환할 때 알림을 받을 Amazon Simple Notification Service(Amazon SNS) 주제를 생성합니다.

주제 생성
  1. Amazon SNS 콘솔을 엽니다.

  2. Lambda 함수를 생성한 AWS 리전으로 전환합니다.

  3. 주제를 선택한 후 주제 생성을 선택합니다.

  4. 다음 설정을 사용하여 주제를 생성합니다.

    • 유형표준.

    • 이름lambda-canary-notifications.

    • 표시 이름Canary.

  5. 주제 생성을 선택합니다.

  6. lambda-canary-notifications주제 페이지에서 구독 생성을 선택합니다.

  7. 다음 설정을 사용하여 구독을 생성합니다.

    • 프로토콜Email.

    • 엔드포인트 – 이메일 주소.

  8. 구독 생성을 선택합니다.

Amazon SNS는 주제에 대한 알기 쉬운 이름을 반영하여 Canary <no-reply@sns.amazonaws.com>에서 이메일을 발송합니다. 이메일에 포함된 링크를 사용하여 주소를 확인합니다.

경보 구성

CloudWatch Amazon에서 Lambda 함수를 모니터링하고 실패 시 알림을 보내는 경보를 구성합니다.

경보를 만들려면
  1. CloudWatch 콘솔을 엽니다.

  2. Lambda 함수를 생성한 AWS 리전으로 전환합니다.

  3. All alarms(모든 경보)를 선택합니다.

  4. 경보 생성을 선택합니다.

  5. 지표 및 조건 지정(Specify metric and conditions) 페이지에서 지표 선택(Select metric)을 선택합니다.

  6. Metrics(지표) 검색 상자에 lambda-canary Errors를 입력합니다.

  7. Lambda > By Function 1 Name(Lambda > 함수 1 이름별)을 선택합니다.

  8. lambda-canary Errors 지표를 선택합니다.

  9. Specify metric and conditions(지표 및 조건 지정) 페이지의 Statistic(통계) 드롭다운 메뉴에서 Sum(합계)을 선택합니다.

  10. 임계값을 1보다 Greater/Equal(크거나 같음)로 설정합니다.

  11. Configure actions(작업 구성) 페이지에서 다음과 같은 설정으로 알림을 추가합니다.

    • 경보 상태 트리거 - 경보

    • 알림 보내기...lambda-canary-notifications

  12. Add name and description(이름 및 설명 추가) 페이지에서 다음을 입력합니다.

    • 명칭lambda-canary-alarm

    • 설명Lambda canary alarm

  13. 경보 생성을 선택하십시오.

경보 테스트

함수 구성을 업데이트하여 함수가 오류를 반환하고 경보가 트리거되도록 합니다.

경보를 트리거하려면
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. lambda-canary 함수를 선택합니다.

  3. 아래로 스크롤합니다. Environment variables(환경 변수)에서 편집을 선택합니다.

  4. expected404로 설정합니다.

  5. 저장을 선택합니다.

잠시 기다린 후 Amazon SNS에서 발송한 이메일을 확인합니다.

리소스 정리

이 자습서 용도로 생성한 리소스를 보관하고 싶지 않다면 지금 삭제할 수 있습니다. 더 이상 사용하지 않는 AWS 리소스를 삭제하면 AWS 계정에 불필요한 요금이 발생하는 것을 방지할 수 있습니다.

Lambda 함수를 삭제하려면
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. 생성한 함수를 선택합니다.

  3. 작업, 삭제를 선택합니다.

  4. 텍스트 입력 필드에 delete를 입력하고 Delete(삭제)를 선택합니다.

경보를 삭제하려면 CloudWatch
  1. CloudWatch 콘솔의 모든 알람 페이지를 엽니다.

  2. 생성한 경보를 선택합니다.

  3. 작업, 삭제를 선택합니다.

  4. Delete를 선택합니다.

Amazon SNS 구독을 삭제하려면
  1. Amazon SNS 콘솔의 구독 페이지를 엽니다.

  2. 생성한 구독을 선택합니다.

  3. 삭제삭제를 차례로 선택합니다.

Amazon SNS 주제를 삭제하려면
  1. Amazon SNS 콘솔의 주제 페이지를 엽니다.

  2. 생성한 주제를 선택합니다.

  3. Delete를 선택합니다.

  4. 텍스트 입력 필드에 delete me을 입력합니다.

  5. 삭제(Delete)를 선택합니다.