はじめに
例えば、あなたのWebサービスが催事やキャンペーンなどで突発的にアクセス数が増加した場合、その時にだけサーバを増強し、ピークが過ぎ去ったら元に戻すというのをオンプレミスサーバーで行うのは現実的ではありません。
しかしAWSでは、そうした状況にも問題なく対応できるAmazon EC2という便利なサービスが提供されています。
今回はそのEC2を起動させるところまで試してみたいと思います。(マネージドされた環境をご希望の場合は、CapsuleCloudのメディアスイートをご利用ください)
Amazon EC2とは
Amazon EC2(Amazon Elastic Compute Cloud)を直訳すると「伸縮自在に計算するクラウド」。
つまり、EC2はクラウド環境(仮想サーバ)を必要な時に必要なだけ調達することができるということです。(表記方法は、90年代後半に一瞬で消えてしまったバンド、PB2(Pool Bit Boys)と同じですね)
使用料は750時間/月までリージョンに応じて無料。
基本は従量課金となるため、使った分だけ料金を払えば良いサービスです。
アプリケーション規模や、負荷量に応じて仮想サーバーの台数を増やしたり、サーバー自体のスペックを高くしたりもできるため、オンプレミスサーバーと比べ柔軟に利用することができます。
EC2の用語について
概要の次はEC2で使用される各用語を押さえておきましょう。
インスタンスタイプ
インスタンスタイプは、サーバーのスペックを定義します。
インスタンスタイプが異なると、主にCPU、メモリ、ストレージ、ネットワーク帯域が変わります。
具体的には、以下のようなインスタンスが存在します。
インスタンスタイプ → スペック
t2.micro → 1CPU/1GB
m4.10xlarge → 40CPU/160GB
AMI(Amazon Machine Image)
AMIには仮想サーバの起動に必要な情報が入っています。
具体的には
・OS
・データ
・ブロックデバイスマッピング(特殊な情報)
※AMIには2種類ありますが、EBS-Backedが主流です。もう一方は「Instance Store-Backed」で、ストレージの項に違いがあります。
※AMIの仮想化形式には2種類ありますが、ハードウェア仮想マシンとなる、HVM(HardwareVirtualMachine)が主流です。もう一方は、準仮想化となる「ParaVirtual」です。
ストレージ
EC2では2種類のブロックデバイスをストレージとして利用可能です。
- EBS(Elastic Block Store)
- 高い可用性、耐久性を持つストレージ。
- インスタンスストア
- インスタンス専用の一時的なストレージ。他のインスタンスへの付け替えはできません。また、インスタンスの停止や削除をすると復元できなくなります。
1. キーペアを作成
まずはキーペアを作成する必要があります。
キーペアはインスタンスへの接続に使用します。
Linux/UNIXインスタンスの場合は、SSH接続の公開鍵認証に使用します。
EC2のマネジメントコンソールの左側メニューから「キーペア」をクリック。
作成ボタンを押して、今回は練習で「first−keypair」としておきましょう。
作成ボタンを押すと、勝手にキーペアの片方がダウンロードされました。(Chrom環境です)
そして、AWS側にもキーペアが作成されています。
2. セキュリティグループを作成
続いて、セキュリティグループの作成です。
これは、EC2へのファイアウォールのようなもので、通信の入出力制御を担います。基本的にはサーバへの通信(インバウンド)ポートは全て閉じられていて、必要に応じて開ける仕組みです。
逆にサーバからの通信(アウトバウンド)ポートは全開です。
では、早速作成してみましょう。
マネジメントコンソールの左側メニューから、「セキュリティグループ」のリンクを開きます。
デフォルトのセキュリティグループが表示されますが、専用のセキュリティグループを作成してみましょう。
「セキュリティグループの作成」を押下して、作成してみます。
「セキュリティグループ」にはfirst-security-group、「説明」も一緒でいいでしょう。
今回、VPCはデフォルトで大丈夫です。
3. ルールの追加
次にルールの追加です。インバウンドには全部で3つのルールが必要です。
アウトバウンドは、全開でいいのでそのままにしておきましょう。
ルールの追加を押下し、下記の設定を行います。
SSHの設定
「タイプ」を[SSH]、「送信元」を[任意の場所]にします。
これで先ほど作成したキー情報があれば、どこからでもアクセスが可能です。
ですが、セキュリティ的にはよろしくありませんので、[マイIP]を選択することをお勧めします。
これで現在のIPからのみアクセスが可能となります。
HTTPの設定
「タイプ」を[SSH]、「送信元」を[任意の場所]にします。
Railsの設定
Railsのアプリケーションをサーバ上に構築することを想定していますので、「タイプ」を[カスタムTCPルール]、「送信元」を[任意の場所]にします。
作成ボタンを押して、セキュリティグループの完成です。
さぁ、これで準備は万端です!
4. 立つんだイーシーツー
さぁ、EC2を起動させる準備が整いました。あとは、インスタンスを立ち上げるだけです!
マネジメントコンソールの左側メニューから「インスタンス」を選択。
「インスタンスの作成」を押下して、各種設定を行います。
■AMIの選択
AmazonLinux AMIを選択します。
■インスタンスタイプを選択
今回は練習ですので、無料枠にしておきましょう。
■インスタンスの詳細設定
デフォルトで大丈夫です。
■ストレージの追加
デフォルトで大丈夫です。
■インスタンスのタグ付け
タグをつけておきましょう。
[Name]というキーでインスタンスに名前をつけられます。
[first-Instance]にしておきます。
■セキュリティグループの設定
「既存のセキュリティグループ」を選択して、上で作成した[first-security-group]を選択です。
■確認
問題なければ、「作成」を押下で次に進みます。
■キーペアの選択
キーペアを選択します。
■インスタンスの起動を確認
無事にrunningになっていることを確認できました!パチパチパチパチ!
EC2の利用料金
無料枠以外でのEC2の利用料金は以下のようになっています。
利用料金=時間単価×利用時間
まとめ
今回はEC2の起動設定をご紹介いたしました。
次回は実際にEC2に接続してみましょう!