十分あれば十分? - EC2インスタンスの作成から起動まで

AWSを利用する上でコアになるのがAmazon EC2(Amazon Elastic Compute Cloud)になります。
EC2を利用する事で仮想サーバのインスタンスを作成、起動しWebからアクセス可能なサービスを実行する事ができます。
ここではEC2インスタンスの作成~起動までの手順を説明します。

インスタンス生成前に決めておいた方がよい事

無料期間を活用するか?

AWS登録後、1年間は無料期間が設けられています。これは、一定の制限の中でAWSの各種サービスを無料で利用できるというものです。
無料で利用したい場合、EC2のインスタンスタイプは マイクロインスタンス 限定となっています。

マイクロインスタンスは、32/64ビットのOSサポート、メモリ613MB、ネットワークパフォーマンスは非常に低いと記載されています。

用途としては開発/テスト用や、アクセス数の少ない小規模なWebサイトといったところでしょうか。

→ t2インスタンスの登場により、マイクロインスタンスの性能も上がっています。月間のページビューが数十万程度のサイトならば、利用しているアプリケーションにもよりますが、十分対応可能になったのではないでしょうか。

※高負荷な処理が必要な場合、マイクロインスタンスはかなり遅くなるらしく、マイクロインスタンスの数を増やす方法だけでなく、別インスタンスタイプへの切り替えも検討しましょう。(テストインスタンスを立ち上げてきちんとパフォーマンス計測を行う)

※インスタンスタイプに関しては アマゾンEC2インスタンスタイプ を参照してください。

※料金に関しては EC2料金表 を参照してください。また、新規利用の場合の料金請求に関しては こちら も参考になります。

利用するAMI

どのAMI(Amazon Machine Image)を利用するかはあらかじめ決めておいた方が作業がスムーズに進みます。
Amazonが提供しているAMIを利用する場合、どのAMIを利用するか?=どのOSを利用するか?になります。

もし利用したいサービス(例えばCMSやブログサービス)が決まっている場合、有名どころのオープンソースサービスであればMarketplaceやCommunityで提供されたAMIを利用する事で、サービスの立ち上げを素早く行う事が可能になります。
※提供元の信頼性等も考慮してそのAMIを利用するかどうかは適宜判断してください。

作成手順

以下EC2インスタンスを作成する手順に関して示します。

  1. AWS のサイトからAWSマネジメントコンソール(以下コンソール)にログインします。
  2. コンソールからEC2をクリックします。
  3. Lanch Instance ボタンをクリックします。
  4. AMI選択画面になるのでAMIを選択します。
    AMI選択

    弊社Webサイトを構築する際には、Amazon Linux(64-bit)を選択しました。
    Amazon LinuxはRed Hat系Linuxと同様の操作感なので、Red HatやCentOSを使っている場合、殆ど迷う事なく利用できるかと思います。

    ※OSに商用ディストリビューション(Red HatやSUSE、Windows等)を選択した場合、OSの利用料が別途必要になるため無料期間であっても費用が発生します。

  5. 次にインスタンスタイプの選択画面になるので、選択します。
    インスタンスタイプ選択

    上図ではマイクロインスタンスを選択しています。
    選択後、[Next: Configure Instance Details]ボタンをクリックします。

  6. インスタンスの詳細設定画面に遷移します。
    インスタンス詳細設定

    上記は"Protect against accedental termination" にチェックを入れた以外はデフォルトです。
    システム要件に応じた値を設定すべきですが、テストや小規模サイトでの利用であれば、デフォルトでもよいと思います。
    設定が確定したら、[Next: Add Storage]ボタンをクリックします。

    ※最初ここでサブネットを指定しようとした際にus-westしか選択できなくて、あれ?と思いました。
    コンソール画面右上(Helpの隣)にリージョン選択箇所があって"Oregon"になってました。インスタンス生成の前にリージョン選択をしておきましょう。
    尚、ここでリージョン変更すると、AMI選択画面に戻されます(リージョンによって選択可能なAMIが異なるため)。

    ※リージョン毎に価格も違います。EC2に関してはAsia Pacific(Japan)は US East等と比べて割高のようです。

    ※日本国内から利用する場合、Tokyoリージョンが最も高速でアクセスできるようなので、弊社ではTokyoリージョンを選択する事が多いです。

  7. ストレージ追加の画面に遷移します。
    ストレージ追加

    デフォルトで足りる場合、そのままスルーして構いません。導入するアプリケーションの要件等で適宜サイズを変更するなり、ボリュームを追加する等してください。
    設定が終わったら[Next: Tag Instance]ボタンをクリックして次に進みます。

  8. タグの追加画面に遷移します。
    タグ追加

    Nameの値として、適切なインスタンス名をつけましょう。特に今後複数のインスタンスを作成して作業を行う場合、どのインスタンスかを判定する上で有用です。
    設定したら[Next: Configure Security Group]ボタンをクリックします。

  9. セキュリティグループの設定画面に遷移します。
    セキュリティグループの設定

    セキュリティグループの設定≒ファイアウォール設定です。iptables等で設定する代わりにセキュリティグループの設定を利用してアクセス制限を行うと思えばよいと思います。
    上図の設定ではWebサイトを構築するので、デフォルトで設定されているSSHの他に、HTTP(S)を追加してあります。
    Security group name、及び、Descriptionは適宜(判りやすいものを)設定してください。 設定が完了したら[Review and Launch]ボタンをクリックします。

    ※SSHに関しては Source(アクセス元)に"Anywhere"を設定すると、警告が表示されます。本来であればSSHアクセス可能なIPは会社のアドレス等限定するべきですが、固定IPでない場所からアクセスする場合等はAnywhereにせざるを得ない場合もあるかと思います。この辺りはセキュリティと利便性のトレードオフになるので、システム要件やサービスの内容を考慮して適宜判断してください。

  10. インスタンスを起動します。
    インスタンス起動確認

    起動前の確認画面が表示されるので、内容に問題なければ[Launch]ボタンをクリックします。

  11. キーペアの選択/作成画面が表示されます。
    キーペアの選択/作成

    EC2インスタンスにSSHアクセスする場合、証明書を利用してアクセスを行う必要があります。 ここでは既存の証明書を利用するか新規作成するかを選んでください。
    最初は証明書が存在しないので、作成する事になります。Key pair name に適当な名前を設定し、[Download Key Pair]ボタンをクリックします。
    証明書(pemファイル)がダウンロードされるので、このファイルは無くしたり漏えいしたりしないように厳重に保管してください。

    証明書ダウンロード後、[Launch Instances]ボタンをクリックすれば、インスタンスが起動されます。