AWS EC2 with WordPress

前言

Vultr

這個網站原本是在 Vultr 上開一台機器,每個月大概的費用為 USD $6 – 7 元之間,並利用 Certbot 自動更新 SSL 憑證。但後來發現不太會維護那台機器,時常因為記憶體造成資料庫錯誤,每隔兩三天就得去手動重新啟動來解決問題,乾脆就搬家到 WordPress.com 的服務。

WordPress.com

而 WordPress.com 的好處就是全部幫你處理好好的,然後我使用的是個人版的方案;NT$ 130 / 月,便有提供轉址的功能和一年份免費的網域。不過由於我自己是向 PChome 買 Archie.tw,所以主要是為了轉過去而付費。

但使用服務和自己開一台機器的差異性就在於彈性,像是安裝外掛便被放在商務版的功能之中,而費用為 NT$ 799 / 月。

這樣一用也用了一段時間,直到近期註冊了 AWS 的服務,便決定搬移到 AWS 上。

AWS

在 AWS 上新註冊的用戶可以擁有一年的免費方案,而這個網站目前使用到幾個 AWS 服務分別為

  • EC2
  • Load Balancer
  • Certificate Manager
  • Route 53

這邊來介紹我的流程:

Key Pairs

首先我們先到 EC2 的頁面選擇 NETWORK & SECURITY ➡️ Key Pairs 來建立一組 Key pair,用於之後連接到 EC2 instance

EC2

透過 AWS Markeyplace 開一台新的 instance,使用 WordPress Certified by Bitnami 搭配 t2.micro 的免費方案;而之後若有收費的時候,約為 USD$ 0.012 / 小時,也就是一個月 USD$ 8.64 / 月。 一路照著步驟走,若你本身沒有其他服務要規劃的話,後續的動作都不需要做任何調整,就可以開好一台裡頭已經安裝好 WordPress 的 EC2 了。

這時候你就可以使用那台 EC2 的 Public IP 來開啟你的 WordPress 了!

使用者

在網址的最後加上 /admin 可以開啟管理後台,預設的使用者名稱為 user,而密碼的部分可以透過 EC2 Actions ➡️ Instance Settings ➡️ Get System Log 來查看,裡頭會有標註出密碼的欄位。

綁定個人網域

我們需要透過 Route 53 來處理個人網域的綁定動作,並使用 Load Balancer 和 Certicate Manager 來處理 HTTPS 的連線。

首先先到 Route 53 的 Hosted zones 建立一個 Hosted Zone 備著,其中你會需要將 NS 帶入到購買網域的管理頁面去設定,並進行 Certificate Manager 建立 SSL certificate。

建立憑證的時候,會需要將 CHAME 帶入到 Route 53 裡頭,再來建立一個 Load Balancer 來取得 DNS name,這時候再填入到 Route 53 裡頭便完成了 AWS 這部分的建構。

最後還需要使用最前面所建立的 Key pair 連線到 instance 上,來開啟 HTTPS 的功能。

Bitnami WordPress 詳細的 SSL 圖文教學

⚠️ 幾個需要注意的地方

  • Key Pairs 需要建立在 EC2 instance 之前,且弄丟了你就無法連回去那台 instance 了
  • Route 53、Certificate Manager CHAME 那些設定是需要一些時間轉移的
  • Route 53 和 Load Balancer 是需要收費的功能

整體費用的部分我一個月收再來更新這網站一共得支出多少在 AWS 上,處理完這個之後就可以來補上前陣子的 iOS 心得了!

comments powered by Disqus