본문 바로가기

Cloud

[AWS] Lambda를 통한 Slack 발송

클라우드 운영 시 모니터링 기능을 개선하고자 실시간으로 이벤트 발생 시 Slack으로 메시지를 수신받도록 구성하기 위해 테스트 방법을 기술한다.

 

#Lambda → Slack 메시지 발송 사전 준비사항

1. IAM 역할 생성
2. Lambda Function 생성
3. Slack WebHook URL
4. TEST 발송

#구축방법

 

Case 1) IAM 역할 생성

AWS ManagedConsole → IAM → 역할 생성(1단계)


AWS ManagedConsole → IAM → 역할 생성(2단계) 권한 정책 부여


AWS ManagedConsole → IAM → 역할 생성(3단계)  역할 이름 지정 후 생성 완료



Case 2) Lambda Function 생성

함수 이름 및 Python 3.9 선택


역할 지정(IAM 정책) 후 함수 생성


Web Hook Sample Code

import json
import urllib.request

def post_slack(argStr):
    message = argStr
    send_data = {
        "text": message,
    }
    send_text = json.dumps(send_data)
    request = urllib.request.Request(
        "WebHooks URL", 
        data=send_text.encode('utf-8'), 
    )

    with urllib.request.urlopen(request) as response:
        slack_message = response.read()

def lambda_handler(event, context):
    post_slack("Slack Notification Test!!!")

소스코드 작성 후 테스트 발송 진행

* Slack 내 수신 웹 후크 추가하여 Lambda 내 웹 훅 URL 지정 필요


 

'Cloud' 카테고리의 다른 글

[AWS] Security Group VS Network ACLs 보안 기능  (0) 2022.08.08
[AWS] CloudFront 정리  (0) 2022.02.21
[AWS] Client VPN  (0) 2021.12.08
[AWS] VPC 네트워크 ACL  (0) 2021.08.12
[AWS] WorkSpaces 업무 망 분리  (0) 2021.08.04