Amazon Web Serviceの無料枠を使ってEC2,ELB,RDS,CloudFrontを使って色々頑張ってみる話の2つめ。前回、使いすぎてもメールが来る設定をして安心したところで、仮想サーバEC2の設定をしてみます。
Amazon EC2とは
仮想サーバです。VPSやリアルなサーバと違うところは、処理能力をブラウザ上で変更できたり、簡単に複製できるところ。CPUやメモリがマウスでポチポチするだけで変更できます(※ポチポチすると無料枠内を外れます)。
OSはRedHat Linux、Windows Server、Amazon Linux、SuSE Linux、Ubuntu、Fedora、Debian、Cent OS、Gentoo Linux、Oracle Linux、FreeBSDなどが選べます。Red Hat Enterprise、Windows Serverなども無料枠対象内です。
前準備(地域の変更)
右上のリージョン(地域)をアジアパシフィック(東京)に変更します。
東京で起動したEC2とカルフォルニアで起動したEC2は別物となります。ログイン後、設定したはずの○○が行方不明って時は、ここが変わっている可能性があるので、ちゃんと東京にしておきます(サービスによっては東京がない場合もあります)。
VPCの設定
今回使うEC2 t2.microはVPC(仮想的なプライベートネットワーク空間)内に設置する必要があるので、まずはこれを設定します。
とは言え、VPCはデフォルトで172.31.x.xのネットワークが作られていますので、このままで良いやと言う方は、この設定は要りません。私の場合は、172.31.x.xがどうにもしっくり来ない&折角なので勉強の為にと、デフォルトのVPCは削除し、192.168.x.xのネットワークを作りました。
デフォルトのVPCを削除すると、ユーザでは復元できません。とりあえずさっさと仮想サーバを使いたい!って方はEC2の作成まで飛ばしてください。
デフォルトVPCの削除
ネットワーキング→VPCを選択します。
左のVPCを選択→アクション→VPCの削除を選択します。警告が出るけどOKとか押して綺麗さっぱりにします。
(これを書いていて思ったのですが、別に削除する必要は無く、新たにVPCを作ってEC2はそちらに入れるでも良い気がしてきました。と言うのもデフォルトVPCを消すとEC2作成時に「No default VPC found」とか言って怒られて嫌な思いをします)
VPCの作成
VPCを選択→VPCの作成を押します。
ネームタグ:適当に(VPCとか)
CIDRブロック:192.168.0.0/16
テナンシー:デフォルト
テナンシーはハードウェアを専有するかどうか(右側のiを押せば詳細な説明が出てきます)
サブネットの作成
左側のサブネット→サブネットの作成
ネームタグ:適当に(VPC01-a)
VPC:先ほど作ったVPCをマウスで選ぶ
アベイラビリティゾーン:ap-northeast-1a
CIDRブロック:192.168.1.0/24
アベイラビリティゾーンはリージョン内の区分け(右側のiを押せば詳細な説明が出てきます)
のちに設定するRDSで2つのアベイラビリティゾーンが必要となるので、もう一つ作っておきます(RDSを使わない場合は必要有りません)。
ネームタグ:適当に(VPC01-b)
VPC:先ほど作ったVPCをマウスで選ぶ
アベイラビリティゾーン:ap-northeast-1b
CIDRブロック:192.168.2.0/24
インターネットゲートウェイの作成
今のままだとインターネットに出られないので、ゲートウェイを作成します。
左側のインターネットゲートウェイ→インターネットゲートウェイの作成
ネームタグ:適当に(VPC01-gw)→作成
選択→VPCにアタッチ→VPCを選ぶ
ルートテーブルの作成
今のままだとインターネットから内側に入って来られないので、ルートテーブルを作成する。
左側のルートテーブル→既にできてる奴を選択→ルート→編集
送信先:0.0.0.0/0
ターゲット:マウスをのせると上で作ったゲートウェイが出てくるのでそれを選択
保存
これでEC2を起動するネットワークの箱ができました。
参考URL
- AWS Black Belt Techシリーズ Amazon VPC(結構分かりやすい)
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-vpc-47025202
EC2の作成
前準備
リージョンが東京になっていることを確認します。
インスタンスの作成
サービス→EC2
インスタンスの作成→クイックスタート→お好きなOS
無料利用枠対象の物は、左側のチェックボックスで絞り込みができますが、無料枠が終わった1年後どうなるかが分からなかったのでAmazon Linux AMIを選びました。詳しい方教えてください。
インスタンスタイプの選択
無料利用枠の対象であるt2.microを選びます。
VPCの選択
上のVPC作成時にデフォルトVPCを削除していると、「デフォルトのVPCが見つかりません」と、でかでかとでて怖い思いをしますが、無視して、ネットワーク、サブネットを上記で作った物に設定します。今回は、
ネットワーク:192.168.0.0/16
サブネット:192.168.1.0/24
ストレージの追加
無料枠の少し下、25GBをSSDで割り当てました。
インスタンスのタグ付け
名前を付けておく
セキュリティグループ
下図ではMYSQL、HTTP、SSHはVPC内からのみ接続可にしていますが、接続テストのために、いったんSSH、HTTP、Pingの送信元は0.0.0.0(どこからでも)や、自分が使用しているグローバルIPにしました。
タイプ | ポート | 送信元 |
HTTP | 80 | 0.0.0.0/0 |
SSH | 22 | 0.0.0.0/0 |
MySQL | 3306 | 192.168.0.0/16 |
カスタムICMP | Echo Reply | 0.0.0.0/0 |
カスタムICMP | Echo Request | 0.0.0.0/0 |
インスタンス作成の確認
内容を確認して、作成を押します。
SSH接続キーの作成&ダウンロード
作成したEC2へ接続するためのsshキーをダウンロードします。使い方は後述。
キーペアのダウンロードを行ったら、インスタンスの作成を押します。
ここで「デフォルトのVPCが見つからないのでサポートに問い合わせよ」みたいなエラーが出てきたら、いったんログオフして30分後くらいに再度EC2の作成を行います(出たときは嫌な汗出た)。
- No default VPC found でも大丈夫!?
http://chmonos.net/chmo01/270
インスタンス一覧で起動していること、パブリックIPが振られていることを確認して、パブリックIPをメモします。
SSHで接続する
上記のパブリックIPへ接続します。
Windows + PuTTYなどで接続する場合は、ダウンロードしたpemをPuTTYgenを使用し、PuTTY用のppkに変換する必要があります。
変換した秘密鍵(ppk)を使用し、「ec2-user@パブリックIP」で接続します(ユーザ名は固定)。
- PuTTY を使用した Windows から Linux インスタンスへの接続(鍵の変換、接続の方法)
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/putty.html
黒くて見慣れた画面が出たら、sudo yum -y updateでもしておきましょう。
次回用にロードバランサーを使いたいので、ヘルスチェックのためのWebサーバを入れます。
sudo yum -y install httpd sudo service httpd start sudo chkconfig httpd on vi /var/www/html/check.html hoge curl http://パブリックIP/check.html 何か返ってくることを確認。
あとはお好みでサーバ設定を。
次はロードバランサーのELBとCDNのCloudFrontを設定します。
・はじめの一歩!無料で始めるAWS
コメント