單元六:安全性
共同責任模型
AWS 安全模型基於“共同責任模型”(Shared Responsibility Model)。在此模型下,AWS 負責管理底層的基礎設施安全(如硬體、網路、虛擬化等),而客戶則負責配置和管理其雲端資源的安全性(如資料、應用程式、作業系統等)。

圖片來源:AWS
AWS Identity and Access Management (IAM)
IAM 是一個 AWS 安全服務,它能讓你控制對 AWS 服務和資源的存取權限。你可以使用 IAM 精確地設置哪些用戶或應用程序可以執行哪些操作。主要 IAM 功能:
- IAM 使用者、群組與角色:使用者代表 AWS 中的個體或應用程式。群組是多個使用者的集合,你可以為群組指派政策。角色是一種可以被用戶或 AWS 服務臨時假設的身份。
- IAM 政策:是定義哪些操作可以由使用者、群組或角色執行的文件。這些政策可基於具體操作(如 EC2 啟動、S3 存取)來授予或拒絕許可。
- 多重因素認證 (MFA):為帳戶提供額外安全層,要求使用者提供除密碼以外的第二項驗證資訊(如動態生成的代碼)。
IAM 的最佳實踐:
- 始終使用 IAM 使用者,而非根使用者,來進行日常操作。
- 使用 IAM 政策設定最低權限原則,確保每個使用者或應用程式只能存取其完成工作所需的資源。
- 為所有重要帳戶啟用多重因素認證(MFA)。
AWS Organizations
AWS Organizations 允許集中管理多個 AWS 帳戶,並運用策略來控制它們的行為。這對於擁有多個部門或業務單位的公司特別有用。
- 服務控制政策 (SCP):讓你設定在 AWS 組織內每個帳戶的許可範圍。你可以封鎖某些服務或限制 API 操作,確保各個帳戶不會進行非法或不合規的操作。
- 組織單位 (OU):允許你將 AWS 帳戶進行分組,便於管理。OU 中的帳戶會自動繼承 SCP 政策,簡化大規模帳戶管理。
AWS Artifact
AWS Artifact 是 AWS 提供的自助服務,讓你能夠隨時存取安全和合規的報告,以及選擇合規協議。
- AWS Artifact 協議:當你的公司需要與 AWS 簽署某些合規協議時,你可以透過 AWS Artifact 來完成這些操作。
- AWS Artifact 報告:提供第三方審計員針對 AWS 是否符合全球合規標準的報告。這對於需要遵守特定法規的公司非常有幫助。
- 客戶合規中心:可以閱讀客戶合規案例並存取相關主題的合規白皮書和文件,例如:關鍵合規問題、AWS 風險、稽核安全檢查清單。
防禦 DDoS 攻擊
DDoS(分散式阻斷服務)攻擊是透過大量的流量來阻礙你的網站或應用程式。AWS 提供了幾種防禦此類攻擊的工具:
- AWS Shield:這是 AWS 提供的 DDoS 防護服務。它有兩個版本:
- AWS Shield Standard:提供對基本 DDoS 攻擊的自動防護,適用於所有 AWS 用戶。
- AWS Shield Advanced:提供針對複雜 DDoS 攻擊的進階防護,並提供詳細的攻擊分析與緩解策略。
- AWS WAF:Web 應用程式防火牆,幫助過濾惡意的 HTTP 請求。你可以設置規則來阻止來自特定 IP 地址或帶有特定特徵的流量。
AWS Key Management Service (KMS)
AWS KMS 是一種管理加密金鑰的服務,幫助你保護靜態和傳輸中的資料。利用 KMS,你可以控制加密金鑰的創建、使用和管理,並設置密鑰存取權限。
- 加密金鑰管理:可以創建、管理、輪換金鑰,並控制誰可以使用這些金鑰來加密或解密資料。
- 與其他 AWS 服務集成:許多 AWS 服務(如 S3、EBS、RDS)都可以直接與 KMS 整合,簡化資料加密過程。
AWS WAF (Web 應用程式防火牆)
AWS WAF 是 Amazon Web Services 提供的 Web 應用程式防火牆,旨在幫助保護 Web 應用程式免受各種網絡攻擊。AWS WAF 主要依賴於「Web 存取控制清單 (Web ACL)」,其功能類似於傳統防火牆中的 IP 層級存取控制清單(ACL),但更多的是以 Web 層級進行流量過濾和檢查。AWS WAF 可以與 Amazon CloudFront 和 Application Load Balancer 搭配使用,從而幫助企業保護其網路資源,防止來自惡意 IP 地址的流量。
常見使用案例:
- SQL 注入攻擊防護: AWS WAF 可檢測並過濾出含有 SQL 注入特徵的請求,防止駭客透過這些請求對應用程式或數據庫進行攻擊。
- 跨站腳本攻擊防護 (XSS): 它能夠檢測並阻擋含有惡意腳本的請求,防止跨站腳本攻擊,從而保護應用程式免受攻擊。
- 基於 IP 地址的過濾: 如前所述,你可以根據 IP 地址來允許或封鎖特定的流量,這對於封鎖來自特定來源的攻擊尤其有效。
- 流量管控: 使用 AWS WAF,你可以根據流量的來源、請求的特徵(如請求的 URL 路徑、標頭、參數等)進行細緻的控制和過濾。
Amazon GuardDuty
Amazon GuardDuty 是一項智能威脅偵測服務,會分析 AWS 環境中的網絡流量和帳戶行為,以識別潛在的安全威脅。
- 持續監控:GuardDuty 持續監控你的 AWS 帳戶,並通過多種來源(如 VPC 流量日誌和 DNS 日誌)來檢測異常行為。
- 威脅識別:當 GuardDuty 偵測到潛在威脅時,它會提供詳細的安全發現報告,並建議可能的應對步驟。
Amazon Inspector
Amazon Inspector 是一個自動化的安全評估服務,能夠識別應用程式中的漏洞,並根據 AWS 最佳實踐提供安全建議。
- 安全漏洞掃描:Inspector 能夠掃描 EC2 實例中的應用程式,發現可能的安全漏洞。
- 自動化報告:評估完成後,會生成詳細的報告,幫助開發人員理解並修復發現的問題。
單元七:監控與分析
Amazon CloudWatch
Amazon CloudWatch 是一項可以幫助你監控 AWS 資源和應用程式的服務。它可讓你追蹤和管理各種指標,並根據這些指標設定警示,以確保你的系統能夠在異常情況下自動響應。
- 指標:CloudWatch 使用「指標」來表示資源的數據點,例如 Amazon EC2 執行個體的 CPU 使用率、Amazon S3 的請求數等。AWS 服務會定期將這些指標傳送到 CloudWatch,並自動生成圖表來顯示這些指標隨時間的變化。
- CloudWatch 警示:你可以設置警示來監控特定指標,並在指標達到或超過預定閾值時觸發警報。例如,若你希望當 EC2 執行個體的 CPU 使用率過低時自動停止實例,你可以設置相應的 CloudWatch 警示來執行這個操作。
CloudWatch 儀表板
CloudWatch 儀表板 提供了一個地方讓你可以從單一位置存取資源的所有指標。你可以創建自定義儀表板來顯示不同資源的性能指標,例如 Amazon EC2 的 CPU 使用率、Amazon S3 的請求數等。
AWS CloudTrail
AWS CloudTrail 是一項記錄 AWS 帳戶中所有 API 呼叫的服務。這些記錄包括 API 呼叫者的身份、呼叫時間、來源 IP 位址等詳細信息,讓你能夠追蹤資源的使用情況。
- 事件紀錄:CloudTrail 會記錄所有 API 呼叫,並在呼叫後的 15 分鐘內更新。這些事件可以幫助你分析誰在何時對哪些資源進行了操作。你可以根據 API 呼叫的時間、請求動作的使用者和相關資源來篩選和查找事件。
範例:查看 IAM 使用者創建事件
假設某位員工在無通知的情況下創建了一個新的 IAM 使用者。使用 AWS CloudTrail,你可以篩選事件,查找所有與 IAM 使用者創建相關的 API 呼叫,並查看是哪位使用者在何時創建了名為 Mary 的 IAM 使用者。
CloudTrail Insights
CloudTrail Insights 是一個選用功能,能夠自動偵測 AWS 帳戶中異常的 API 活動。透過 CloudTrail Insights,你可以發現比平常更多的資源被啟動,或者其他不尋常的行為,從而及時發現潛在的安全風險或操作問題。
範例:異常 EC2 啟動
假設你通常啟動的 Amazon EC2 實例數量每天都是固定的,但最近發現啟動的實例數量突然增加。CloudTrail Insights 可以幫助你發現這一異常行為,並提供詳細的事件紀錄,幫助你進一步調查。
AWS Trusted Advisor
AWS Trusted Advisor 是一項 Web 服務,能夠檢查你的 AWS 環境,並根據 AWS 最佳實踐提供建議。Trusted Advisor 可以檢查你的環境,並根據五個主要領域提供優化建議:
- 成本最佳化
- 效能
- 安全性
- 容錯能力
- 服務限制
這些建議有助於你改進資源配置、提升效能、降低成本並加強安全防護。
AWS Trusted Advisor 儀表板
當你存取 AWS 管理主控台上的 Trusted Advisor 儀表板時,你可以檢閱各項檢查結果,這些檢查涵蓋成本最佳化、效能、安全、容錯能力和服務限制等領域。
單元八:訂價和支援
AWS 免費方案
AWS 免費方案 提供多項 AWS 服務的免費使用,這讓你能夠在不產生費用的情況下試用不同的服務。免費方案分為三種優惠類型:
- 永遠免費:某些服務在合理的使用範圍內可以永久免費使用(例如 Amazon DynamoDB 和 AWS Lambda)。
- 12 個月免費:特定服務在你註冊 AWS 帳戶後的前 12 個月內提供免費使用(例如 Amazon EC2 和 Amazon S3)。
- 試用:部分服務提供一定時長的免費試用期,試用期間你可以免費使用服務,試用期結束後將開始計費。
AWS 定價計算器
AWS 定價計算器 是一個幫助你評估在 AWS 上使用服務所需成本的工具。你可以根據實際需求,輸入各項服務的使用詳情來預估成本,並比較不同的配置選項。
- 功能:
- 支援根據不同服務和區域建立詳細的成本估算。
- 可以根據公司的組織結構定義群組,方便進行成本分配。
- 儲存並生成連結,以便與團隊或管理層分享預估的成本。
- 範例:如果你的公司計劃使用 Amazon EC2,但不確定哪個區域或執行個體類型最具成本效益,你可以使用 AWS 定價計算器來輸入作業系統類型、記憶體需求和 I/O 需求,並查看不同選項的費用預估。
帳單儀表板
AWS 帳單和成本管理儀表板 可讓你管理 AWS 帳單、監控使用量,並分析和控制成本。你可以在此儀表板上:
- 比較本月和上個月的費用。
- 查看本月各項服務的開銷。
- 查看免費方案用量,並控制開支。
- 訪問 Cost Explorer 並設立預算。
- 購買和管理 Savings Plans。
合併帳單
使用 AWS Organizations 功能,你可以將多個 AWS 帳戶的帳單合併到一張帳單中。這樣能簡化帳單管理,並允許你共享 AWS 的折扣和預留實例。
- 優點:
- 可以輕鬆追蹤組織中所有帳戶的費用。
- 共用大量折扣、Savings Plans 和預留實例。
- 設定方法:在 AWS Organizations 中,最多可以管理 4 個帳戶,若需要更多帳戶,則可聯絡 AWS Support 增加配額。
AWS 預算
AWS 預算 讓你設立預算來控制服務用量和成本。預算中的資訊會每天更新三次,你可以根據用量的增長,設置自訂提醒來保持成本可控。
AWS Cost Explorer
AWS Cost Explorer 是一個視覺化工具,可以幫助你深入了解並管理 AWS 成本與用量。你可以使用預設報告來查看使用最多的 AWS 服務,並應用自訂篩選條件來進行深入分析。
- 功能:
- 查看各個服務的費用分布。
- 使用自訂篩選條件,按小時或其他時間段查看資源使用情況。
- 範例:分析 EC2 成本
- 你可以查看過去 6 個月內不同類型的 Amazon EC2 執行個體的每月成本,這有助於未來做出更明智的預算規劃。
AWS Support
AWS 提供四種不同的支援計劃,旨在幫助你解決技術問題,降低成本並有效使用 AWS 服務。
- 基本支援 (免費):
- 提供白皮書、文件和支援社群存取。
- 包括 AWS Personal Health Dashboard,用來獲得可能影響你帳戶的事件提醒。
- 提供帳單相關的支援。
- 開發人員支援:
- 提供最佳實務指導和用戶端診斷工具。
- 12 小時內回答問題。
- 包含 AWS Trusted Advisor 檢查。
- 商業支援 (業務支援):
- 包含開發人員支援的所有服務。
- 提供特定需求的使用案例指導。
- 所有的 AWS Trusted Advisor 檢查。
- 24 小時內可聯繫 AWS 工程師。
- 企業支援:
- 包含開發人員和商業支援的所有服務。
- 提供應用程式架構指導和基礎設施事件管理。
- 提供專業的技術客戶經理 (TAM),協助優化使用 AWS 服務。
AWS Marketplace
AWS Marketplace 是一個數位型錄,讓你可以尋找、測試和購買可在 AWS 上執行的第三方軟體。AWS Marketplace 提供了來自數千個獨立軟體開發商的軟體產品,並根據行業和使用案例分類。
- 類別:基礎設施、商業應用、資料分析、DevOps 等,幫助你找到最適合你需求的解決方案。
- 範例:如果你來自醫療產業,AWS Marketplace 中的解決方案可以協助你保護患者紀錄或使用機器學習模型分析健康風險。
單元九:遷移與創新
AWS Cloud Adoption Framework (AWS CAF)
AWS Cloud Adoption Framework (AWS CAF) 是一個指導企業成功遷移到 AWS 的框架。它提供六個「觀點」,每個觀點針對不同的責任區域進行討論,幫助組織做好準備,適應雲端運算的變化。
這六個觀點分為:
- 業務:關注商業目標和績效。
- 人員:關注所需的技能、角色和文化變化。
- 治理:關注風險管理、合規性和控制。
- 平台:關注技術架構和雲端平台的設計。
- 安全:確保資料和基礎設施的安全性。
- 營運:關注日常操作、管理和維護。
這些觀點幫助你規劃遷移,確保在業務和技術層面上都能成功過渡。一般而言,「業務」、「人員」和「治理」這三個觀點著重於業務能力,而「平台」、「安全」和「營運」這三個觀點則著重於技術能力。
遷移策略 (6R策略)
AWS 提供了六種主要的遷移策略,簡稱「6R策略」,用來指導應用程式和資料的遷移過程。
- 重新託管 (Rehosting):
- 又稱「搬遷」,這種策略只將應用程式從現有環境移至 AWS,而不進行修改。
- 適用於希望快速遷移的情況。
- 範例:將本地伺服器上的應用程式直接搬到 AWS EC2。
- 平台重建 (Replacement):
- 對應用程式進行一些雲端優化,但不改變核心架構。
- 使應用程式更加符合雲端環境,通常涉及選擇更適合的雲端服務。
- 範例:將一個傳統的應用程式遷移到 AWS,並進行簡單的調整來提高性能。
- 重構/重新架構 (Refactoring/Restructuring):
- 利用雲端原生技術,重新設計應用程式的架構和開發方式。
- 這通常是為了提高可擴展性和效能,並應對強烈的業務需求。
- 範例:將一個單體架構的應用程式重構為微服務架構,並使用 AWS 服務如 AWS Lambda。
- 重新購買 (Repurchasing):
- 從傳統的軟體授權模式轉移到軟體即服務(SaaS)模式。
- 範例:將自建的 CRM 系統替換為 Salesforce 等雲端解決方案。
- 保留 (Retain):
- 保留某些不適合立刻遷移的應用程式。
- 這些應用程式可能需要進行重大重構,或由於技術和業務原因,延遲遷移。
- 範例:將一些遺留系統保留在本地環境中,直到適當的重構計劃就緒。
- 淘汰 (Retire):
- 移除不再需要的應用程式或系統。
- 通常是為了簡化 IT 環境,並減少維護成本。
- 範例:關閉過時的應用程式或系統,並將相關功能遷移到新的雲端解決方案中。
AWS Snow 系列成員 (實體遷移)
AWS Snow 系列 提供物理設備,用來將大量資料以實體方式傳輸到 AWS。這對於網路帶寬有限或需要快速處理大量資料的情況尤其有用。
- AWS Snowcone:
- 小型、堅固且安全的邊緣運算與資料傳輸裝置。
- 配備 8 TB 儲存空間,適用於較小規模的資料傳輸。
- AWS Snowball:
- 提供更大的資料傳輸容量。
- Snowball Edge Storage Optimized:80 TB 的儲存容量,適用於大規模資料遷移。
- Snowball Edge Compute Optimized:提供強大的運算資源,適用於機器學習和影像分析等高運算需求。
- AWS Snowmobile:
- 高達 100 PB 的資料傳輸解決方案,適合於超大規模資料的遷移。
- Snowmobile 是一個大型貨櫃,運行在卡車上,提供極高的資料傳輸能力。
利用 AWS 服務進行創新
AWS 提供了多種創新的服務,幫助企業開發無伺服器應用、人工智慧 (AI) 解決方案,以及機器學習 (ML) 應用,從而提高生產力和創新能力。
- 無伺服器應用程式:
- 無伺服器架構讓開發者不需要管理伺服器,可以專注於應用程式的邏輯和功能。
- AWS Lambda 是實現無伺服器架構的核心服務,讓你可以運行程式碼而不需管理伺服器。
- 這使得企業可以快速構建並部署應用,節省維護伺服器的時間和成本。
- 人工智慧 (AI):
- AWS 提供一系列 AI 服務,幫助開發者建立智能應用程式: Amazon Transcribe:將語音轉換為文字。 Amazon Comprehend:分析文字中的情感和關鍵字。 Amazon Fraud Detector:識別潛在的網路詐騙活動。 Amazon Lex:建立語音和文字的對話式界面(Chatbot)。
- 機器學習 (ML):
- Amazon SageMaker 提供全面的機器學習開發環境,幫助企業快速構建、訓練和部署 ML 模型。
- SageMaker 簡化了從數據準備、模型訓練到部署的每個步驟,讓企業能夠快速獲得機器學習的價值。
單元十:單元與架構
AWS Well-Architected 框架
AWS Well-Architected 框架 是一套指導原則和最佳實務,旨在幫助你設計並運行高效、可靠、安全且具成本效益的系統。這些原則有助於評估和改善你的架構,讓你能夠識別改進的區域,並確保你的系統達到高標準。
AWS Well-Architected 框架包含以下五個核心支柱:
- 卓越營運 (Operational Excellence)
- 卓越營運指的是能夠設計、執行並持續監控系統以達成商業目標的能力。它包括執行和監控系統的操作,並確保在改變過程中始終提供商業價值。
- 設計原則: 以程式碼方式管理和執行營運。 標註文件,確保系統可理解且可管理。 預測並處理系統故障。 運行頻繁且小範圍的變更,以提高靈活性和可恢復性。
- 安全性 (Security)
- 安全性支柱專注於保護資訊、系統和資產,同時透過風險評估來確保系統能有效實現商業價值。
- 設計原則: 自動化安全最佳實務,如身份驗證、加密和存取控制。 在每層架構中施行安全措施,包括基礎設施、應用程式和資料保護。 保障資料在傳輸和靜態狀態下的安全性。
- 可靠性 (Reliability)
- 可靠性是指系統在面對服務中斷或故障時能夠持續運行,並能迅速恢復運行,滿足業務需求。
- 設計原則: 測試並確保恢復流程有效。 動態擴展運算資源以應對需求波動。 自動化故障恢復,並減少單一故障點的風險。
- 效能效率 (Performance Efficiency)
- 效能效率是指根據業務需求和技術變化,高效利用運算資源的能力。這包括根據需求動態調整資源以維持高效能。
- 設計原則: 進行頻繁的實驗和測試,優化系統效能。 盡可能使用無伺服器架構(如 AWS Lambda),減少基礎設施管理負擔。 設計系統能夠迅速擴展,滿足全球需求。
- 成本優化 (Cost Optimization)
- 成本優化是指以最低的成本提供高效能的能力。這包括利用適當的消費模型,減少不必要的支出,並利用受管理的服務來減少運營成本。
- 設計原則: 透過適當的資源選擇和管理來實現最低成本。 分析和歸因費用,識別成本節省機會。 選擇能夠減少資源浪費和運營複雜度的服務,如 AWS 的受管服務。
如何應用 AWS Well-Architected 框架
AWS Well-Architected 框架可作為你架構設計的基礎,幫助你進行架構評估和優化。通過這些原則,你可以:
- 建立高效的雲端架構:設計可擴展、可靠和具有成本效益的系統。
- 提升安全性和合規性:保護你的資料,並遵循最佳實務來應對風險。
- 提高業務運營效率:實現自動化、監控和持續改進。
- 降低總體成本:透過資源優化和選擇合適的服務降低雲端運營成本。
參考資料
- AWS