この前AWSの勉強会に行ってきました。
そのメモを兼ねてAWS+Hubot+Slackを使ってBOTを作る方法を投稿します:)
AWSは登録から一ヶ月くらいは無料でサーバーを作れるので嬉しいです:)
思ったより長くなってしまったので前半/後半に分けますX(
後半はこちら
http://qiita.com/ShirakawaYoshimaru/items/2823a00ceb0bc1b3ef9f
###構成はこんな感じ
- (前半)1.EC2サーバー作成のための下準備
- (前半)2.EC2サーバーを立てる
- (後半)3.SlackのBOT設定
- (後半)4.EC2サーバーに入ってHubotを作る
- (後半)5.Tips
間違いやアドバイス等があったら気軽にコメントください><
では始めて行きます :)
##1.EC2サーバー作成のための下準備
EC2サーバーを立てるには、
VPC作成 -> 土地を耕して使えるようにする
IGW(インターネットゲートウェイ)作成 -> 土地全体に電柱/ネット回線を引く
サーブネット作成 -> 番地を決めて郵便物が届くようにする
ルートテーブル作成 -> サーブネット(番地)とIGW(ネット回線)をつなげるやつを作る
EC2作成 -> 建物(サーバー)を立てる
セキュリティグループ作成 -> ファイアウォール的なやつを作る
ことが必要になります。
流れ的には、
土地を作って(土地がないと何もできない)
IGWを作って(電柱がないと生きていけない)
サーブネットを作って
ルートテーブルを作って
EC2+セキュリティ作る
って感じです。
若干面倒ではあるのですが、なれるとすぐ作れるようになるので頑張っていきましょう:)
AWSのアカウント(クレジットカード登録済み)を作成している前提で進めていきます。
AWSのアカウント作成は、クレジットカードと電話があればぽちぽちするだけで無料で作成できます。まだ作っていない人はこれを機に作成しましょう :)
アカウントを作成したらAWSマネジメントコンソールにログインしましょう。
こんな画面が表示されればokです。
ちなみに、AWSの管理画面は横長なので大きい画面のPCで作業するようにしましょう。
###1-1.VPC作成
VPCは土地です。地面がなければ建物(サーバー)も作れません。
なので最初は土地を定義します。
それでは、VPC管理画面に入りましょう。AWSはいろんなサービスがあるのでわかりにくいですが、「VPC」を探してください。
VPC画面に行くとこんな感じになると思います。
僕は前にEC2サーバーを立てているのでVPCやサブネット等の数が増えていますが気にしないでください。
さてそれじゃあVPCを作成していきます。
ちょっとわかりにくいのですが、サイドメニューのVPCを選択し、
ネームタグは単なるVPCの名前ですね。わかりやすいやつをつけましょう。
CIDRブロックは使用できるIPアドレスを定義していると思うのですが、僕もよくわからず・・・。どなたかコメントにて教えて下さいorz
作成ボタンを押せばVPCが作成されます。
###1-2.IGW(インターネットゲートウェイ)作成
IGWは電柱だと思ってください。全てのインフラはここから始まります。
電柱がなければ家に電気は来ません。全ての要なのです。
続いてIGW(電柱)を土地全体に張り巡らせていきます。(VPCに接続させる)
IGWをVPCにアタッチできればOKです :)
###1-3.サーブネット作成 & ルートテーブル作成
土地ができて、電気とネット回線が用意されました。
次は番地を決めましょう :)
番地(サーブネット)がないと郵便物も届かないし、家に電気もネットも届きません。
サーブネットを作成します。
アベイラビリティーゾーンは日本に2箇所(aとc)あるらしい。どっちでも良い場合は「指定なし」を選択。
リージョンとアベイラビリティーゾーンがよくわからないけど、
「リージョン」と「ゾーン」の関係性は、リージョンは完全に独立していて地理的に離れた領域。
ゾーンは、同じリージョン内において独立したロケーションとなります。
同一リージョン内のゾーン間は、低レイテンシのネットワークで相互接続しています。
とのこと。http://www.idcf.jp/words/zone.html
次にルートテーブルを作成/設定します。
ルートテーブルはサーブネットを使って「電気やネット回線」を「区画」につなげる処理をしてくれます。たぶんルートテーブルはサーブネット作成時に自動的に作成されているのですが、明示的にサーブネットとルートテーブルをつなげる必要があります。(たぶん)
それではやっていきましょう。
先ほど作成したサーブネットを選択し自動的に作成された(たぶん)ルートテーブルへのリンクをクリックします。
サブネットの関連付けを行います。「サブネットの関連付け」タブを開いて、編集を選択。
これでEC2作成のための下準備は完成です :)
ひとまずお疲れさまでした!
これからEC2サーバーを実際に作成していきます。
ここでうっかりミスとかすると悲しいことになるので注意していきましょう:)
##2.EC2サーバーを立てる
まずは、EC2管理画面に行きます。ヘッダーメニューの「サービス」からAWSのサービス一覧を見てみましょう。
EC2は同時に複数使用することができます。
1つ1つは「インスタンス」という名前で管理されています。
EC2を作成するので「インスタンスの作成」をクリックしましょう。
ここからEC2の詳細設定になります。OSは何か、ポートはどこまで開放するか等を設定していきます。
まずはOSを選択します。今回は無料枠で作成するのでAmazon Linuxを選択します。
続いて、メモリやCPUを選択します。無料で選択できるのはt2.microだけですが、BOT作るくらいでしたら十分な性能があります。まだ設定することがあるので「次の手順」を選択します。
続いて、EC2をVPCやサブネット等とひも付けます。
プライマリID・・・?
続いて、ストレージを設定(今回はストレージは気にしていないので特に変更せず)
続いて、今まで設定した内容を確認したあと、sshログインするためのkeyをダウンロードした後に「インスタンスの作成」をクリック。
ここでダウンロードしたpemファイルは後で使用するので無くさないようにしましょう。
作成したインスタンス一覧が表示され、初期化(3分くらい)が開始される。
これでEC2サーバーを作成することができました!
長い・・・長いよ・・・orz
あとは
- SlackのBOT設定をやって
- 作成したEC2サーバーに入って、Hubotをインストール&BOT作成
すればokです :)
後半も頑張っていきましょう :)
後半はこちら
http://qiita.com/ShirakawaYoshimaru/items/2823a00ceb0bc1b3ef9f