AWS初心者がハマった、Amazon EC2でAMI網元を使ってWordPressを立ち上げ、引越し完了までの流れ
色々と思うところあって、EC2を試してみようと重い腰をあげて2日。ちらっとハマったのでシェアしておきます。
おそらくここに辿り着く人は
- AWS
- Amazon EC2
- AMI
- 網元
- WordPress
- インスタンス
- 接続できない
- 料金
と言ったキーワードでたどり着くはずです。なぜなら僕がそうやって探したから。そしてドンピシャな回答は得られなかったので時間がかかりました。というか心が折れそうになったよ!!
AWSは使ったことなくて、料金とかよくわからないしなー、どうしようかなーという感じだったのですが、まあそろそろそんな事も言ってられないよなと思って手を出しました。料金は、一年間1GBまで無料みたいなプランになっています。
参考にしたページ
とりあえずやるのは1を見て作業を進めます。
4:KeyPairを作る
名前は任意の名前でOKです。あなたの名前でもいいですよ。
5:セキュリティグループを作ります
【ここでハマった】実は、ここでやって置かなければならないことがあります。それはhttpのポートを空けるという作業です。そのことが3のセキュリティグループにルールを追加するのページに書かれています。これをやらないと、インスタンスをたちあげてもhttpで接続が出来ません。外界から全く遮断されたインスタンスになってしまうんですね。言ってよね〜!という感じですが、EC2の基礎だと思うので初心者は気を付けましょう。
やることはこれです。
Inboundタブ内の Create a new rule: コンボボックスを開きます。プリセットルールの一覧が表示されます。今回はSSHのポートを穴あけしたいので、一覧の[SSH]を選択します。
ここからhttpまでの一連の作業はやっておきましょう。どうせDBのインポートでssh使ったりするので、SSHアクセスをしないという選択肢はありえないだろうなと思います。
ポートをあけておけば、インスタンス立ち上げと同時にWordPressの管理画面へアクセス出来ると思います。ここまでで超高速WordPressAMI網元>使い方に書かれている内容はコンプリート。
サーバの移行作業を行う
ここからは2のAWS + 網元で、超高速 WordPress を手に入れよう、そうしようを参考に作業を進めます。
wp-content以下のファイルをrsyncでコピー。DBはmysqldumpしたファイルをrsyncでEC2サーバへ送り、リストアします。これだけ。
これで、AmazonEC2のPublicDNSのURLでアクセスできるように…なりません。MySQLに入って以下のコマンドを打ちましょう(MySQLにログインして、該当DBをuseしてからね)
mysql > UPDATE wp_option SET option_value = replace(option_value, 'http://旧URL', 'http://EC2-のURL.amazonaws.com') WHERE option_name = 'home' OR option_name = 'siteurl';
wp_optionのところは、接頭辞を変えている場合は、自分の設定に合わせて下さい。合わせないと、そんなテーブル存在しないよ!ってエラーが出ると思います。
と、言うことで僕のハマりどころはセキュリティグループの変更でした。一日悩んだぜ…
WebPageTestの結果はこんな感じ
色々とチューニングしたサーバを使っていたのでアクセススピードはそんなに変わってないけど、捌ける数が増えているはず。多分。
慣れちゃえば、Amazon EC2への引越しは10分程度で完了する予感がする。料金次第ではリバネスのサービス全部行っちゃおうかなあとか思ったりして。