일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- dockerfile로 stackdriver-export이미지 생성
- compose.yml로 stackdriver-export 서비스 설정
- Prometheus 서버 설정
- GCP VM
- git
- github 사용법
- Prometheus 서버 설치
- prometheus 연동
- 정적 웹 사이트 호스팅
- permission denied 에러 발생
- prometheus.yml 파일 설정
- 방화벽 오픈
- stackdriver exporter 설치
- gke 클러스터 액세스 설정
- github
- minikube 설치 및 실행
- kubectl 설치
- 포트 9255 설정
- 리소스삭제
- prometheus 서버 서비스등록
- stackdriver exporter
- 애플리케이션 기본 사용자 인증 정보
- GCP 모니터링
- 리소스전체삭제
- 서비스 계정 키 설정
- prometheus dockerfile
- aws-nuke
- 스위치 4대 기능
- vs code로 ssh 접속
- ADC 사용자 인증
- Today
- Total
My __ 노트
AWS PHD 알람 설정 (2) - CloudFormation으로 SNS와 ChatBot을 이용하여 알림 전송 본문
계정이 한 두 개일 경우 콘솔에서 직접 설정하여도 무리가 없지만 계정이 수십 개일 경우 반복되는 작업 진행으로 인해 업무 효율이 떨어질 수 있으므로 코드 스택으로 한 번에 설정할 수 있는 방법을 찾았습니다.
해당 글은 CloudFormation으로 SNS와 ChatBot을 이용하여 Slack에 알람을 보내는 방법에 대해 기재하였으며 아키텍처는 아래와 같습니다.
콘솔에서 직접 설정하는 방법에 대해서는 해당 글을 참고 하시기 바랍니다.
☞ 콘솔에서 설정하기
목차
▶ 필요한 사전 작업
▶ Cloudformation 스택코드 - yaml 형식
▶ 필요한 사전 작업
⊙ Chatbot에서 채팅 클라이언트 구성을 한 후 생성한 slack workspace에서 WorkSpace ID를 복사해 두어야 합니다.
⊙ 알람을 전송할 슬랙 채널 ID를 복사해 두어야 합니다.
▶ Cloudformation 스택 코드 - yaml 형식
AWSTemplateFormatVersion: 2010-09-09
Description: SNS Topic for Health Issue Notice
Parameters:
SlackWorkspaceID:
Type: String
Description: Slack Workspace ID for sending notifications
SlackChannelId:
Type: String
Description: Slack Channel ID for sending notifications
slack workspace ID 와 slack 채널 ID 값을 지정할 수 있는 파라미터 코드를 작성합니다.
Resources:
#SNS 주제 생성
SnsTopic:
Type: AWS::SNS::Topic
Properties:
TopicName: !Sub health-issue-topic
SNS 주제 생성을 설정합니다. 해당 설정은 콘솔에서 아래와 같은 부분입니다.
Resources:
#SNS 주제에 사용될 액세스 정책 설정
SnsTopicPolicy:
Type: AWS::SNS::TopicPolicy
Properties:
PolicyDocument:
Statement:
- Effect: Allow
Principal:
Service: events.amazonaws.com
Action: sns:Publish
Resource: '*'
Topics:
- !Ref SnsTopic
콘솔에서 SNS 주제 생성 시 아래와 같은 액세스 정책이 기본으로 설정되어 있지만 스택으로 생성 시에는 사용할 액세스 정책을 지정해 주어야 합니다.
Resources:
#Eventbridge 버스 규칙 생성
AWSEventRule:
Type: AWS::Events::Rule
Properties:
State: ENABLED
EventPattern:
source:
- aws.health
Name: !Sub health-issue-event-rule
Targets:
- Id: !Sub health-issue-topic
Arn: !Ref SnsTopic
EventPattern 은 콘솔에서 아래 이미지와 같이 이벤트 패턴 부분에 대한 설정이며
Targets 은 콘솔에서 아래 이미지와 같이 대상에 대한 설정입니다.
Resources:
#chatbot에 사용될 iam 역할
ChatbotIamRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Sub chatbot-role
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service: chatbot.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess
chatbot에 사용될 권한에 대한 설정이며 콘솔에서 아래와 같은 부분입니다.
Resources:
#chatbot 설정
ChatbotToSlack:
Type: AWS::Chatbot::SlackChannelConfiguration
Properties:
ConfigurationName: !Sub chatbot-to-slack
IamRoleArn: !GetAtt ChatbotIamRole.Arn
SlackWorkspaceId: !Ref SlackWorkspaceID
SlackChannelId: !Ref SlackChannelId
SnsTopicArns:
- !Ref SnsTopic
slack workspace ID 와 slack channel ID 및 필요한 iam 권한에 대한 값을 지정 후 SNS 주제를 선택하여 chatbot을 설정합니다.
위 yaml 코드를 Cloudformation 스택에 올려 한 번에 PHD 알람 설정을 할 수 있으며 리소스 삭제 시에도 스택만 삭제하면 생성된 리소스들이 함께 삭제되는 이점이 있습니다.
'클라우드 > AWS(클라우드)' 카테고리의 다른 글
AWS RDS 이벤트 로그 조회 및 수집 (0) | 2023.10.10 |
---|---|
AWS PHD 알람 설정 (3) - CloudFormation으로 Lambda를 이용하여 알림 전송 (0) | 2023.10.09 |
AWS PHD 알람 설정 (1) - 콘솔에서 SNS와 Chatbot을 이용하여 알람 전송 (0) | 2023.10.05 |
AWS 클라우드 VPC 리소스들에 대한 개념 (4) | 2020.12.09 |
AWS CloudFormation을 사용한 인프라 배포 자동화 (2) | 2020.11.28 |