30週ぐらい廻って Google Cloud Platform + Dockerで、超高速WordPress仮想マシン「KUSANAGI」を動かすまで

超高速WordPress仮想マシン「KUSANAGI」に対する憧れ

さくらのVPSに、Ubuntu 16.04TLSをインストールし、Wordpressでサイトを運営している。相当カリカリとチューニングをしているので、そこそこ速いサイトなのだが、人間の探求は押さえられず「KUSANAGI」を使いたくなる。

そんな「KUSANAGI」が、Docker化された。これは乗り込むでしょー

Google Cloud Platform(GCP)

GCPは、AWSに対抗して、Googleが提供しているクラウドサービス。MicrosoftのAzureや、IBMのBluemixなど、各メーカーがクラウド戦略を推進している。

AWSは、S3を利用してるが、価格が高い事から本格移行は出来ていない。

そこで、GCPの60日3万円MAX無料に目を付けて、GCP上でDockerを動かして、「KUSANAGI」を動かそうと思った。

つい数日前に、日本リージョンが出来たのも大きいよね!

GCP+Dockerだと、Google Container Engineがベター!?

Google Container Engine(GCE)は、Docker imageを使うがDockerとは違うようだ。Kubernetsというものを使う。

macOSでは、gcloudとkubectlというツールを使う。なんか、これらのツールが一筋縄ではインストールが出来ず難儀する。特に、kubectl。
最終的に、homebrew でインストールした。

この時点で、数回挫折しかける 😛

「KUSANAGI」をGCE上で構築するー

KUSANAGI Runs on Docker は、Docker Compose を利用する方法が提示されている。しかし、docker-compose.yml は Kubernets で処理出来ない。

そこで、Docker Composeフォーマットを、Kubernets形式に変換するツールを使ってみる。

何故か、jsonファイルが分解される。kubectl で、構築を試みるもストレージナンチャラエラーで上手くいかない。どうも、GCEではローカルストレージにファイルを作成し、jsonファイルで登録をして利用するらしいがーーー Kubernets jsonの書き方がよく判らず1日潰す。

もうヤだー!!!! 🙁 そして、Google Container Engine(GCE)の利用を止める。

そうだ!ドキュメントを読もう!

KUSANAGI Runs on Docker のサイトでは、Microsoft Azure上での構築方法が書かれている。なになに、docker-machine だと!?

docker-machineで楽々構築

Google Cloud Platform(GCP)で、docker-machine を使う場合、このように書けば良いようだ。

docker-machine create -d google \
                        --google-project foo \
                        --google-tags 'http-server,https-server' \
                        --google-zone asia-northeast1-c \
                        --google-machine-type "n1-standard-1" \
                        bar

これで、Ubuntuの上にDockerがインストールされたものを、マルっと全自動で作成してくれます。Ubuntuが15.04なのは残念だけど、気になるならアップデートすれば良いと思う。

また、dockerを走らせるホスト(コンテナ?)を何にするか!?が問題になるが、軽量OSであるCoreOSRancherOSなど調べた結果、

ホスト上で何かの処理をしたくなったときに、Ubuntuなら何とかなるけど、軽量OSではいろいろ難しい

らしいので、Ubuntuで良いみたい。問題は、ホストではなるべくサービスを立ち上げない事は重要!って事で 🙂

やーと、「KUSANAGI」をインストールする

docker-machineで、Google Cloud Platform(GCP)上にdocker環境があるんで、あとは KUSANAGI Runs on Docker を見てやればインストールできる(はず)

IPアドレスで、ブラウザを使いアクセスしてみるー 出来ませんでした:-(

どうも、docker-machine 作成時に利用した google-tags ‘http-server,https-server’ が無効なようです。

GCPの管理WEBから、ネットワーク→ファイアーウォール ルールに行き、
「ファイアーウォール ルールの作成」で、この2つを作成する。

名前: http-server
ネットワーク: default
ソースフィルタ: すべてのソースから許可(0.0.0.0/0)
許可対象プロトコルとポート: tcp:80
名前: https-server
ネットワーク: default
ソースフィルタ: すべてのソースから許可(0.0.0.0/0)
許可対象プロトコルとポート: tcp:443

再度、IPアドレスで、ブラウザを使いアクセスしてみるー
WordPressの初期設定画面が出ました!

はい、おわり。あとは、Wordpressの世界だよー

PROFILE

Makotoミラニスタ / DQ10バカ
SEというなの何でも屋 / 意味も無くドメイン取得が趣味 とにかく面白いコトが好き。 神奈川在住。奥様と猫2匹と穏やかな日々を過ごす。 □ Private BLOG: NO AC.Milan, NO LIFE Profile テキスト
スポンサーリンク