1. 第5回 【WordPress】 GCP バックアップを元にSSH鍵を持たせたVMインスタンスの作成方法
「VMインスタンス」は、AmazonのAWSでいうところの「EC2」に相当するものだそうです。
環境:Debian 9 php 7.0 Apache 2.4.25 MySQL 5.7 Cocoon
WordPress
通常、日本のサーバー会社は「FTP接続」で「WordPressファイル」を「Windowsのエクスプローラー」のように扱えるようになると思います。
GCPでは「FTP接続」ができません。
代わりに「SFTP接続」で行います。
違いは、セキュリティの高さにあるのではいかと思います。
- 「FTP接続」:「パスワード」
数桁多くても10数桁ではないかと。 - 「SFTP接続」:「SSH認証鍵」
尋常ではないくらい長いパスワードかと。
なぜ「SFTP接続」にこだわったのか
当時は素人で初心者の私には、「SSHシェル」と呼ばれるコマンドばかりでの編集をすることができなかったからです。このSFTP接続の設定ができれば、ファイル編集はできると思いました。でも、私は「SFTP接続の設定」でさえも、ものすごくつまずきました。
WordPress関連の勉強を始めてから2年が経過し、中級者くらいになりかけているのではと思ってはいますが、コマンドばかりでファイルを編集する作業は今でもできません。
やはり、Windowsのエクスプローラーと同様にファイルを目で見て編集する作業をしたかったから、「SSH認証鍵」を利用した「SFTP接続」の設定をせざるを得なかったのだと思います。
慣れてしまえばなんてことはない作業
今では新規に「SSH認証鍵」を取得し、「SSH認証鍵」を持たせた「VMインスタンス」を作成することは30分もかかりません。
- GCPスナップショット選択
- GCPVMインスタンスを作成
- WinSCPSSH認証鍵を取得
「第6回 GCP WinSCP で「SSH認証鍵」を使ってアクセスできるように設定する」
- GCP外部IPアドレス固定
- WinSCPGCPのVMインスタンスにログイン
- GCPCloud DNS の設定
1.1 スナップショットを選択
GCP(Google Cloud Platform)にアクセスします。
「左上メニュー」「Compute Engine」「スナップショット」の順番にクリックします。
「該当のスナップショット」のリンクをクリックして次へ進みます。
1.2 スナップショットの詳細画面
「インスタンスを作成」をクリックして次へ進みます。
この他にも、「VMインスタンス」を直接作成することも可能です。
私からすると分かったような分からないような。
1.3 VMインスタンスの作成画面上部
左側「新規VMインスタンス」であることを確認してください。当初はこの画面では2種類しか選択できなかったと思いますが、変わってきています。
- 名前:
任意ですが、スナップショットと同一の日時を名前に入れておくと便利です。 - リージョン:
日本のサーバーでは「東京リージョン」「大阪リージョン」の2つを選択できます。
ゾーン:
それぞれのリージョンの中に3つずつゾーンが存在します。「a,b,c」とありますが、「b」は「メモリ最適化」「コンピューティング最適化」のタブがなく設定できませんが、個人ではどちらも必要のないほどのスペックです。
個人では「a,b,c」どれを選択しても問題ありません。 - マシンタイプ:
当初は、「micro」で問題ないと思います。 - ブートディスク:
初期設定では「HDD」ですが、「変更」ボタンを押すと、「SSD」に変更することも可能です。
「変更」ボタンを押して、変更できる項目は「スナップショット」や「ディスク」などどんなディスクを選択するか、ディスクサイズの変更も可能です
「ブートディスク」の変更で、一度大きなディスクサイズにしてしまうと、小さいディスクサイズに変更できません。
1.4 VMインスタンスの作成画面下部
ファイアウォールでは必ず「HTTP」「HTTPS」の両方に「✔」を入れます。
「https化」した場合や、「http→httpsへの正規化で301リダイレクト」を行なった際に、ページが表示されなくなります。
- 5.「管理、セキュリティ、ディスク、ネットワーキング、単一テナンシー」
これは、一つのタブになっていて、一度クリックしても「セキュリティ」タブ単独が開きません。2度目のクリックで「セキュリティ」タブが開きます。
- 6.「SSH認証鍵」
「第6回 GCP WinSCP で「SSH認証鍵」を使ってアクセスできるように設定する」で説明しています。
「SSH認証鍵」の入力まで完了したら、「作成」ボタンを押して、次へ進みます。
1.5 VMインスタンスの作成完了
各VMインスタンスの右側に「SSH」というボタンがあります。これをクリックすると、私の嫌いな「SSHコマンドシェル」が立ち上がります。
のちのち、必ず必要になってくるものですが。こればっかりは好きになれません。
1.6 外部IPアドレスの固定
VMインスタンスを作成したら必ず、「外部IPアドレス」は固定します。
「メニュー」「VPCネットワーク」「外部IPアドレス」の順番にクリックして、次へ進みます。
1.7 エフェメラルから静的に
下記画面をよく見ると、新規で作成した「VMインスタンス」の「外部IPアドレス」左側は名前が空欄で、赤枠の「種類」は「エフェメラル」となっています。
エフェメラルとは、「つかの間の、はかない」という意味です。私みたいです。いやそんなことはどうでもいいんです。
「種類」「エフェメラル」をクリックして、次へ進みます。
1.8 新しい静的IPアドレスの予約
名前:任意ですが、「スナップショット」や「VMインスタンス」作成時に、入力した日時が入っていると便利です。
「予約」ボタンをクリックして、次へ進みます。
1.9 外部IPアドレスの固定完了
「予約」ボタンをクリックしてから1分程もかからないうちに「固定IPアドレス」が割り当てられます。
任意で入力した「名前」も確認ができます。
1.10 WinSCPでVMインスタンスにログイン
「ホスト名」:
「新規で作成したVMインスタンス」の「外部IPアドレス」を入力
「ログイン」ボタンを押して次へ進みます。
1.11 WinSCPでログイン後
「WinSCP」で「WordPress」へアクセス完了です。もう何でもできます。
初回のアクセスはおそらく、「例、/home」のディレクトリ(フォルダ)になっています。
次回からは、WinSCPを終了したディレクトリがログイン後の最初の画面になると思います。
1.12 「html」ディレクトリ
「WinSCP」で「SFTP接続」ができると、「WordPressファイル」を「Windowsのエクスプローラー」と同様にファイル編集することが可能になります。
1.13 Cloud DNS 設定
- 「メニュー」」「ネットワークサービス」「Cloud DNS」の順番にクリックします。
- 「該当のゾーン」リンクをクリックして、下記画面のDNSのレコードセット編集画面に遷移します。
- 赤枠に入力されているのIPアドレスを「新規で作成したVMインスタンス」の「外部IPアドレス」へ置き換えます。
赤枠が2箇所あるのは「wwwなし」「wwwあり」の両方とも同一の外部IPアドレスに変更する必要があるからです。
1.14 さいごに
「Cloud DNS 設定を忘れない」慣れてくると忘れてしまいがちですが、
バックアップ(スナップショット)から、新規でVMインスタンスを作成しました。
新規のVMインスタンスは外部IPアドレスが今までとは異なります。外部IPアドレスへ置換しないまま、WordPressの記事を更新した場合、古いWordPressを更新している状況です。
せっかく新しい彼女ができたのに、元カノにプレゼントする、そんなアホなやついないです。
固定外部IPアドレスを作りすぎて、名前も分からなくなって、全然違うIPアドレスを入力してしまう人は不倫に近い。
だから、名前に日時を入れて管理すると便利なんです。新しい彼女ができたら、名前に日時…
【コメント】 ※「メールアドレス不要」