[AWS] CodePipeline 알림을 Slack으로 받아보자!! - AWS Chatbot

know._.friendship·2023년 12월 29일
post-thumbnail

AWS Chatbot을 사용하여 Slack 채널에 CodePipeline 시작, 성공 및 실패의 알림을 받을 수 있게 설정해보겠습니다.

테스트용 Slack 워크스페이스의 캡쳐입니다. 저는 cicd-excution이라는 채널에 수행 결과의 알림을 받을 수 있도록 설정해 보겠습니다.

AWS Chatbot이란??

  • AWS Chatbot은 Amazon Chime, Microsoft Teams 또는 Slack 채널에서 AWS용 ChatOps를 손쉽게 설정하여 여러 AWS 서비스와 안전하게 상호 작용할 수 있게 해주는 대화형 에이전트입니다.
  • AWS 서비스에서 발생하는 여러 유형의 알림을 받아볼 수 있습니다. 예를 들어, Amazon CloudWatch Events, AWS Health 이벤트, AWS Config 알림 등을 채팅으로 전달할 수 있습니다.
  • 특정 이벤트 또는 특정 리소스에 대한 사용자 정의 알림을 생성하여 원하는 조건에 맞게 통지를 받을 수 있습니다.

Step 1. AWS Chatbot 생성

  1. 콘솔에서 AWS Chatbot 찾기
  1. Slack 선택 후 클라이언트 구성 선택
  1. 클라이언트 구성을 누르셨다면 자동으로 슬랙의 어느 워크스페이스와 연결할 것인지 slack으로 redirect 됩니다. 연결할 워크스페이스의 Slack URL을 입력해줍니다.

  2. 연동할 워크스페이스에 엑세스 하기 위해 권한 요청 화면에서 허용을 눌러줍니다.

  1. 허용을 눌러주면 Slack에서 AWS Chatbot이 승인되었다는 알림과 함께 콘솔로 돌아옵니다
  1. Slack 실행 후 채널 아래에 앱 → 앱 추가 → AWS Chatbot을 클릭합니다.

Step 2. AWS Chatbot의 Channel 구성

Slack Channel 구성을 통해 실제 알림을 받을 워크스페이스의 내부 채널에 연동하기 위한 작업입니다.

  1. 새 채널 구성에 들어갑니다.
  1. Slack 채널 구성을 합니다.
  • 구성 이름을 설정해주고 알림을 받을 Slack 채널의 유형에 따라 퍼블릭 or 프라이빗을 선택해주고 채널을 선택합니다.
  1. AWS Chatbot의 IAM Role을 생성해줍니다.
  • 알림 용도로 사용할 것이므로, 알림 권한 정책을 부여해줍니다. 저는 AWSChatbot-notification-rule이라는 IAM Role을 생성했습니다.
  • 채널 가드 레일 정책은 채널에 있는 멤버들이 수행할 수 있는 작업들을 세부적으로 제어 할 수 있습니다.

  • AWS Chatbot을 이용하여 CodePipleline의 상태를 SNS를 통해 전달하기 위해 AmazonSNSFullAccess 권한을 부여합니다.

  • 알림 - 선택 사항 : 다른 리전 추가는 설정을 하지 않아도 됩니다. notification rule을 생성하면 자동으로 주제가 생성됩니다.

  • 이렇게 완성된 Slack 채널 정보를 확인 할 수 있습니다.

Step 3. AWS Chatbot의 notification rule 생성

AWS Notification Rule이란 AWS Notification Rules는 AWS에서 발생하는 이벤트에 대한 알림을 설정하고 관리할 수 있는 기능입니다.

  1. 알림을 받고자하는 CodePipeline에서 알림을 누른 후 알림 규칙 생성을 클릭합니다.
  1. 알림 규칙 생성에서 원하는 알림 이름과 알림을 트리거하는 이벤트를 설정해 줍니다.
  1. 대상에서 AWS Chatbot(Slack)을 선택하고 Step 2에서 만들었던 대상을 선택해줍니다.

  2. 알림 규칙 대상을 확인 할 수 있으며 Chatbot의 주제가 설정 된 것을 확인 할 수 있습니다.

Step 4. 결과

AWS Codepipeline의 Notification rule에 따라 파이프라인의 시작, 성공 및 실패의 알림을 Slack Channel로 알림이 오는 것을 확인 할 수 있습니다! ᕦ(ò_óˇ)ᕤ

시작 & 성공 시 알림

시작 & 실패 시 알림

profile
Continuous IT/Continuous Development

0개의 댓글