GCP 電商網站架設教學: VM 靜態 IP 設定

2020-03-28
    Article outline
當你建立完成 VM 後,即可在介面看到已建立的VM,此時你會看到預先配置好的臨時 IP,臨時 IP 不可當成網站的固定 IP 來使用,因為若是將 VM 重新啟動臨時 IP 會再次變動,因此我們需要將臨時外部 IP 位址改為靜態 IP 位址,好供網站 DNS 使用。
如何將臨時IP調整為靜態 IP 呢?可根據下面步驟執行:
 
 
 
  1. 1. 至主選單 " VPC網路 -> 外部IP位址" 的地方,會看到原先 VM 建立時用的 IP,其類型為「臨時」,我們將類型由「臨時」改為「靜態」
  2.  
 
2. 這時會跳出「預約新的靜態IP位址」,填入可識別的名稱點選「預約」送出
 
 
  1. 3. 回到外部 IP 位址頁面,即可看到 IP 類型已成功改為「靜態」
  1. 之後設定網站 DNS,將網域的 A 紀錄指向這組 IP,DNS 生效後即可瀏覽該主機架好的網站囉!
 
 
 

2020-06-18

網站我們必需要自己架伺服器嗎?

    Article outline

網頁設計完成即將安裝上線時,通常有兩種方式可供選擇主機方式:
(一)自行架設伺服器:此種方法就是自行再購買一台電腦作為該站的伺服器,且需二十四小時都不能關機,一旦關機網站將會無法運作。自行架設花費的需求會比較昂貴,例如:伺服器軟硬體、防火牆、網路租用費、MIS管理工程師、其它支出(如:不斷電系統、發電機)。
特色為資料維護技術完全自己掌握、但投入及維護成本高、可與企業內部資訊系統結合應用、適合中大型且有專業人員之企業。

(二)租用虛擬主機空間:一般中小型公司網站大都是採用此租用模式,費用較低,每一年必須支付1000~5000費用不等,視網站的需求而選擇的主機規格、流量而有不同費用。
特色為投入成本較低、適合一般資訊提供量較少且不資訊部門或資訊專業人員之中小企業、所有的連線及維護都由廠商代勞,以資源共享的方式來節省購買單一主機的花費模式,此種方式較為經濟,您也不需放置實體的伺服器在公司內部。

 

(三)租用獨立或是雲端主機空間:有點像是AWS和GCP ,好處是速度飛快,一般虛擬主機大約同時上線50~80人是極限,並且中國大陸是無法看到的,但是如果是AWS和GCP,大約可以同時100人以上,並且可以隨著行銷活動快速調整方案和規格,在網站架設中,可思科技是最推這個方案的!


2020-06-19

GCP 電商網站架設教學 :教你如何用 SendGrid 為你的網站發信!

    Article outline

SendGrid 是什麼?為何要使用它?
 
一個電商購物網站免不了的就是有一堆信件通知信要寄送,不管是會員註冊信、訂單成立信、優惠通知信 …等,都需要一個郵件伺服器來幫你發送信件,而以GCP架站來說,GCP 的主機會阻擋 25. 465. 587 這幾個Port,因此一般網站常用的幾種寄信方式便不合適,但本次介紹的 SendGrid 可輕鬆解決這個問題,它是一個第三方郵件服務,主要採用 2525 port ,設定上相當容易,不僅可以省去自己架設及維護郵件伺服器的成本,每個月更是提供了 12,000 封信的額度讓你免費使用,下面教你如何一步一步申請並設定SendGrid 為你的網站發信:
 
一、登入GCP ,設定 SendGrid & 申請帳號
 
  1. 登入你的 GCP 帳號,至搜尋框輸入"sendgrid email",可看到" SendGrid Email API" 這個項目,點選它
 
 
  1. 進入「SendGrid Email API」頁面後,直接點選「開始使用免費方案」
 
  1. 接著選擇使用的方案,這裡使用 Free 免費方案,每月最多可免費寄送 12,000 封信件
 
 
  1. 再來要註冊 SendGrid 帳號,點選 "註冊「SendGrid」"的按鈕
 
 
  1. 開始註冊帳號,填入相關欄位資訊後送出。
  2. 而這裡填寫的 Username 及 Password 會當作網站發信用的帳密,請務必記住。
 
 
  1. 送出後回到後台,即可看已訂閱「Free」方案
 
二、SSH 連線主機,設定 Postfix
 
  1. 以 SSH 連線進入主機
  2. 輸入以下指令進行安裝套件及設定
 
sudo umask 077
sudo yum install cyrus-sasl-plain cyrus-sasl-md5 mailx -y
 
  1. 編輯 /etc/postfix/main.cf 文件,至文件最底部,貼上以下設定值,並儲存
 
sudo vi /etc/postfix/main.cf
 
貼上以下設定值:
relayhost = [smtp.sendgrid.net]:2525
smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
header_size_limit = 4096000
smtp_sasl_security_options = noanonymous
 
 
  1. 輸入以下指令,建立發信的帳號密碼檔,USERNAME 填入剛註冊的帳號 (注意是username,不是信箱),PASSWORD 填入註冊密碼
 
sudo echo [smtp.sendgrid.net]:2525 USERNAME:PASSWORD >> /etc/postfix/sasl_passwd
 
  1. 輸入以下指令,將上面建立好的檔案,轉成db格式
 
sudo postmap /etc/postfix/sasl_passwd
 
  1. 輸入以下指令,確認是否有產生.db的檔案
 
sudo ls -l /etc/postfix/sasl_passwd.db
 
  1. 確認建立好後刪除先前的帳號密碼檔
 
sudo rm-rf /etc/postfix/sasl_passwd
 
  1. 輸入指令,重啟 postfix,若無錯誤訊息則表示設置成功
 
sudo postfix reload
 
三、測試發信
 
  1. 輸入下面指令測試發信,youremail@example.com 填入你的信箱,若有收到主旨為"Test-Email",內容為"Message"的信件,即表示設定成功!
 
echo 'Message.' | mail -s Test-Email youremail@example.com
 
 
  1. 也可使用程式來發信,設定資訊如下:
  2.  
SMTP
Host: smtp.sendgrid.net
Port: 2525
Username: 註冊帳號 (非註冊信箱)
Password: 註冊密碼
 
 
結論
 
這樣操作下來是不是方便申請也容易設定呢!但要注意的是,若你的每月發信量超過 12,000 封,那可能就不適合免費方案,若是超出額度將會無法寄信,如有疑問或是想更了解 SendGrid 的話可到他們官網查詢它的相關文件!
 
 
參考文獻


2020-04-27

AWS 網站架設教學 - SES 發信設定

    Article outline

登入你的AWS帳號進到主控台,並選擇 Simple Email Service,開始以下的設定:

 

一、驗證網域

1. 點選左邊選單的「Domains」選項,再按「Vefify a New Domain」來新增一組你的網域

2. 在 Domain 欄位填入你的網域,並點選「Verify This Domain」送出

3. 此時你會到以下畫面,這邊需要你去新增設定DNS的TXT記錄來驗證網域,Domain Verification Record下方的TXT記錄即為你所需設定的資料

4. 回到SES介面,你會看到已新增的網域,若是TXT記錄設定失敗或尚未生效,則會顯示「pending verification」的狀態,若顯示為「verified」便完成了網域驗證的步驟

 

二、驗證信箱

1. 點選左邊選單的「Email Addresses」選項,再按「Vefify a New Email Address」來新增信箱

2. 在 Email Address 欄位填入你的網域,並點選「Verify This Email Address」送出

3. 接著到登入你的信箱,你會收到一封AWS SES發來的信箱驗證信

4. 點選信件中的驗證網址,即可成功驗證信箱

5. 回到SES介面,你會看到剛剛新增的信箱驗證狀態更新為「verified」,此時已完成信箱驗證的步驟

 

三、建立 SMTP Credentials

1. 點選左邊選單的「SMTP settings」選項,再按「Create My  SMTP Credentials」新增一組SMTP登入資料

2. 這邊會自動產出一組IAM 使用者名稱,直接點選「建立」

3. 這時會看到新增的SMTP使用者名稱及密碼,我們要使用此組帳密來發信,所以請務必要記下來

4. 回到 SMTP settings 介面會看到 SMTP 發信用的 Server Name 及 Port ,再加上剛才記下來SMTP使用者名稱及密碼,即為我們所需用到的發信資料!

 

四、撰寫程式,測試發信

1. 使用你擅長的程式語言來撰寫發信程式

2. 發信的設定參數值即為剛剛所建立的 SMTP Credentials資料,資訊輸入正確的SMTP即可成功發信囉!

但要注意以下幾點:

(1) AWS 預設限制阻擋由內到外的 25 port 流量,所以請使用 587或 465 port 來發信

(2) 若必須要使用 25 port 來發信,則需另外向AWS提出申請,請參閱 如何從 EC2 實例取消端口 25 上的限制

(3) 未向AWS提出轉正式模式時,皆在沙盒模式中,僅有被驗證的信箱可拿來發信及收信,要解除沙盒模式的話需另填寫表單提出申請轉正式模式

 

整個過程是不是簡單又快速呢!若是使用AWS主機的話不妨試試使用SES來發信吧!使用EC2的主機還有每月62,000封的免費額度哦 ~


Related information

Other Articles