AWS EC2にPython3をインストールして、SlackBotを動かしてみた

AWS EC2にPython3をインストールして、SlackBotを動かしてみた:


やろうと思ったきっかけ

「今までクラウドなんてさわったことない....でも今携わっているサービスはAWSで運用しているし、インフラ周り勉強しておきたいよね!」


で、何から勉強すりゃいいのよ

「AWSのサービス多すぎてワカラナイ」


今プロジェクトで使ってるAWSのサービスを洗い出してみる

  • Elastic Beanstalk
  • EC2
  • RDS(Aurora)
  • Lambda
  • S3
  • Elastic Search
  • Cloud Front
  • Cloud Watch
  • Api Gateway
etc...

とりあえずEC2でサーバ立てるか(ボソッ

コンソール触るのも慣れるっしょ...


コンソールにログインだ!



スクリーンショット 2018-10-18 14.47.49.png



「EC2」を検索!



スクリーンショット 2018-10-18 14.50.36.png



インスタンスの作成



スクリーンショット 2018-10-18 14.53.36.png



:thinking:



スクリーンショット 2018-10-18 14.55.13.png

Amazon Linux 2 AMI (HVM), SSD Volume Typeをえらびました。


設定

デフォルトでどんどん進んで最後の画面で「作成」を押すと、インスタンス一覧画面に戻り、一覧に1つインスタンスが表示されます。
※鍵ファイルがどこかのタイミングで生成されます。ssh接続の時に必要なのでなくさないよう注意しましょう。

この時点ではまだ作成が終わっていなくて、インスタンスの状態が「running」になるまで数分待ちます。ボタンをポチポチするだけでインスタンスが作成できました。


なんか動かしてみたい

このままだとただサーバが立っているだけなので、何か動かしてみようと思います。

ローカルで動かしていたPythonで書いたSlackBotを、このEC2インスタンスに乗せてみます(SlackBotの具体的な実装については割愛)。


EC2インスタンスにsshで接続

スクリーンショット 2018-10-18 15.06.51.png

一覧で対象のEC2インスタンスを選択、「接続」ボタンを押下すると、コマンドを教えてくれます。


スクリーンショット 2018-10-18 15.08.12.png


#ファイルの権限エラーの場合は下記を実行 
chmod 400 [鍵ファイル名] 
#接続コマンド 
ssh -i [鍵ファイル名] [EC2インスタンスのエンドポイント] 


ログイン



スクリーンショット 2018-10-18 15.16.12.png



必要なモジュールをインストール

- git

- pyenv(パス通す)

pyenvのデフォルトがPython2系だったので、3.6.2を入れました。

3.6.2をインストールするときに必要なモジュールはエラーのたびに追加しました。


環境が整ったら

#ssh切断後も動いててほしい 
nohup python xxx.py & 
start slackbot
のログが出力されてで起動成功。


動かしてみた

SlackでBotをinviteして話しかけたらレスポンスが帰ってきた!!

ここまで読んでくださりありがとうございました。

機会があったらSlackBot側についても記事を書いてみたいと思います。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)