やたらと時間のかかっているBlog引っ越しだが、昨日ようやく完了ぢゃ。
切り替えはスルッとヌルっとこなしたのでおそらく気づかれてはおらんだろう。
しかしだ、画像とかのLinkがAWSのS3になっていたりするんで仔細をよく見る方は気づいたかもしれんですな。
9月末の旧サイトぶっ壊し事件からの復帰でちぃと疲れ果ててしまったので2,3週休憩(放置)して10月中頃から再開したんだが、すでになんだかんだの12年モノなせいで投稿数もメディア類も多すぎて移行がうまくいかんのぢゃ。
まずそのへんの解決方法を探るところから始まったのだが、再開から移行完了公開までをざっくりまとめて記しておこう。
さてまずは各記事内容の移植についてだ。システム自体は新設でも別に問題ないし。
これについては、Wordpressプラグインの All-in-one WP Migration でOK。
・・・と思っていたんだが、コヤツ、プラグイン含むシステム設定と記事文面はきっちりラクラクバックアップしてくれるのだが、画像とかのメディア類は一切バックアップしてくれないのね。
ほんで自分でメディア類だけ移植したら、WordpressではLinkの文字データは”シリアライズ”なることがされているそうで、Link文の前にデータ形式と文字数が記録されておるのだ。以前のさくらサーバの制限でドメイン直下ではなく /pote 配下にしなければならなかったが、新AWS EC2ではこの /pote は都合が悪い(理由失念)ので5文字減っているわけで、全メディアのLink情報を書き換えねばならん。
10000近くあるので不可能に近いものの、一応Wordpress上でLinkを全修正することも考えた。が、そもそもメディアライブラリに認識されていないので投稿の編集での書き換えもできないんだなこれが。
そんで自動化の方法を探してみると、phpMyAdminやターミナルでSQLコマンドで一括書き換えをする方法が見つかった。
のだが、コレいくらやっても正常終了しない。
どういうことかと必死の捜索をしたところ、1回の書き換え件数に制限(999件とか9999件とか)があるそうで、要書き換えLink数が10000を超える我がデータではこの方法での書き換えができないことが発覚。
そこでさらに必死こいて方法を探ったところ、 Search and Replace for WordPress Databases Script っちゅうのを発見。使ってみる。
コレは書き換え対象を検索してシリアライズ解除、書き換えて再度シリアライズしてデータベースに書き戻す、という作業を自動一括でやってくれるらしい。
でもちょっとしたトラップがあった。
情報入力して届いたダウンロード案内Mailには、
Download Search Replace DB v 3.1.0 here. Use it carefully! If you have compatibility problems or are running on an older server for whatever reason, then please use v 2.1.0
とある。見つけた紹介記事ではv 2.1.0を使っているし、文面からも2.1.0のほうが安全に見えるのでv 2.1.0を使ってみたが、なーんも書き換わらない。
どうにもダメなのでv 3.1.0を使ってみたら無事成功、全メディアがWordpressに認識され復活。
これでようやく移行の目処が付いた、といったところで。
ここまで終わったのが実は11月15日。長かったのぅ。
なお、ここまでイジった感触からGCPは高く付きそうなので止め、AWSで作ることにした。
さて、ここまでの移行検討でいじりまくったモノは全部削除して、AWS EC2でPC作るところから再開。
ただここでちっと気になった。
AWSで安上がりなt2.microはCPU能力の10%しか使わせてくれないのでけっこうキツいらしい。”バースト”なる機能で高負荷時は性能UPしてくれるそうだが、”クレジット”っちゅうもんで制限されているそうでクレジットの残高分しかバーストは使えないとか。
ならばメディアをS3に退避してちっと負荷を減らしたほうが良さげよね。
もちろんそう考える方々は多いわけで、投稿時に自動でS3にメディアを保存してLinkも書き換えてくれるお便利プラグインもあるのでラクラク導入。
問題は過去投稿のLinkを書き換えることだが、これは上述の通り /pote サブディレクトリの削除のためにどのみち書き換え作業が必要なので、そのときに全部S3あてにしてしまえば良いので問題なしだ。
ということで、
1. S3バケツ作成
2. S3に全メディア(12000以上あってびっくり)を転送
3. t2.microでWordpress立ち上げ、All-in-one WP Migrationでシステムと記事文章を移植
4. Search and Replace for WordPress Databases ScriptでメディアLink書き換え
5. DNS情報書き換え、potech.jpの行き先をさくらサーバIPからEC2 IPに切り替え
これを16日にやって、ようやく移行完了。
AWSでWordpressを使うに一般的なものを選ぶとBitnami版で、コレはなんか右下に無駄なBitnami紹介が出る。
さくらサーバと同一なのでDNS切り替えが浸透するのを見極めやすくするためにあえて残しておいたが、さっき消した。
これでひとまず元通り。あとは使いつつもうちっとレイアウトを考えたいところですな。