ブログ、引っ越しました(見かけ上の変化なし)
目次
やりたいこと(要件)
- XServer の月額更新が X10 プラン 1,100 円(1 か月更新)で割高なので維持費削減したい。
- WordPress の CMS は慣れてきたので、そのままにしたい。
- 今まで投稿した記事はそのまま維持したい。
- ドメインは地味に成長しているので、そのまま継続して活用したい。
まとめ
XServer(X10 プラン)から Amazon Lightsail に乗り換えてサーバーの月額使用料が半額になった。
ドメインは変わらず、サイト更新などの使い勝手もおおむねそのまま。
副次的には、AWS のサービスを連携できるようになって技術検証が可能になって嬉しい。
これまで | これから | |
---|---|---|
サーバー | XServer | Amazon Lightsail |
費用(月額) | 1,100 円 | 3.5 ドル (≒400 円) |
ドメイン管理 | お名前ドットコム | Amazon Route53 |
CMS | WordPress | WordPress |
HTTPS 化 | XServer 独自 | Let’sEncrypt |
完成したサービス構成
やりたかったけどできなかった
- CDN 使ったユーザーにやさしいサービス提供
- CloudFront
- Web サイトの HTTPS 化
- ACM(Amazon Certificate Manager)
www.lifeinprogram.com
には ACM で発行した証明書を CloudFront にアタッチして接続できた。
lifeinprogram.com
には ACM で証明書を発行したが、Lightsail インスタンスにアタッチする方法が分からず無理だった。
Route53 を使って、lifeinprogram.com
からwww.lifeinprogram.com
に CNAME でルーティングを飛ばそうと思ったが、lifeinprogram.com
が ZeroApex なので設定ができなかった。
実施手順
-
WordPress のエクスポート
所要時間:30 分
Xserver 上のワードプレスの管理画面にアクセスして、プラグイン「All-in-One Migration」をインストールします。
インストール・有効化して、エクスポート形式を「FILE」にして下さい。(lifeinprogram.com は 500MB くらいでした)プラグインをインストールする意図
※simplicity2 テーマが 2020/05/05 の時点ではテーマ検索しても見つかりませんでした。
丸ごとエクスポート・インポートすることでテーマ損失を回避します。 -
Amazon Lightsail でインスタンス生成
所要時間:15 分
公式ドキュメント(Amazon Lightsail で Linux/Unix ベースのインスタンスの使用を開始する)をなぞってポチポチするだけ。
Wordpress ログインも手順(Amazon Lightsail インスタンスからの WordPress の使用開始)に書いてある通り。 -
Lightsail インスタンスに静的 IP を割り当て
所要時間:2 分
公式ドキュメント(静的 IP を作成し、Amazon Lightsail のインスタンスにアタッチする)をなぞってポチポチ。
Wordpress 構築までならここまでで完了。移行は既存の WordPress を引越しする手順。 -
お名前ドットコムの取得済みドメインを Route53 へ移管(※省略可。)
移管費用:12 ドル
所要時間:45 分 – 60 分移管操作は Route53 上で行います。 操作自体は 5 分くらいで終わりますが、待ち時間が 30 分近くかかって長いです。
※移管失敗しても払い戻されるので、あんまり心配しなくてもよいです。
Amazon から見たドメインに問題がなければ、お名前ドットコムと Amazon どちらからもメール認証が届きます。ドメインが移管できるかどうかは、要件が決まっています。(最上位ドメインの移管に関する要件)
- 要件の TL;DR;
- ドメイン取ってから 60 日以上たっている
- ステータスコードが該当するコード以外。(ok なら大丈夫)
- clientTransferProhibited
- pendingDelete
- pendingTransfer
- redemptionPeriod
- serverTransferProhibited
- 前回移管して 60 日間経過している。
- 期限切れドメインは、失効から 60 日以上たっている。
- 独自ドメインが要件にあってるのか確認する。
whois コマンドで出力された内容を目視すれば分かります。whois ドメイン名 e.g.) whois lifeinprogram.com
- 参考 URL
お名前.com から Amazon Route 53 へドメインを移管する
- 要件の TL;DR;
-
Route53 でホストゾーンの作成
所要時間:30 分(DNS 適応にはちょっと時間かかります。)
最終形はこう。- ホストゾーン作成
ホストゾーン作成時は取得済みドメインを入力(e.g.lifeinprogram.com
)する。
ホストゾーンができたら、デフォルトでタイプ NS とタイプ SOA の 2 つが出来上がっているはず。
ここに、Lightsail の静的 IP と、www
サブドメインを 1 つずつ作成する。 - レコードセット作成(トップドメイン -> Lightsail 静的 IP)
人間にわかるアドレス名で DNS 適応します。パラメータ 入力値 名前 空のまま(つまりトップドメイン) タイプ A エイリアス いいえ TTL 300(デフォルトまま) 値 Amazon Lightsail でアタッチした静的 IP のコピペ
e.g)172.217.174.99(これは google のアドレス)ルーティングポリシー シンプル - レコードセット作成(サブドメイン
www
-> トップドメイン)
www
サブドメインを追加して、www
なしに遷移させる。パラメータ 入力値 名前 www タイプ A エイリアス はい エイリアス先 先ほど作成した A レコードの名前を選択
e.g.)lifeinprogram.com.ルーティングポリシー シンプル ターゲットの正常性の評価 いいえ
- ホストゾーン作成
-
ドメインのネームサーバーを登録
所要時間:5 分
お名前ドットコムで実施するか、Route53 で実施するかで手順が若干違う。
作成したホストゾーンの、「タイプ :NS」 にns-xxxx.awsdns-xx.org
など 4 つあるので、それをコピペする。
Route53 の場合、登録済みドメイン(e.g. lifeinprogram.com)にネームサーバー項目にコピペした 4 つを追記。
(末尾の.
は削除して追記する)
DNS 設定は長いと 3 日程度インターネット上の DNS サーバーにキャッシュされるので、適応には時間がかかります。 -
conf.php の書き換え
所要時間:10 分
Lightsail のコンソールから、ターミナルを起動します。(SSH でもいいです)vi
またはnano
でファイルを書き換えます。sudo nano /opt/bitnami/apps/wordpress/htdocs/wp-config.php
書き換え値。HTTPS のアドレスに変更してください。
(インポート前に書き換えておかないとパーマリンクが静的 IP 表示になり、今までの投稿リンクが壊れます。)//Comment out origin definitions. //define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); //define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define('WP_SITEURL', 'https://独自トップドメイン.com'); define('WP_HOME', 'https://独自トップドメイン.com');
-
bitnami ロゴの削除
所要時間:2 分
画面右下にあるぺらっとページめくり風なアイコンを削除します。sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1 sudo /opt/bitnami/ctlscript.sh restart apache
XServer 運用だと存在しなかったやつ。
Lightsail だと bitnami で wordpress のパッケージ管理してるから仕方ない。 -
WordPress のインポート
所要時間:30 分
エクスポートした FILE をそのままインポートするだけ。
事前にSITE_URL
を変えておかないと、インポート後のパーマリンクが壊れるので注意
ファイルサイズが大きい場合
プラグインで更に「All-in-One WP Migration File Extension」をインストール、有効化します。
これにより512MBでインポート可能になります。
インストール手順は公式(Install Instructions for File Extension)を参考にして下さい。
かいつまんで言うと、プラグインを zip で DL して、zip を読み込ませることで WordPress にプラグインインストールします。 -
LetsEncrypt で証明書の発行
所要時間:15 分
LetsEncrypt をクローンして、独自ドメインに対して証明書発行。
その後、Apache の再起動を行って適応擦れば終わり。コマンドを順次実行すれば OK です。cd /tmp git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto ./letsencrypt-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d 独自ドメイン.com sudo cp /etc/letsencrypt/live/独自ドメイン.com/fullchain.pem /opt/bitnami/apache2/conf/server.crt sudo cp /etc/letsencrypt/live/独自ドメイン.com/privkey.pem /opt/bitnami/apache2/conf/server.key sudo /opt/bitnami/ctlscript.sh restart apache
感想
とりあえず費用は抑えられたので当初目的は達成できてヨシ。
CloudFront あたりはもっとルーティングあたりに時間かければなんとかなりそう。
もしわかったら別記事か同記事を更新する。
所要時間以外にも、調べものしながら実施したから実際 2 日くらいかかってしまった。