개요
매일 정오에 이번 달 aws 요금이 얼마나 나왔는지 알려주는 봇을 만드는 과정이다.
친절하게 한화로도 알려주게끔 만들었다.
무분별한 수정과 배포를 환영합니다.
준비물
1. ssh 접속이 가능하고 docker, docker-compose가 정상 설치된 서버
2. 채팅을 올리려는 채널의 discord 봇 webhook url
3. 요금을 보려는 aws 계정의 access key
discord 봇 webhook url 만드는 방법을 모른다면?
Discord - 봇 만들기
개요discord 기본 봇을 만드는 과정을 담은 글이다.1. 채널 편집 페이지2. 연동 - 웹후크3. 웹후크 만들기웹후크 url이 필요없다면 이름과 프로필 사진만 바꾸면 된다.웹후크 url이 필요할 경우 아래
dev-kimchi.tistory.com
aws access key 만드는 방법을 모른다면?
AWS - Access Key 생성
개요AWS access key 생성에 관한 정리 글이다.1. AWS 홈페이지 -> 보안 자격 증명 페이지 이동2.엑세스 키 만들기스크롤을 밑으로 조금만 내리면 있는 2개의 버튼 중 마음에 드는 버튼을 클릭하면 된다.
dev-kimchi.tistory.com
1. bot repository clone
서버에 ssh 접속한 후 아래 명령어로 bot repository를 clone한다.
git clone https://github.com/Aleph-Kim/discord-aws-cost-bot
2. .env 파일 설정
repository 디렉토리에 들어가 환경변수 파일을 설정한다.
cd discord-aws-cost-bot
vi .env
env
AWS_ACCESS_KEY_ID= # aws access key id EX)ASDA123DSASNMGOQW
AWS_SECRET_ACCESS_KEY= # aws secret access key EX)aQAAz/asdq1/gbniputh1ngig
DISCORD_WEBHOOK_URL= # discord bot webhook url EX)https://discord.com/api/webhooks/123123123/MlrGA7c6RSzzM5WwEPUZECMRLcugOiIEGN-a79MNANsrpvUrasjdioqnmwd129L
3. 실행 테스트
아래 명령어를 사용하여 이미지와 같이 채팅이 올라가는지 확인한다.
만약 권한 오류가 발생한다면 명령어 앞에 sudo를 붙여서 실행한다.
docker-compose up dev --build
4. 스케줄러 실행
여기까지 정상적으로 진행 되었다면 아래 명령어를 사용한 후 설정을 마무리한다
위와 마찬가지로 권한 오류가 발생한다면 명령어 앞에 sudo를 붙여서 실행한다.
docker-compose up prod --build
5. 마무리
아래 이미지처럼 나온다면 정상적으로 실행이 된 것이다.
터미널을 종료하면 된다.
후기
discord 봇을 만드는 건 처음이었는데 생각보다 간단해서 신기했다. 하루종일 컴퓨터 앞에 앉아있어서 치질에 걸릴 것 같지만 재밌어서 또 해보고 싶은 작업이다. 앞으로 이것저것 봇을 만들어서 배포해보고 싶다.