Dockerized Python Script on EC2

barely-works·2020년 3월 18일
0

telegram-bot

목록 보기
3/9

어제 Telegram API 와 Bitfront API 를 이용해서 Python 으로 현재 가격으로 알려주는 Telegram Bot Script 를 만들었다.

수동으로 실행시켜주면 한번 돌아가는 Script 였고, 오늘 추가한 기능은 아래와 같다.

  • 여러명의 사용자에게 알림을 줄 수 있도록 변경
  • 전송 성공 혹은 전송 할 사용자가 없는 경우 STDOUT 으로 Log 출력
  • BTC, ETH, LN 각각 특정 가격 이상이나 이하인 경우에만 알림
  • 경우에 따라 1분에서 10분 간격으로 체크
  • README 업데이트

해당 스크립트를 dockerize 하였고, AWS EC2 free tier instance 에 docker 로 띄웠다. dockerize 를 하는데 이 가벼운 스크립트가 350Mb 를 상회하는 것을 발견해서 가장 가벼운 python3 base image 로 교체해 용량을 19.02Mb 로 줄였다.

현재를 docker image tag 기준 v1.0.0 으로 따서 돌아가는 중.

https://github.com/Junyong-Suh/bitfront-telegram-bot/tree/v1.2.0

EC2 & Docker Setup

가장 쉽게 쓸 수 있는 상태로 만드는 방법

  • Instance: Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-021bb9f371690f97a

  • Setup 과정에서 Security Group 에 SSH 는 우리 집 IP 를 열어준다.

  • SSH 로는 .pem file 사용해서 직접 접근 ssh ec2-user@YOUR_PUBLIC_IP -i YOUR_PATH_TO/YOUR_PEM_FILE.pem

  • 아래와 같이 docker 만 살포시 깔고 실행

sudo yum update -y
sudo yum install git -y
sudo yum install docker -y
sudo docker service start
sudo docker login
sudo docker run -d YOUR_DOCKER_HUB_ID/YOUR_IMAGE:YOUR_TAG

References

profile
another backend engineer

0개의 댓글