「クラウド」カテゴリーアーカイブ

QNAPの仮想化技術がいいかも

ネットワークストレージQNAP TS-231+を使って、LAMPサーバーを立てると簡単で便利という話が載ってます。

2017年を振り返る。前半はAMD vs Intel、後半は2018年に向けての助走の年!?

仮想化の方法としては、LXCとDockerを組み合わせているそうです。メジャーなソフトであればDockerのイメージがあるのでそれを使うようです。

QNAP TS-231+はメモリが1GBしかないのですが、使いものになるようです。コンテナ型の仮想化のいいところですね。

気をつけないといけないことは、QNAP TS-231+はCPUがARMなので、ARM版のDockerイメージがないと使えません。それと、Dockerのイメージを作ってもVPSやクラウドに展開することができません。Dockerを使っていることで、安定性が気になります。開発目的なら問題ないでしょうか。

Amazonで調べたら、QNAP TS-231Pという方が新しいようです。QNAPのサイトを見るとContainer Stationも使えるようです。久しぶりに欲しいなと思ったのですが、最近プログラム開発をやっていないですし、しばらく様子見ですかね。自分で動かして安定性が知りたいですね。

Microsoft AzureでMySQLとPostgreSQLのサービスが始まりました

Microsoft AzureでMySQLとPostgreSQLのサービスが始まりました。

速報]マイクロソフト、Azureで「MySQL」「PostgreSQL」のデータベースサービス提供を発表、運用の手間は不要。Build 2017

早速、MySQLのサイトに行って料金を調べると、東日本のリージョンで一月2375.30円になっていました。

PostgreSQLも同じ料金でした。

これで、AzureのVirtual Machineを使ってもWordPressが手間無くできますね。

SQL Serverと比べると少し割高になっています。もちろん単純な比較はできませんけど。

他のクラウドサービスと比較してみると、少し安いくらいでしょうか。

もう1つ気になったのは、冗長構成をとるようなオプションが見当たらないことです。1台でスケールアップするしかないのかな。

最近開発されたハイパーバイザー

PhoronixというニュースサイトでBareflankというハイパーバイザーが開発されていることを知りました。

調べていくと、最近いろいろなハイパーバイザーが開発されているようです。今回はそれを紹介します。

ハイパーバイザー

Bareflank

セキュリティーなどに応用するためのプロトタイプを目的とする。C++、STLで書かれている。ユニットテストが完備されていて、Coveralls、Travis CI、Astyleが使われていて、Coverity、Clang Tidy、Google's Sanitizersといったところでコードを分析している。

サポートするのは、SandyBrdge以降のCPU。
ホストOSは、
Ubuntu 16.10
Debian Stretch
Fedora 25, 24
OpenSUSE Leap 42.2
Windows 10
Windows 8.1

少しソースコードを見ると、WindowsホストではCygwinでカーネルドライバーを作るようになっていたり、self signをできるようにしていたりと本格的です。

シンプルなハイパーバイザーを目指しているようです。機能を拡張する方法があるようで、次の2つが挙げられています。

Extended APIs

BareflankにVPIDとかMSR bitmapにアクセスするためのAPIなどを提供するもの。

Hyperkernel

他の人が自分のハイパーバイザーを開発できるように、Bareflankのサポートソフトとして開発されている。

MoRE

Windows 7 32-bit で、CPUコアは1、メモリ2GBで動作。WinDDKを使っている。3年前に開発が止まっているようです。

SimpleVisor

Intel x64/EM64T VT-xで動く、シンプルなハイパーバイザー。アセンブリコードは10行、ホストのハイパージャックとアンハイパージャックをサポート。ホストの状態を仮想化できるそうです。EPTとVPIDをサポート。WindowsとUEFI環境で動くそうです。Cのコードは500行、総コード数1700行だとか。

VisualStudio 2015 Update 3で作られる。ミニマルなハイパーバイザーを目指しているそうです。

HyperPlatform

Intel VT-x上でのハイパーバイザー。rootkitや、侵入検知システム、Windowsカーネルのリバースエンジニアリングを目的とする。

Visual Studio Community 2015 Update 3、Windows SDK、Windows Driver Kitで作られる。

ksm

Cで書かれた軽量なx64ハイパーバイザー。WindowsとLinuxホストサポート。WindowsではMinGWを使っています。

まとめ

どれもゲストOSを動かすというより、セキュリティ分野での応用を目指しているようです。CPUのVT-x機能を使う方法など、勉強したい方にはコードが簡単でいいのではないかと思います。VirtualBox、Xen、KVMといったプログラムのコードは複雑ですので。

クラウドサービスはどこが安いのか - ロードバランサを使った場合

Amazon Web Servicesでは、こことか、ここにあるように、ロードバランサを使った構成を勧めています。

ロードバランサを使った場合、国内外のクラウドサービスのどこが本当に安いのか比較してみました。2017年5月での比較です。

各サービスにおいて、メモリが2MBあるインスタンスを借りることを考えます。WordPressを使うことを想定してロードバランサ1個とWebサーバーのインスタンス2個とデータベースのインスタンスを借りることを考えます。

比較したのは、Amazon Web ServicesとGoogle Cloud Platform、Microsoft Azure、さくらのクラウド、IDCF クラウド、クラウド・エヌです。

データベースのサーバーは、リレーショナルデータベースのサービスが提供されていればそれを使い、無ければインスタンスをデータベース用に借ります。

海外のクラウドサービスでは、ネットワークが従量制なので、1MBのページが月に100万ページビュー/月、ということで転送量が1000GB/月として検討してみます。ここが一番不明確なところです。

それぞれのサービスで料金のシミュレーターがあるので、それを使って調べました。

厳密な意味ではスペックを同じにできませんでしたので、はじめにお断りしておきます。

では、Amazonから。

Amazon Web Services

Amazon Web Services(AWS)は、いろいろなサービスが提供されています。そのなかで、Amazon EC2がWebサーバーに、Amazon EBSがストレージに、Amazon RDSがデータベースとして使えます。

12か月の無料期間があるのですが、今回はそれを無視して調べました。

メモリ2MBにするために、t2.smallを2台選びました。

料金シミュレーターはこちらです。

Amazon EC2

タイプ: Linux,t2.small
台数: 2
月額: $46.86

Amazon EBS

ボリュームタイプ: General Purpose SSD(gp2)
ストレージ: 30GB
月額: $3.60

Elastic Load Balancing

Elastic LBの数: 1
全ELBによって処理されたデータ転送: 1000GB/月
月額: $27.77

データ転送送信

アジアパシフィック(日本)リージョン $139.86

Amazon RDS

クラス: db.t2.small
ストレージ: 汎用(SSD) 5GB
リージョン内データ転送: 1000GB/月
月額: $48.76
合計: $266.85

月額料金は1ドル110円として消費税も入れると、31702円です。データ転送量に応じて金額は変化します。

また、実際に運用していくにはデータベースのバックアップなども必要になり、その分のお金がかかります。

Google Cloud Platform

Google Cloud Platform(GCP)も、いろいろなサービスが提供されています。そのなかで、Google Compute EngineがWebサーバーに、Google Cloud SQLがデータベースとして使えます。Compute Engineのところにストレージもあります。

シミュレーターを使ってみると次のようになりました。

料金シミュレーターはこちらです。

Compute Engine

1460 total hours per month
VM class: regular
Instance type: g1-small
Region: Asia (Japan)
料金: $32.91

Persistent Disk

Asia (Japan)
Storage: 30 GB
料金: $1.56

Load Balancing(global)

Asia(Japan)
Forwading riles: 1
Netword ingress: 1000GB
料金: $39.74

Network Bandwidth

Egress - Asia/Pacific 1000GB
料金: $120.00GB

Cloud SQL Second Generation

db-g1-small
# of instances: 1
730.0 total hours per month
Storage: 10 GB
Backup: 0.0 GB
料金: $27.25
合計: $221.46

月額料金は、消費税を考慮すると26310円です。

Cloud SQLの安さが光ります。こちらも、アクセス数が増えれば費用がかかります。

ネットワークの転送料の割合が大きいです。

Microsoft Azure

Microsoft Azureは、WindowsとMicrosoft SQL Serverを使うことを想定しています。SQL DatabaseはWebアプリケーション用ということで、Standardというパフォーマンスレベルから最低なものを選びました。

料金シミュレーターはこちらです。

SQL Database

リージョン: 西日本
タイプ: Single Database
価格レベル: Basic
パフォーマンスレベル: B: 5BTU, DBあたり2GBストレージ
料金: 1730.25円

Virtual Machines

リージョン: 西日本
種類: Linux
価格レベル: Basicx
インスタンスのサイズ: A1:1コア,1.75GB RAM, 40GB
インスタンス 2個 x 744時間
料金: 4856.83円

Load Balancer

料金: 無料

帯域幅

リージョン
ゾーン2:アジア太平洋、日本、オーストラリア
1000GB
料金: 14005.62円
合計: 20592.70円(消費税不明)

他のクラウドサービスでSQL Serverを動かそうとすると、Windows ServerとSQL Serverのライセンス料がかかります。そのことを考えたら、データベースのレンタル料がすごく安いです。

ロードバランサが無料なんですね。こちらも、アクセス数の費用に占める割合が大きいです。

さくらのクラウド

料金シミュレーターはこちらです。

サーバー・ディスク

リージョン: 石狩
サーバープラン: 仮想1コア、2GBメモリ
ディスク1: SSDプラン:20GB
契約数: 2
料金: 5142円

ルータ・スイッチ

回線帯域: 100Mbps:月間3.2TB(平均10Mbps)月額4320円
グローバルIPアドレス: 16個:月額3456円
料金: 7776円

ロードバランサ

プラン: 標準プラン
料金: 2571円

データベース

プラン: 10GBプラン:月額2700円
料金: 2700円
合計: 18189円(税別)

前回見落としたのかもしれませんが、データベースのサービスがあるのですね。ルータ・スイッチが高いなと思ったのですが、ネットワークの転送量が増えても値段は上がりませんので、こんなものかもしれません。

IDCF クラウド

こちらは、データベースのサービスがありません。サーバーの構成例として、人気のLAMP構成ということで、Webサーバー2つ、DBサーバー2つの構成がありましたので、それを紹介します。

料金シミュレーターはこちらです。

Webサーバー

仮想マシン: Light-S2 CPU 1 Mem 2GB
料金: 1400円
ボリューム: ルートディスク15GB
料金: 300円
利用台数: 2台

DBサーバー

仮想マシン: HighCPU-M4 CPU 2 Mem 4GB
料金: 9200円
ボリューム: ルートディスク15GB
料金: 300円
利用台数: 2台

ロードバランサ

料金 無料
合計: 22400円(税別)

DBサーバーに結構よい性能のサーバーを割り当てています。性能を抑えることで安くできると思います。

性能の良い有償のロードバランサもあります。また、初期設定のスクリプトがあるそうです。

クラウド・エヌ

Cloudn(クラウド・エヌ)は、NTTコミュニケーションズが提供しているクラウドサービスです。

料金シミュレーターはこちらです。

東日本リージョン
FLATタイプ

Compute

仮想サーバープラン(vCPU): プランv1(1 vCPU, 2GB)
オフィシャルテンプレート: CentOS(ルートディスク15GB)
1か月の利用時間: 起動720時間
台数: 2台
料金: 6800円
データディスク: 40GB 利用720時間
台数: 2個
料金: 800円

Load Balancing Advanced(LBA)

LBA: 振り分け先の仮想サーバー数 2台/月
料金: 1500円

Relational Database(RDS)

DBサーバープラン: vDB1(1vCPU,2GB) 720時間
DBディスク: 30GB利用 720時間
料金: 5600円
合計: 14700円(税別)

なんか安くまとまりました。
RDSをマルチゾーンに配置して、LBAでSSL証明書を扱って、DNSのサービスを使っても、税込みで23328円でした。

とてもお得です。

まとめ

国内外のクラウドサービスについて、料金を比較してみました。

AWSは、ロードバランサも含めて組むとそれなりに料金がかかります。オンプレミスでロードバランサを購入したことと比べれば安いのでしょうけれど。将来的に成長が見込めるサイトは、ロードバランサを組んでしまった方が、後の手間がかからないと思います。

GCPは、このページで、他のクラウドと比べてコストが60%とうたっています。他のクラウドとはAWSのことでしょう。Azureもそれくらいのところを狙っているようです。

Azureも含めて、海外のクラウドサービスは、ネットワークの転送料が従量制です。そのため、転送量が増えると料金が上がることが大きくきいてきます。画像の多いサイトは要注意です。

国内勢も頑張っています。

さくらのクラウドは、比較ではAWSより安く、ネットワークの転送量が増えるともっと違いが出てきます。

IDCFクラウドは、データベースのサービスがないので自分で設定する必要がありますが、それができればネットワークの転送料もかかりませんし、料金は明瞭です。データベースのサービスは、2017年中に提供予定のようです。

クラウド・エヌがずいぶん頑張っているように見えます。データベースのサービスもありますし、サイトを運営するのに必要なサービスはそろっていると思います。

いずれにしろクラウドサービスは、少しお金をかけてでも手間と時間を節約して自分の仕事を楽にするものだと思っています。

自分に合った良いサービスが見つかるといいなと思います。

クラウドサービスでロードバランサはいつ使えばよいのか

Amazon Web Services(AWS)でWebサービスを提供しようとしたとき、ロードバランサはどういう場合に使えばよいのでしょうか。

ネットワーク構成などとAWSの報告例を参考にその料金を検討してみました。

複数のサーバーでネットワークを構成するときの基礎

こちらにユーザー数が1から1100万以上になったときに何が必要になるのかが紹介されています。AWSのre:Invent 2015での講演を簡単にまとめたものです。

Amazon AWSでユーザ数1100万以上にスケーリングするためのビギナーズ・ガイド

講演のビデオのリンクもあるので、詳細はそちらをご覧ください。英語ですけど。

簡単にまとめると、ユーザー数が10までは、1インスタンスでいいです。10を超えたら、DBサーバーを分けましょう。100を超えたらAmazon RDSを使いましょう。1000を超えたらロードバランサをつかい、Webサーバーを複数にしましょう。

ユーザー数1-10:サーバー1個
ユーザー数10-100:Webサーバー+DBサーバー
ユーザー数100-1000:Webサーバー+DBサーバー(Amazon RDS)
ユーザー数1000-10000:ロードバランサ(Amazon ELB)+Webサーバー複数+DBサーバー(Amazon RDS)

このユーザー数が何を表すか疑問だったのですが、ユニークユーザー数と考えるといいようです。

ビデオを見た感じだと、アクセスが1つのインスタンスでさばけなくなった時がロードバランサの導入時ということだと思います。

評価する目安

限界となるアクセス数を考えた時に、原因は、CPUの性能、メモリ容量、ディスクのアクセス速度、ネットワークの速度と4つくらいが考えられます。

評価する目安としては、同時アクセス数(同時接続数)、ページビュー数(PV数)、ユニークユーザー数(UU数)とかがある。ページビュー数というのが難しくて、1日の中でも変動します。そのため、単純に1秒当たりのページビュー数を3600倍して、24倍しても1日当たりのページビュー数にはなりません。

Apacheの接続が維持される時間が2秒の場合、

同時アクセス数 = ページビュー数/1秒あたり X 接続時間(2秒)

という関係にあります。

サーバーの性能を考えた時、限界はまずメモリに現れるようです。メモリが限界になって同時アクセス数が限界になる。

アクセス数が多くなれば、ネットワークの転送料も気になってきます。

海外のクラウドサービスでは、ネットワークの使用料は従量課金です。

画像のないサイトだと、0.2MB/1ページくらいなので、10万ページビュー/1日だと、1日当たり20GB/日になります。1か月で600GB/月。

1か月の転送量 = 0.2MB/1ページ x 10万ページビュー/日 x 30日

Amazon Web Servicesで$54ドルです。画像が多くなって1ページが2MB/1ページと10倍になれば、かかる料金も10倍になります。Contents Delivrty Network(CDN)を使うといいかもしれません。

実際の報告例

まず、簡単な見積もりの話から。

Webサイトのアクセス数増加と必要メモリ

メモリの量で同時アクセス数が決まります、というお話。こちらでは、メモリ2GB、2コアのサーバーで、同時接続数100人が目安。

これは、1日の変動を考えて1日に100万ページビュー/日だそうです。

単純計算なので、実際にはもっと少ないと思います。

次に、実績を調べていきます。

VPSのメモリ2GBでどのぐらいのPVに耐えられるのか?

どこで測定したかわかりませんが、こちらで実験した結果では、メモリ2GB、CPU3コアのサーバーで、同時アクセス80人。

一日に5万ページビュー/日から10万ページビュー/日だそうです。

こちらは、ApacheとWordPressでの実績です。

さくらのVPS 1Gプランで真面目にWordpress運用は厳しい!?

さくらのVPSの、メモリ1GB、CPU2コアのサーバーで、3ページビュー/秒。

単純計算で、一日に10万ページビュー/日だそうです。

でも、さくらのVPSは負荷が続くと制限がかかるそうです。

接続時間が2秒とすると、同時アクセス数は6人ですね。メモリが少ないとはいえ、同時アクセス数は意外と少ないです。

メモリを増やすとどうなるかです。

GMOクラウドVPSで動かしてるWordPressのアダルトブログが日刊10万PVを突破

GMOクラウドVPSの、メモリ12GB、CPU仮想7コアのサーバーで、同時アクセス300人。

一日に10万ページビュー/日がさばけている。

これは、実績なのでもっといけそうですね。メモリが多いとその分同時アクセス数も多くなるということだと思います。

Amazon Web Servicesの場合

では、Amazon Web Servicesでインスタンスを借りた場合、限界となるアクセス数はどれくらいでしょうか。

AWSをやめて普通のレンタルサーバーにした理由

こちらの方は、AWSではt2.small + RDSという構成で、アクセスユーザー2万人/月、50万ページビュー/月、同時アクセス数は20人だったそうです。費用が$146だったそうです。t1.smallではさばけないとのこと。

100万ページビュー/月までなら、レンタルサーバーの方が安く上がるとのことです。

AWSの実用スペックについて 仕事でamazonのA

こちらの例では、EC2がt2.large、RDSがdb.m3.2xlargeで、同時アクセス数が50人から最大で300人だそうです。

これだと、データの転送量がどれくらいあるかわかりませんが、月に7万円以上かかりますね。これだと、上にあげたGMOクラウドVPSのようなVPSを借りた方が安くなりますね。

もう怖くない。実例で学ぶAwsでのサイジングと料金計算

こちらはsiegeというプログラムで、t2.microとt2.smallを比較しています。t2.microで1000ページビュー/1時間、t2.smallで2000ページビュー/1時間だそうです。

同時アクセス数は1にも届かないのですね。

AWS(Amazon Web Services)の月額コストを抑えたいのでアドバイスいただきたいです

こちらは、EC2(t1.small)+RDS(db.t2.micro)で2万ページビュー/月を処理している。$400かかっているけど安くならないかという相談です。

契約を見直すことで安くなりそうとのことですが、こちらもレンタルサーバーの方がいいのではというアドバイスを受けています。

PV数とインスタンスタイプの目安

こちらは、AWSでAMIMOTOというnginx+WordPressのイメージを販売しているところですが、t2.smallでは、10万ページビュー/1か月だそうです。RDSを使わずに、1つのイメージだけで動かしています。

WordPressのみを考えていて、シングルインスタンスでいいのならAMIMOTOを使ってサイトを運営するのが一番安く上がると思います。2000万ページビュー/月までいけるのが驚きです。その時の値段は、こちらを見ると、$2.40/hrということですから、消費税もいれて17万円/月ほどです。もっとも、ネットワークの転送料がもっとかかると思われます。

その他にも、テレビのWBSで放送されたときにアクセス数が増得た時の対策 HerokuでWBS砲を打ち返した話 や、Yahoo!でリンクされたときの対策 Yahoo砲に耐えられるインフラの話 があります。

こういうのを見ると、クラウドでロードバランサを使った構成が有効だなと思います。

スタートアップのためのAWSピーク対策入門@JAWS-UG千葉
Webサービス向けスケーラブルな構成例 - 継続的な成長やメディア紹介時のアクセス集中に備える -

こちらでは、AWSの人が、ピーク対策にロードバランサ+Webサーバー2台+DBサーバーという構成をすすめています。

まとめます。

まず、数万ページビュー/月から数十万ページビュー/月といったアクセス数が少ないサイトは、レンタルサーバーやVPSを使った方が安くなります。

どうしてもAWSでという場合は、AMIMOTOを使った方が安くなります。

t2.mediumで同時アクセス数20人、t2.smallはその半分の性能ということから、t2.smallは同時アクセス数10人以下と思われます。AMIMOTOのnginxで10万ページビュー/月ということから、apacheの場合t2.smallの性能は10万ページビュー以下と思われます。

t2.microでアクセスをさばききれなくなったら、まずt2.smallにしてメモリを増やしたほうがいいです。

その後、スケールアップするか、それともロードバランサを使ってスケールアウトするか考えどころですね。次に検討してみます。

AWSでスケールアップした場合とEC2をスケールアウトした場合

AWSで、EC2をメモリを増やしてスケールアップした場合と、ロードバランサとEC2 2台でスケールアウトした場合の料金の違いを見てみました。

さきほどのt2.small + RDSという構成を再現してみます。

Amazon EC2

タイプ: Linux,t2.small
月額: $16.84

Amazon EBS

ボリュームタイプ: General Purpose SSD(gp2)
ストレージ: 30GB
月額: $3.00

データ転送

データ転送送信: 1000GB/月
月額: $89.91

Amazon RDS

クラス: db.t2.small
ストレージ: 汎用(SSD) 5GB
リージョン内データ転送: 1000GB/月
月額: $35.47
合計: $145.22

この構成から、転送量が2倍になって、メモリを2倍にしてt2.medium 1台 + RDSにスケールアップしてみます。

Amazon EC2

タイプ: Linux,t2.medium
月額: $34.41

Amazon EBS

ボリュームタイプ: General Purpose SSD(gp2)
ストレージ: 30GB
月額: $3.00

データ転送

データ転送送信: 2000GB/月
月額: $179.91

Amazon RDS

クラス: db.t2.small
ストレージ: 汎用(SSD) 5GB
リージョン内データ転送: 2000GB/月
月額: $33.03
合計: $250.35

元の構成からロードバランサを増やし、t2.small 2台 + RDSという構成にしてみます。

Amazon EC2

タイプ: Linux,t2.small
台数: 2
月額: $33.68

Amazon EBS

ボリュームタイプ: General Purpose SSD(gp2)
ストレージ: 30GB
月額: $3.00

ELB

Elastic LBの数: 1
全ELBによって処理されたデータ転送: 2000GB/月
月額: $34.30

データ転送

データ転送送信: 2000GB/月
月額: $179.91

Amazon RDS

クラス: db.t2.small
ストレージ: 汎用(SSD) 5GB
リージョン内データ転送: 2000GB/月
月額: $33.03
合計: $283.92

ロードバランサにも転送量によって料金がかかるのですね。

ネットワークの転送料が大きな比重を占めます。サイトが画像や動画を含んでいるかによって費用が大きくかわります。

スケールアップした場合の$250に対して、スケールアウトした場合$284ということで、ロードバランサの分だけスケールアウトした場合が高くなります。

スケールアップとスケールアウトでどちらがいいかですが、スケールアウトしてEC2 2台の方がトラブルになったときの可用性があがります。その分をどう考えるかによります。差額$30なら、スケールアウトしたほうが、アクセス数が変動した時の対応が出来ていいように思います。

まとめると次のようになります。

EC2のt2.small 2台のインスタンスとt2.medium 1台を借りる費用は変わりません。
ロードバランサを借りると、t2.medium1台借りたくらいの費用がかかります。
その結果、ロードバランサを借りた方が1台分だけ費用がかかります。

データ転送料が2倍になることが大きくて、費用が2倍に膨らみました。

今回の場合は、転送量をいかに減らすかが大切なように思います。

まとめ

ロードバランサを借りるのは、ユーザー数が1000以上になって1台ではアクセスがさばききれなくなった時です。

アクセス数の限界は、メモリの量が大きく関係しています。t2.microの場合は、まずt2.smallにすることを考えた方がよいです。

WordPressのみを考えていて、シングルインスタンスでいいのなら、AMIMOTOを使った方が安くなります。

ロードバランサを借りると、1台分だけ余計に費用がかかります。トラブルになったときの可用性を考えると、ロードバランサを借りてスケールアウトしたほうがいいように思います。

クラウドサービスはどこが安いのか

国内外のクラウドサービスのどこが本当に安いのか比較してみました。2017年3月での比較です。

各サービスが提供する最低の値段を調べました。WordPressを使うことを想定してWebサーバーのインスタンスとデータベースのインスタンスを借りることを考えます。

比較したのは、Amazon Web ServicesとGoogle Cloud Platform、Microsoft Azure、さくらのクラウド、IDCF クラウド、クラウド・エヌです。

データベースのサーバーは、リレーショナルデータベースのサービスが提供されていればそれを使い、無ければインスタンスを2つ借ります。

それぞれのサービスで料金のシミュレーターがあるので、それを使って調べました。

厳密な意味ではスペックを同じにできませんでしたので、はじめにお断りしておきます。

では、Amazonから。

Amazon Web Services

Amazon Web Services(AWS)は、いろいろなサービスが提供されています。そのなかで、Amazon EC2がWebサーバーに、Amazon EBSがストレージに、Amazon RDSがデータベースとして使えます。

12か月の無料期間があるのですが、今回はそれを無視して調べました。

料金シミュレーターではt1.microというタイプが初期状態では選ばれますが、t2.microの方が安くて速いということなのでそちらを選んでいます。

料金シミュレーターはこちらです。

Amazon EC2

タイプ: Linux,t2.micro
月額: $11.72

Amazon EBS

ボリュームタイプ: General Purpose SSD(gp2)
ストレージ: 30GB
月額: $3.60

Amazon RDS

クラス: db.t2.micro
ストレージ: 汎用(SSD) 5GB
リージョン内データ転送: 10GB/月
月額: $19.83
合計: $35.15

月額料金は1ドル110円として消費税も入れると、4176円です。データ転送量に応じて金額は変化します。

なお、12か月は無料利用枠というのがあり、$0.10/月で利用できるようです。

また、実際に運用していくにはデータベースのバックアップなども必要になり、その分のお金がかかります。

t2.microというタイプは、vCPUが1、1.0GiBという仮想マシンで、入出力が低いから中程度となっています。

これでどれくらいアクセスがさばけるかですが、次のサイトに1日に700から800PV/日のことが載っています。

dogmap.jp を t1.micro から t2.micro に変更してみました

また、次のサイトには月に2万PV/月でお金がかかるという相談があります。

AWS(Amazon Web Services)の月額コストを抑えたいのでアドバイスいただきたいです

この2つからは、月に2万PV/月といったところでしょうか。

追記(2017/05/03)
もう少し詳しく調べてみました。

Google Cloud Platform

Google Cloud Platformも、いろいろなサービスが提供されています。そのなかで、Google Compute EngineがWebサーバーに、Google Cloud SQLがデータベースとして使えます。Compute Engineのところにストレージもあります。

シミュレーターを使ってみると次のようになりました。

料金シミュレーターはこちらです。

Compute Engine

730 total hours per month
VM class: regular
Instance type: f1-micro
Region: Asia (Japan)
料金: $4.70

Storage

Asia (Japan)
Storage: 30 GB
料金: $1.56

Cloud SQL Second Generation

db-f1-micro
# of instances: 1
730.0 total hours per month
Storage: 2.0 GB
Backup: 0.0 GB
料金: $8.01
合計: $14.27

月額料金は、消費税を考慮すると1696円です。

なんかえらく安いです。Cloud SQLの安さが光ります。

なお、2017年3月9日からAlways Free製品というのが設定されていて、米国リージョンのf1-microインスタンス1個が常時無料になるようです。

f1-microというタイプは、0.2vCPUで0.6GBのメモリです。

Microsoft Azure

Microsoft Azureは、WindowsとMicrosoft SQL Serverを使うことを想定しています。

料金シミュレーターはこちらです。

SQL Database

リージョン: 西日本
タイプ: Single Database
価格レベル: Basic
パフォーマンスレベル: B: 5BTU, DBあたり2GBストレージ
料金: 576.75円

Cloud Services

リージョン: 西日本
インスタンスのサイズ: A0:1コア,0.75GB RAM, 20GB
料金: 1616.41円
合計: 2193.16円(消費税不明)

他のクラウドサービスでSQL Serverを動かそうとすると、Windows ServerとSQL Serverのライセンス料がかかります。そのことを考えたら、データベースのレンタル料がすごく安いです。

ただ、パフォーマンスレベルを上げると自分で設定したほうが安くなるようです。

でも、データベース設定や管理の手間を考えたら、Azureを使おうとなるのかな。Azureの売り上げが伸びている理由がこんなところにある気がします。

さくらのクラウド

さくらのクラウドにはデータベースサーバーのサービスがありません。そのため、インスタンスを2つ借りることにします。

料金シミュレーターはこちらです。

リージョン: 石狩
サーバープラン: 仮想1コア、1GBメモリ
ディスク1: SSDプラン:20GB
契約数: 2
料金: 3908円(税込み)

自分でデータベースを設定する必要がありますので、少し手間がかかります。でも、使っている人が多く、MySQLだと検索すると出てきます。
また、LAMP環境をインストールするスタートアップスクリプトというのがあります。

IDCF クラウド

こちらもデータベースのサービスがありません。インスタンスを2つ借りることにします。

料金シミュレーターはこちらです。

仮想マシン: Light-S1 CPU 1 Mem 1GB
料金: 200円
ボリューム: ルートディスク15GB
料金: 300円
データディスク30GB
料金: 600円
利用台数: 2台
合計: 2376円

ずいぶん安く借りられます。ロードバランサが無料だそうです。

クラウド・エヌ

Cloudn(クラウド・エヌ)は、NTTコミュニケーションズが提供しているクラウドサービスです。

料金シミュレーターはこちらです。

東日本リージョン
FLATタイプ

Compute

仮想サーバープラン(vCPU): プランvQ(1 vCPU, 0.5GB)
オフィシャルテンプレート: CentOS(ルートディスク15GB)
1か月の利用時間: 起動720時間
料金: 450円
データディスク: 40GB 利用720時間
料金: 400円

Relational Database(RDS)

DBサーバープラン: vDB1(1vCPU,2GB) 720時間
DBディスク: 30GB利用 720時間
料金: 5600円
合計: 6966円(税込み)

データベースのサービスを使おうとすると高くなりますね。これを見ると、Amazon Web ServicesやGoogle Cloud Platformの値段がいかに安いかわかります。

まとめ

国内外のクラウドサービスについて、料金を比較してみました。各サービスの仕様を合わせられないためにどれくらい違いがあるかを正確に比較はできませんが、最低料金を見てみると海外勢の安さが目立ちます。

とにかく安くといったら、Google Cloud Platformです。Amazon Web Servicesは、無料期間が過ぎるとあまり安くありません。Microsoft Azureは、SQL Serverが安く使えます。

国内勢も頑張っています。データベースのサービスがないので自分で設定する必要がありますが、それができればネットワークの転送料もかかりませんし、料金は明瞭です。

もちろんWebサーバーの場合、アクセス数に応じてロードバランサを使ったり、複数のサーバーを借りなければならなくなると思います。そのためには、実際に借りてパフォーマンスを測定する必要があります。その時、どれくらい値段が上がってしまうのかも見ておいたほうがいいですね。料金シミュレーターなどを使って感覚的にわかるようになるといいかなと思います。

GoogleがAmazon Web Servicesを価格面で攻勢をかけていると聞いたことがあります。まさにそうだと思います。価格改定も頻繁のようなので、目が離せませんね。

仮想マシンからホストOSを攻撃する

CanSecWest security conferenceで毎年行われているPwn2Ownというハッキング大会において、仮想マシンのブラウザからホストOSに抜け出すことができたのだそうです。

「仮想マシンでWebを見ているからホストOSは安全」という常識を覆す

Microsoft EdgeとWindowsカーネル、Vmware Workstationのバグを組み合わせてゲストOSからホストOSにアクセス可能にしたそうです。

なんか、普通の人には絶対わからないと思いますが、こんなことができてしまう人がいるのですね。

AMDの新しいプロセッサの仕組み

AMDからRyzen 7が発売されましたが、それと同じ設計のNaplesの仕組みが紹介されています。

ベールを脱いだAMDの32コアサーバーCPU「Naples」

IntelのCore iシリーズと同じマルチスレッドの仕組みを持っているとか、電力効率の良い設計になっているとか。

x86/x64命令は複雑なので、マイクロOPという複数のより単純な命令に変換してそれを実行しているそうです。このあたりは、QEMUが内部でやっていることと一緒ですね。

I/Oとの接続もより高速化されているということで、ベンチマークに出ているような良い結果になっているそうです。

売れ行きも良いようですし、AMDが頑張ってくれるといいですね。

MIPSでx86やARMのプログラムを動かす

MIPSでx86やARMのプログラムを動かすCPUが開発されたそうです。中国製で、仕組みとしてはMIPSのアーキテクチャを拡張して、x86やARMの命令をバイナリトランスレーションして動かしているそうです。

MIPSなのにx86とARMアプリを高速に実行できる中国製CPU「龍芯」のカラクリ

浮動小数点レジスタやSIMDレジスタ、仮想化関係のレジスタまで用意しているそうで本格的です。

こんなCPUがとても安く供給されるようになる時代がくるのでしょうか。