第5回 【WordPress_ロードバランサー】 GCP に WinSCP で「SSH認証鍵」を使ってアクセスし、「WordPress」のファイルを編集できるように設定する。

WordPress GCP ロードバランサー

上記画像は「WordPress」を「GCP」マルチリージョンのロードバランサーで運用する最終形です。
また「Google Cloud CDN」を挟み「GCPのVMインスタンス」と「Google Cloud Storage」利用し、サーバー負荷の軽減も行っています。

第5回は赤枠内、「Admin インスタンステンプレート」を作成する時、「SSH認証鍵」を入力して、「WordPress」のファイルを編集できるように設定します。

何ができるようになるか。

  • これから作成する「Admin VMインスタンス」にアクセスができる。
  • GCP のサーバーをエクスプローラーのようにファイル編集ができる。

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

第5回 GCP に WinSCP で「SSH認証鍵」を使ってアクセスし、「WordPress」のファイルを編集できるように設定する。

環境:Debian 9 php 7.0 Apache 2.4.25 MySQL 5.7 Cocoon

目的:ロードバランサー作成の準備です。

なぜ「SSH認証鍵」を取得する必要があるのか?

GCPでは「FTP接続」ができません。「SFTP接続」です。この接続のためには「SSH認証鍵」がパスワード代わりとなるので、必ず取得しなければなりません。


  • ロードバランサーに必要なインスタンスグループを作成するには、この順番が必要不可欠になります。
インスタンスグループを作成するまで

GCP の「WordPress」にアクセスできるよう「SSH認証鍵」を作成する。

  • まず、「WinSCP」をPCにインストールします。
窓の杜
「WinSCP」SCP/SFTP/FTPS対応のFTPクライアント

1.1 WinSCP ログイン画面

  • 「WinSCP」起動、「新しいサイト」をクリックして、「WinSCPのログイン画面」へ遷移。

1.2 ホスト名入力

  • GCPで固定した「外部IPアドレス」(WordPressの固定IPアドレス)を入力。

1.3 SSH認証鍵生成①

  • 「ツール」をクリック。
  • 「PuTTYgenを実行」をクリック。

1.4 SSH認証鍵生成②

  • 「Generate」をクリック。

1.5 SSH認証鍵生成③

  • 赤い線のように「ぐちゃぐちゃにドラッグ」します。
注意点

下記のように、クリック&ドラッグしてください。そうしないと、いつまで経っても「SSH認証鍵」は生成されません。私がそうでした。いつになったら「SSH認証鍵」生成されるんだよ…と…

1.6 SSH認証鍵生成完了

無事に「SSH認証鍵」が生成されると下記画面のようになります。「Public key pasting into OpenSSH authorized keys file:」に「ssh-rsa」から始まる「SSH認証鍵」が表示されます。

  1. 「Public key pasting into OpenSSH authorized keys file:」の長い「SSH認証鍵」をコピーして「メモ帳などで保存」します。

    「メモ帳などで保存」した「SSH認証鍵」を「第4回の1.6 SSH認証鍵について」で入力します。

  2. 「Key comment」の「rsa-key-20200418」が「ユーザ名」になります。
  3. 「Save public key」をクリックして「SSH公開鍵」を保存します。
  4. 「Save private key」をクリックして「SSH秘密鍵」を保存します。

    どちらのファイルも「半角英数」で保存したほうが良いと思います。残念ながら私は全角でやってみたことがありません。なんとも言えないところですが。

今回利用するのは「private key」の「秘密鍵」です。今のところ、いつどのようにして「public key」ファイルを使用するのかはわかりませんが、念の為保存しています。

※今回生成した「SSH認証鍵」は記事のためのものであって、使用はしているものではありません。

1.7 生成されたSSH認証鍵の設定

「SSH認証鍵」を保存し終えたら、そのウィンドウを閉じて、最初の画面に戻ります。

  • 「ユーザ名」に、先程生成した「Key comment」の「rsa-key-20200418」を入力します。
  • 空欄になるパスワードの代わりになる「SSH認証鍵」の設定をするため「設定」をクリック。

1.8 権限設定

  • 「SFTP」をクリック。
  • 「SFTP サーバ」に「sudo /usr/lib/openssh/sftp-server」を入力。

WinSCP公式

How do I change user after login (e.g. su root)? :: WinSCP
WinSCP is a free SFTP, SCP, Amazon S3, WebDAV, and FTP client for Windows.
「sudo」を付加
  • この「sudo /usr/lib/openssh/sftp-server」は大切です。
    「GCP」の「WordPress」内にある、すべてのファイルを編集できる権限の設定になります。

1.9 秘密鍵の設定

  • そのまま、「認証」をクリック。

1.10 保存した秘密鍵を設定

  1. 「秘密鍵」の空欄右側「…」をクリック。
  2. 保存した認証鍵「private key」ファイルを選択。
  3. 「OK」をクリックして次へ。

この「秘密鍵」の設定が「パスワード」の代わりになります。もし仮に、このフォルダの「認証鍵」を別のフォルダに移動した場合は、再度設定し直す必要があります。

体験談として、「Gmail」に付随する「Google Drive」から、「Google Workspace Business」(G Suite)の「Google Drive File Stream」へファイルをすべて移動した際に、「GCP の WordPress」へアクセスできなくなってしまい「GCP」の色々な設定を変更してみたりしました。最終的にこの「認証鍵」の「フォルダ指定」が正しくないことに気づいて設定し直しました。

1.11 WinSCP 設定完了

  • ※実際にはまだログインできません。
理由

ロードバランサーを利用する場合、「adminインスタンスグループ」の中にある「VMインスタンス」の「外部IPアドレス」を指定する必要があります。そのため、今回生成した「SSH認証鍵」はテンプレートに設定しただけになります。

のちに「adminインスタンスグループ」を作成し「外部IPアドレス」を固定します。その「外部IPアドレス」を入力して初めてログインすることができるようになります。

  1. 「パスワード」は空欄のまま「保存」をクリック。
  2. 「ログイン」をクリック。

1.12 ログイン後の画面

  • ※実際にはまだログインできません。
  • 「ログインができた」画面です。

1.13 エクスプローラーと同様。

  • ※実際にはまだログインできません。
  • Windows エクスプローラーのようにファイルを編集できるようになります。

次は、第6回です。

第6回 【WordPress_ロードバランサー】 GCP で WordPress adminのインスタンスグループを作成する。


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