ページ

2015年5月7日

AWS化するときにはより多くの事を考える必要があるんです


「サーバ移転」の事案でAWSへ移転することを検討したのですが、AWSの費用って時間単価x稼働時間だけじゃないんだよ。


「サーバ移転」の事案で検討したこと


 サーバ移転事案でAWS化でコストが合うかどうかを検討した際の検討事項を一部だけですが抜粋してみました。
ピックアップしたの次の4点:

  • コスト
  • セキュリティ
  • バックアップ
  • 稼働率


コストを考える


 ここ数年のトレンドだと思いますが、Amazon AWSやMicrosoft Azureなどのクラウドサーバへ移動するケースを多く目にします。

 AWSへ移転する場合、時間単価はとても低価格ではありますが運用時には単純計算とおりにはいかないところがありますので少し注意が必要かもしれません。

 例えば、AWSのマイクロインスタンスは時間あたりUSD0.020(東京リージョン)ですので単純計算すると24時間稼働するとUSD0.48になり、30日稼働するとUSD14.4になります。

14.4米ドルというと、1ドル=120円として計算すると:1728円となります。

これだけで済めばとても安いのですが、残念ながらそうはいきません。

 ストレージにSSDを用いると、IOPコストが追加となりますし、外部へのデータ送出分にコストが発生します。

最低費用は、1728円ですが稼働状況によって費用が変動してしまいます。

 注意すべきポイントは、マイクロ・インスタンスでSSDを使って運用すると思いの外費用が高くなる点ででしょう。

 AWS上にt2.microやt2.smallインスタンスを生成するとOS領域は作成されますが、スワップ領域がありません。

 スワップ領域をEBS上に作成した場合、スワップ動作状況によってIOPコストの加算が大きくなり50ドル〜100ドルになることもあります。

 例えば、スワップ領域を作成しないで稼働するとメモリが不足した場合インスタンスが突如フリーズしてしまいます。

 従って、スワップ領域は必須となりますが頻繁にスワップするような状況で運用することは避けるべきです。

 WordPressを運用する場合、t2.small以上でWEBサーバ単体で稼働させることが適切ではないかと思います。

 WordPressのデータベースを混載するような場合には、よりメモリ量の大きなインスタンス・タイプを選択するべきでしょう。


AWSの稼働率


次に、AWSの稼働率ですがAWSは単体インスタンスを継続して稼働させることに関してはレンタルサーバよりは安定度は低いと思います。

ソリューションとしては、オートスケールを使いレスポンスがなくなったインスタンスの自動停止とインスタンスの生成を行うことでサービスの稼働率を確保するように考えているように思います。

したがって、AWSに移転するケースではWEBサーバ・インスタンスとDBサーバ・インスタンスを分離して動作するように考える必要があると思います。

WEBサービスの稼働率は、ELBを用いてマルチAZ化させることでWEBサーバの稼働率はあげられると思います。 

しかしながら、個々のサーバ・パフォーマンスを超えることはできませんのでサーバー・パフォーマンスを超えた場合の対処方法も検討しておくことが必要でしょう。

オートスケールを用いてスケール・アウトするか、Route53とELB、Cloudwatchを連携させリダイレクト処理を組むなどの対応方法があります。

DBサーバに関しては、EC2インスタンスを用いたデータベース・サーバを構築すると冗長性を考慮する必要が出てきますのでインスタンス規模が増えていきます。 

従って絵、アマゾンが提供しているデータベース・ソリューソンのRDSを用いることが永続的に動作させるためにはベストな選択となると思います。


AWSのセキュリティ


AWSを用いる場合、AWS自体のセキュリティを別途検討する必要が出てきます。

AWSへのアクセスは、Webベースのマネジメント・コンソールとCLIやAPIコマンドなどを用いてVPCを構築することが可能です。

AWSで怖いのは、不正アクセスによってAWSのアカウントへアクセスされた場合大量のインスタンスを世界中に生成されることや各種サービスを利用されてしまいます。

サーバのセキュリティ対策に加え、AWSアカウントのセキュリティも注意が必要となります。

バックアップ


バックアップはAWSに限らず必要となりますが、AWSでバックアップする場合にはS3ストレージに置くことになると思います。

バックアップデータの転送方法によっては、IOコストがかさむことがありますので注意が必要かもしれません。

結論、AWSは思ったよりコストがかかりますが・・・


このように見ると、WordPressをAmazon AWSで運用する場合には少なくともEC2が2インスタンスに加えてELB、データベースはRDS、Route53、Cloudwatchなどを最低限組み合わせる必要があると思います。

さらに、メインテナンス等を行うためのインスタンスを加えると月額費用はUSD100〜200ドル程度になりそうでした。

なにより、推定費用を算出するために細かくチェックして計算しなくてはならないので思いの外手間がかかります。

AWSはサーバ機器の初期投資は必要ありませんが、運用時のコストはあまり下がらないと考えてよさそう。


サービスが止まってもリダイレクトしない、バックアップもダンプのみ、メインテナンス時はサービス停止問題なし、などからインスタンスの月額コストが低い「さくらインターネットのVPS」で良さそうということになりました。

4GBモデルで、年間一括で50,000円程度(初期費用込み)、8GBモデルで年間一括で10万円程度(初期費用込み)。