본문 바로가기

클라우드&도커/AWS,아마존

Lambda로 Slack에 메세지 작성하기




















Lambda에 대해서 관심이 생겼서

일단 간단하게 Slack에 메세지를 작성하는 것을 구현해봤어요.



좋은 문서가 있어서 이걸 그대로 따라하면 되는데요.



AWS Lambda와 Slack을 이용한 DevOps Chatroom 구현하기

https://aws.amazon.com/ko/blogs/korea/slack-devops-with-aws-lambda-and-eb/



위 웹 페이지에 나온 것 처럼 Beanstalk를 활용해도 되지만

저는 기존에 운영하는 EC2 인스턴스가 존재하기 때문에 이를 활용해봤어요.









또 다른 참고 문서로는 


AWS Lambda와 Slack을 이용한 DevOps Chatroom 구현하기

https://aws.amazon.com/ko/blogs/korea/new-slack-integration-blueprints-for-aws-lambda/



위 웹 페이지에 나와 있는 그림을 참고하시면 내용 이해에 도움이 됩니다.










요 포스팅에서는 간단하게만 

(나중에 또 까먹을지도 모르니깐)

기록용으로 남겨봅니다.




1. CloudWatch에서 EC2 인스턴스 CPU 평균 사용량에 대해서 Alarm 생성.







2. Lambda 함수 생성





위 Blueprint를 선택해서 진행하면

함수 코드 자체를 건들 필요는 없어요.


대신 아래 변수 2개는 작성해주셔야합니다.





채널 이름은 slack에 있는 채널 이름을 그냥 작성해주시면 됩니다.

대신 kmsEncryptedHookUrl은 첫 번째 문서를 보고 따라 하셔서 생성하시면 됩니다.



kmsEncryptedHookUrl을 만드는 과정에서 IAM을 활용해야 하는데요.


만드는 사용자에게 권한설정을 잘 해줘야 합니다. 



조금 복잡할수 도 있지만..



IAM에 접속해서 Users 탭에서 사용자를 선택합니다.

어떤 사용자를 선택하냐고요? KMS 권한을 가질 사용자요.


없으면 사용자 / 그룹을 하나씩 만들어주셔야합니다.




위 그림에서 Add permissions을 선택하면 아래와 같은 화면을 볼 수 있습니다. 

참고해서 선택해주세요.






create policy를 선택한 화면인데요.

여기서 Copy an AWS Managed Policy를 선택해줍니다.


변경된 페이지에서 

key를 검색하고 


첫 번째 나와있는 AWSKeyManagementServicePowerUser를 선택해줍니다.





Review Policy 화면에서 

"kms:Encrypt",  


를 추가해줍니다.




다시 아래와 같은 페이지로 돌아와서

그림을 참고해서 Permission을 추가해줍니다. 








요 과정만 조금 헷갈리고 나머지는

그냥 버튼 클릭하는데로 CLI 사용하는데로

문서를 따라하시면 됩니다.




결론은 위와 같이 slack에서 메세지를 확인할 수 있습니다.


제가 위에 첨부한 2개 문서를 잘 참고하시고

이번 포스팅 내용을 약간 사용한다면


쉽게 메세지를 slack에 뿌리실 수 있을꺼에요 :)










'클라우드&도커 > AWS,아마존' 카테고리의 다른 글

AWS EC2 Reserved Instance Purchase  (0) 2017.02.26
jQuery Ajax with x-api-key  (0) 2017.02.12
AWS RDS - Reserved Purchases  (0) 2017.01.30
Lambda로 Slack에 메세지 작성하기  (0) 2016.12.08
AWS Certificate - CF / ELB 연계  (0) 2016.12.07
AWS MFA 초기화 / 삭제  (0) 2016.11.24
AWS RDS (postgreSQL) connection  (0) 2016.09.02
S3 setting : CORS allow  (0) 2016.08.16