LazyBlog

前言

學習開發初期使用了老師推薦的AWS EC2
對於當時我的來說一年免費是一件見非常棒的事情
只不過對於一年就得申請一個新帳號搬一次家來說,很不方便
如果真的很窮,又蕭貪
你可以好好看這整篇教學,我盡量的不要有遺漏任何的細節
所以高手們若看到此篇也請不要雞雞歪歪在那邊說 「阿這麼簡單也要講」

不論對象的無私奉獻將會讓你感到富有

甲骨文帳號申請

甲骨文已經開放該免費伺服器有段時間
若您已經有帳號,可以直接前往下一段

Oracle Cloud 官方網站
若失效請 點這裡

點擊開始免費試用

選擇區域

- 這裡不用特別注意是選擇哪個區域,我的話選擇台灣,選擇完畢後點擊Next

  • 帳號預設為個人,我沒有特別選擇
  • 帳號名稱就取個自己的好記的就行
1
注意,HomeRegion要選擇後面有免費區域的,例如韓國
1
這邊的選擇非常重要,手別抖


填寫帳號資訊

- 唯一要注意的地方是手機號碼,一定要可以接簡訊驗證
- 但是,甲骨文業務也可能會時不時打給你推銷?(聽某前輩說的)

輸入驗證號碼

加入信用卡,作為驗證使用

- 會扣個零錢來當做驗證使用
- 除非你升級帳戶等級,不然不用擔心收費問題

點擊完成註冊

以上就是整個註冊帳號的過程,還算簡單

啟動一台虛擬機器

點擊左上角漢堡按鈕來新增一台機器

- 運算 -> 執行處理

點擊執行處理按鈕

變更映像檔,並選擇Ubuntu 20.04

這個步驟不一定要使用這裡推薦的Ubuntu
只要是免費都可以
如果錢很多,送我


貼上Mac電腦的鑰匙

鑰匙製作

往下捲動頁面並點擊建立

1
會發現根本無法建立,因為免費限量的

在這個建立機器的頁面點擊右鍵並選擇「檢查」

選擇Network標籤並再次點擊「建立」

搜尋框輸入instances並點擊左側項目,點擊後在將右側欄位選到「Headers」

找到「Request Payload」

用記事本、SublimeText把我列出來的欄位暫時記錄,等等會用

1
2
3
4
5
6
availabilityDomain = dAKB:AP-SEOUL-1-AD-1
compartmentId = ocid1.tenancy.oc1.. y28gNGS9qry8cybaF9dGXGWcaThRurPm
subnetId = ocid1.subnet.oc1.ap-seoul-1. V49dCAUY6gkSB9SXAx4tTTBkZ8G8hv3Y
shape = VM.Standard.E2.1.Micro
ssh_authorized_keys = ...
imageId = ocid1.image.oc1.ap-seoul-1. Hv8NtHAXvSyXhqWheSmAV3EpMCUGvWD4

取得 User OCID,一樣記錄下來等等會用到

1
User OCID = ocid1.user.oc1.. r33UG24QdSRaQ8B3guWxVCNYKrsCcUQf

獲取Tenancy OCID ,一樣記錄下來等等會用到

1
Tenancy_OCID = ocid1.tenancy.oc1.. fYZrqb7gqyYeMKNBfmrVSfdXsXERNrYB

打開終端機,並安裝oci命令管理工具

  • 直接貼在終端機後按下Enter,中間會詢問你很多問題,都直接Enter就可
  • 這邊可能要有sudo權限
  • 會有幾個問題問你Y/n ,輸入Y後按下Enter
1
sudo bash -c "$(curl –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"

在終端機裡頭確認是否安裝成功

1
2
~/bin/oci -v
2.10.0

在終端機裡頭設定帳號訊息、請求鑰匙

1
~/bin/oci setup config

第一個問題直接按下Enter

Enter a location for your config [/Users/xxx/.oci/config]:

第二個問題請把剛剛記錄下來的User OCID給複製貼上後按下Enter

Enter a user OCID:

第三個問題請把剛剛記錄下來的Tenancy OCID給複製貼上後按下Enter

Enter a user OCID:

第四個問題請到這裡查詢後輸入
舉例韓國:ap-seoul-1

Enter a region

後續的問題請直接點擊Enter或者輸入Y即可

其中會有一個問題是請您設定伺服器證書的密碼,可以不要設定

設定完成畫面

把鑰匙上傳到個人設定頁面中

鑰匙路徑,再說一次,這裡的xxx是你的使用者名稱1

1
~/.oci/oci_api_key_public.pem

終端機內查看金鑰是否可以成功Work

1
~/bin/oci iam availability-domain list

在終端機先測試一次看看是否戳到

1
~/bin/oci compute instance launch --availability-domain <your_ availabilityDomain> --image-id <your_imageid> --subnet-id <your_subnetid>  --shape VM.Standard.E2.1.Micro --assign-public-ip true --metadata '{"ssh_authorized_keys": "ssh-rsa your_ssh_key"}' --compartment-id <your_compartmentid>

下面是Response,若看到這段就表示戳api這個行為是成功的

1
2
3
4
5
6
7
ServiceError:
{
"code": "InternalError",
"message": "Out of host capacity.",
"opc-request-id": "xxxx----",
"status": 500
}

在終端機內間隔30秒戳一次api來搶伺服器空間

這裡面包含了很多剛剛暫時記下來的Request Payload
請務必仔細更換
建議先把下面的指令貼到記事本,一個一個修改
注意<>不要帶入,這裡只是提示要在這裡替換
除非你一直盯著終端機看,不然大部分看到的時間都是回應500
你得定期回去甲骨文的Dashboard查看

1
while true; do ~/bin/oci compute instance launch --availability-domain <your_ availabilityDomain> --image-id <your_imageid> --subnet-id <your_subnetid>  --shape VM.Standard.E2.1.Micro --assign-public-ip true --metadata '{"ssh_authorized_keys": "ssh-rsa your_ssh_key"}' --compartment-id <your_compartmentid> ;date; sleep 30; done

結論

基本上GUI操作來開啟虛擬機的方式,幾乎可以說開不了
因為早就被搶光了,所以這裡使用的方法就是利用API的方式「建立虛擬機」!

扣錢

基本上註冊的時候甲骨文有送400SGD
請定期回來看一下是否有減少,若有
表示設定錯誤!

下一步,設定vpn

這個步驟難度稍高,請詳細閱讀


 評論