プログラミング

WordPressをレンタルサーバーからクラウド(Iaas, Paas)に移行する手順

こんにちはマクロロです。

今回はエックスサーバーなどのレンタルサーバーからIaas, PaasであるAWS, GCP, Azure, OCIなどのクラウドに移行する手順を説明したいと思います。

レンタルサーバーでブログを運営してるけど、AWSなどのクラウドに移行したいな。

ブログがどんな仕組みで動いているか理解すれば、簡単に移行できるよ!

目次

レンタルサーバーからIaas,Paasに移行するメリット・デメリット

まず手順を説明する前に、Iaas,Paasへブログを移行するメリット・デメリットを簡単に挙げてみたいと思います。

デメリットの方が上回ると判断した場合は、無理に移行する必要はないですよ。

メリット

  • 月額のブログ運用費が安くなる場合がある
  • どのようにWordPress上でブログが動作しているのか深く理解できる
  • 今後エンジニアはIaas,Paasを触る機会が増えると考えられるのでその練習
  • より細い仕様や設計をカスタマイズできる
  • サイトのパフォーマンスが向上する
  • デメリット

  • 構築が上手くいかずデータが無くなったり、復旧できなくなる可能性がある
  • ブログの稼働が停止してしまう期間が発生する可能性がある
  • 月額のブログ運用費が高くなる場合がある
  • 上記が主なメリット・デメリットになります。

    おそらくこのブログを閲覧しているのはエンジニアの方が多いと思うので、私はチャレンジしてみることをおすすめします。特に今後インフラエンジニアを目指さす方は、特におすすめします。

    一方、ブロガーとして専念しようとしている方や、エンジニアとして働くことを考えていない方は少し吟味するのが良いと思います。

    正直ブログ移行の際の最大の欠点である、ブログのデータが飛んでしまったり、自力で復旧できなかったりすることを考えると安易に行うことはあまりおすすめしません。

    ブログの移行手順を紹介するブログはかなりの記事がありますが、自分と全く同じ環境で全ての手順が一致している記事はなかなかありません。必ずどこかで、同じ様に動作しなかったりする場面があります。

    途中で詰まっても自己解決できるかどうかが肝になります。

    ブログを移行する手順

    それでは、ブログをレンタルサーバーからPaas、Iaasへと移行していきましょう。

    今回は全体的な手順を大まかに紹介する程度なので、細いインストールコマンド、各リソースの設定方法やパラメーターの提示はしません。

    以下の流れに沿って全体像を掴み、実際の細かい設定は他の詳しい技術説明をしている記事へバトンタッチします。

    また、どのクラウドを使用してもやっていることは同じなので、AWS,GCPなどの特定のプラットフォームについての説明は省略します。

    サーバー移行の大まかな手順

    1. データのバックアップ
    2. メンテナンスモードに設定
    3. プラグインを停止する
    4. ブログを運用するクラウドを選ぶ
    5. 仮想ネットワークの構築
    6. サーバーの作成
    7. イングレス、エグレスなどのポートの開放
    8. レンタルサーバーからドメインを切り離す
    9. DNS設定
    10. VMに入りソフトウェアのインストール
    11. ソフトウェアのポート開放
    12. FTPクライアントでファイルの転送
    13. データベース管理ツールでsqlのインポート
    14. 通信をSSL化する
    15. ブログに接続してみる
    16. クラウド内で課金アラート設定

    少し長いですが、一つずつさらっと見ていきましょう!

    データのバックアップ

    まず、一番初めに一番大事な作業であるデータのバックアップです。基本的にはプラグインを使用して行うと良いです。

    有名なものとして、「BackWPup」や「All-in-One WP Migration」などがあります。私は、念のためどちらも使用してバックアップしておきました。

    メンテナンスモードに設定

    続いて行うことが、ブログをメンテナンスモードに変更しておくことです。ブログの移行作業は思わぬ作業中に、ブログが見れなくなってしまう状況になることがあります。

    また、ドメイン移行する際に以前のサーバーからドメインを切り離さなくてならないので、リンクが上手く動作しないことなどがあります。

    上記の様な状況に備えて、移行作業の前にメンテナンスモードに設定しておくことがオススメです。

    メンテナンスモードも「WP Maintenance Mode」などプラグインで提供されているので、こちらを使うと良いでしょう。

    プラグインを停止する

    プラグインはなるべく停止、無効化する必要があります。

    上記で紹介したメンテナンスモードを有効にするプラグインやバックアップをするもの以外のプラグインは基本的に全て無効化しておきましょう。

    有効化したまま、移行作業に入ると新しいサーバーの方で上手く依存関係が解決されず、エラーの原因となることがあります。

    ブログを運用するクラウドを選ぶ

    ブログを運用するクラウドプラットフォームを選びます。一番有名どころは、やはりAWSでしょう。その他にもGCP、Azure、OCI、Alibaba Cloudなどがあります。

    多くのクラウドで1年間の無料お試し期間などが提供されているので、気になったものを選定すると良いでしょう。

    しかし、無料期間が終了した後の、リソースに関する値段は各クラウドによって異なるので、それぞれの料金設定などをよく確認しておくのが大事です。

    中には、レンタルサーバーよりも高くなってしまうクラウドもあるので注意が必要です。

    仮想ネットワークの構築

    続いて、仮想ネットワークの作成です。

    基本的に、ブログを運用するサーバーはどこかのネットワーク環境に配置して運用します。その際にクラウド上ではVPCやVPNなどと呼ばれる仮想ネットワークを構築します。

    ネットワークの構築と聞くと難しく聞こえますが、クラウドではいくつかのパラメーターを指定するだけでOKなので難しい作業ではないです。

    パラメーターの設定がわからない方はとりあえず任意のブログに載っている値を設定してもほとんどの場合問題ないです。

    サーバーの作成

    サーバーの作成です。このサーバーの中にWordPressなどのソフトウェアをインストールしていきます。

    基本的に、VMと呼ばれる仮想サーバーの構築で良いです。AWSだとEC2、GCPだとGCEなどと呼ばれているサーバーですね。

    イングレス、エグレスなどのポートの開放

    この作業はクラウドによって異なると思いますが、ほとんどの場合で必要でしょう。

    仮想ネットワーク内のサーバーなどのリソースはデフォルトで、ネットワークに接続できないようなセキュリティ・ルールが設定されている場合が多いです。

    そのため、HTTPやHTTPSなどのプロトコルで通信できるようにネットワークの特定ポートを開放する必要があります。

    レンタルサーバーからドメインを切り離す

    移行作業なので、ドメインは以前と同じものを使用したいです。なので、このタイミングで、レンタルサーバーに設定されていたドメインを切り離します。

    私はこのタイミングでレンタルサーバーの契約自体を停止しましたが、ここで契約停止すると、旧ブログ自体が停止してメンテナンス中の表示も表示されなくなってしまうので、ドメインを切り離すだけにしましょう。

    DNS設定

    続いては新しいサーバーのほうでDNSの設定です。DNS設定も簡単で、各クラウドでDNSサービスを提供しているので、そちらを使用すればすぐに終わります。

    基本的にネームサーバー名を4つほど発行して、ドメイン契約しているサービスにそれらを貼り付ければ完了です。

    VMに入りソフトウェアのインストール

    DNSの設定が終わったら先ほど立ち上げたVMの中にSSHで入って、ブログサーバーに必要なソフトウェアをインストールしていきます。

    インストールするソフトウェアはPHP、MySql、Apache、WordPressです。

    そして、上記ソフトウェアでブログは運用できます。しかし、後に記事データであるSQLをインポートする必要があるので、phpMyAdminというソフトウェアもVM内にインストールしましょう。

    ソフトウェアのポート開放

    Apacheなどのwebサーバーでもデフォルトで外部と通信できないようにポートが塞がっているので、そちらの開放などの設定も忘れずに行ってくだい。

    また、Apacheの設定ファイルをいじったりした後は、必ず再起動をして変更を反映してください。

    上手く設定しているはずなのに動かない場合は、インスタンス自体のリブートなどもすると上手く動作する時があります。

    設定が反映されなくて時間を浪費することがあるので、このポイントに注意してください。

    FTPクライアントでファイルの転送

    FileZillaなどのFTPクライアントを使用して、バックアップをとったファイルを新しいサーバーに転送します。

    ブログを長く運営していて、大量のファイルがある方はかなり時間がかかるので、zip形式などに圧縮して転送するのがおすすめです。

    データベース管理ツールでsqlのインポート

    先ほどインストールしたphpMyAdminを起動して、記事などのデータをインポートします。

    ブログはプラグイン情報、ワードプレス自体の構成などからなるPHPスクリプトと記事などのデータベースで保管するデータの二つで構成されています。

    そのため、新サーバーで復旧する時もスクリプトはFTPクライアントで、データはデータベース管理ツールでそれぞれ復元させる必要があります。

    通信をSSL化する

    続いてSSL証明です。レンタルサーバーでは管理画面上で簡単にSSL化ができましたが、クラウドプラットフォームを使う際は、サーバーの中に入って証明書を発行しなくてはなりません。

    基本的にはopensslコマンドなどを使用して、証明書を発行しなくてはなりませんが少し複雑です。

    そこでcertbotというサービスを使うと自動で証明書を発行してくれるので、こちらを使うと簡単にできるのでオススメです。

    ブログに接続してみる

    ここまでできたら、元々のドメイン名でブログに接続してみてください。上手くサイトが表示されれば移行が完了です。

    クラウド内で課金アラート設定

    最後にクラウド内で課金アラート設定をしてください。

    クラウドは基本的にリソースの使用した時間や実行回数などにしたがって料金が発生します。

    一般的なブログの場合、月に数百円、数千円の料金で運用できると思いますが、余計なリソースが立ち上がっていたりすると莫大な使用料が発生してしまうことがあります。

    そのような事態を防ぐために、ある一定の使用料額に達したらメールでその旨を通知するような設定ができるので、こちらを必ず設定しておきましょう。

    そして、レンタルサーバーの契約を破棄したら移行完了です。

    まとめ

    今回は、ブログをレンタルサーバーからAWS,GCP,Azure,OCIなどのクラウドネイティブな開発環境に移行する手順を説明しました!

    今後クラウドでアプリケーションを構築することが増えると予想されます。多少のリスクは伴いますが、そんな未来に向けてこの機会にクラウドに触れてみるのも良いと思います。

    未経験エンジニア学習順序【アプリリリースまで】前のページ

    自力でコードが書けるようになる思考次のページ

    関連記事

    1. プログラミング

      dockerを使ってGolangの環境構築

      こんにちは、まくロロです。最近はサーバーをGo、フロントにR…

    2. プログラミング

      kubernetes(k8s)とは

      こんにちは、まくロロです。先日とある企業さんのk8sハンズオンに参加…

    3. プログラミング

      GCPの基本概要

      今回はGCP(Google cloud platform)について基…

    4. プログラミング

      【おすすめ】具体的なGolang勉強手順

      こんにちはマクロロです。前回は、RailsからGoを勉強する際の困難…

    5. プログラミング

      これから伸びる言語Golangを習得しよう。

      こんにちは、まくロロです。私は現在、主にrailsを使用した…

    6. プログラミング

      未経験エンジニア学習順序【アプリリリースまで】

      こんにちはまくロロです。今回は、未経験から一人でサービスをリ…

    コメント

    1. この記事へのコメントはありません。

    1. この記事へのトラックバックはありません。

    最近の記事

    PAGE TOP