--- title: Google Network Service # 簡報的名稱 tags: GCP # 簡報的標籤 --- ## Google Network Service ---- ## Agenda - Cloud Load Balancing - Cloud DNS - Cloud CDN - Cloud NAT --- ## Cloud Load Balancing ![](https://i.imgur.com/FV1To24.png) ---- ### 選擇Load Balancing ![](https://i.imgur.com/7tO7uGe.png) ---- ### 前置作業 - BackEnd (Instance Groups & Storage) 系統服務 - Health Cheak 偵測服務狀態 - FrontEnd (Http/Https)訪問入口 - Firewall 防火牆 - Certificate - (SSL 憑證) ---- ### 了解服務資料的傳送方式 - RESTful API(Get/Post/Put/Delete) - websocket ---- ### [了解HTTP狀態碼](https://developer.mozilla.org/zh-TW/docs/Web/HTTP/Status) 1. 資訊回應 (Informational responses, 100–199) 2. 成功回應 (Successful responses, 200–299) 3. 重定向 (Redirects, 300–399) 4. 用戶端錯誤 (Client errors, 400–499) 5. 伺服器端錯誤 (Server errors, 500–599) ---- ### Firewall 設定 Health Cheak - 35.191.0.0/16 - 209.85.152.0/22 - 209.85.204.0/22 SSH 本機網路外網IP 或 0.0.0.0/0(不限IP) ---- ### (HTTP/HTTPS)Load Balancing Layer 7 ---- ### 建立 Instance Groups 建立Health Check (HTTP/HTTPS/TCP) * HTTP/HTTPS 一定要可訪問External IP * TCP 不用開 確保 Instance Groups 可運行機器 ---- ### 建立 Load Balancing BackEnd 主要設定這兩個項目 - 選擇 Instance Groups 或 Storage - 選擇 Health Check ---- ### 建立 Host and path rules 建立路由轉導規則 ---- ### 建立 Load Balancing FrontEnd - HTTP 預設 - HTTPS 需建立一組IP和憑證 ---- ### TCP Load Balancing Layer 4 ---- ### 建立 Load Balancing BackEnd 主要設定 - 選擇 Instance Groups ---- ### 建立 Load Balancing FrontEnd 主要設定 - 需建立一組IP和憑證 --- ## Cloud DNS ---- Tools - * [G Suite Tools - dig](https://toolbox.googleapps.com/apps/dig/) * [whatsmydns](https://www.whatsmydns.net/) - 驗證紀錄檔生效 * [dnsviz](https://dnsviz.net/) - 驗證 dnssec 驗證網域所設定的紀錄檔是否全球生效 ---- #### 網址狀態測試 - `dig` - `trace` - `ping` ---- #### 區域類型 Zone Type 有分 私人(Private) / 公開(Pubilc) * Private 私人 - 指定方式由DNS內網溝通用。 * Pubilc 公開 - 讓任何人可以存取。 --- ## Cloud CDN ![](https://i.imgur.com/FKvrBp1.png) 網站內縙發送至離使用者最近的Google Front End,供使用者讀取 ---- #### Header 設置 [一文带你看清 HTTP 所有概念](https://xie.infoq.cn/article/a87a720fcadacd8a9cd47347e) [循序漸進理解 HTTP Cache 機制](https://blog.techbridge.cc/2017/06/17/cache-introduction/) - `Cache-Control: max-age=3600; public` - `ETag` - `If-Match` ---- #### [過期時間](https://cloud.google.com/cdn/docs/caching) `Cache-Control: s-maxage`>`Cache-Control: max-age`>`Expires` --- #### ETag / If-Match ETag,檔案依舊,這資料會cache住,If-Match換判斷是否與Etag相同且回傳304給客端口。 ETag,檔案更新資料過後,這資料會更新,Etag會改寫加密且回傳200給客端口。 --- ## Cloud NAT 統一區域性出口IP,使用這個功能最重要的就是機器不能有**外網IP**。