こんにちは。ますのです。
WordPress用に最適化されたサーバを、自前かつ数分程度で構築したいわぁ。。。って思うことありませんか?ありますよね?あるはずです。(ゴリ押し)
そんな時に便利なAWS Marketplaceにある「amimoto」さんを使って構築&サイト移行してみたのでメモしていきます。
AMIMOTO AMIとは??
AWS Marketplace内で公開されている「WordPress用に最適化設定済のAMI」となります。
yumでapacheやmysql入れたり、チューニングする必要なく、ぽちぽちするだけでLAMP環境が作れてますよって代物です。
データベースやapacheの初期設定が済んだ状態で利用出来るのは時短として非常に良かったです。
※そんなの自分で出来る!時間使っても安く!という方は通常のAMIから構築をした方が良いと感じました。
月の利用金額は??「t2.micro」で1500円〜2000円くらい??
インスタンスタイプによって金額に差はありますが、主に以下の3点が掛かる費用になります。
- インスタンス料金:CPUやメモリ等のサーバの地力
- ソフトウェア料金:AMIMOTOの利用料金
- ボリューム料金:HDDなどの保存領域。基本はEBSのルートボリューム分。
今回は無料利用枠も用意されている、「t2.micro」で試算してみます。
▼ざっくり計算:24時間×30日くらい
項目 | 金額/月額 |
インスタンス料金 | 10.8 USD |
ソフトウェア料金 | 3.6 USD |
ボリューム料金(20GBの場合) | 2.4 USD |
合計 | 16.8 USD |
レンタルサーバの高めのプランと同等くらいでしょうか。t2.medium以上だとインスタンス利用料と同額くらいのソフトウェア料金になってる様子。
実際に構築してみる
工程
- AWS Marketplaceから「AMIMOTO」のAMIからEC2インスタンスを作成する
- 作成したEC2インスタンスにElastic IPを割り当てる
- 少し待機 ※私の中では今回の最重要ポイント!
- 作成したEC2インスタンスのパブリックDNSにブラウザからアクセスする
- インスタンスIDを入力しWordPressを構築する
- パブリックDNSでWordPressに接続できたら完了!
詳細手順
まずはAWS管理コンソールにアクセス>EC2>インスタンスの作成をクリックします。
①Amazonマシンイメージ(AMI)の画面で以下を選択。
・AWS Marketplace>検索「amimoto」>WordPress powered by AMIMOTO(Apache)
※Nginxで構築したい場合は「WordPress powered by AMIMOTO」を選択する。
指示に従ってEC2インスタンスを作成します。
セキュリティグループやEBS等は自身の環境に合わせて設定ください。
続いて、Elastic IP(EIP)をアタッチします。
DNS設定とかで固定化されていないと不便なので、外部公開するサイトの場合は付与しておきましょう。
利用において1つのEC2インスタンスで1つのEIPが無料で利用できますが、EC2停止中は課金対象となるので運用の際は注意が必要です。
・新しいアドレスの割当:割当を実施し、新しくElastic IPを作成
・下図のように、新規作成されたEIPを選択>アクション>アドレスの関連付けをクリック
この画面の「インスタンスID」と「パブリックDNS」はこのあとの作業で利用します。
EIPを付与した直後は、EC2インスタンスにSSH接続をしても「Amazon Linux」として起動してしまいます。
ApacheやNginxも停止状態。手動で立ち上げてもApacheのデフォルト画面のまま。
WordPressもサーバ内にインストールされていない状態でアクセスが出来ない状態を確認しました。しかし、時間を置いてアクセスしたところ後述の設定画面にアクセスが出来ました!
詳細は不明ですがWordPressインストールは少し時間がかかるのか??という印象です。
※わたしの中でこの「待機時間」が最もわからない点でありました。。。
⑤Your Instaance IDに、先程作成したEC2インスタンスのインスタンスIDを入力する
・言語選択画面:日本語を選択
・サイトのタイトル:WordPressのタイトルを設定
・ユーザ名/パスワード:WordPressの管理画面のユーザ名、パスワードを設定
・メールアドレス:WordPressの通知先のアドレスを設定
これでWordPressに最適化されたサーバが手に入るなら時間を買う意味では全然OKかと感じたであります。
・悩んだら少し時間を置いて再チャレンジしよう。事象を一旦寝かせておこう。。。