GW中ですが、仕事に追われて、とても忙しいです。
Linuxサーバ上で、テストするコードがあり、Google Cloud Platform(GCP)で、Ubuntuサーバを立てる所までは、すぐ出来たのですが、そこで環境構築するのに四苦八苦しました。
GWがほぼ残り1日になった今、解決したので、備忘録として書きます。
<戸惑った根本的な問題は何か?>
まず、GCPの操作に慣れていないのがデカかった。
もう少し言うと、私自身が混乱したと言うのが有ります。
具体的には、SSL設定です。これは、AWS使っている時は、機械的にやる作業なのだが、GCPの場合は機能が豊富過ぎて、CLOUD SHELL等(他にも、「ブラウザで開く」とか有り。)を使うと、AWSでのあの面倒臭い「公開鍵とか秘密鍵の設定」をしなくても、SSL接続できてしまうので、「これで良いじゃん。」となってしまった事です。(私が混乱しているだけですが。)
<本来の目的 ・ やりたかった事>
GCP上でUbuntuの仮想インスタンスを立てて、そこに開発環境を立てて、色々とテストしてみると言うのが目的。
<何がそんなに手間取ったか? そして、どう解決したか?>
1.
しかし、この開発環境のDownloadが、仮想Ubuntuサーバで出来ないと言うのが最初の問題だった。
どう言うことか?と言うと、下記のQuestionと同じ問題が発生した。
このソフトウェアなのだが、手元のマシンでDLする為にリンクをクリックすると、「ライセンスの利用契約に同意しますか?」のチェックマークが出てきて、そこにチェックを入れると、DLが始まる仕組みになってます。
つまり、ただ、wgetコマンドを叩くだけでは、ソフトがDL出来ない。
「何かやり方がある筈だ。」と思って、散々、ネットで調べたけど、結局、手元のローカルマシン(Mac)に一旦、DLして、その上で、GCP上の仮想インスタンスにアップロードすると言う方法しかないと結論づけました。
→ もし何かいい方法をご存知の方がいたら、教えてください。
と言うことで、ファイル転送の為に、SCPサーバの設定を、仮想Ubuntuサーバに設定する必要があるのだが、その前提として、SSLでのUbuntuへのアクセスを確立しないといけません。
で、このSSLの設定なのですが、ここは本当に混乱しました。
(「クライアント側に公開鍵と秘密鍵を登録して、仮想サーバ側には公開鍵だけを持たせれば良い。」のだが、混乱の中で色々なサイトを見ると、この辺の超基本部分をスッとばしていたり、間違った記載もあったので、兎に角、混乱しました。)
結局、SSL設定に関しては、GCPのマニュアルが一番わかりやすいと結論した。
3.
「戸惑った根本的な問題は何か?」の欄で記載した様に混乱したのだが、ただ単に、サーバにSSL接続するだけではなく、ファイル転送(ローカルからGCPの仮想インスタンス側)にしないといけないので、やはり、SSHクライアントを使わないといけません。Windowsの場合は、無料のSSHクライアントは沢山あるのだが、Macなので、選択肢が極めて限られております。色々と試したのだが、結局、FileZillaが一番、使いやすいと言うことで決着。
- 番外編
ついでに、Mac PCからGCP上に構築したUbuntuにGUIを入れて、Remote Accessする方法に関しても色々と調べました。
この記事が、自分としては、ベスト一番、分かりやすかった。
https://qiita.com/smiler5617/items/b1fd439299cc58c5f69b
<最後に>
と言う訳で、意外な部分で詰まったし、SSLの設定でも混乱したし、兎に角、疲れました。
分かれば何て事ないし、振り返れば、混乱した部分もバカみたいな箇所であったが、システム構築では、常に予想外の事が起きるので、根気よく解決しました。
ただ、現時点では、開発環境をGCPの仮想Ubuntuインスタンスで構築出来たと言うだけです。本当の目的は、開発環境で各種負荷テストをする事なので、これでやっとスタートラインにたったと言うことになりますね。