iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

Re:YammerでHubotを利用する(環境構築編1)

前書き

ご無沙汰しております。iPXのabikoです。
まだまだ残暑が続く中、皆さまいかがお過ごしでしょうか。
私はお盆半ばにして体調をくずし、風邪にしては長めに体調不良を引きずったのですが、ようやく回復してまいりました。
夏風邪のやっかいさを思い知っております。皆さまもお気をつけください。
大分間が空いてしましましたが、今回はHubotの実装について記事を書いていこうと思います。

再び環境構築をば

前回はローカルPC(Windows)にHubotをインストールしましたが、Botなのでサーバ上で動かし続けていたい、という思いから今回はサーバにインストールし直します。
使用するサービスは、Amazon EC2 (クラウド仮想サーバー)です。
※ローカルPCはWindows7 64bit

今回はひとまず Amazon EC2Amazon Linuxインスタンスを作成してSSHで接続するところまでです。

参考サイト

私がHubotの記事をお休みしている間に、webでは大変有益な情報が上がっていましたので紹介します。
Hubot を Amazon EC2 にセットアップして Yammer に投稿する - Qiita

では環境構築

上記のサイトの通りに進めれば環境構築はおろか、発言への反応までも完了するはずです。
ただ、私が進めていて躓いたところもありますので、接続が完了するところまでを順を追ってみていきます。

Amazon EC2 の利用登録

AWS(Amazon Web Services)を初めて利用する場合は、1年間無料です。
下記のURLから登録を進め、アカウント登録を完了させます。
【AWS の仮想サーバー】Amazon EC2 (安全かつスケーラブルなクラウドサーバーホスティング) | AWS

※注意点
1.IEを使用すると、「Amazon EC2を無料で開始」を押した後、英語で登録画面が開く場合があります。
  私はFirefoxを使用することで回避できました。
2.利用登録を行うと、もれなくAmazon.com(U.S.)のアカウントもついてきます。
  ※amazon.co.jp のアカウントに対し AWS の利用設定はできません。
3.そのため、住所等の入力項目はすべて半角英数で入力する必要があります。
4.サポートプランは「ペーシック」を選択しました。

f:id:ipx-writer:20170902012831p:plain:w320f:id:ipx-writer:20170902013238p:plain:w190
f:id:ipx-writer:20170902013603p:plain:w370

仮想マシンの起動

下記の手順を踏むと、インスタンスが作成され起動します。

1.ログインしたページにて
 「仮想マシンを起動」> EC2 インスタンス >「今すぐはじめる」
f:id:ipx-writer:20170902013905p:plain:w350
f:id:ipx-writer:20170902014302p:plain:w350
2.「EC2 インスタンスの迅速な起動」にて、EC2インスタンスに任意の名前を指定
 「BOTInstance(例)」>「この名前を使用する」
f:id:ipx-writer:20170902014546p:plain:w370
3.「オペレーションシステムの選択」にて
 「Amazon Linux AMI」>「続行」
4.「インスタンスタイプの選択」にて
 「t2.micro」>「続行」
5.「キーペアの作成」にて
 「ダウンロード」>「OK!ダウンロードを開始」
6.「このインスタンスを作成」> 作成が完了するまで待つ >「EC2 コンソールに進む」
f:id:ipx-writer:20170902014717p:plain:w350
f:id:ipx-writer:20170902014827p:plain:w270

ローカルPCからのSSH接続を許可

ここが躓きポイントです。
インスタンスのセキュリティグループを編集してSSH接続の許可します。
この設定をしないとローカルPCのSSHクライアントから接続ができません。

1.「インスタンス」ページ内にある BOTInstanceの項目について、セキュリティグループのリンクをクリック
f:id:ipx-writer:20170902015157p:plain:w370
2.リンク先のセキュリティグループを右クリックして「インバウンドのルールの編集」を選択
f:id:ipx-writer:20170902015256p:plain:w260
3.現れた「インバウンドのルールの編集」画面で「ルールの追加」を選択
f:id:ipx-writer:20170902020000p:plain:w260
4.タイプ列で「SSH」を選択
5.ソース列で「マイIP」を選択
  →自分のローカルPCのIPが自動で設定されます
6.「保存」
f:id:ipx-writer:20170902020226p:plain:w600

PuTTY(SSHクライアント)の用意

自分のローカル環境に合った最新版インストーラをダウンロードしてインストールします。
Download PuTTY: latest release (0.70)

PuTTYのインストールは全てデフォルトのまま進めました。

秘密キーの変換

仮想マシンの起動の「5.」でダウンロードしたプライベートキー(BOTInstance.pem)をPuTTYが使用できる形式(.ppk)に変換します。
下記URLの「PuTTYgen を使用した秘密キーの変換」項目の通りに進めます。
PuTTY を使用した Windows から Linux インスタンスへの接続 - Amazon Elastic Compute Cloud

PuTTYgen は PuTTY のインストール時に一緒にインストールされているはずです。
(スタートメニューにて「PuTTYgen」で検索をかければすぐに見つかります。)
「Load」でダウンロードしたプライベートキーファイル(BOTInstance.pem)を読み込み、「Save private key」で変換して出力(BOTInstance.ppk)します。
f:id:ipx-writer:20170902021105p:plain:w400

PuTTY 本体の設定

PuTTY 本体の設定です。
前項と同じく、下記URLの「PuTTY セッションの開始」項目の通りに進めます。
※「1.」の項目は実施しなくても構いません。
PuTTY を使用した Windows から Linux インスタンスへの接続 - Amazon Elastic Compute Cloud

※画像で補足
Authの設定
f:id:ipx-writer:20170902023007p:plain:w400
Sessionの設定
f:id:ipx-writer:20170902022740p:plain:w400

いざ接続

PuTTY で BOTInstance に接続します。
「Open」をクリック
f:id:ipx-writer:20170902023410p:plain
起動時に警告画面が出ますが、「はい」を選択して進めます。
f:id:ipx-writer:20170902023548p:plain:w250
無事接続完了です。
f:id:ipx-writer:20170902023826p:plain:w400

やっておくと良いこと

クラウドではやっぱり気になるセキュリティ。
AWSアカウントのセキュリティ強化はしておくに越したことはありません。
下記のURLがとてもわかりやすくまとまっています。参考にどうぞ。
AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ - Qiita

次回

次回はHubotのインストールと発言への受け答えまでを考えています。
お付き合い頂きありがとうございました。
それではまた、お会いしましょう。