聯繫我們
 課程時長 21 時間:

課程簡介

虛擬化細節

  1. 作業系統概念概觀:CPU、記憶體、網路、儲存
  2. Hypervisor
    1. 監督者的監督者 (Supervisor of Supervisors)
    2. 「Host」機器與「Guest」作業系統
    3. Type-1 Hypervisor 與 Type-2 Hypervisor
    4. Citrix XEN、VMware ESX/ESXi、MS Hyper-V、IBM LPAR。
  3. 網路虛擬化
    1. OSI 七層模型簡要介紹
    2. 聚焦於網路層 (Network Layer)
    3. IP 層 (Internet Layer) 或 TCP/IP 模型
  4. 聚焦單一垂直領域
    1. 應用層:SSL
    2. 傳輸層:TCP
    3. 網路層:IPv4/IPv6
    4. 連結層:Ethernet
  5. 封包結構
    1. 定址:IP 位址與網域名稱
    2. 防火牆、負載平衡器、路由器、網路適配器
    3. 虛擬化網路
    4. 更高階的抽象概念:子網 (Subnets)、可用區 (Zones)。
  6. 實作練習:
    1. 熟悉 ESXi 叢集與 vSphere 用戶端。
    2. 在 ESXi 叢集中建立/更新網路,從 VMDK 套件部署虛擬機 (Guests),並啟用 ESXi 叢集中虛擬機之間的互聯互通性。
    3. 對執行中的 VM 實例進行修改並擷取快照 (Snapshot)。
    4. 使用 vSphere 用戶端更新 ESXi 的防火牆規則。

2. 雲端運算:範式的轉變

  1. 讓產品/解決方案快速、低成本地問世
  2. 資源共享
    1. 虛擬化環境中的再虛擬化
  3. 主要優勢:
    1. 按需彈性資源
      1. 從構思 -> 到編碼 -> 再至部署,全程無需自建基礎設施
      2. 快速的 CI/CD 管線
    2. 環境隔離與垂直領域自主性
    3. 透過分層實現安全
    4. 成本優化
  4. 內部部署 (On-premise) 雲端與雲端供應商
  5. 雲端作為分散式運算的有效概念抽象

3. 雲端解決方案層級介紹:

  1. IaaS (基礎設施即服務)
    1. AWS、Azure、Google
    2. 選擇一家供應商以繼續後續課程。建議使用 AWS。
      1. 介紹 AWS VPC、AWS EC2 等。
  2. PaaS (平台即服務)
    1. AWS、Azure、Google、CloudFoundry、Heroku
    2. 介紹 AWS DynamoDB、AWS Kinesis 等。
  3. SaaS (軟體即服務)
    1. 非常簡短的概觀
    2. Microsoft Office、Confluence、SalesForce、Slack
  4. SaaS 建立在 PaaS 之上,PaaS 建立在 IaaS 之上,而 IaaS 建立在虛擬化技術之上

4. IaaS 雲端實作專案

  1. 本專案使用 AWS 作為 IaaS 雲端供應商
  2. 使用 CentOS/RHEL 作為後續練習的作業系統
    1. 也可以選擇 Ubuntu,但優先推薦 RHEL/CentOS
  3. 從雲端管理員處獲取個人 AWS IAM 帳戶
  4. 每位學員必須獨立完成以下步驟
    1. 能夠按需打造完整的個人基礎設施,是雲端運算力量的最佳展現
    2. 除非另有說明,請使用 AWS 嚮導(即 AWS 線上主控台)來完成這些任務
  5. 在 us-east-1 區域建立公開 VPC
    1. 在兩個不同的可用區建立兩個子網 (Subnet-1 和 Subnet-2)
      1. 請參考 https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html
    2. 建立三個獨立的資源群組 (Security Groups)
      1. SG-Internet
        1. 允許來自 Internet 的 https 443 和 http 80 入站流量
        2. 不允許其他任何入站連接
      2. SG-Service
        1. 僅允許來自資源群組 SG-Internet 的 https 443 和 http 80 入站流量
        2. 僅允許來自 SG-Internet 的 ICMP 流量
        3. 不允許其他任何入站連接
      3. SG-SSH:
        1. 僅允許來自單一 IP 的 SSH:22 入站連接,該 IP 必須與學員實驗機器公開 IP 一致。若實驗機器位於代理伺服器後方,則需使用代理伺服器的公開 IP。
  6. 部署一個對應於您選擇作業系統之 AMI(優先選擇 AMI 中可用的最新 RHEL/CentOS 版本)的實例,並將其置於 Subnet-1。將該實例掛載至 SG-Service 和 SG-SSH 群組。
  7. 從實驗機器使用 SSH 存取該實例。
  8. 在此實例上安裝 NGINX 伺服器
  9. 放入您選擇的靜態內容(如 HTML 頁面、圖片等)供 NGINX 提供服務(透過 HTTP 80 埠),並為其定義 URLs。
  10. 從該機器本身測試該 URL。
  11. 從此執行中的實例建立 AMI 映像檔。
  12. 部署該新的 AMI,並將實例置於 Subnet-2。將該實例掛載至 SG-Service 和 SG-SSH 群組。
  13. 執行 NGINX 伺服器,並驗證步驟 (i) 中建立的靜態內容存取 URL 是否正常工作。
  14. 建立一個新的「傳統」Elastic Load Balancer (ELB),並將其掛載至 SG-Internet。
    1. 注意其與 Application Load Balancer 和 Network Load Balancer 的差異。
  15. 建立路徑規則,將所有 http 80 和 https 443 流量轉發至由上述兩個實例組成的實例群組。
  16. 使用任何憑證管理工具(如 java keytool 等)建立金鑰對和自簽名憑證,並將該憑證匯入 AWS Certificate Manager (ACM)

5. 雲端監控:介紹與實作專案

  1. AWS CloudWatch 指標
  2. 前往這些實例的 AWS CloudWatch 儀表板
    1. 擷取相關指標並解釋其隨時間變化的情況
      1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. 前往 ELB 的 AWS CloudWatch 儀表板
    1. 觀察 ELB 指標並解釋其隨時間變化的情況
    2. https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. 進階概念以供進一步學習

  1. 混合雲端 -- 內部部署與公共雲端
  2. 遷移:從內部部署遷移至公共雲端
    1. 應用程式代碼遷移
    2. 資料庫遷移
  3. DevOps
    1. 基礎設施即代碼 (Infrastructure as Code)
    2. AWS CloudFormation 範本
  4. 自動擴展 (Auto-scaling)
    1. 使用 AWS CloudWatch 指標來判斷健康狀態

最低要求

參加此課程無特定先決條件。

適合對象

具備適當演算法概念且熟悉至少一種程式設計/腳本語言,但缺乏雲端運算經驗的軟體工程師/電腦科學家

人數


每位參與者的報價

客戶評論 (1)

即將到來的課程

課程分類