『ビギナー編 JAWS-UG 東京勉強会』に行ってきた その3
2011年11月24日に東京で開催された『第1回 ビギナー編 AWS User Group - Japan 東京勉強会』に潜入してきました。
イベントURL:http://atnd.org/events/21989
AWS (Amazon Web Services) の 初級者向け 勉強会です。
AWSを使ってクラウドを始めたい方、サーバやインフラの詳しいことが分からなくても、講師陣がわかりやすく教えてくれます。組み込みエンジニアさん、営業さん、デザイナさんもOK!
もちろん、インフラ系、WEB系さんもOK!ぜひこの機会に勉強会を体験してみて下さい!
ということで、3つめはAmazon EC2についてです。
Amazon EC2について
[slideshare id=10304249&doc=awsec220111124-111124035956-phpapp01]
USTREAM:http://ustre.am/:1gwTJ
今日憶えて帰りたいキーワード
- Amazon EC2
- AWS Management Console
- リージョン、AZ
- AMI(マシンイメージ)
- セキュリティグループ(ファイアウォール)
- EBS(仮想ドライブ)
- EIP(固定IPアドレス)
- ELB(ロードバランサー)
Amazon EC2とは?
Elastic(伸縮自在)なクラウドコンピューティングという意味が込められている。具体的には…
- すぐ調達できる/すぐ始められる
- ※ブラウザからポチポチっと数クリックするだけでサーバーが起動し、使用開始までこぎつけられる
- Webコンソールから簡単に利用できる
- ※コマンドとか分からなくても大丈夫!
- 必要に応じて仮想サーバー数とかタイプを後から変更できる
- コンシューマ向けから信頼性重視の業務用途までカバー
- 一時間1.5~2円くらいの超低価格プランからトップクラスのスパコンまで利用可能
- Amazon EC2を構成している主要コンポーネント
- インスタンス:世界のどこかのデータセンターにて管理される(リージョン(地域)にあるAZ(データセンター))
- EBS(仮想ドライブ)が割り当てられる
- ELB(ロードバランサー)
- EIP(固定IPアドレス)
- セキュリティ対策もばっちり(ファイアーウォールの設定とか)!
- ※バックアップとして残しておきたいときは、S3という永続ストレージサービスを利用
- AMI:OSの種類やマシンスペックなどの設定がテンプレート化されたもの
- +αとしてのコミュニティテンプレ:有志が作ったテンプレとかもオフィシャルのものと並んで配布されている
Amazon EC2を使ってみよう
その前に、AWS Management Consoleにあるタブと役割について
- RDS(データベース)はMySQLとOracleの2種類がある ※近々ポスグレが追加されるかも?
- メールサービスもDNSサービスもあるからそれぞれのサーバーを立てる必要も無いんだぜ
Step1:リージョンを指定する
とりあえず東京を選んでおこう(近場なのでネットワーレイテンシーが抑えられる)
Step2:「Launchボタン」をクリックしてインスタンスを立ち上げる
さぁ、ここからだ。
Step3:AMIの指定
- 目的に合ったヤツを選んでね
- AMIにはインスタンスストアタイプとEBSタイプと2種類ある
- インスタンスストアタイプは、サーバーを落とすとデータが全て消えるタイプ
- EBSタイプは、サーバーを落としても消えないよ(こっちの方が後から登場したサービス)
- 特別な理由が無い限りEBSタイプを選んでおきましょう
Step4:インスタンスタイプを指定する
- お試し目的なら一番安価なマイクロインスタンスでOK
- 実運用したいならスモールインスタンス以上のモノを選んでおこう ※ま、後からいくらでも変更できるけどね(スケールアップ/ダウンってやつさ)
Step5:AZ(データセンター)の指定
任意で指定しても良いし、指定しなければ勝手にどこかに割り振られる
Step6:インスタンスにタグ(名前)をつける
名前付けとかないとどれがどれだが分からなくなっちゃうぜ
Step7:キーペア(公開鍵と秘密鍵)の作成、指定
- インスタンスへのアクセスはこのキーペアを使う
- 自動で作成してくれるので、用意された秘密鍵をダウンロードしてSSH認証すればOK
Step8:セキュリティグループ(ファイアウォール)の作成、指定、設定
- デフォルトではすべてファイアウォールで閉じられているので、必要なポートのみを空けること
- 公開しても良いサーバー(Webサーバーとか、)としたくないモノ(DB、App)とかを個別に設定できる ※DBは内輪のサーバーからのみアクセスを許可するとか
- セキュリティグループの設定はインスタンス毎に個別で設定できるよ
Step9:インスタンス起動の確認
※といってもまだアクセスは出来ないよ Webサーバーを起動しないと
- ここでDNSが割り当てられる
- このときにIPアドレスも割り振られるけど、固定IPが使いたければEIPサービスを使いましょう
Step10:ターミネート、リブート、ストップ、スタート
インスタンスに対してのアクションはざっと4種類
- ターミネート
- 完全終了 永遠のお別れです
- リブート
- 再起動します
- ストップ
- ストップ中はインスタンスタイプ変更が出来る(※Step4参照)
- スタート
- 中身のデータをそのままにスケールアップ/ダウンされたインスタンスで運用再開が出来る
Step11:EBSボリュームとスナップショット
- インスタンス作成時に付いてきたEBSは後から追加/削除ができる
- EBSはスナップショットとして永続ストレージ(S3)に保存しておくことが出来る
※補足)
- リージョンとAZ(アベイラビリティゾーン)について
- 各リージョンには複数のAZ(データセンター)がある
- 物理的、ネットワーク的に分離されているので、一方が事故っても連鎖でダウンといったトラブルが無い
- AZ間は高速専用線で繋がれているからデータ転送量も安価
- EBSについて
- EC2における仮想外付けHDD
- サイズ/期間/IOで課金されるよ
- RAIDも組めるんだぜ
Webサーバーを立てて公開してみよう
Step1:立ち上げたインスタンスに接続する
- ドロップダウンメニューから「Connect」を選択
- 表示された接続先のアドレスとかコマンドをコンソールにコピペして実行
- DLした秘密鍵でSSH接続 ※root権限でのアクセスは出来ないので「ec2-user」というユーザー名で接続
- 「Amazon Linux AMI」と表示されていれば接続OK
Step2:Webサーバーのインストールと設定
- まずばアップデートをかけてみる ※なければ、そのままスルー
- Webサーバーをインストール
- OS起動時にWebサーバーを自動起動に設定したほうがいいよ
- ロードバランサの死活監視用に使うチェックファイルの作成
- セキュリティグループの設定でポートを開けるのを忘れずに
Amazon EC2は何がElastic(伸縮自在)?
- ボリューム(仮想ドライブ)のサイズを変更できる
- インスタンスのタイプを(ストップすれば)変更できる
- 固定IPアドレスを取得して割り振りができる
負荷分散のためのEBS(ロードバランサー)を使ってみる
Step1:元となるインスタンスを設定済みとする
※Webサーバーを立てた状態
Step2:そこからオリジナルのAMIを作成する
ドロップダウンメニューからCreate AMIを選択
Step3:オリジナルAMIを使ってもう一つのインスタンスを作成、起動する
AZを指定する ※立てたインスタンスは各AZに均等に割り振ること
Step4:ロードバランサーを作成する
- メニューから選んですぐに作成できるよ
- 振り分けるポートを指定できる ※入ってくるポートと出て行くポートを別々に設定できる
- ロードバランサーは配下にあるインスタンスを死活監視するので、そのためのポートとアドレスを指定する
Step5:配下に置きたいインスタンスを指定する
インスタンスは後から追加・削除が出来る
Step6:ステータス欄にInServiceと表示されればOK
終了!
さいごに感想をひとつ
クラウドというバズワードばかりが一人歩きしていて、イマイチその実態がつかめず、頭の中がモヤモヤしていましたが、どのセッションもさすがビギナー向けというだけあって非常にわかりやすく、且つ興味をそそられる魅力的なモノでした。 タイトルに第1回と謳っていたので、このようなビギナー向け勉強会は今後も継続していくのだろうと期待しております。次回はもう少し予習してから臨みたいですな。
またAWSは現在、1年間無料キャンペーンというものも実施しているので、手始めにそちらを利用して色々とを試していこうかなと考えています。
とりあえず、自分のWebサイトを既存のレンタルサーバーから引っ越すか。