Codedeploy란, 자동으로 EC2 서버에 배포해주는 툴
AWS Lambda란, 별도의 웹서버없이 트리거와 비슷하게 특정 이벤트가 발생할 때에만 AWS에서 실행되는 함수
Step 1. SNS Topic 생성
SNS Topic 설정을 통해 메세지(또는 알람)를 주고 받을 endpoints를 지정할 수 있다. 해당 포스트같은 경우는 endpoint로 AWS Lambda를 설정한다.
1. Amazon SNS -> Topics -> Create topic 클릭
2. Standard 체크 후 Name 입력 (이 외에 설정은 선택사항임)
3. Create topic 클릭
Step 2. Lambda 함수 생성
1. AWS Lambda -> Functions -> Create function 클릭
2. Function name 입력 후 Create function 클릭
※ SNS에 접근 권한이 있는 신규 Role이 생성됨으로 함수가 만들어지기까지 시간이 조금 걸림
Step 3. Lambda 함수 환경 변수 추가
1. Configuration -> Enviornment variables -> Edit 클릭
2. SERVICES와 CHANNEL (R은 오타) 추가
SERVICES: Slack에서 받은 웹후크 URL (전체 URL이 아닌 'https://hooks.slack.com' 값 제외 '/services' 부터 시작하는 url만 넣는다.
CHANNEL: Slack 채널명
Step 4. 코드 추가
https://jojoldu.tistory.com/298 참고 후 'Deploy' 클릭
Step 5. Lambda 함수와 SNS Topic 연결
1. Add trigger 클릭
2. 'SNS' 지정 후 이전에 생성한 SNS topic 선택
Step 6. Codedeploy 트리거 설정
- 이전에 생성한 codedeploy group 선택 후 edit 클릭
- Advanced - optional 클릭
- create Trigger를 이용해 알람을 받고자하는 events와 SNS topic 선택!