MariaDB 以及 Trac 在 arm64 上的安裝

把一台本來跑在 Vultr 上的機器搬到 AWSus-east-1 上面,除了剛好把 Ubuntu 18.04 換成 Ubuntu 22.04 外,也把本來用 x86-64 架構的機器換成用 ARMt4g.micro (都是 1GB RAM)。

就效能上來說,t4g 機器的效能很不錯,這兩年 blog 跑的也都還算順,先前公司用起來感覺也很好,然後價錢更便宜,另外加上 AWS 的三年 RI 折扣大約是 4 折的價錢,算是會想要換的主因。

在確認應用跑得起來後,買三年 RI 是 $87.15/3y,所以機器本身的費用大約是 $29.05/y,就算加上 8GB 的 EBS (gp3) 空間費用,整體比本來在 Vultr 的 $6/mo 低不少。

上面跑的是我自己的 Trac,想搬到 AWS 上一陣子了,但有幾個不確定的因素,所以連假期間才有空多花一些時間確認。

第一個是 MySQL 的部份,我自己習慣用 Percona Server 的版本,但目前還沒有 arm64 的套件可以直接裝,要用的話就得自己編以及升級。

在 2021 年的時候 blog 搬到 AWS 的時候就遇過了,本來以為這次有機會,但看了一下還是沒支援,所以還是得用 MariaDB

第二個是 Trac 1.4 只能跑在 Python 2.7 上 (mailing list 上有在討論轉到 Python 3 的事情,但看起來官方的動力也不大...),這在 18.04 的時代是沒什麼問題,但 22.04 下面不知道會爛掉多少東西。

所以只能繼續用 pyenv 扛著,但已經有預期會遇到問題,加上這次又從 MySQL 轉到 MariaDB,應該也會有些地雷...

所以跳下去後遇到的問題就跟上面提到的類似,分成兩塊。

在 MariaDB 這邊第一個遇到問題是,雖然官方有提供 APT server,但沒有在 HTTPS server 上放新的 public key,所以一定得從 key server 撈。

GnuPG 就是沒有直接從 key server 下載變成檔案的功能,一定要先塞到 keystore 裡面再 export 出來,就覺得很...

所以就冒出利用 mktemp -d/tmp 下產生暫存目錄這樣的寫法,讓 GnuPG 把 keystore 放進去,這樣至少在重開機後就會消失:

export GNUPGHOME=$(mktemp -d); gpg --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x177F4010FE56CA3336300305F1656F24C74CD1D8; gpg --export 0x177F4010FE56CA3336300305F1656F24C74CD1D8 | sudo tee /etc/apt/trusted.gpg.d/mariadb.gpg > /dev/null; unset GNUPGHOME

這邊為了安全性,還得把官方提供的 0xF1656F24C74CD1D8 換成 0x177F4010FE56CA3336300305F1656F24C74CD1D8

另外就是整理 MariaDB 需要的 my.cnf 內容,我是拿 Percona Server 5.7 的設定檔來改,只刪掉了跟 GTID 相關的設定就會動了。

而其他 MariaDB 遇到的問題主要是設計改變的問題,在 wiki 上有提到。

接下來是 Trac 1.4 的問題,本來的安裝是用 libmysqlclient-dev,然後再安裝 mysql-python

sudo apt install -y libmysqlclient-dev
pip install mysql-python PyMySQL Pygments Trac

但單純把 libmysqlclient-dev 換成 libmariadb-dev 後,mysql-python 還是編不動,照著錯誤訊息試著 workaround (像是試著把 /usr/bin/mysql_config 指到 /usr/bin/mariadb_config) 半天還是不過,最後找資料發現要改用 mysqlclient

sudo apt install -y libmariadb-dev
pip install mysqlclient PyMySQL Pygments Trac

搞定後後續就一路看錯誤訊息解就可以了...

Linode 宣佈漲價 20%

兩個禮拜前才宣佈改名:「Linode 改名叫 Akamai Connected Cloud」,現在就宣佈漲價了:「Akamai’s Cloud Computing Services: Pricing Update」。

這次最注目的是這個,VPS 的部份漲 20%,只有最低的機種維持 US$5/mo:

The price of Shared and Dedicated compute plans will increase by 20%. Our shared Nanode plan remains unchanged at US$5 per month.

降 bandwidth overage cost 只是擺在一起好看而已。

Hacker News 上翻一下,也有不少討論:「Linode increases price of compute plans and more (linode.com)」。

先不提 AWS 在後面撐著的 AWS Lightsail,這樣看起來 Vultr 愈來愈有競爭性了?

Linode 改名叫 Akamai Connected Cloud

Linode 改名叫做 Akamai Connected Cloud:「A Bold New Approach to the Cloud」、「Akamai Unveils Akamai Connected Cloud and New Cloud Computing Services」。

所以 Akamai 走的路線是整合品牌,這樣其實有很大的機會是會讓 Linode 本來的速度被大組織架構拖慢。

啊,反正現在已經沒在用 Linode 了,只能跟 HN 裡「Linode rebranded as Akamai’s cloud computing services (linode.com)」討論一樣,RIP Linode...

Vultr 開大阪機房

Vultr 宣布開大阪機房:「New Cloud Data Center Location: Osaka, Japan」。

本來的東京機房從 HiNet 過去會塞,可以看到每天都會有一段時間 latency 會飄起來:

從 HiNet 過去 Vultr 東京機房是走 PCCW 的線路:

從 Vultr 東京機房回來是走 NTT 的線路:

如果是 Vultr 大阪機房的話,先用 mtr 看了一下 latency,狀況似乎是好很多?好像可以考慮把東京的機器搬到大阪看看...

Vultr 更新流量計算方式

一時間沒找到在哪邊看到的,但的確是漏掉這個消息,早上看到去翻才注意到的... Vultr 在去年 11 月底宣佈更新流量的計算方式:「Vultr Announces Reduced Bandwidth Pricing, 2 TB of Free Monthly Egress, Free Ingress, and Global Pooling」。

這波費用的更新算是跟上另外兩家 (LinodeDigitalOcean) 的算法了,先前 Vultr 的算法就很古老 XD

第一個是 inbound traffic 不算錢了 (總算):

Data ingress will now be free.

再來是 traffic pool 的概念,現在每個帳號的流量會統一計算,而非每台機器自己計算:

All customers will receive global account-level pooling of transfer across all instances and locations.

然後是每個帳號都提供 2TB 的 free outbound traffic,這點有點放送的感覺:

Every Vultr customer will now receive two terabytes (2 TB) of free outbound data transfer every month, in addition to the transfer included with each subscription.

最後是超量的部份收費也簡化了,不管什麼地區都是 $0.01/GB:

Vultr will now offer a reduced, single worldwide egress overage rate of only $0.01 per GB.

最後這點有個值得操作的點:依照他的收費標準,超量 1TB 的流量需要付 $10 的費用,但你可以多租一台 $5/mo 的機器,這個方式提供了 1TB 的流量到 traffic pool 裡面。

目前 AWS 台北區只能開 *.2xlarge 的機器

前面在「AWS 的台北區 (Local Zone) 開了」這邊有提到機器開不起來,剛剛查價錢的時候才發現只能開 {c5,g4dn,m5,r5}.2xlarge

改成 c5.2xlarge 然後就開起來了:

翻了目前所有的 local zone,看起來大多都是類似的情況,選擇性會很少... 目前只有邁阿密與洛杉磯的選擇比較多,這是邁阿密:

這是洛杉磯:

這樣目前要拿來當 VPS 取代品還不太好用,就真的是 local zone 的定位。

Linode 的 VPC 與 VLAN

看到 Linode 的「Go Private with VLANs and VPCs」這篇,裡面特地提到了 VLAN

Can a VLAN be used as a VPC on Linode?

The short answer is again, yes, we can use a VLAN as a VPC on Linode.

在「Common Use Cases for Linode's VLAN Service」這篇 (發現是 2021 年就有的資料) 裡面開頭就有提到:

This means that two or more Linodes connected via the VLAN can see each other as if they were directly connected to the same physical Ethernet network. This network supports all the logical Ethernet features like L2 broadcast and L2 multicast.

所以看起來的確是在 Linode 的 SDN 上面支援了 VLAN。記得早期是用 Cisco 的方案 (2013 年的時候有「Linode NextGen: The Network」這篇),現在不知道是什麼架構...

VirMach 炸開

之前有三台機器在 VirMach 上面,都是趁各種特價的時候買的,上面跑一些簡單的服務,結果最近炸光了:「VirMach Teeters at the Edge」。

差不多就是無預警更換 IP address,各種長時間的 admin panel 鎖住,所以只好把這些小東西改放到其他家的 VPS 上跑。

LEB 的討論串「★ VirMach ★ RYZEN ★ NVMe ★★ $8.88/YR- 384MB ★★ $21.85/YR- 2.5GB ★ Instant ★ Japan Pre-order ★ & More」這邊也是有大量的討論,不過基本上就只是抱怨集中處而已...

基本上公司應該是炸翻了,接下來照 LEB 的慣例應該是倒掉換殼重新來過?

AWS 宣佈將在台灣推出 Local Zone

公司的人丟了訊息過來,AWS 要在台灣設 local zone 了:「AWS 宣布在台部署全新 AWS 本地區域,擴充本地基礎設施」。

Amazon Web Services(AWS)宣布將在台灣推出全新 AWS Local Zone(本地區域)。

沒看到確切的時間點... 不過 local zone 的功能都很少,可以參考「AWS Local Zones features」這邊的列表,看看目前已經啟用的 local zone 所支援的服務與機種,像是 RDS 都不一定會有。

不過對個人來說,拿來當 VPS 用還不錯?到時候來看看 routing 的調教如何...

DigitalOcean 全面漲價

清 RSS reader 的時候才翻到的,DigitalOcean 宣佈漲價:「New DigitalOcean Pricing」,在 Hacker News 上有對另外一篇「公告」也有些討論:「New $4 Droplet and updated pricing」、「DigitalOcean: New $4 Droplet and updated pricing (digitalocean.com)」。

如果就比例來說,VPS 裡漲最多的就是一般性的產品線 Basic Droplets 這組,直接漲了 20%,其他的翻了一下舊的 pricing 頁面,看起來大多在 20% 以下,除了 IPv4 的費用 (這個倒是知道發生什麼事情)。

VPS 的 $5/mo 1GB 競爭算是很激烈的,算是頂標,這次 DigitalOcean 主動漲價,沒意外應該是會有不少人開始規劃搬家?接下來應該看看另外兩家的動作...

看了一下另外兩家最近的情況,Linode 在二月被 Akamai 買走之後目前主要是推出了 Managed Databases 這個服務,看起來速度慢下來不少。(不過 Linode 推新產品的速度本來就不快)

Vultr 還是照慣例丟了一堆東西出來,在新的據點開機房,以及一些產品線...

話說回來,查資料的時候發現 DigitalOcean 有 581 人 (2020/12),Linode 則是 200+,Vultr 則是 75 (2022,engineering only),看起來 DigitalOcean 的組織頗肥的啊...