AWS EC2にPython3をインストールして、SlackBotを動かしてみた
AWS EC2にPython3をインストールして、SlackBotを動かしてみた:
「今までクラウドなんてさわったことない....でも今携わっているサービスはAWSで運用しているし、インフラ周り勉強しておきたいよね!」
「AWSのサービス多すぎてワカラナイ」
とりあえずEC2でサーバ立てるか(ボソッ
コンソール触るのも慣れるっしょ...
Amazon Linux 2 AMI (HVM), SSD Volume Typeをえらびました。
デフォルトでどんどん進んで最後の画面で「作成」を押すと、インスタンス一覧画面に戻り、一覧に1つインスタンスが表示されます。
※鍵ファイルがどこかのタイミングで生成されます。ssh接続の時に必要なのでなくさないよう注意しましょう。
この時点ではまだ作成が終わっていなくて、インスタンスの状態が「running」になるまで数分待ちます。ボタンをポチポチするだけでインスタンスが作成できました。
このままだとただサーバが立っているだけなので、何か動かしてみようと思います。
ローカルで動かしていたPythonで書いたSlackBotを、このEC2インスタンスに乗せてみます(SlackBotの具体的な実装については割愛)。
一覧で対象のEC2インスタンスを選択、「接続」ボタンを押下すると、コマンドを教えてくれます。
- git
- pyenv(パス通す)
pyenvのデフォルトがPython2系だったので、3.6.2を入れました。
3.6.2をインストールするときに必要なモジュールはエラーのたびに追加しました。
SlackでBotをinviteして話しかけたらレスポンスが帰ってきた!!
ここまで読んでくださりありがとうございました。
機会があったらSlackBot側についても記事を書いてみたいと思います。
やろうと思ったきっかけ
「今までクラウドなんてさわったことない....でも今携わっているサービスはAWSで運用しているし、インフラ周り勉強しておきたいよね!」
で、何から勉強すりゃいいのよ
「AWSのサービス多すぎてワカラナイ」
今プロジェクトで使ってるAWSのサービスを洗い出してみる
- Elastic Beanstalk
- EC2
- RDS(Aurora)
- Lambda
- S3
- Elastic Search
- Cloud Front
- Cloud Watch
- Api Gateway
とりあえずEC2でサーバ立てるか(ボソッ
コンソール触るのも慣れるっしょ...
コンソールにログインだ!
「EC2」を検索!
インスタンスの作成
Amazon Linux 2 AMI (HVM), SSD Volume Typeをえらびました。
設定
デフォルトでどんどん進んで最後の画面で「作成」を押すと、インスタンス一覧画面に戻り、一覧に1つインスタンスが表示されます。※鍵ファイルがどこかのタイミングで生成されます。ssh接続の時に必要なのでなくさないよう注意しましょう。
この時点ではまだ作成が終わっていなくて、インスタンスの状態が「running」になるまで数分待ちます。ボタンをポチポチするだけでインスタンスが作成できました。
なんか動かしてみたい
このままだとただサーバが立っているだけなので、何か動かしてみようと思います。ローカルで動かしていたPythonで書いたSlackBotを、このEC2インスタンスに乗せてみます(SlackBotの具体的な実装については割愛)。
EC2インスタンスにsshで接続
一覧で対象のEC2インスタンスを選択、「接続」ボタンを押下すると、コマンドを教えてくれます。
#ファイルの権限エラーの場合は下記を実行 chmod 400 [鍵ファイル名] #接続コマンド ssh -i [鍵ファイル名] [EC2インスタンスのエンドポイント]
ログイン
必要なモジュールをインストール
- git- pyenv(パス通す)
pyenvのデフォルトがPython2系だったので、3.6.2を入れました。
3.6.2をインストールするときに必要なモジュールはエラーのたびに追加しました。
環境が整ったら
#ssh切断後も動いててほしい nohup python xxx.py &
start slackbotのログが出力されてで起動成功。
動かしてみた
SlackでBotをinviteして話しかけたらレスポンスが帰ってきた!!ここまで読んでくださりありがとうございました。
機会があったらSlackBot側についても記事を書いてみたいと思います。
コメント
コメントを投稿