在上一篇文章,我們成功申請了iNODE NINJA的帳號了!
為了自建一個CDN系統,接下來當然就是要開始建立節點!
在建立節點前,除了機器要先準備好,另外還需要有一些事前的準備。
在機器的作業系統上,我們嘗試過後建議使用Ubuntu 最新版本的LTS (截至截稿前為22.04 LTS) 或CentOS 7這兩種,如果要使用其他種Linux發行版(例如 Amazon Linux等)當然也是可以的,只是有可能因為系統本身發生不可預期的錯誤, 所以會建議還是使用上述兩種為佳。
根據iNODE NINJA官方給的註冊教學資料,大致上的步驟就是:
在歷經完畢這些過程之後,就能夠安裝SLB和Edge的程序了。為了避免單純用描述的太過抽象,這裡在接下來會一條一條的解說細節。
我們為了以最快的方式摸索出iNODE NINJA這套的安裝流程,因此在先不考慮線路成本與加速效果的條件下,直接採用AWS EC2在香港可用區開設兩台機器,分別採用t3.micro作為SLB的機器,與c5a.xlarge作為EDGE的機器,並且同時在這兩台機器上安裝Ubuntu x86_64 Server 22.04 LTS作業系統,來進行本次的測試。
將兩台機器都開設好,並且各綁定一組Elastic IP如上,此外Security groups設定除了勾選必備的SSH以外,我們也將HTTP與HTTPS這兩個選項勾起來,因為到時候作為CDN一定會遇到使用這兩個端口和協議的情況,
如開頭提到的步驟說明,現在我們以SSH登入這兩台機器,當然在AWS上要先針對key做出chmod,這部分依照各個雲服務的設計或是自己當時設定的安全性,可能在會有所不同。
“ssh -i "ithome-EDGE.pem" ubuntu@ec2-16-160-80-100.ap-east-1.compute.amazonaws.com”
“ssh -i "ithome-SLB.pem" ubuntu@ec2-43-100-100-20.ap-east-1.compute.amazonaws.com”
因為是新開的機器,我們先對其進行sudo apt update來確認機器內的package list都是最新的,避免之後在拉資源時出現問題,另外在hostname的部分我們也改成比較好辨認的 **“ithomeSLB” **和 **“ithomeEDGE”**這兩個,而不是比較難辨認的預設IP。
改完之後,我們就能開始依照 iNODE NINJA原廠提供的自建CDN教學GUIDE 裡面的教學從0開始進行機器的部署了!!
首先第一步驟是在這兩台機器上安裝好docker,原廠客服中心聯繫過後,真的都有提供詳細的教學(教學網址在此),非常佛心!
1. sudo apt-get remove docker docker-engine docker.io containerd runc
為了避免機器之前有裝過舊版的 Docker,這邊先下解除安裝的指令。
2. sudo apt-get update
3. sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
4. sudo mkdir -m 0755 -p /etc/apt/keyrings
5. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
6. echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
7. sudo apt-get update
8. sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
9. sudo docker version
10. docker compose version
11. sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
(圖示說明)
以上安裝完畢後,接下來就是安裝 jq。其實jq的部分也只是一行指令, 我們也一併提供:
1. sudo apt -y install jq
到這裡完畢後,就可以開始處理SLB與EDGE的安裝事宜了,至於詳細的部分,我們會在下一篇進行解說。