WordPress 【GCP ロードバランサー】設定の目次

WordPress GCP ロードバランサー

1.WordPress 【GCP ロードバランサー】設定の目次

「tokyo2020unofficial.com」というサイトで、2020年4月16日から書き始めた記事です。外国人向けに作ろうとしているサイトですので、設定方法は「投票2020」に移植し更新をしていきます。

「Google Cloud Platform」で「WordPress」を利用しています。

GCPのロードバランサーを利用した「tokyo2020unofficial.com」の設定です。
ロードバランサーを利用していない「投票2020」の設定はこちらの目次です。

ロードバランサーはランニングコストが高いので一時休止しています。気分次第で記事は更新していきます。


ニッチな価値

読み飛ばしていい部分です。

Google のサーバー GCP で WordPress を個人で利用しています。素人でエンジニアではありませんので、間違ったことも書いてしまうかもしれません。その際には、ご指摘頂けると助かります。

「Google Cloud Platform」をある程度ですが、利用できるまでになってきました。GCPでロードバランサーを利用してきて感じたことがあります。「ニッチな部分なんじゃないか」ということです。通常は2通りが主流だと思います。

大企業では、「WordPressを利用していないけれど、ロードバランサーでオートスケール」していると思います。

中小企業では、「WordPressを利用しているけれど、ロードバランサーでオートスケールしていない」と思います。

ゆえに、

「WordPressを利用していて、ロードバランサーでオートスケールしている」企業や個人はあまり事例がないだろうと思います。個人では断片的な機能の紹介はありますが、実運用している人を見たことがありません。

それこそ企業で生業にしている人はあまり公開しませんし、個人ではこの規模感を必要としません。そのニッチな価値があるかなと。



2.GCP ロードバランサー 26個のVMインスタンス

「WordPress」を世界中のサーバーでロードバランスし、オートスケールさせる方法を書いていきます。

26 instance = 1 admin + ( 5 region x 5 instance )

これをテストして動作確認しました。

1 instance = 1 WordPress と考えてもらえるとわかりやすいです。
26インスタンスはあくまでもテストであって、さらに、自動スケーリングさせることが可能です。

番外編もありますが、すべて運用しているものです。

下記の図が実運用しているイメージです。赤枠の第1回から始まります。

GCP 26 instance = 1 admin + ( 5 region x 5 instance ) でテストした時です。

これを行うまでの道のりを綴ります。何百回か色々な設定の組み合わせで試した結果です。「国内のサーバーで WordPress」を利用するにあたっても、参考になれば幸いです。


Google 公式 : Cloud Load Balancing の概要

Cloud Load Balancing の概要  |  負荷分散  |  Google Cloud
主な機能や Cloud が提供するロードバランサの種類など、Cloud Load Balancing の基礎について説明します。

3.利用しているサービス一覧

3.1 Google Compute Engine

  • Cloud HTTP Load Balancer – ロードバランサー – 負荷分散
  • Auto Scaling – オートスケーリング – 自動スケール
  • Google Cloud CDN – Googleコンテンツデリバリーネットワーク
  • Google Cloud Storage – Googleクラウドストレージ
  • Google Maps – 地図
  • Google Cloud SQL – 試しましたが、個人で利用するには高コストです。現在は使用していません。
  • Debian 9 – 他のOS を選択することもできましたが、Google社内で使用しているOSが「Debian」らしいので選択しました。社内で使用しているOSがきめ細やかになるのは当然だと思ったからです。
  • Apache 2.4 – 自動的に利用しています。

3.2 WordPress テーマ

3.3 WordPress Plugin – プラグイン一覧

すべて利用しているプラグインです。

  • AddToAny Share Buttons
  • Broken Link Checker
  • Category Order and Taxonomy Terms Order
  • Custom Permalinks
  • Easy FancyBox
  • Edit Author Slug
  • EWWW Image Optimizer
  • Featured Video Plus
  • Google Maps Easy
  • Google XML Sitemaps
  • Media Library Folders for WordPress
  • Responsive Menu
  • Simple Custom Post Order
  • Simple Page Ordering
  • WordPress Google Translate
  • WP Fastest Cache
  • WP Multibyte Patch
  • WP-Optimize – Clean, Compress, Cache(リビジョンを消去時の一時的利用)
  • WP-Stateless
  • WPS Hide Login
  • Yoast Duplicate Post

環境

  • 2020年9月15日:
    環境:Debian 9 PHP 7.4.4 Apache 2.4.25 MySQL 8.0 Cocoon

4.SNS関連

Facebook – フェイスブック

  • Facebook Comments Social Plugin – Facebookコメントプラグイン
  • これはスパム対策と同時に、公式・非公式、それぞれに関係なく、しっかりした情報源になるからです。

Pinterest – ピンタレスト

  • Pinterestは、Instagramより、Twitterより、リアルタイムとしては情報が遅いと思います。
  • ですが、フォルダは人ではなくて、特定のカテゴリーです。Instagram、YouTube、Twitter、などの Social media 「SNS」からピンしてわかりやすくするために利用しています。「Instagramが、99%」。「YouTubeとTwitterが、1%」。この3つに限定しているのは、情報源にアプローチできるからです。

Instagram – インスタグラム

  • Instagramは、Twitterより少し遅いリアルタイム。フォルダは人。視覚的にわかりやすいです。
  • @tokyo2020unofficial」は外国人が日本のものを探しやすくするためです。

YouTube – ユーチューブ

  • YouTubeは、主に埋込動画として利用しています。

Twitter – ツイッター

  • Twitterは、たまにツイートします。

「Vimeo」や「GIPHY」

  • 今後、利用していくことになるかもしれません。

5.世界中にサーバーを置く理由について

「tokyo2020unofficial.com」は、「独自ドメイン」「サーバー」など「Google」に統一してサービスを利用しています。いくつか理由がありますが、絶対条件がありました。

「東京オリンピックがあるから世界中にサーバーを置く。」それだけです。(延期になりましたが…)

世界中にサーバーを置く必要がなければ、「エックスサーバー」「さくらのインターネット」「ロリポップ」など日本国内にも良いサービスがあると思います。ドメインについても「お名前.com」「さくらのドメイン」「エックスドメイン」などでサーバーと統一でき、使い勝手も良さそうな印象があります。

オリンピックという世界大会

  • 2020年に東京オリンピック
    こんな順を追っていければ理想的じゃないかと勝手に思ってます。
  1. 外国人が一番日本に注目する
  2. 日本に興味を持った外国人がアクセスしやすくなる。
  3. アクセスしてきた外国人が日本に行ってみたいと思ってもらう。
  4. 日本にお越し頂いた時に同一の画面を見て理解できる。
  5. 日本に来て良かったと納得してもらう。
  6. 日本を離れてなお、楽しかったと思いを巡らせてもらう。

実現したいと思うこと。

  • これが見たい
  • これが食べたい
  • これが飲みたい
  • この温泉に入りたい

実現できていないこと。

「行きたいところは決まったんだけど、ついでに近くにいいところないかな。」というのを事前に調べられたらいいなと。

旅行業界は「旅行アプリ」「移動アプリ」「予約アプリ」など、アプリケーションがベースになっていて、一つ一つは便利です。

ところが、私も含め、「旅行前」「旅行中」、「日本のどこに何があるのか」「分かりやすく調べることができるサイト」って、ないよなと感じている人は多いと思います。これを解決する手段があったらいいなと。これが実現できていないことです。

ということで、私は地理的な観点から運営すると決めていて、「Google Maps」を多用するので「Googleで世界中にサーバーを置くこと」を選択しました。

  • ブラウザベース
  • 日本のどこに何があるのか
  • 多数の場所をブックマーク
  • 手軽にアクセス

こんな手段を得たら、実現できていないことが解決できると考えています。

他にも、世界中にサーバーを置くための候補として、「Google GCP」「Amazon AWS」「Microsoft Azure」この3つを比較しました。「Microsoft」は敷居が高く外しました。「Amazon」なら沢山の例がウェブサイトにあるので「Google」と悩みました。

また、「Google」の成り立ちは、「検索」から始まり、これからもユーザーにとって利用しやすいサービスを提供していくことでしょう。「Google Maps」もあるので、地理的なサイトとは親和性が高くなります。さらに、設定関係では統一すると楽なんじゃないかなと考えて最終的に「Google GCP」を選択しました。


【コメント】 ※「メールアドレス不要」