Amazon EC2 ( Elastic Compute Cloud ) 是以穩定及彈性著名的雲端伺服器服務之一,對伺服器稍有研究的使用者們或 IT、MIS 等工程師都應該非常清礎 EC2 的長處,而且 EC2 也並不一定要大型的網站或專案才能使用,不論是使用 WordPress 所建立的任何型態網站,或是使用 WooCommerce 開設網路商店,全都非常適合建構在穩固的 EC2 雲端伺服器上。
本篇將不會介紹如何建立 Amazon 帳號以及如何使用 EC2 等相關的基本安裝與操作。
還原 EBS 掛載磁區容量
當使用 AMI ( Amazon Machine Image ) 所建立的 Instance ( 執行個體 ) 完之後,若在建立時所選的 AMI 並非 SSD Volume Type,EC2 就只會將預設的系統磁區設定成 8 GB 的容量而已,因此若要採用其它 AMI 時,就必須將 EBS ( Elastic Block Store ) 重新調整為完整的磁碟大小。
本文以安裝 Debian 8 的 AMI 為範例,當在建立 Instance 時設定了 30 GB 的 EBS Volume,但在 Instance 建立完之後,查看磁區時只有顯示 8 GB,因此還必須要把應該有的空間還原回建立時所設的 30 GB。
下圖中的 /dev/xvda1 表示為目前的預設磁區,但切記勿將資料存放在預設磁區中,因為它會隨著 Instance 刪除時一併消失 ,所以為了完整保存未來所產生的資料,就必須在把資料存放在 EBS 之中,這就好比 AMI 所帶的預設磁區是虛擬的,我們需要另外再安裝一顆真實的硬碟到系統中儲存資料的概念。
在進行調整磁區的設定前,強烈建議為原本的磁區建立快照 ( Snapshot ),以避免資料遺失!
設定開始
首先要取得 root 權限才能執行接下來的步驟:
sudo -s
接著查看 EBS 的 30 GB 磁區是否有掛載於系統當中:
fdisk -l
下圖系統顯示出 Disk /dev/xvda 是 30 GB 的 EBS 掛載磁區。
得知 EBS 的磁區代號後,接下來要對它進行還原:
fdisk /dev/xvda
進入 fdsik 指令集後,刪除 EBS 磁區:
d
重新建立新磁區:
n
並指定新磁區為主要磁區:
p
指定完主要磁區的同時,系統會詢問 First Sector 和 Last Sector 要各設為多少:
First Sector : 4096 Last Sector : 預設
再來還需將新磁區設定為啟動磁區才能夠順利開機:
a
完成之後跳出 fdisk 指令集:
w
最後再重新開機之後, Instance 所掛載的 EBS 磁區就會成功還原回 30 GB。
當 EBS 掛載磁區的問題解決完後,就可以開始安裝運行 WordPress 所需的相關組件,若需要安裝操控面板的話,可參考 Vesta CP 、 ServerPilot 或是純指令介面的 EasyEngine。
使用 root 帳號 SSH 登入 EC 2
EC2 在預設下,使用 SSH 登入時,每個 OS 都有不同對應的預設登入名稱如下:
Amazon Linux:
ec2-user
Fedora:
ec2-user
Centos:
centos
Ubuntu:
ubuntu
Debian:
admin
另外 EC2 還為了伺服器的防衛,限制了大部分的 AMI 都不開放使用者以 root 帳號登入,但如果真的需要用 root 登入,其實還是有辦法的,而且方法也很簡單,這裡依然使用 Debian 當範例。
為了伺服器的安全原則,通常建議取消 root 的登入權限。
設定開始
使用 admin 登入後,然後取得 root 權限:
sudo -s
接著開啟認證金鑰:
nano ~/.ssh/authorized_keys
刪除 ssh-rsa
之前全部的字串完後存檔,下方是 authorized_keys 裡的開頭文字:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"admin\" rather than the user \"root\".';echo;sleep 10" ssh-rsa 從這兒開始就是金鑰了可別刪錯地方造成錯誤無法登入呢xxxxxxxxxxxxxxxxxxxxxxxxx
重啟 SSH 服務:
service ssh restart
若凖備安裝 Vesta CP
因為 Vesta CP 預設的管理帳號為 admin ,所以必須先把 Debian AMI 所增加的 admin 帳號刪除,才能夠順利的安裝 Vesta CP。
編輯登入密碼的檔案:
nano /etc/passwd
找到下列的字串刪除後存檔:
admin:x:1000:1000:Debian:/home/admin:/bin/bas
接著刪除 admin 帳號及 admin 群組:
userdel admin groupdel admin
CloudFront 混合型 CDN 的應用
文章凖備中。
解決 CloudFront 的 CROS 問題
文章凖備中。