2024年9月29日 星期日

【IT Notes】GCP Compute Engine和Cloud SQL建置

 自從用過AWS的EC2和RDS以後,就難避免也要學會一些GCP的技術,有了AWS基礎後,頭一次用GCP的難度也就沒有那麼高了,不過在一些細節的地方還是有所不同,很多東西用起來可能還不是很習慣,但摸索之後很快還是能理解,這篇就作一些首次建置Compute Engine和Cloud SQL的筆記,下一篇有空再作其他進階功能。

一.用Google帳號啟用GCP


首頁就會問一些帳號同意條款的問題,另外自選要不要訂閱新聞等



通常都是用最高權限,這樣才能隨我測試和運用
很重要的訊息,啟用GCP後的三個月用戶都是免費的,時間到之前若不想被收費,就得要關掉所有服務,若還想免費用下去,就只能另外註冊新的Google帳號了

地區當然是選台灣

再來就是填一些自己的基本資料


最後的歡迎畫面就可以見到我的quota,這三個月內我有300美元可以用,若我在三個月內超用的話它還是會跟我收費的!

二.在Compute Engine建立新的VM
搜尋Compute Engine後就會很直覺地看到「建立VM」的選項

因為GCP都是透過API去串連很多服務的,因此要先啟用Compute Engine API

依照自己的需求為VM各項資訊作選擇,再按下「建立」
上述的資訊內容:
1.名稱:可以直接用default值。
2.區域:相當於AWS的Region,位於台灣的彰濱工業區就有一個Google的Region,那裡有一所datacenter。
3.可用區:相當於AWS的AZ,台灣有abc三個選項。
4.VM佈建類型:跟AWS EC2的Placement Group一樣,這是測試環境可接受中斷且比較便宜,所以就選Spot即可。
5.VM的時間限制:因為測試環境而已,就選"刪除"。

若是正是環境的話,會建議選預設的「標準」類型

因為是測試,就挑一個最便宜又簡單的環境,不同於aws的地方在於,GCP沒有完全免費的方案

OS和硬碟空間我想要自己調整,所以就點選「變更」

不想用預設的OS的話,就選「Marketplace」,有更多可以選

選「探索Marketplace」

搜尋列選「AlmaLinux」,然後選x64的AlmaLinux,這是我這次要用的OS

確定內容無誤後,按下「啟動」

開機磁碟項目裡面按下「變更」,可以自定義空間大小


也有一些系統預設的OS,例如Ubuntu可在公開映像檔選項裡直接選,就看自己需要

只是測試環境,就選預設的加密金鑰省點事,有金鑰的話下次再選用戶提供的金鑰

設定網路除了預設選項,因為已知之後要架網站,所以http和https就都先勾選,最後按下「建立」

最後執行個體出現剛剛建好的VM,可以直接看到Public IP

用google帳號去產出一支金鑰,準備用來ssh到VM
上述的指令範例:
ssh-keygen -t rsa -f C:\Users\TEMP\.ssh\lab-gcp -C <<Google帳號名稱>>

到下方的「中繼資料」>「編輯」>「新增項目」

將公鑰的值填入,接下來就能夠透過自創的金鑰登入VM了

我習慣用傳統ssh方法登入VM
[C:\~]$ ssh yichikuotw@35.229.249.122
公鑰上傳VM,shell登入選用私鑰


當然也有更方便的連入選項,例如內建的瀏覽器開啟VM,就看個人習慣和喜好了。

點選VM後,就會看到SSH,選「在瀏覽器視窗中開啟」


如果出現以上訊息,就表示防火牆要調整,Compute Engine的VM都是透過API轉發的,不像EC2是可以直連的,所以若網路防火牆沒有開放連外網或它指定的IP的話就肯定連不上

像上面這樣,我有限制連入的IP,自然就會導致連線失敗

只要把提示訊息的IP加進去,再重新SSH就好了

*****申請固定IP*****

若是正式環境,通常會有需要固定IP,可透過編輯的方式申請

保留固定IP要多一道設定名稱的步驟


三.在Cloud SQL建立新的MySQL

一樣到首頁,點選「建立資料庫」

免費方案當然是選「使用免費抵免額建立執行個體」


測試只要用基本的功能,並且為了省錢,就用沙箱即可,然後再自定義名稱並,最後看需求要不要自己提供密碼


因為這次的資料庫沒有太重要,Region和AZ都選跟VM一樣就可以了

自訂執行個體內還有很多設定,首先是要配置多少空間和類型,要注意的是,一旦設定好空間就不能縮小了

基本的連線方式就是用public IP,不對外開放連線的話再用private IP

因為只是測試用,資料保護裡面我全部不勾選,方便測完直接刪除,也先不用設定備份,以免被多收費
維護作業是強制的,若不想被干擾,可以自己設定時間



所有進階設定處理好後,就能夠按下「建立執行個體」


連線資料庫的方式稍微不同於RDS,Cloud SQL是直接用IP的

連線DB之前要去開防火牆,從「網路安全性」>「防火牆政策」>「建立防火牆規則」

規則名稱自定義,勾選「輸入」和「允許」


往下滑,目標選「網路中的執行個體」,來源IPv4範圍填入我們要連線的VM ip,最後通訊埠填入3306

若只想簡單先連線到資料庫,可以從總覽裡面開啟CLOUD SHELL


若沒有開啟過Cloud SQL API的話,連線也會失敗,不過它也很貼心地提示用戶直接去連url並開啟


點開連結並按「啟用」就可以了

API啟用後,資料庫連線成功也就會出現流量

有個更快讓VM和Cloud SQL建立關聯的方式,選「連線設定」>「網路」>「新增網路」

將VM ID和IP都填入,然後「儲存」


在VM上用傳統輸入指令的方式,就能夠連線到資料庫了


GCP與AWS有很多類似之處,有操作其中一者的經驗後,操作另一個系統的學習過程就不會那麼困難,雲端技術很多基礎看起來都大同小異。

沒有留言:

張貼留言

【IT Notes】透過api移轉Gmail到Exchange

 在雲端裡面串接api不是一件很好學的技術,第一次有機會學習到將GWS的Gmail信件全部轉移到M365的Exchange,其實方法很多種,像以前用的pst檔匯出轉移的方式等,但透過api串接,可以批次和排程轉移,是非常方便且準確的作法。唯一讓人感到困難的是學習成本不小,通常需要...