【教學】Oracle Cloud 用 OCI 官方工具自動掛機搶免費VM

本文可搭配Oracle Cloud Infrastructure 永久免費VPS 架站教學系列文閱讀!

可用性網域 AP-CHUNCHEON-1-AD-1 中資源配置 VM.Standard.A1.Flex 的容量不足.

是的,免費的額度是固定的,

如過出現紅底的錯誤訊息,表示額度不夠。只能等待重新釋出。

這時候就交給 官方 Oracle Cloud Infrastructure (OCI) 開發套件

寫個腳本 Shell .sh 開啟合法外掛,讓電腦自動幫你搶 4 OCPU 吧!

 

蒐集用戶資料

至圖中的A. B. 兩個位置取得 OCID

A為 User OCID

B為 tenancy OCID

留意一下網址中 region 的值

 

安裝 Oracle Cloud Infrastructure (OCI)

官方 GitHub 

將套件安裝在 macOS / Linux / Windows 作業系統上版本

這邊 iZO 用 Windows 來做操作,其他的請自行處理囉!

系統管理員 開啟 終端機powershell  執行下載。

powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1'))"

查看版本,確認是否安裝完成

oci -v

安裝套件

oci setup config

User OCID 為 A 值 、 tenancy OCID 為 B 值 、 region 為 所在區域

其他皆為預設值 按Enter即可。

 

驗證 電腦與Oracle Cloud 的 API 金鑰

然後去 Public Key written to 的位置,取得 oci_api_key_public.pem 的內容

回到網頁 後台 A 處的下方,資源 > API 金鑰 > 新增 > 貼上公開金鑰

回到終端機,驗證 API 是否串接成功

oci iam availability-domain list

沒問題的話,會回傳 data list。

 

蒐集主機建立條件

將VM的建立條件都設定好,在按建立之前,開啟開發者工具F12

切到網路頁籤按下建立,尋找 instances 資源,把 metadata 的值拉出來

記得 SSH金鑰 要下載留好

 

終端機,定期執行下列程序,即可。

鎖定圖中的幾個值,對應下列程式碼 & SSH金鑰,存成 ociCreateVps.sh

oci compute instance launch --availability-domain CrLN:AP-CHUNCHEON-1-AD-1 --image-id ocid1.image.oc1.ap-chuncheon-1.aa@@ --subnet-id ocid1.subnet.oc1.ap-chuncheon-1.aa@@ --shape VM.Standard.A1.Flex --assign-public-ip true --compartment-id ocid1.tenancy.oc1..aa@@ --shape-config '{"ocpus":4,"memory_in_gbs":24,"local_disks":200}' --metadata '{ "ssh_authorized_keys": "SSH金鑰ssh-rsa開頭" }'
sleep 10s

執行! 下方訊息 500 代表 額滿中.. Out of host capacity

開個排程 讓 windows 每五分鐘執行一次這個 Shell 即可 無腦刷。

( 請勿太過頻繁,會被當成惡意攻擊 )

ServiceError:{
    "code": "InternalError",
    "message": "Out of host capacity.",
    "opc-request-id": "AAA@@",
    "status": 500
}

如果出現下方訊息,data 表示創建成功

"data": {
"agent-config": {
	"is-management-disabled": false,
	"is-monitoring-disabled": false
	},
	"availability-domain": "VpDT:AP-TOKYO-1-AD-1",
.....

如果出現下方訊息,400 就是建立到超過免費限額啦! 所以不用擔心建超過

ServiceError:{
	"code": "LimitExceeded",
	"message": "The following service limits were exceeded:..",
	"opc-request-id": "AA@@"
	"status": 400
}

 

相關架站 系列文

【淺談】何謂 VPS ,與其功能和特點為何?

【教學】Oracle Cloud 申請註冊帳號,資料務必正確!

【教學】Oracle Cloud 建立一個免費的 VM 虛擬機器

【教學】Oracle Cloud 用 OCI 官方工具自動掛機搶免費VM

【教學】Oracle Cloud 開啟防火牆的對外連接埠 Port

【教學】透過 PuTTY 使用 SSH金鑰 登錄終端機 (轉換PPK)

【教學】Oracle Cloud 的 ARM 64 下,安裝 HestiaCP 管理後台