因為GCP谷歌云提供免費一年300美金的體驗金,所以,體驗前需要準(zhǔn)備的道具有:一張支持外幣的信用卡,萬事達(dá),VISA卡都可以。
因為國內(nèi)無法登陸GCP云平臺,所以還需要:一臺能聯(lián)網(wǎng)(科xue上網(wǎng))的設(shè)備,最好是PC。創(chuàng)建一臺GCP VM
注冊登錄,映入眼簾的是一個簡樸的頁面,歡迎登錄,這就是傳說中的GCP的首頁了。
谷歌云的首頁
很久以前,筆者用過谷歌的GAE(Google App Engine)搭建了一個神奇的上網(wǎng)神器,一個用Python寫的應(yīng)用----GoAgent,GAE現(xiàn)在是一個叫App Engine的PaaS平臺,是與Compute Engine,k8s Engine并列的設(shè)定。
我們今天要體驗的谷歌虛擬機就是Compute Engine的,一些云服務(wù)商總是不喜歡把虛擬機叫虛擬機,含糊其辭的叫云主機,谷歌的Compute Engine官方介紹就是叫虛擬機(VM)。
來,創(chuàng)建一個VM虛擬機吧。
開始創(chuàng)建
打開VM實例的界面,系統(tǒng)提示說我可以導(dǎo)入VM鏡像,不知道我本地在VMware Workstation創(chuàng)建的虛擬機能不能傳上去,我只是好奇,并不打算自找麻煩,總覺得這個導(dǎo)入虛擬機的提示,別的云服務(wù)商沒有,這也算個特點吧,挺好的。
下一步:點擊創(chuàng)建。
設(shè)置配置,除了可用區(qū),這臺虛擬機別的配置都可以改。
選擇可用區(qū),可用區(qū)選項還是挺多的,包括我們的寶島臺灣,隨便選個美國的區(qū)吧,圓我一個數(shù)據(jù)入美的夢。
內(nèi)存方面的話,選擇一個常見的入門配置1核1G,可勾選擴展內(nèi)存,我這個機型最多能勾選到52GB內(nèi)存。
操作系統(tǒng)的話,就選Ubuntu 18.04吧,有新的,堅決不選舊的。
點擊創(chuàng)建,即創(chuàng)建成功
勾選允許HTTP和HTTPS,其實就是開了倆常用的端口,80和443。注意,這個是可以用贈送的300美刀來消費的,為了用自帶的SSH連,所以還得打開22端口。
登陸進去看看吧,先瞧瞧自帶的SSH。
登陸中
初始化的GCP VM Ubuntu
感覺怪怪的,換成SSH登錄吧。
SSH登錄
MAC用戶的話,用自帶的Terminal登錄,Windows的話還是Putty,因為都算第三方的工具,所以,GCP要求你得用公鑰私鑰匹配,記得把21,22端口端口打開哦。
1,MAC下操作:
鍵入以下命令:
$ssh-keygen-t rsa-f~/Desktop/key(目標(biāo)目錄)-C skmc4boxer(登錄的用戶名)
過程中需要輸入兩遍登錄密碼(passphrase)。
操作完成后生成這兩個文件:key-pub和key。
key.pub是公鑰,要傳到GCP上,key就是你自己的私鑰,ssh登錄的時候要用。
如何上傳公鑰?
mac下的話,打開key.pub,復(fù)制下來,然后點擊進入實例詳情頁面,點擊修改按鈕:
對VM進行修改設(shè)置
然后找到“您有0個SSH密鑰”,點擊顯示和修改,然后點擊添加,把你復(fù)制的內(nèi)容貼上去。
點擊這里添加SSH密鑰
添加完密鑰之后是這個樣子滴:
添加好的密鑰的模樣
然后點擊保存,退出當(dāng)前設(shè)置。
轉(zhuǎn)到Terminal登錄,鍵入下面命令
$ssh-i~/Desktop/key(私鑰所在地目錄)skmc4boxer{user name} {your ip address}
然后輸入你的密碼:
passphrase
然后就登錄成功了
2,在Windows下Putty登錄
在Windows下用Putty也一樣,也是公鑰和密鑰兩個,操作方式類似,Putty需要設(shè)置一下密鑰的位置。
打開Puttygen,所有設(shè)置都可以默認(rèn),直接點擊Generate生成,進度條開始讀取,需要你不斷在空白處移動鼠標(biāo),生成加密的公鑰數(shù)字。
生成默認(rèn)的公鑰是這樣滴:
用戶名和密碼可以完全自己定義
上方(紅方框里)以ssh-rsa開頭的是公鑰,下面分別是你需要設(shè)置的用戶名(上面的rsa-key-20190120可修改為別的名字)和密碼。
分別保存public-key和private-key到本地的任意位置,跟上面的一樣。
然后把公鑰添加到VM后臺:
左側(cè)的skmc4boxer就是剛才在puttygen設(shè)置的用戶名,接下來登錄要用用戶名,保存。
然后,就開始用Putty登錄:
設(shè)置IP,然后點擊左側(cè)的Auth,添加你保存的private-key,然后保存即可。
然后就像平常一樣填寫用戶名和密碼進行登錄了。
到此,一個正??捎玫脑浦鳈C就設(shè)置好了。
一點感受:
谷歌不愧是一家有工程師文化的公司,初一看,GCP的界面太丑,而且操作邏輯跟AWS和阿里云差異不是一般的大,慢慢一看,覺得整套創(chuàng)建流程還是挺合理的,設(shè)置也非常全面,精細(xì),開放性留給用戶的操作空間很大。
印象比較深的是網(wǎng)絡(luò)標(biāo)記功能,設(shè)置虛擬機的端口時可以很靈活。用戶需要在防火墻設(shè)置訪問規(guī)則,設(shè)置開放端口,設(shè)置的過程中會要求你選擇目標(biāo),目標(biāo)選“指定的目標(biāo)標(biāo)記”,然后添加一個目標(biāo)標(biāo)記(下圖紅框中的”http-server”)。
當(dāng)需要啟動這條防火墻規(guī)則的時候,然后在虛擬機的網(wǎng)絡(luò)標(biāo)簽里選擇這個標(biāo)記即可,然后這條規(guī)則就啟用了,80端口和443端口就開啟了
添加防火墻規(guī)則
nmap掃一下,22和80端口已經(jīng)被監(jiān)聽了。
nmap掃描監(jiān)聽的端口
安裝一個apache服務(wù)器試試,命令行里鍵入:
$sudo apt-get install apache2
瀏覽器里打開一下:
能打開的話證明已放開80端口
往云主機里傳輸文件
使用一個云主機還經(jīng)常要有的操作是傳文件,筆者推薦這么往虛擬機里傳文件:
通常傳文件的時候,vsftpd可以,但是設(shè)置炒雞麻煩,傳輸速度慢。FileZilla也可以,但是設(shè)置還是麻煩,傳輸速度沒有最慢只有更慢。
上圖是把要傳的文件先放到aws的s3上,然后wget下載到主機上,速度達(dá)到41MB每秒。(開不開心,驚不驚喜?)
AWS s3里的jar包(你大概現(xiàn)在還能用這個鏈接下載下來)
wget下載這個jar包
我個人還是喜歡利用對象存儲來傳文件,然后wget命令下載下來,速度簡直不要不要的,而且,少開一個端口,設(shè)置省事兒了,原則上來說,也更安全了不是嗎?如果傳一批零碎小文件的話,我習(xí)慣打成壓縮包傳上去再解壓。