目前分類:Service (6)

瀏覽方式: 標題列表 簡短摘要

2023-04-25 173516.png

轉眼間使用 Oracle Cloud Free Tier 當免費仔已經快 2 年,期間相當滿意;目前開 2 台 VM 持續正常運作中。不過 3 月份信箱突然收到一封信,原本以為只是維修通知沒有去理會;後來 3 天後又收到一封。仔細看了一下內容才發現,原來是 Oracle Cloud 要回收閒置 VM 的通知!符合以下 3 個條件中其中之一持續 7 天,就會被列入待回收對象:

  • 95% 的時間中 CPU 使用率低於 15%
  • 網路使用率低於 15%
  • 記憶體使用率低於 15% (僅適用於 ARM 的 VM)

雖然 VM 持續使用中,但因為一台專門做為跳板機,一台用來放 side projects 單純 demo,所以 CPU 使用率以及網路流量都非常低...緊急找了網路上其他前輩的文章,發現這篇文章可以應急一下; Oracle-server-keep-alive-script 比較靈活,使用互動式指令,可以簡單切換啟動或關閉,而且還會自動常駐背景,即使重新啟動 VM 也會自己啟動。然而因為使用簡體中文,所以如果 VM 沒有安裝字型會呈現亂碼~問題不大,單純使用數字選擇也可以動。只是不知道為什麼裝在 side projects 那台 VM 時過不久就會當機...(囧)所以我在那台使用 NeverIdle,簡單使用 go 指令消耗 CPU 資源,但需要自己背景執行,重新啟動 VM 時也要手動重啟。

2023-04-25 175705.png

目前使用 1 個多月,已沒有再收到 Oracle Cloud 的通知;不過他們家這招也是蠻有趣的...一般來說服務商應該不希望使用者浪費太多資源,Oracle Cloud 竟然反其道而行?但既然身為免費仔,當然就是照著人家的規矩走囉~

 

文章標籤

danielhuang030 發表在 痞客邦 留言(0) 人氣()

秉持著客家精神(?),一直以來我的虛擬主機都是用免費方案~(挺)之前是用 AWS 免費方案,但是他給的服務與規格實在太陽春了!EC2 連最基本的 Laravel 跑起來都卡卡 der...(囧)最近一年改用 GCP 免費方案,90 天內提供 300 美金的額度任你用;跑一般的服務絕對是綽綽有餘,到期前基本上用不完。目前已經換了 3 個免洗帳號,用起來沒有什麼缺點,就是時間短了點...儘管透過製作映像檔,轉成 vmdk 匯出的方式,在免洗帳號轉換時,幾乎可以無痛重啟一台一模一樣的 GCE;但是每 3 個月就要重做一次有點兒懶啊~這陣子就在尋覓是不是有更方便的免費方案,突然發現原來 Oracle 也有提供類似的雲端服務:Oracle Cloud,而且也有免費方案,30 天內提供 300 美金的額度,部分服務如果使用指定配置甚至是永久免費聽起來就很威!申請一個免費帳號不會很難,網路上教學資源豐富,我就不特別說明了。我申請的時候需要輸入手機號碼,但是沒有簡訊驗證;目前亞洲區域離我們比較近的地點,只有首爾、東京跟大阪。我自己是選東京,區域選擇後就不能轉換,可以根據自己的喜好(?)決定。另外申請後頁面明明說 15 分鐘就可以啟用,但我等了大概 12 小時才真正完成整個手續;如果有急用在線等可能要考慮一下~

操作介面算是淺顯易懂,主要會用到的大概是「運算 / 執行處理」:相當於 EC2/GCE,還有「網路 / 虛擬雲端網路」:網路防火牆相關設定。永久免費好像可以開 2 台最低規格的執行處理,目前我也只開 2 台所以不清楚。機器的等級是 1CPU, 1GB 記憶體,個人覺得比 AWS, GCP 要好,實際使用起來也有比較順。比較特別的是如果建立時使用 Ubuntu 20.04,裡面的 iptables 有特別的設定,所以即使網路防火牆有開還是會被作業系統自己的 iptables 擋掉,所以要自己手動清除 iptables 原本的設定

目前用起來感覺還不錯,目前建立的執行處理也都有註明是「永久免費」;只是不確定 30 天後的情況如何,就先再觀察看看囉~

10/2 更新:

目前使用大概快 2 個月,永久免費方案給的蠻大方的,目前我運行 2 台 instance,規格開最低,不過使用起來還蠻順暢的。其中一台是用來做 SSH Tunnel,上班日都會連回家裡的 NAS 聽音樂;原本有點擔心流量爆表,但是目前為止還沒被收過錢!另外還給了一組固定 IP,我覺得整個就是佛心來著的~非常推薦拿來架一些小型 Side Project 或是個人使用的服務。感恩 Oracle,讚嘆 Oracle!

文章標籤

danielhuang030 發表在 痞客邦 留言(0) 人氣()

這幾天收到 Let's encrypt 的提醒網域認證即將過期的信件,覺得奇怪我不是有設定 crontab 自動更新嗎?後來搜尋了一下才發現,原來 Certbot 預設的 renew 在萬用字元 (wildcard) 的域名會失敗。因為我有透過 Cloudflare 做 DNS 管理,網路上建議透過外掛 certbot-dns-cloudflare 更新,以下是設定方式:
  • 先到 Cloudflare > 右上角我的設定檔 > API Token > Global API Key > 檢視 取得 token
  • 2021-02-01_100006.png
  • 進入主機
  • # 建立目錄與檔案
    sudo mkdir ~/certbot
    sudo vi ~/certbot/cloudflare.ini
     
    dns_cloudflare_email = "Cloudflare 的帳號"
    dns_cloudflare_api_key = "Global API Key"
     
    # 修改目錄與檔案權限
    sudo chmod 0700 ~/certbot
    sudo chmod 0400 ~/certbot/cloudflare.ini
     
    # 安裝前需要同意 certbot 使用 root 權限
    sudo snap set certbot trust-plugin-with-root=ok
    
    # 安裝 certbot-dns-cloudflare
    sudo snap install certbot-dns-cloudflare
     
    # 重新認證域名 example.com, *.example.com 請改為你的域名
    sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/certbot/cloudflare.ini -d "example.com" -d "*.example.com" --preferred-challenges dns-01

不過這時我才發現,使用免費域名(Freenom)的認證仍會失敗,因為無法透過 API 自動修改 Cloudflare DNS 設定...(囧)好吧,那就只能手動重新認證域名

# 手動認證域名,cloudflare 新增 TXT 訊息,example.ga, *.example.ga 請改為你的域名
sudo certbot certonly --preferred-challenges dns --manual -d "example.ga" -d "*.example.ga" --server https://acme-v02.api.letsencrypt.org/directory

# 確認 TXT 是否生效
nslookup -type=txt _acme-challenge.example.ga

# 成功通過認證後重啟 nginx
sudo service nginx restart

# 確認認證
sudo certbot certificates

總算是延期成功,沒想到萬用字元域名更新竟然需要另外特別處理,當免費仔還不給用 API!(怒)要繼續當下去只好勤奮一點,每三個月自己手動認證一次囉~其實也不會很麻煩啦!

參考資料

文章標籤

danielhuang030 發表在 痞客邦 留言(0) 人氣()

最近入手一台新 NAS,因為內建 docker,自架了不少服務在上面。可惜家裡的使用社區網路,沒有對外的實體 IP;通常需要透過業者設定 Port Forwarding,才能從外部連回家裡的機器。致電客服要求申請,他們卻回覆目前已經沒有提供這個服務了;想換一家業者,但合約到期還要 3 個多月...萬念俱灰的情況下,突然想到 ngrok 這個第三方服務,提供 SSH Tunnel 技術,實現本機也可以對外的目的。既然有這種服務,那應該也會有開源的解決方法吧?找了一下果然有,而且還不少;我試用了其中的 antoniomika/sish, beyondcode/expose 不過自架的過程不太順利,server 端感覺有架起來,但 client 端連不過去~後來發現 frp,用 Go 撰寫提供執行檔馬上可用,而且還有中文文件可以查閱。利用 GCP 免費帳號建立的 Compute Engine 做為跳板,終於建立成功了!
 
下面紀錄一下建立的步驟:
文章標籤

danielhuang030 發表在 痞客邦 留言(0) 人氣()

DEMO PAGE

算算從家裡通勤到台北工作已經 10 年,台鐵已經成為我上下班時不可或缺的交通工具;所以對我來說時刻與票價計算至關重要。去年發現政府資料開放平臺以及公共運輸整合資訊流通服務平臺提供的資料相當完整,只要結合行事曆即可產生簡單的票價計算可供比較;時刻方面雖然有提供 API 但準度不高,即便如此還是可以當作一個簡單的參考。

程式碼都是由 JavaScript 撰寫,資料來源就是之前提到的開放資料,希望能給在外地工作通勤的上班族一些幫助~
P.S 目前 ptx 在 Android https 的憑證驗證有問題,所以在手機上無法取得資料...(囧)必須等 Mozilla 與 Google 把政府的憑證加入安全名單, 或是自己手動安裝憑證,好麻煩啊!
文章標籤

danielhuang030 發表在 痞客邦 留言(0) 人氣()

UltraHook

Info

  • UltraHook makes it super easy to connect public webhook endpoints with development environments
  • support GitHub, Stripe, ActiveCampaign, Papertrail

Usage

gem install ultrahook
  • 寫入 UltraHook API key 到使用者家目錄
echo "api_key: xxxxxx" > ~/.ultrahook
  • 啟動 UltraHook 服務
# ultrahook [-k ]  , API key 之前如果有設定可省略
ultrahook stripe http://dev.test.com/webhook
如果是 virtual host 要記得在 /etc/hosts 先設定好 IP
  • 如果成功就會開始轉發
Authenticated as danielhuang030test123
Forwarding activated...
http://stripe.danielhuang030test123.ultrahook.com -> http://dev.test.com/webhook

Reference

文章標籤

danielhuang030 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼