텔레그램 봇 서버는 어떻게 세팅하나요?
파이썬으로 코드는 작성하였고 텔레그램 봇 계정도 만들었는데
어떻게 aws 서버를 세팅하고 스크립트를 업로드하는지 알 수 있을까요?
안녕하세요.
텔레그램 봇과 AWS를 사용하는 방법은 여러가지가 있습니다.
대표로,
AWS EC2 Service를 이용하는 방법
AWS Lambda Service를 이용하는 방법
이 있습니다.
1번의 경우에는 일종의 서버를 생성하여 구축하는 방법입니다.
EC2 인스턴스(일종의 가상컴퓨터)를 생성하여 소스를 scp를 이용하여 옮긴 후 ssh로 접속해 구축할 수 있습니다.
해당 방법에 대해 잘 설명되어있는 링크 첨부 드립니다.
EC2 인스턴스 생성: https://docs.aws.amazon.com/kokr/AWSEC2/latest/UserGuide/EC2GetStarted.html
ssh 사용 예제:
https://hackertarget.com/ssh-examples-tunnels/
scp 사용 예제: http://www.hypexr.org/linuxscphelp.php
위 방법으로 구축하시고 쉘에 접속하셔서 개인 pc에서 실행하듯이 실행하시면 됩니다.
예를 들어 python으로 제작한 봇을 구동 시키고 싶을 경우 아래와 같이 실행하실 수 있을것입니다.
$ nohup python -u telegramBot.py & $ tail -f nohub.out2번의 경우 aws에 스크립트를 올려 이벤트(텔레그램으로부터의 요청)이 들어오면 동작되는 방법입니다.
보통은 AWS API Gateway Service와 AWS DunamoDB를 같이 사용합니다.
이 또한 관련 링크 첨부 드립니다.
API Gateway와 Lambda 사용: http://labs.brandi.co.kr/2018/07/31/kwakjs.html
Lambda에서 telegrambot 구현하기: https://devlog.jwgo.kr/2018/03/07/how-to-create-telegrambot-in-python-using-aws-lambda/
두 가지 방법 모두 각각의 장단점이 있습니다.
꼽자면,
1번의 경우: 기존에 서버에서 구축하는것과 같아 linux를 안다면 구축이 쉽습니다.
다만 서버 전체적인 부분을 다 관리해야하고, os에 대한 리소스까지 소모되므로 비쌉니다.
——
2번의 경우: 사용한 만큼만 지불하므로 저렴하고 관리가 용이합니다.
다만, lambda 등 AWS에 대한 공부가 필요합니다.
——
저의 경우 2번을 선호하고 추천드리나, 이미 구현이 되어있는 상태에서 서버에 올리기만 하면 된다면 1번이 더 쉽고 간편하게 구축하실 수 있으리라 생각됩니다.
질문 범위가 넓고 설명할 부분이 많아 설명이 빈약하고 링크로 대체하는점 양해 부탁드립니다.
개인적으로 연락 주시거나 자세한 질문 다시 올려주시면 성심성의껏 답해드리겠습니다 :)
Ps. 해당 질문은 텔레그램보다 aws에 대한 질문인것 같군요 많은 답변자가 보기 위해서는 제목과 해시태그를 수정하시는게 좋을것 같습니다 :)