---
# System prepended metadata

title: NQU-CSIE-Master-course

---

# NQU-CSIE-Master-course

Master course in GCP Platfrom 
week 1 : 
介紹課程 介紹每周上課進度
先教學如何申請GCP帳號及使用信用卡
week 2 :
中秋節 放假~~ 

-------------------------------------------

1. GCP 簡介
    1. 1.1 什麼是 Google Cloud Platform ? 
    
    Google Cloud Platform (GCP) 是由 Google 提供的一組雲端計算服務，這些服務運行在與 Google 自身產品（如 Google 搜尋和 YouTube）相同的基礎設施上。GCP 提供多種雲端服務，包括運算、儲存、數據分析和機器學習等，使企業能夠更快地創新，並有效降低成本。
    
    1. 1.2 GCP 的主要優勢
    - **全球基礎設施**：GCP 擁有全球分佈的數據中心，提供低延遲和高可用性。
    - **高度安全**：GCP 提供多層次的安全措施，保護用戶數據和應用程序。
    - **高效能**：利用 Google 的技術和基礎設施，GCP 提供高效能的運算資源和存儲選項。
    - **創新技術**：GCP 提供先進的數據分析、機器學習和 AI 工具，使企業能夠快速部署和運行複雜的應用。
    1. 1.3 與其他雲端服務的比較
    - **Amazon Web Services (AWS)**：AWS 是最早進入市場的雲端服務提供商，擁有最多的服務種類和市場份額。GCP 則以其強大的數據分析和機器學習工具而聞名。
    - **Microsoft Azure**：Azure 提供與 GCP 相似的服務，並且與 Microsoft 的其他產品（如 Office 365）整合緊密。GCP 在數據處理和大數據分析方面有明顯的優勢。
    - **IBM Cloud**：IBM Cloud 主打企業市場，特別是大型企業的需求。GCP 則專注於提供更廣泛的服務選項和創新技術。
2. 免費方案內容
    2.1 Always Free 永久免費項目
    
    GCP 提供一系列的永久免費項目，供用戶進行基礎測試和小規模應用。
    
    2.1.1 Compute Engine
    
    **免費配額**：每月 1 個 f1-micro 實例（美國地區），每月 30 GB HDD 存儲和 5 GB 快照存儲。
    
     2.1.2 Cloud Storage
    
    **免費配額**：每月 5 GB 標準存儲，1 GB 網路輸出至其他 GCP 區域。
    
     2.1.3 Cloud Functions
    
    **免費配額**：每月 200 萬次函數調用，400,000 GB 秒運算時間。
    
    2.2 Free Trial 試用期方案
    
    GCP 提供新用戶 90 天的試用期和 $300 美元的免費信用額度。
    
    2.2.1 信用額度使用規則
    
    試用期內，可以用於 GCP 的所有服務。
    
    - **使用範圍**：試用期內，可以用於 GCP 的所有服務。
    - **信用額度**：$300 美元。
    
    2.2.2 時間限制
    
    **試用期**：90 天。試用期結束後，未使用完的信用額度將失效。
    
3. 主要服務類別
    
    3.1 運算服務 (Compute)
    
    GCP 提供多種運算資源，適用於不同需求的工作負載。
    
    3.1.1 虛擬機器實例
    
    **Compute Engine**：提供高效能虛擬機器（VM）供用戶運行各種應用。
    
    3.2 儲存服務 (Storage)
    
    GCP 提供多種儲存解決方案，滿足不同類型數據的存儲需求。
    
    3.2.1 雲端儲存選項
    
    - **Cloud Storage**：適用於對象存儲，提供高可用性和可擴展性。
    - **Persistent Disk**：適用於持久化數據存儲，與 Compute Engine 集成使用。
    
    3.3 網路服務 (Networking)
    
    GCP 提供多種網路服務，確保應用的高效運行和安全。
    
4. 開始使用步驟
    
    4.1 帳號註冊流程
    
    - **步驟 1**：訪問 GCP 官方網站。
    - **步驟 2**：點擊「開始使用免費試用」。
    - **步驟 3**：使用 Google 帳號登入，完成註冊表單。
    
    4.2 設定付款方式
    
    - **步驟 1**：在 GCP 控制台中，前往「帳單」部分。
    - **步驟 2**：添加信用卡或銀行帳戶信息。
    
    4.3 專案創建指南
    
    - **步驟 1**：在 GCP 控制台中，點擊「選擇一個項目」下拉菜單。
    - **步驟 2**：選擇「新建項目」並輸入項目名稱。
    - **步驟 3**：點擊「創建」以完成專案創建。
5. 安全性考量
    1. 5.1 身份驗證與授權
    - **多重身份驗證**：啟用兩步驗證（2FA）增強帳戶安全。
    - **IAM 角色**：使用身份與訪問管理（IAM）設定細粒度的訪問控制。
    1. 5.2 資料保護措施
    - **數據加密**：GCP 提供靜態和傳輸中數據的加密。
    - **備份和恢復**：設定自動備份計劃，確保數據安全。
    1. 5.3 合規性認證
    - **合規標準**：GCP 符合多種國際標準，如 ISO/IEC 27001、SOC 1/2/3 和 GDPR。
    - **第三方認證**：定期接受第三方安全審查和認證。


## GCP Platfrom (授課筆記)

介紹Google Cloud Platform
● Google Cloud Platform的優勢
● 定義Google網路基礎架構的組成，包括：服務據點、資料中心、地區和區域
● 了解基礎架構即服務(IaaS)和平台即服務(PaaS)之間的區別

GCP的資源與操作

● 定義GCP專案的目的
● 了解身分識別和存取權管理的目的和使用案例
● 列舉操作GCP的方法

雲端的VM虛擬機器和網路

● Google Compute Engine的用途和使用案例
● 定義基本的GCP網路

雲端的儲存服務

● 介紹Google Cloud Storage、Google Cloud SQL、Google Cloud Bigtable和Google Cloud Datastore用途和使用案例
● 於GCP上挑選合適的儲存產品

雲端的容器服務(Containers)

● 定義容器的概念並了解容器的用途
● Google Kubernetes Engine和Kubernetes的用途和使用案例

雲端的App應用程式

● 了解Google App Engine的用途和使用案例
● 對比App Engine標準與彈性環境

● 了解Google Cloud Endpoints的用途和使用案例：後端架構上開發、部署及管理

雲端的開發、部署

● 雲端原始碼託管儲存體與Cloud Function

● 利用範本建立和管理資源

雲端的日誌與監控

● 定義SLIs、SLOs、SLAs

● 各項整合管理工具：監控、警示與除錯


---

google gemini & Openai playgroud API model :abc: 

Open AI playgroud API 
建議使用付費API做使用 (建議儲值5美金)
它可以與Google doc 做結合 
讀書或是報告 沒想法時可以問 (Open AI)
 
google gemini
可根據所在地的位置回答你
可以拍照問她這是什麼? 
![6287209428851736467](https://hackmd.io/_uploads/r1njRqaT0.jpg)

雲端 
使用者付費、增加可靠度、降低延遲性、因為法律關係
例如:中國 只能把雲端建置在中國地區 (它不能跨區)


---

GCE(Compute Engine) : 從頭打造客製化服務、什麼問題都自己解決
Cloud functions:可提供服務(python、java)、單一
App Engine : frame work
Cloud Run : 全代管運算平台
kubernetes Engine: Autopilot 模式代管容器
以上此張圖很重要 

![6287209428851736498](https://hackmd.io/_uploads/H1xnj0cT6A.jpg)

可以開不同的專案 
(dev、test、production)
免費使用

![6287209428851736499](https://hackmd.io/_uploads/ry-hoA5TpA.jpg)

公司>開發一、二、三組>不同專案>不同的資源
付費使用

![6296076032352042590](https://hackmd.io/_uploads/rklnj0qTa0.jpg)



![6302924916051263174](https://hackmd.io/_uploads/BJ3oRq6aC.jpg)
介紹 GCE 
***最重要的是 運算、储存、網路***
Cloud can provide
1)Compute 2)Storage 3)Networking Service
GCE :
可以客製化
(GKE + Cloud Run) => docker
GAE:
不同環境下，部屬(其他不想管 直接選)
Python & java 當事件觸發時 可以運用 cloud function (針對事件)

![6302922094257749635](https://hackmd.io/_uploads/S1b3sC5aT0.jpg)
Compute Engine:
虛擬機器,各種規格、 OS、Disk,以及 Autoscale。

操作Google Cloud

● Google Cloud Platform基礎架構

● 使用Google Cloud

● Demo：專案Projects

虛擬網路(Virtual Networks)

● 雲端上的VPC、專案、網路、子網路、IP地址、路由、防火牆規則

● 以子網路概念管理資源取代實體網路拓撲

虛擬機器

● Compute Engine介紹

● CPU/ Memory等多種運算選擇

● Images系統映像檔

● 常用的Compute Engine操作程序

身分驗證與存取權管理服務

● Cloud IAM最佳實踐於管理組織、角色、成員與Service accounts

儲存與資料庫服務

● Cloud Storage

● Cloud SQL

● Cloud Spanner、Cloud Datastore

● Cloud Bigtable

資源管理

● 資源管理工具：資源配額、標籤、名稱與計費管理

● Demo：Billing Administration

資源監控

● Google Cloud Operation Suite與監控

● 日誌分析、錯誤報告、追蹤效能瓶頸與除錯

互聯網路

● Cloud Virtual Private Network(VPN)

● 雲端路由器、企業專線連線、外部對等連線、雲端網域名稱系統(DNS)服務

負載平衡與自動彈性擴展

● 各項負載平衡代管服務：HTTPS load balancing、Cross-region and contentbased load balancing、SSL proxy/TCP proxy load balancing、Network load balancing

● 自動縮放、規則與配置

基礎架構自動化

● Terraform、Images, Metadata、Scripts、Google Cloud API

● Google Cloud Marketplace

託管服務

● Cloud Dataproc、Cloud Dataflow、BigQuery、Cloud Datalab

學會技能
如何將整個Google Cloud Platform技術於設計架構計劃中全方位納入考慮
了解開發、實施和部署解決方案的方法
可以辨別相似或相關產品和技術的特徵差異
識別各種解決方案適用範圍、使用時機和應用
培養管理和治理解決方案的基本技能發展㇐套解決方案模式和知識，並以其方法、技術和設計來協助實現具安全性、高彈性、高可用性和其他優質特色的基礎架構

---

![6302922094257749651](https://hackmd.io/_uploads/Hyl3jA5TT0.jpg)
Kubernetes Engine :
雲端代管 Kubernetes 平台,無縫整合 GCP 服務,可移植地端。

Google Cloud介紹
Container與Kubernetes介紹
Kubernetes的架構
Kubernetes的操作
部署、排程與擴縮
Google Kubernetes Engine(GKE)的網路架構
資料持久化與儲存
Kubernetes與GKE的存取控制與安全機制
Google Kubernetes Engine(GKE)日誌與監控
GKE使用Google Cloud管理的儲存服務
使用CI/CD部署Kubernetes工作負擔

---

![6302922094257749662](https://hackmd.io/_uploads/BJgni05TTC.jpg)
Google App Engine :
單體式、無伺服器,上傳程式碼即可運作。
![6302922094257749674](https://hackmd.io/_uploads/rJnoAqp6C.jpg)
Cloud Run : 
微服務、無伺服器容器化平台,只要能打包成容器即可運作。
![6302922094257749675](https://hackmd.io/_uploads/BknjCqapR.jpg)
Cloud Function :
微服務、無伺服器,上傳程式碼即可運作,含有事件驅動。
![6302922094257749678](https://hackmd.io/_uploads/rJe2s056TA.jpg)
這是最重要的圖!
他是所有以上的重中之重
![6305587692695567638](https://hackmd.io/_uploads/S13oA5paC.jpg)
非結構化的資料 => cloud storage

![6305587692695567641](https://hackmd.io/_uploads/HJgooAcpaA.jpg)
結構化    =>Cloud SQL 
● 代管的資料庫,只能用Client 端存取
MySQL 5.6, 5.7, 8.0
PostgreSQL 9.6,10,11,12,13
MS SQL 2017,2019
● 支援憑證加密連線
● 自動擴充儲存空間
● 高可用 HA
● 自動備份
● 復原點復原
● 可從 VPC 連線,也能允許外網 IP 連線
![6305587692695567642](https://hackmd.io/_uploads/S13iR5660.jpg)
企業級關聯式資料庫
● 一開至少3台機器形成 Cluster
● 唯一幾乎 CAP 理論限制:任何系統不可能同時滿足:
 *Consistency 一致性 (全球強一致性)
 *Availability 可用性 (同步複製)
 *Tolerance to network Partitions 容錯 
 (即使網路中斷,仍可以運作)
● PB 等級資料處理
● 每秒百萬次查詢
● SQL 語法
![6305587692695567644](https://hackmd.io/_uploads/ByjjA96TA.jpg)
這張圖是在說明 Bigtable!(圖中文字有殘影)
● 與 HBase 相容的 NoSQL 資料庫
● 超低 Latency
● 自動擴充節點 (主機),自動同步
● 從 Apache HBase 搬遷移至 Bigtable
● YouTube、GA、Search、Google Ads、
Drive 和 Map 都採用 Bigtable。
![6305587692695567646](https://hackmd.io/_uploads/B1ji09apC.jpg)

![6305587692695567657](https://hackmd.io/_uploads/HkojA9pT0.jpg)
(他可提供很高的可靠度!)

● 無限大檔案儲存空間
● 網站大型圖片、媒體儲存庫 (分擔Web Server負載)
● 無伺服器 API (XML, Json)
● 可替代 FTP 或 File Server
● 可跨 Region 達成 HA
● 長期歸檔儲存
● 可做靜態網頁
● 可掛載到主機,但 IOPS 低

![6305587692695567659](https://hackmd.io/_uploads/rJhoAqp6C.jpg)
Region 部屬在全球 
可以在zone 這邊有可靠度的，可以把資料放在不同區塊 

![6305587692695567664](https://hackmd.io/_uploads/H12sCqTTA.jpg)
四種儲存
Standard: 馬上得到，缺點:很貴
Nearline: 大概30天 儲存
Coldline: 一季 儲存
Archive: 一年 儲存

![6311981631983959628](https://hackmd.io/_uploads/S12jAqa6R.jpg)

### 額外
老師提供的資料:
https://www.cnblogs.com/xgqfrms/p/13047629.html 
#關閉GCP
https://medium.com/@kellenjohn175/how-to-guides-gcp-%E7%B6%AD%E9%81%8B%E8%80%81%E5%8F%B8%E6%A9%9F-%E5%B9%AB-compute-engine-instance-%E6%96%B0%E5%A2%9E%E7%A1%AC%E7%A2%9F-b82204ff101d
以上為 老師提供 

#### 10/8

    老師 分享 
    Notebook LLM (Google)
    可用於 論文 ~ 和 影片的摘要 等等 
    
---

以下為 老師上課所使用的教材(根據教授提供的圖片進行編排) 
此區是以上機的方式做操作
以下圖片來源是老師所操作及講解所使用的圖片
有上 Compute Engine、Network server
> ![6318606666282679540](https://hackmd.io/_uploads/rJA3UgVAA.jpg)
> ![6318606666282679539](https://hackmd.io/_uploads/ByyaLeEA0.jpg)
> ![6318606666282679538](https://hackmd.io/_uploads/HkyTIe4C0.jpg)
> ![6318606666282679536 (1)](https://hackmd.io/_uploads/HJ1T8gVRA.jpg)
> ![6318606666282679536](https://hackmd.io/_uploads/rky68l400.jpg)
> ![6318606666282679535](https://hackmd.io/_uploads/BkkTUlECA.jpg)
> ![6318606666282679528](https://hackmd.io/_uploads/BJJT8eEAR.jpg)
> ![6318606666282679527](https://hackmd.io/_uploads/B1JaIxNCR.jpg)
> ![6318606666282679521](https://hackmd.io/_uploads/B1yTUeNR0.jpg)
> ![6318606666282679520](https://hackmd.io/_uploads/rkJ6Ll4RR.jpg)
> ![6318606666282679519](https://hackmd.io/_uploads/B11TLgEAR.jpg)
> ![6318606666282679518](https://hackmd.io/_uploads/By1TLl4AA.jpg)
> ![6318606666282679517](https://hackmd.io/_uploads/rkJaLxVC0.jpg)
> ![6318606666282679516](https://hackmd.io/_uploads/ryyTLeEAR.jpg)
> ![6318606666282679497](https://hackmd.io/_uploads/rJZJ6IgVCR.jpg)
> ![6318606666282679493](https://hackmd.io/_uploads/HyeaIlEC0.jpg)
> ![6318606666282679490](https://hackmd.io/_uploads/BkJTUgV0C.jpg)
> ![6318606666282679489](https://hackmd.io/_uploads/Skg6Le4CR.jpg)
> ![6318606666282679488](https://hackmd.io/_uploads/r1ekaUxV00.jpg)
> ![6318606666282679486](https://hackmd.io/_uploads/rkyT8e40R.jpg)
> ![6318606666282679485](https://hackmd.io/_uploads/Hyx6IlVRC.jpg)
> ![6318606666282679483](https://hackmd.io/_uploads/S1gpUeNCR.jpg)
> ![6318606666282679480](https://hackmd.io/_uploads/BJep8l4RC.jpg)
> ![6318606666282679478](https://hackmd.io/_uploads/B1eaLg40C.jpg)
> ![6318606666282679477](https://hackmd.io/_uploads/rJxkpIl4CC.jpg)
> ![6318606666282679475](https://hackmd.io/_uploads/rylJpUe4AC.jpg)
> ![6318606666282679474](https://hackmd.io/_uploads/r1gJpUx4RR.jpg)
> ![6318606666282679472](https://hackmd.io/_uploads/HklT8gVR0.jpg)
> ![6318606666282679470](https://hackmd.io/_uploads/H1eyaIgE0R.jpg)
> ![6316835533438959116](https://hackmd.io/_uploads/Byg16IlERC.jpg)
> ![6316835533438959106](https://hackmd.io/_uploads/rkZkTUeVR0.jpg)

![photo_6330017715783319670_y](https://hackmd.io/_uploads/ryf78lPbJe.jpg)
![photo_6330017715783319669_y](https://hackmd.io/_uploads/SkzmLgD-ke.jpg)
![photo_6330017715783319665_x](https://hackmd.io/_uploads/r1fmIePZkx.jpg)
![photo_6330017715783319659_y](https://hackmd.io/_uploads/B1GmUgwZ1l.jpg)
![photo_6330017715783319658_y](https://hackmd.io/_uploads/HkGmLgv-yl.jpg)
![photo_6330017715783319656_y](https://hackmd.io/_uploads/BJGXLevWyl.jpg)
![photo_6325368989211017810_y](https://hackmd.io/_uploads/H1G7LeDbkl.jpg)
![photo_6325368989211017809_y](https://hackmd.io/_uploads/ByfmIgD-Je.jpg)


---

#### 指令集
systemctl + "acton" + "server name" —-> systemctl start apache2
systemctl stop apache2
systemctl restart apache2
systemctl enable apache2
systemctl disable apache2


---

#! /bin/bash
 apt update
 apt -y install apache2
 cat <<EOF >/var/www/html/index.html <html><body><p>Linux startup script added directly. $(hostname -I)</p></body></html>

![photo_6330017715783319713_y](https://hackmd.io/_uploads/SkNYLxP-yl.jpg)
![photo_6330017715783319712_y](https://hackmd.io/_uploads/HJEK8eD-Je.jpg)
![photo_6330017715783319711_y](https://hackmd.io/_uploads/r1HtLlwWye.jpg)
![photo_6330017715783319708_y](https://hackmd.io/_uploads/H1NKLxwZyl.jpg)
![photo_6330017715783319697_y](https://hackmd.io/_uploads/HyxEt8gD-1e.jpg)
![photo_6330017715783319694_y](https://hackmd.io/_uploads/B1VY8lvWyx.jpg)
![photo_6330017715783319732_y](https://hackmd.io/_uploads/rJOxvlwb1g.jpg)
![photo_6330017715783319773_y](https://hackmd.io/_uploads/rJE4PxvZ1g.jpg)
![photo_6064424969787524066_y](https://hackmd.io/_uploads/rkhDPlwWyx.jpg)
![photo_6064424969787524064_y](https://hackmd.io/_uploads/BynPvgwZye.jpg)
![photo_6064424969787524061_y](https://hackmd.io/_uploads/HJ6vwewWJg.jpg)
![photo_6064424969787524057_y](https://hackmd.io/_uploads/S16PPgDbJe.jpg)
![photo_6124967606181019376_y](https://hackmd.io/_uploads/SJ6Kdxv-yg.jpg)
![photo_6124967606181019374_y](https://hackmd.io/_uploads/SkaFdgvZ1l.jpg)
![photo_6124967606181019373_y](https://hackmd.io/_uploads/SyN0dxDWkl.jpg)
![photo_6124967606181019370_y](https://hackmd.io/_uploads/B1EAuxwW1x.jpg)
![photo_6124967606181019372_y](https://hackmd.io/_uploads/ryECOeDbye.jpg)
![photo_6124967606181019369_x](https://hackmd.io/_uploads/HkNC_ePWJl.jpg)
![photo_6124967606181019368_y](https://hackmd.io/_uploads/rJNR_lw-1g.jpg)
![photo_6124967606181019367_x](https://hackmd.io/_uploads/B1ER_gPb1e.jpg)
![photo_6124967606181019381_y](https://hackmd.io/_uploads/ryrgKeP-Jg.jpg)
![photo_6124967606181019380_y](https://hackmd.io/_uploads/SkSlKgwWkg.jpg)
![photo_6124967606181019410_y](https://hackmd.io/_uploads/Hy7HFlDb1g.jpg)
![photo_6124967606181019409_y](https://hackmd.io/_uploads/H17rtgDb1l.jpg)
    
-----------------------------------------------
# 期中考 考題
You need to create two vpc networks, i.e. myvpc1 and myvpc2. In myvpc1 (any zone), create two VMs with http server. In myvpc2, create DB (vm or cloud sql). make http servers connect to DB. Also add one load balancer. If a customer connect to LB, LB will dispatch the traffic to the backend http server.
翻譯(中文):
    您需要建立兩個 vpc 網絡，即 myvpc1 和 myvpc2。在 myvpc1（任何區域）中，建立兩個具有 http 伺服器的虛擬機器。在 myvpc2 中，建立資料庫（vm 或雲端 sql）。使http伺服器連接到資料庫。另外增加一個負載平衡器。如果客戶連線到LB，LB會將流量調度到後端http伺服器。
  
# 解答 (Ans.)- [期中考]
根據上課所學習到的解法是:
    
步驟 1：建立兩個 VPC 網路（myvpc1 和 myvpc2）
您需要建立兩個獨立的 Virtual Private Cloud (VPC) 網絡，一個用於 HTTP 伺服器 ( myvpc1)，另一個用於資料庫 ( myvpc2)。

    建立 VPC myvpc1：
        前往Google Cloud Console 中的VPC 網路。
        按一下建立 VPC 網路。
        命名它myvpc1。
    
在根據您的需求設定 IP 範圍和任何其他設定（例如，使用自動子網路建立或建立自訂子網路）。
為您的 HTTP 伺服器虛擬機器選擇一個區域（任何區域）（例如us-central1）。
    
    建立 VPC myvpc2：
        按照與上面相同的步驟操作，但將其命名為myvpc2.
        使用不同的區域或相同的區域，但請確保兩個 VPC 位於不同的網路中（您可以使用自動         或自訂子網路模式）。
    
步驟 2：在myvpc1（使用 HTTP 伺服器）中建立 VM
在以下位置建立 HTTP 伺服器 VMmyvpc1：
前往Cloud Console 中的虛擬機器實例。
按一下建立實例並為其命名http-server-1。
選擇 對應的地域和可用區myvpc1。
在「網路」下，選擇myvpc1網路並指派專用 IP（例如10.0.0.10）。
對於 HTTP 伺服器，選擇合適的作業系統映像（例如 Ubuntu）。
在此 VM 上設定 HTTP 伺服器（Apache、Nginx 等）。您可以透過執行以下命令來安裝 Apache：
bash

sudo apt update
sudo apt install apache2
http-server-2 
在同一 VPC 上重複此步驟。
透過在防火牆中開啟連接埠 80，確保可以透過 HTTP 連接埠 80 存取虛擬機器。

myvpc2步驟 3： 在（虛擬機器或 Cloud SQL）中建立資料庫
可以使用虛擬機器作為資料庫，也可以使用 Cloud SQL。
使用虛擬機器作為資料庫：
前往Cloud Console 中的虛擬機器實例。
按一下建立實例並為其命名db-server。
選擇正確的地區和區域myvpc2。
在“網路”下，選擇myvpc2並為其分配一個 IP，例如10.1.0.10。
安裝您的資料庫（例如 MySQL、PostgreSQL）。
在防火牆中開啟必要的資料庫連接埠（對於 MySQL，這將是連接埠 3306）。
使用 Cloud SQL 資料庫：
前往Cloud Console 中的SQL 。
按一下建立實例。
選擇資料庫類型（例如 MySQL 或 PostgreSQL）。
設定資料庫並將其配置為允許來自myvpc1網路的連線。
    
步驟 4：在 VPC 之間設定網路對等互連
由於您的 HTTP 伺服器虛擬機器位於myvpc1且資料庫位於myvpc2，因此您需要在兩個 VPC 之間建立網路對等互連，以便它們可以進行通訊。
前往 VPC 網路對等互連：
在 Cloud Console 中，前往VPC 網路對等互連。
按一下建立對等連線。
命名對等連接（例如，myvpc1-myvpc2）。
選擇myvpc1作為來源 VPC 和myvpc2目標。
啟用對等互連的路由和 DNS 解析。
建立對等互連後，您的虛擬機器myvpc1將能夠連接到 中的資料庫myvpc2。

步驟 5：將 HTTP 伺服器連接到資料庫
更新 HTTP 伺服器配置以連接到資料庫：
您可以修改 Web 應用程式程式碼或設定檔以指向資料庫。例如：
如果使用 MySQL，請將連接字串更新為：
CSS
複製程式碼
mysql -h 10.1.0.10 -u <user> -p
如果使用 Cloud SQL，請使用 Cloud SQL 執行個體連線名稱或私人 IP。
透過確保 HTTP 伺服器可以連接到資料庫來測試資料庫連線。

步驟 6：設定負載平衡器
現在，您將設定一個負載平衡器來在 中的兩個 HTTP 伺服器之間分配流量myvpc1。
建立負載平衡器：
前往Cloud Console 中的負載平衡。
按一下建立負載平衡器。
選擇HTTP(S) 負載平衡器。
選擇「開始設定」並使用HTTP 伺服器的後端服務。
後端服務：
新增http-server-1和http-server-2作為後端虛擬機器。
設定執行狀況檢查來監控這些虛擬機器的狀態（例如，連接埠 80 上的 HTTP 檢查）。
前端配置：
設定 IP 和連接埠（通常為 HTTP 連接埠 80）。
根據您的設定選擇全球或區域 IP。
測試負載平衡器：
建立負載平衡器後，您應該能夠透過負載平衡器的 IP 位址或網域名稱存取 HTTP 伺服器，並且負載平衡器會將流量分發到後端伺服器 (http-server-1和http-server-2)。

步驟 7 ：測試架構
在瀏覽器中存取負載平衡器的 IP 位址（或 DNS），查看其是否正確地將流量路由至後端 HTTP 伺服器。
確保每個 HTTP 伺服器都能夠查詢myvpc2.

-------------------------------------------------
11/12
上課內容 為 
finish the unmanaged load balancer setting first.
 (Just like what  I taught before)
later, I need to remove the public ip addresses of the www servers.
    
![photo_6167772216620598871_y](https://hackmd.io/_uploads/BkAEKExGyl.jpg)
![photo_6167772216620598869_y](https://hackmd.io/_uploads/rybrFExM1x.jpg)
![photo_6167772216620598868_y](https://hackmd.io/_uploads/H1bSFVlMkl.jpg)
![photo_6167772216620598866_y](https://hackmd.io/_uploads/HJxHYVlfJg.jpg)
![photo_6167772216620598864_y](https://hackmd.io/_uploads/HkxBYEezJe.jpg)
![photo_6167772216620598853_y](https://hackmd.io/_uploads/BJGHYEeGyl.jpg)
![photo_6168237915629535358_y](https://hackmd.io/_uploads/HkWSYElGye.jpg)
![photo_6167772216620598898_y](https://hackmd.io/_uploads/Bk1izLlf1x.jpg)
![photo_6167772216620598896_y](https://hackmd.io/_uploads/HkxsGUxGkg.jpg)
![photo_6167772216620598895_y](https://hackmd.io/_uploads/ryWjf8gfJl.jpg)
![photo_6167772216620598894_y](https://hackmd.io/_uploads/HklizIeMyg.jpg)
![photo_6167772216620598893_y](https://hackmd.io/_uploads/r1GoGIxMyx.jpg)

指令集
#!/bin/bash
 apt update
 apt -y install apache2
 cat <<EOF > /var/www/html/index.html
 <html><body><p>Linux startup script added directly. $(hostname -I) </p></body></html>
    
instance-template->instance groups-> load balancer
![photo_6167772216620598904_y](https://hackmd.io/_uploads/HJ817LlGkx.jpg)
![photo_6167772216620598902_y](https://hackmd.io/_uploads/BJUJXLlM1l.jpg)
![photo_6167772216620598911_y](https://hackmd.io/_uploads/B1dW7UeM1e.jpg)
![photo_6167772216620598910_y](https://hackmd.io/_uploads/ry_W7UxGke.jpg)
![photo_6167772216620598909_y](https://hackmd.io/_uploads/rkuW7Uefkl.jpg)
![photo_6167772216620598908_y](https://hackmd.io/_uploads/SkO-78eGke.jpg)
    
-------------------------------------------------
#  NOTE
    
以下是上課內容的章節筆記：

**1. 簡介**

* 雲端運算的定義: 隨選提供運算資源，例如伺服器、儲存空間、資料庫、網路、軟體、分析等，透過網路。
* 雲端運算服務的優勢：
    * 災難復原: 將重要資料和應用程式備份到雲端儲存空間，並在發生災難時切換到備援站點。
    * 可從任何地點和時間存取雲端運算服務。
    * 自動備份和災難復原。
* Google Cloud Platform (GCP): 由 Google 提供的一套雲端運算服務，在 Google 內部用於其終端使用者產品（如 Google 搜尋、Gmail、檔案儲存空間和 YouTube）的相同基礎架構上運行。

**2. GCP 服務**

* 計算引擎: 允許使用者創建和運行虛擬機器 (VM)。
* 客製化機器類型: 使用者可以創建具有最佳虛擬 CPU 和記憶體數量的計算引擎虛擬機器。
* 物聯網核心: 一項完全託管的服務，用於輕鬆安全地連接、管理和擷取來自全球各地裝置的資料。
* Google Cloud API: 允許使用者使用其喜愛的語言自動化工作流程。
* 大數據分析: 完全託管的多雲端分析平台，使每個人都能獲得洞察力，同時消除規模、效能和成本的限制。
* 雲端函式: 在雲端中運行程式碼的最簡單方法。
* 無伺服器: 提供網路、儲存空間和計算的生產服務。

**3. GCP 基礎架構**

* 可用區域: 位於區域內地理位置不同的位置，旨在彼此隔離，以防止單一故障點。
* 區域: 可託管資源的特定地理位置。
* 低延遲網路: 將全球不同區域和不同可用區域連接起來。

**4. 建立執行個體**

* 使用計算引擎建立虛擬機器。
* 可以選擇作業系統、機器類型、儲存空間和網路。
* 可以使用 SSH 或瀏覽器視窗連接到執行個體。

**5. 儲存空間服務**

* 儲存空間區: 一種儲存空間系統，允許使用者創建儲存空間區來儲存檔案。
* 儲存空間區名稱必須在全球範圍內是唯一的。
* 可以選擇儲存空間區的存取層級，例如多區域、雙區域或單一區域。
* 生命週期: 允許使用者設定檔案的保留期。

**6. 網路服務**

* 虛擬私人雲端 (VPC): 一個虛擬網路，允許使用者將一組資源放在該特定網路中。
* 子網路: 可以在 VPC 中建立子網路來分段網路。
* 防火牆: 允許使用者控制哪些流量可以進出網路。
* 內容傳遞網路 (CDN): 一種內容分發服務，可以將內容快取到靠近使用者的位置。
* 網域名稱服務 (DNS): 允許使用者將網域名稱轉換為 IP 位址。

**7. 其他服務**

* Kubernetes: 一種容器管理服務，允許使用者啟動容器來運行其資料和應用程式。
* 資料分析服務: 包括 BigQuery、Pub/Sub 和 Dataflow。
* 機器學習服務: 允許使用者在 GCP 雲端上練習機器學習。
* API: 提供認知服務，例如影像處理和自然語言處理。

**8. 雲端供應商比較**

* 市場佔有率和成長率: AWS 擁有最大的市場佔有率，其次是 Azure 和 GCP。
* 可用區域: AWS、Azure 和 GCP 都提供可用區域來確保高可用性。

**9. 安全性和管理**

* 身分和存取管理 (IAM): 允許使用者授予對特定 Google Cloud 資源的精細存取權限。
* 服務帳戶: 用於應用程式和虛擬機器的特殊帳戶。
* 角色: 權限的集合。
* 政策: 角色繫結的集合。

**10. 最佳實務**

* 選擇正確的機器配置以滿足您的培訓特性。
* 使用分散式訓練以加快訓練速度。
* 監控您的培訓工作並在必要時進行調整。

**11. 結論**

* GCP是一個強大的雲端平台可以幫助企業降低成本、提高效率並創新。
* 通過利用 GCP 的各種服務和功能，企業可以實現其業務目標。
* 探索 GCP 的新功能非常重要。

-----------------------------------------------
# 活動經驗
以下 是我近幾年 參與的一些雲端技術研討會 一些 小筆記 

這是 2024 DevDaysAsia 亞太技術年會 (微軟) 
我去參加做的小筆記 
https://hackmd.io/@yu-hary/Skb1J1v9A
這是 2023 DevDaysAsia 亞太技術年會 (微軟) 
我去參加做的小筆記 
https://hackmd.io/@yu-hary/HJgvflRA2
我也參加過 2024 雲端科技發表會 (AWS)
但可惜當日沒撰寫到一些小筆記(無法秀出)


-----------------------------------------------
# 線上自學
這是我2024 有幸參與  Google 線上課程
[google cloud  Data Analytics] 
課程介紹內容 (以下)
**Summary**
BigQuery is a versatile data analytics and AI platform by Google Cloud, recognized for its leadership in data lakehouses and AI applications, offering a unified solution for data storage, analysis, and AI integration.

**Abstract**
Google Cloud's BigQuery is an advanced platform that integrates data analytics with AI capabilities, providing a unified environment for managing diverse data workloads and AI applications. It supports multiple engines, data formats, and cloud environments, facilitating seamless data storage, analysis, and transformation. BigQuery's integration with Vertex AI allows for AI model training and deployment without the need to move enterprise data, enhancing the data-to-AI workflow. The platform emphasizes ease of use, scalability, and cost-effectiveness, catering to both SQL and Python users, and supports the development of AI-driven applications with features like Gemini for natural language processing and AI-assisted coding. BigQuery's enterprise-grade features include cross-regional disaster recovery, secure data sharing, and comprehensive security measures, ensuring high availability and compliance with industry standards.

**Opinions**
1.BigQuery is positioned as a leader in data analytics and AI platforms, as evidenced by its recognition in Forrester Wave and Gartner reports 

2.The platform's ability to handle multiple analytics and AI use cases within a single data copy is highly beneficial for enterprises, reducing complexity and costs 

3.BigQuery's integration with Vertex AI simplifies the process of leveraging AI, allowing users to train and deploy models directly within the platform 

4.The platform's support for a wide range of data types and open formats, including Iceberg, Delta, and Hudi, demonstrates its commitment to flexibility and open-source collaboration 

5.BigQuery's AI capabilities are not limited to data analysis but extend to content generation, classification, and sentiment analysis, showcasing its versatility in AI applications 

6.The inclusion of AI-assisted features like Gemini in BigQuery Studio enhances developer productivity by providing code assistance and data exploration capabilities 

7.BigQuery's enterprise features, such as cross-regional disaster recovery, ensure business continuity and data integrity, which are critical for enterprise operations 

8.The platform's security features, including secure data sharing and data clean rooms, address the need for privacy and compliance in data collaboration 

9.Google Cloud's commitment to helping customers migrate to BigQuery is evident through its suite of migration tools and services 

所拿到的證書
https://www.credly.com/badges/493f635d-f8ff-4c06-870c-1a4ce4991069/embedded


-----------------------------------------------

