개요
매일 정오에 이번 달 aws 요금이 얼마나 나왔는지 알려주는 봇을 만드는 과정이다.
친절하게 한화로도 알려주게끔 만들었다.
무분별한 수정과 배포를 환영합니다.
준비물
1. ssh 접속이 가능하고 docker, docker-compose가 정상 설치된 서버
2. 채팅을 올리려는 채널의 discord 봇 webhook url
3. 요금을 보려는 aws 계정의 access key
discord 봇 webhook url 만드는 방법을 모른다면?
aws access key 만드는 방법을 모른다면?
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 봇을 만드는 건 처음이었는데 생각보다 간단해서 신기했다. 하루종일 컴퓨터 앞에 앉아있어서 치질에 걸릴 것 같지만 재밌어서 또 해보고 싶은 작업이다. 앞으로 이것저것 봇을 만들어서 배포해보고 싶다.