テクノロジー
2018年6月17日AWSのインフラコストとスケールアウトについて
今回は構築のコストの話を中心にしていきます。インフラとコストは切っても切れないものであり、インフラを運用していく上ではコストを念頭において運用していく必要があります。
インフラにかかるコスト
ここまでドメインを取得するのにも費用がかかったりAWSの無料枠が切れてしまっている方はEC2を作成するのにも費用がかかっている方もいるかと思います。
またこれからELBやRDSなど費用のかかるインスタンスを設定していきます。
このようにインフラとコストは切っても切れないものであり、インフラを運用していく上ではコストを念頭において運用していく必要があります。
AWSやさくらVPSのようなクラウドサービスは費用のかかり方に以下2パターンがあります。
- 固定で費用がかかるパターン
- 流動的に費用がかかる(使った分だけ費用が発生する)パターン
AWSは流動的に費用がかかるパターンなので、EC2インスタンスを起動している間課金されていきます。
そのためEC2インスタンスを停止状態にすれば課金額を抑えることができます。
(商用のサービスでは実施することができない運用ですが…)
なお、流動的な費用の中でもEC2など利用時間に対する課金の場合は見積もりがし易いですが、S3など通信費やRequest数によるアクセス量に対する課金の場合は見積もりがし難いです。
例えば、ある S3 に 10GB のファイルが保存してあり、月間30万ページビューあるページが、10枚の画像をその S3 から取得する場合、 S3の月額は約200円になります。
このような概算は可能ですが、計算するためにはあらかじめアクセス数などが予測できなければなりませんし、あくまで予測に基づく計算なので、正確な数値でないことは頭に置いておきましょう。
インフラを構築していく上で代表的サービスをいくつか紹介します。Amazon Web service(AWS)
本講座でも使用している、Amazonが提供するクラウドコンピューティングサービスです。
EC2のような仮想サービスや、S3のようなオンラインストレージ等を提供しています。
EC2やS3だけではなく、様々なサービスを提供しており、それらを組み合わせることで柔軟なインフラを構築することができます。
料金については使用しているサービスの使用時間単位で課金されていきます。
例えばEC2のt2.smallであれば$0.023/時間
の課金となるので一時間に約3円程度の課金がされることになります。Google Cloud Platform(GCP)
GCPはGoogleが提供するクラウドコンピューティングサービスです。
こちらはGoogleが提供している自社インフラ環境を公開したものとなっています。
AWSのEC2、S3などと同等のサービスは備えています。
Googleの提供するクラウドコンピューティグサービスのため、機械学習などと親和性が高いです。
料金体系も特徴的でGCPは分単位での課金を行っています。
GCPはクラウドコンピューティングサービスの中でも後発のサービスとなるため、情報がまだまだ少ないですが、Googleの巨大なインフラを扱うことができるサービスなので今後の期待感が大きいサービスとなります。さくらVPS
レンタルサーバー会社の老舗として有名なさくらインターネットが提供するVPS(Virtual Private Server)サービスとなります。
VPSとは仮想専用サーバーを表しており、サーバーの仮想化技術を用いることで1台の物理サーバーの中に、仮想的に複数サーバーを構築します。
そして、その仮想化されたサーバーを借りることができるのがさくらVPSなどが提供するサービスとなります。
さくらVPSの特徴としては国産VPSとしてはもっとも有名で大規模障害もなく安定してサービスが稼働しているため信頼性が高いことがあげられます。
運用暦が長いVPSのため情報が多く出回っているのも特徴的です。
たださくらVPSのウィークポイントとしてスナップショット機能(仮想マシンの状態をディスクイメージとして保存)がないことが挙げられます。
そのため手軽にスケールアップ(サーバーの性能をあげること)ができないといったことがあります。
価格的にはさくらVPSは固定で月額がかかるサービスとなります。
さくらVPSの利用料金としてはメモリが1GBのインスタンスを借りるのに972円/月
がかかります。
また初期費用としては1,620円
かかります。
国産VPSとして、運用暦が長く信頼性があるサービスとなるので手軽にインフラを構築したいという方にはおすすめなサービスとなります。ConoHa
- さくらVPSと異なり従量課金制(通信費は無料)
- イメージキャラクターが可愛い
コスト計算例
コスト計算の例を挙げていきます。
例1) AWSでスケールアウト構成(ELB1, EC22, RDS1, ElasticCache1)
EC2はt2.small、RDSはt2.smallでストレージは(100GB)、ElasticCacheはt2.microの使用を想定します。
ファイルストレージはS3を使用します。
なお、マルチAZではなく、シングルAZで構成します。
この構成で1ヶ月運用した想定でコストを計算してみます。
| 項目 | 台数 | 費用 |
|:—–|:—–|:—–|
| EC2 | 2 | 約6,000円 |
| RDS | 1 | 約5,700円 |
| ElasticCache | 1 | 約2,100円 |
| ELB | 1 | 約2,200円 |
上記構成であれば約16,000円程度、月にランニングコストとしてかかります。
AWSのコスト見積もりにはAWSが提供しているツールがあるのでそれを活用してみましょう。
上記金額もAWS料金見積もりツールを使用して金額を出しています。
AWS料金見積もりツール
http://calculator.s3.amazonaws.com/index.html?lng=ja_JP#
例2) さくらVPSでスケールアウト構成
ロードバランサ、アプリケーションサーバー、DBサーバーとして2GBのインスタンス、キャッシュストアとして1GBのサーバーを借りることを想定します。
ファイルストレージはS3を使用します。
| 項目 | 台数 | 費用 |
|:—–|:—–|:—–|
| 2GB | 3 | 5,118円 |
| 1GB | 1 | 972円 |
上記のように月のランニングコストは6,090円となります。
AWSに比べて10,000円弱ランニングコストが下がります。
このように同じ構成を組むとしても使用するサービスが違うだけでコストが変わってきます。
インフラのコストを考えていく際はサービスの特性や予算、インフラだけではなく人件費などをバランスよく考えていくことが重要となります。