セキュリティグループとはインスタンスの外側に位置して、入ってくるアクセスのプロトコルとポートをフィルタリングする機能です。EC2インスタンス起動時には必ずひとつのセキュリティグループを指定します。セキュリティグループを指定することで、アクセスできるIPアドレスに制限をかけたり、特定のポートだけを開いておくことが可能です。
基本的にデフォルトではすべてのアクセスを拒否していて、設定したアクセスだけを許可するようになっています。例えば、セキュリティグループで22番ポート(SSH)へのアクセスを許可してあげないとSSHでログインすることすら出来ません。Webサーバなら80番ポート(HTTP)を空けるなど、適切にセキュリティグループを編集してください。
なお、起動時にインスタンスに設定したセキュリティグループの内容を編集することは可能ですが※20、セキュリティグループを別のものに差し替えるようなことはできません。別のセキュリティグループを利用したい場合には一度インスタンスを停止して、利用したいセキュリティグループを指定して新しいインスタンスを起動する必要があるので、起動する際には適切なセキュリティグループを指定するように注意してください。
※20 変更はリアルタイムに反映されます
EC2インスタンスは通常、オンデマンドインスタンスと呼ばれますが、それ以外にもスポットインスタンスという利用方法もあります。これは、EC2で未使用のリソースに対して入札が行えるというものです。ユーザは自分が払ってもいいという料金をあらかじめ指定しておけば、需要と供給の関係でAWSがスポット価格を算出し、このスポット価格より高い入札を行っているユーザーはインスタンスを利用することができます※21。入札額がスポット価格を超えていてもその時点でのスポット価格分だけが課金され、通常のEC2インスタンスの利用に比べてはるかに安く利用できます。
※21 ただし、入札価格がスポット価格を下回った場合にはインスタンスは即停止されます
このスポット価格についてはAWSコンソールから確認できます。EC2のコンソールを開き、左側のメニューから「Spot Requests」を選択し、「Request Spot Instances」をクリックします。
するとこのような画面になるので使いたいインスタンスタイプを選択してください。「Current Price」の部分がスポット価格となります。スポット価格はリージョンや時間、インスタンスタイプによって変動します※22。
※22 たくさんの人が入札していたりリソースの余りが少なければスポット価格は上がります
例えばアメリカ東部でm1.smallを利用する場合、通常だと利用料金は$0.080/時ですが、スポットインスタンスだと$0.007/時と圧倒的に安く利用することができます。動作確認程度であれば1/10程度の料金で利用できるのでおすすめです。本書でも基本的に全てスポットインスタンスを利用しています。
ただし、注意点があって、スポットインスタンスは入札価格がスポット価格を下回るとインスタンスが即停止されてしまいます。そのため、開発環境やインスタンスが停止しても大丈夫な用途での利用であれば問題ありませんが、本番環境などインスタンスが停止して困るような用途に用いるのは問題があるでしょう。
本番環境やマスターノードでより安くインスタンスを利用したいということであればリザーブドインスタンスの利用を検討すると良いかもしれません。リザーブドインスタンスとは、1年間または3年間の金額を一括で支払い、その期間内に購入した台数分に関してインスタンスを安く利用できるという仕組みです。
さらにリザーブドインスタンスのメリットは料金だけではなく、確実なリソース確保の意味もあります。例えば大量のインスタンスを起動したい場合、AWS側のリソースが不足していると起動できなかったりしますが、そういった場合でもリザーブドインスタンスを利用していれば、契約している台数に関しては常に稼働が保証されています。
リザーブドインスタンスの購入はEC2のAWSコンソール左側のメニュー「ReservedInstances」から行えます。
詳細は脚注を見ていただくとして※23、1年契約でm1.smallをリザーブドインスタンスで購入する場合、前払いで$69が必要ですが利用量は$0.039/時ですみます。通常は$0.08/時であることを考えれば、だいぶ安くなります。長時間に渡って利用し続けることがわかっていれば購入すると良いでしょう。
※23 EC2 リザーブド インスタンス | アマゾン ウェブ サービス(AWS 日本語)
ただし、リザーブドインスタンスは一度購入するとキャンセルはできません。また、リージョンやインスタンスタイプを変更することもできないのでよく考えてから購入してください。例えば、新しいリージョンが追加されてそちらを利用したくなっても、新しいリージョンでのインスタンス利用にはリザーブドインスタンスは利用できず、通常の利用料金が掛かります。
Copyright © ITmedia, Inc. All Rights Reserved.