剛開始使用 GCP 的環境 , 跟 Azure 有那麼一點相似 , 又有些許的不同
最近剛好遇到有朋友需要在國內的機房上架設環境讓客戶使用,因此就沒有辦法使用 Azure 的相關資源,雖然申請了 Google 測試帳號,但由於是免費的額度,不能使用 Windows 的資源,正在煩惱該怎麼來進行測試,好在有在 Google 服務的朋友,介紹了一間 Google 經銷商 iKala ,透過經銷商提供的資源,總算可以在 GCP 上面建立 VM 來做相關測試。
基本上建立 VM 難度不高,就選擇想要的類型就可以快速建立,但因為要搭配 Windows Server,並且測試使用 IIS 來架設 API 的環境,因此原本雖然選擇 e2-medium 的規格 ( 2 vCPU + 4GB RAM ),但跑起來還是卡卡的,於是就重新選擇 e2-standard-2 ( 2 vCPU + 8GB RAM ) 的規格,跑起來就較為順暢了。
![](https://dotblogsfile.blob.core.windows.net/user/jamesfu/a70cdf0e-7022-4136-843c-42e818ee4803/1660986402.png.png)
雖然可以順利建立起來,但畢竟費用也不便宜,因此想類似 Azure 一樣的方式,利用 Azure Automation 在上班時間才開啟 VM,在下班則關閉 VM 的運作。而這些的處理在 GCP 上面看起來會更為直覺一點,在 VM 的畫面中就有了「執行個體排程」,可以直接針對 VM 設定開啟和關閉的時間,因此我就建立一個 workday 的排程,希望能夠透過定時關機來節省費用。
只是當我建立好排程,要將 VM 指定排程的時候,就會出現以下的錯誤,從錯誤訊息看起來,似乎沒有足夠的權限可以去開關機。
![](https://dotblogsfile.blob.core.windows.net/user/jamesfu/a70cdf0e-7022-4136-843c-42e818ee4803/1660986947.png.png)
好在透過 iKala 的顧問說明相關設定之後,找到了設定方式,要選擇左上角的選單,進入到 「IAM 與管理」的設定功能中
![](https://dotblogsfile.blob.core.windows.net/user/jamesfu/a70cdf0e-7022-4136-843c-42e818ee4803/1660987162.png.png)
選擇將剛剛出現問題的服務帳號,加入「Compute 執行個體管理員 (v1)」的角色,這樣服務帳號才能有權限去啟動和關閉 VM
![](https://dotblogsfile.blob.core.windows.net/user/jamesfu/a70cdf0e-7022-4136-843c-42e818ee4803/1660987393.png.png)
這樣再回到剛剛 VM 設定排程的地方,就可以很順利的將 VM 給加入到排程的管理了。只是在這裡 GCP 的排程就沒有辦法像 Azure Automation 設定的那麼彈性,因為一個 VM 只能加入到一組的排程設定裡面,如果要比較有彈性的排程設定就比較麻煩了。
![](https://dotblogsfile.blob.core.windows.net/user/jamesfu/a70cdf0e-7022-4136-843c-42e818ee4803/1660987549.png.png)
透過上述的設定,總算完成 GCP 的初體驗了,接下來就來試試看,是否能透過 Azure DevOps 將程式佈署到 GCP 的 VM 裡面去了。