WordpressをEC2で運営する最安の構成

ずっとHerokuを使っているのでAWSといえば使うのはS3かRoute53くらい。
今回、AWSを使ってワードプレスのウェブサイトをつくることになったのですが、勉強になったので残しておこうかと。
なお、知っている人には当たり前の内容になっております。

基本を知ろう

Amazon Web Services入門 (全17回) - プログラミングならドットインストール
このレッスンがめちゃくちゃ分かりやすかったです。
EC2 + RDS + S3… ふんふん で LoadBalancerね、なるほど便利だねってなんとなく作業してたんですが、ふと立ち止まって思いました。
  
これっておいくらですか…?
  
アカウントさえ持ってればさくさくとサービスを追加できるので、AWSってあんまり料金を意識しないんですが来月びっくりすることになるのかも…。負荷が高くないのに至れり尽くせりにする必要もないのかと。

ためしドットインストールの構成を参考にちょっと計算してみた。
Load Balancingは最初は要らないと思うし、S3は無視できるくらい安いと思うので省略しました。

リージョンは東京です。


追記

$0.00 : 実行中のインスタンスと関連付けられている Elastic IP アドレス 1 つ

Elastic IP はインスタンスと紐付いていれば無料とコメント頂きました。
https://aws.amazon.com/jp/ec2/pricing/


サービス インスタンス コスト/h コスト/m
RDS (MySQL) db.t2.micro $0.026 $18.72
EC2 t2.nano $0.1 $7.2
S3 - - -
Load Balancing - - -
Elastic IP - $0 $0

$18.72 + $7.2 + $0 = $25.92 ということに。
2016年1月16日現在の為替で計算すると ¥ 3032.51 / 月 となります。

結構高いですね…。
小さなウェブサイトを運営するのに月3000円かかるなら普通のレンタルサーバー選ぶかな。

もっと安くなる

ドットイントールの要領で進めていったので、これが初心者用の構成で、最初はこうやってスタートするんだなーと勝手に思っていたのですが、意外とお値段がはる。

でも改めて考えてみると、RDSいらなくないですか?
一連の流れを教えてくれたドットインストールは素晴らしいのですが、
普通にLinuxに MySQLサーバー入れて運用すればそれでいいんだと、
ものすごく当たり前の事に気づいた。

RDSのメリットについてはこんな感じらしい。
RDSのメリット(非エンジニア目線で) | ナレコムAWSレシピ

でも今回の案件にはRDSっていらないな… と。
下記、ドットインストールので説明されているRDSでなくて、EC2内でMySQLサーバーを動かす手順を簡単に。

# イントール
$ sudo yum install mysql-server

# 起動
$ sudo service mysqld start

# サーバー立ち上げで起動するように
$ sudo chkconfig mysqld on

# パスワードは変えておこうか
$ mysql -u root
$ update mysql.user set password=password('YOUR PASSWORD') where user='root';
$ sudo service mysqld REstart

余談ですが、mysql -u root コマンド打ったら下記のエラーが出たので対処しました。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
# 作成
$ sudo vi /var/lib/mysql/mysql.sock

# 空のまま保存(escape -> : -> wq -> enter)

$ sudo chown mysql:mysql /var/lib/mysql

$ sudo service mysqld restart

EC2のインスタンスをterminateするとDBのデータとか消えちゃうわけですが、
それはそれでバックアップを取るとかして対応すればいいので、気をつけましょうということで。

で、RDSがいらなくなったので費用は下記のようになります。

サービス インスタンス コスト/h コスト/m
EC2 t2.nano $0.1 $7.2
S3 - - -
Elastic IP - $0 $0

$7.2 + $0 = $7.2
2016年1月16日現在の為替で計算すると ¥842.36 / 月 という感じ。
もちろんもっと安いレンタルサーバーもあるけど、これならHerokuと同じくらいだしいいかな。
Route53の費用もかかってくると思うけど、まぁそれは無視できるくらいでしょう。最初は。
  
ということで、最小の構成なら月1000円弱くらいってことで。多分。
  
上記はオンデマンドインスタンスで計算してますが リザーブドインスタンス を使えばもっと節約できそうです。下記リンクが参考になりました。
[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス
  
あ、それと違うリージョンで動かしているインスタンスとかは忘れてしまうことがあるので(リストに出てこない)、練習用で立ち上げていたインスタンスが実はすごい課金されてたってことがないよいうに気をつけましょう。一回やりました…。AWSあるあるですね。

以上です。

参考

Amazon Web Services入門 (全17回) - プログラミングならドットインストール

mysqlソケットエラー解決法 - ウマい話、ちょいくれや。

Mysqlのrootユーザのpasswordを初期化(変更)する - Qiita

無駄なコストを省こう!AWSで消し忘れを防止するためにチェックすべき7つのポイント | Developers.IO

[Amazon][EC2][RDS] RDSにデータベースを作成し、EC2のwordpressから接続する | (っ´∀`)っ ゃー | nullpopopo

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた