本系列文章提供給對於建置網頁有興趣、喜歡動手自己來或是想要嘗試雲端服務的讀者。
閱讀後你可以知道:
- 選用 google domain 的原因
- 購買網域流程
- DNS 基礎概念以及設定方法
我們拿 google 相關的服務作為舉例:
google 創辦人 Larry Page 購買了 google.com 的這“一個" domain (主網域),並且透過 google.com,分別切出多個 subdomain (子網域) 提供出多項服務如下:
- mail.google.com – gmail 信箱服務
- drive.google.com – 雲端硬碟服務
- domains.google.com – 網域管理服務
所以 domain 或是任意的 url 都是獨一無二的,而且擁有一個 domain,就可以架設多個網站或服務喔
選用 google domain 的原因
我個人選用的原因有以下三項
- 目前公司使用 GCP 作為雲端服務的主力,對我個人來說,這是個不錯的練習
- google domain 可以較為方便的結合 GCP 上面的服務,像是可以提供 app engine 免費的 SSL 以及自動續約服務等等
- google 有品牌優勢,用起來比較安心,而且可以順便申請一個屬於該網域的 gmail 信箱,看起來專業度加分+++ (終於可以把小時候隨便亂取名的信箱給換掉了~灑花~)
SSL 是一種加密方式,如果沒有的話,url 就只能透過 http 進行連線,無法使用 https,對訪問者來說有信任的疑慮存在。
購買網域流程
- 進入 google domains 搜尋網域的畫面
- 輸入你想要的名稱,按下 Enter,建議不要有 dash (-) 符號,或是太短且無意義的英文字母,個人覺得會讓人感覺像詐騙網站,不太可靠
- 以搜尋 taiwan 為例:
搜尋結果會顯示所有相似的網域名稱,ex. taiwanmap.org, taiwannews.org
所有結尾名稱只顯示所有符合 taiwan 的 domain,ex. taiwan.com, taiwan.org
可以利用搜尋欄位旁的篩選器,篩選出所有可以購買的名稱 - 將所有喜歡或是考慮中的名稱加入購物車中,結帳前再進行最後的比較
- 結帳時可以選擇啟用 google workspace 來取得對應網域的 email 信箱
DNS 基礎概念以及設定方法
什麼是 DNS
DNS 全名 Domain Name System,我們可以把我們上網的過程想像成是用 iPhone 打電話的過程,可以把iPhone 的電話簿想像成是 DNS
在打電話的過程中,我們不會去記得朋友的電話號碼是多少,我們只會對著 iPhone 說: hey, Siri,幫我打給王大明,此時 iPhone 就會去幫你查詢王大明的電話是多少,並且撥出,而這也就是 DNS 在做的事情。
網站服務只認得 IP ,不會知道 domain 是什麼,所以當我們在瀏覽器上輸入對應的 url 時,他必須要透過 DNS 才能查詢到他真正要訪問的 IP 服務在哪裡,所以當今天你的網站突然無法正常從 domain 進行訪問時,有可能就是你的 DNS 故障了喔~
常見 DNS 設定
那我們要如何使用並設定 google domain 所提供的 DNS 服務呢?
相信許多人在購買 domain,點開 DNS 選單後,會看到有一堆無法理解的表單內容及選項,這邊就舉幾個常見的跟大家說明~
類型 – record
| 類型 (record) | 解釋 | 範例 |
|---|---|---|
| A | IPv4 | 172.16.254.1 |
| AAAA | IPv6 | 2001:db8:0:1234:0:567:8:1 |
| CNAME | subdomain | blog.example.com |
留存時間 – TTL (time to live)
快取 (暫存) 查表後結果的存留時間為多久。
懶人包:
DNS 需頻繁變更設定 => TTL 小 => 越快生效
DNS 不會頻繁變更設定 => TTL 大 => 越慢生效
以 3600 秒為例子,代表 DNS 設定生效之後,每 3600 秒,DNS 會需要重新抓取對應的 IP 位子,所以在每次的更新之間,對應表是無法更新的。
也就是說,設定的時間越長,代表可以減少查詢 IP 的次數,但也代表更新 DNS 設定的生效時間會越久。
設定範本
| 主機名稱 | 類型 | 存留時間 (s) | 資料 |
|---|---|---|---|
| example.com | A | 3600 | 172.16.254.3 |
| blog.example.com | CNAME | 3600 | example.com |
| api.example.com | AAAA | 3600 | 2001:db8:0:1234:0:567:8:1 |
從上表中我們可以得知以下三點
- 瀏覽器訪問 example.com 時,會先經過 DNS,經查詢後得知訪問的目標 IPv4 為 172.16.254.3
- 瀏覽器訪問 blog.example.com 時,會將他視為 example.com 的別名 (綽號),所以也會訪問 IPv4 為 172.16.254.3 的 server
- 瀏覽器訪問 api.example.com 時,經 DNS 查詢後,得知訪問的目標 IPv6 為 2001:db8:0:1234:0:567:8:1