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 ) 重新調整為完整的磁碟大小。

ec2_chose_Instance_type

本文以安裝 Debian 8 的 AMI 為範例,當在建立 Instance 時設定了 30 GB 的 EBS Volume,但在 Instance 建立完之後,查看磁區時只有顯示 8 GB,因此還必須要把應該有的空間還原回建立時所設的 30 GB。

ec2_add_storage

下圖中的 /dev/xvda1 表示為目前的預設磁區,但切記勿將資料存放在預設磁區中,因為它會隨著 Instance 刪除時一併消失 ,所以為了完整保存未來所產生的資料,就必須在把資料存放在 EBS 之中,這就好比 AMI 所帶的預設磁區是虛擬的,我們需要另外再安裝一顆真實的硬碟到系統中儲存資料的概念。

ec2_df

在進行調整磁區的設定前,強烈建議為原本的磁區建立快照 ( Snapshot ),以避免資料遺失!

設定開始

首先要取得 root 權限才能執行接下來的步驟:

sudo -s

接著查看 EBS 的 30 GB 磁區是否有掛載於系統當中:

fdisk -l

下圖系統顯示出 Disk /dev/xvda 是 30 GB 的 EBS 掛載磁區。

ec2_fdisk_-l

得知 EBS 的磁區代號後,接下來要對它進行還原:

fdisk /dev/xvda

ec2_fdisk_ebs

進入 fdsik 指令集後,刪除 EBS 磁區:

d

ec2_fdisk_d

重新建立新磁區:

n

ec2_fdisk_n

並指定新磁區為主要磁區:

p

指定完主要磁區的同時,系統會詢問 First Sector 和 Last Sector 要各設為多少:

First Sector : 4096
Last Sector : 預設

ec2_fdsik_sector

再來還需將新磁區設定為啟動磁區才能夠順利開機:

a

ec2_fdisk_a

完成之後跳出 fdisk 指令集:

w

最後再重新開機之後, Instance 所掛載的 EBS 磁區就會成功還原回 30 GB。

ec2_ebs_resize_done

當 EBS 掛載磁區的問題解決完後,就可以開始安裝運行 WordPress 所需的相關組件,若需要安裝操控面板的話,可參考 Vesta CPServerPilot 或是純指令介面的 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 問題

文章凖備中。