Amazon DOP-C02: 儲存、資料庫與資料管理 — 學習指南
屬於 AWS DevOps Engineer Professional DOP-C02 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
總覽
在 AWS 上設計儲存、資料庫和資料移動時,必須考量持久性、可用性、成本效益及自動化。精通 S3 儲存類別與複寫、DynamoDB 容量與全球分佈、RDS/Aurora 組態控制與備份模式、記憶體內快取、共用檔案系統以及資料遷移服務,將能建構出可靠、低延遲、具備可預測復原行為及受控支出的系統。
Amazon S3:儲存類別、生命週期、智慧分層與複寫
S3 儲存類別根據存取模式來調整成本:
- Standard:多可用區 (multi-AZ)、低延遲、無擷取費用。熱門資料的預設選項。
- Intelligent-Tiering (S3 INT):多可用區,自動在「經常存取」和「不常存取」層之間分層,並提供可選的封存層。每個物件需支付監控與自動化費用;小於 128 KB 的物件不會自動分層。「封存存取」和「深度封存存取」層為選用,具備上次存取時間的閾值;從非經常存取層擷取資料會產生費用。
- Standard-IA 和 One Zone-IA:儲存成本較低,但有擷取費用;最低儲存計費期間為 30 天。One Zone-IA 為單一可用區,適用於可重新建立的資料。
- Glacier Instant Retrieval:毫秒級存取,具備封存等級的經濟效益;最低儲存期間為 90 天。
- Glacier Flexible Retrieval:擷取時間為數分鐘至數小時,提供大量/標準/加速選項;最低儲存期間為 90 天。
- Glacier Deep Archive:擷取時間為數小時至 12 小時;最低儲存期間為 180 天。 選擇可行的最冷儲存層時,需考量最低儲存期間費用、擷取費用以及所需的存取時間。
生命週期政策使用篩選器(字首、標籤)來自動化轉換和過期,以進行精細控制。關鍵操作包括:在閒置閾值後轉換至 IA/Glacier 層、對已啟用版本控制的儲存貯體進行非現行版本的轉換/過期、使刪除標記過期,以及中止未完成的分段上傳。當需要不可變性時,生命週期和物件標籤對於實施資料保留和可佐證的刪除至關重要,並可與 S3 物件鎖定 (S3 Object Lock)(監管/合規模式)並用。
當存取模式未知或多變時,Intelligent-Tiering 是理想選擇。它能維持效能(從經常/IA 層擷取無延遲),在存取模式改變時無需重新架構,並可選擇性地根據上次存取時間自動封存至深度層,為生命週期長但存取零星的資料集提供了敏捷性與成本控制的最佳組合。
S3 複寫提供持久、非同步的物件複本:
- 需求:來源和目標儲存貯體皆需啟用版本控制。複寫組態定義了目標儲存貯體/帳戶/區域、依字首/標籤篩選、中繼資料複寫(ACLs、標籤、S3 物件鎖定)、儲存類別,以及是否複寫刪除標記和現有物件。
- 同區域複寫 (Same-Region Replication, SRR):用於合規/資料主權、日誌彙總、跨帳戶的不可部分完成處理。
- 跨區域複寫 (Cross-Region Replication, CRR):用於災難復原 (DR)、降低延遲、全球分佈、合規。
- KMS 加密的物件:必須允許複寫角色使用來源 KMS 金鑰解密,並使用目標 KMS 金鑰加密。在複寫規則的 EncryptionConfiguration 中指定複本的 KMS 金鑰。對於跨帳戶複寫,需更新目標儲存貯體政策,以允許複寫角色寫入。
- 現有物件:使用 S3 批次複寫 (S3 Batch Replication) 來回填。
- 複寫時間控制 (Replication Time Control, RTC):為複寫完成時間增加 15 分鐘的 SLA,並提供複寫指標和通知以監控 SLA。適用於合規和嚴格 RPO 的場景。
- 擁有權與存取:當跨帳戶複寫時,啟用「儲存貯體擁有者偏好」或「物件擁有權 - 儲存貯體擁有者強制」以避免 ACL 的複雜性,並確保目標帳戶擁有複本。
AWS 上的資料庫:DynamoDB、RDS 與 Aurora
DynamoDB 容量模式與擴展:
- 隨需 (On-demand):無需容量規劃;按請求計價;適用於無法預測或具尖峰的工作負載,以及流量未知的新資料表。
- 佈建 (Provisioned):設定 RCU/WCU,並透過 DynamoDB Application Auto Scaling 針對目標使用率進行擴展;適用於穩定或可預測的流量以及成本控制。
- 自適應容量 (Adaptive capacity):自動將分割區的吞吐量重新分配給熱鍵 (hot keys),但極端的熱分割區 (hot partitions) 仍需進行負載平衡 (例如,寫入分片)。GSI 有獨立的容量;需謹慎建模以避免節流。
- 項目大小影響容量:每 1 KB 寫入需 1 WCU;每 4 KB 強烈一致性讀取或每 8 KB 最終一致性讀取需 1 RCU。
DynamoDB Streams 與 DAX:
- Streams 擷取項目層級的變動,保留期為 24 小時。可選擇檢視類型以包含 NEW/OLD 映像。常見模式:用於 CQRS/事件驅動寫入的 Lambda 觸發器、跨資料表同步以及稽核軌跡。排序是依據每個分割區索引鍵,且為「至少一次」交付。
- DAX 是一個託管式、API 相容的 DynamoDB 記憶體內快取,可大幅降低讀取延遲。它支援最終一致性讀取;強烈一致性讀取必須繞過 DAX。它提供項目變動的寫入穿透 (write-through) 與基於 TTL 的失效機制。使用多可用區叢集以獲得高可用性,並將 DAX 子網路放置在靠近用戶端的位置。
DynamoDB 全域資料表 (Global Tables):
- 使用 Streams 進行多區域、多主節點複寫,並根據系統時間戳採用「後寫者為王」(last-writer-wins) 的衝突解決機制。設計時應避免跨區域對相同屬性進行並行更新,或在應用程式端實作協調機制。
- TTL 屬性會像一般項目資料一樣複寫;由 TTL 驅動的刪除操作是依區域處理,不會作為明確的刪除操作進行複寫。
- 備份與 PITR 是區域範圍的;需在每個區域還原到新的資料表,並可選擇性地將其重新建立為新的全域資料表。
Amazon RDS 組態與備份:
- 參數群組 (Parameter groups) 定義引擎參數。靜態參數需要重新啟動;動態參數在支援的情況下會立即套用。對執行個體層級的引擎使用資料庫參數群組,對 Aurora 使用叢集參數群組。
- 選項群組 (Option groups) 啟用引擎原生功能 (例如,Oracle TDE/OEM、SQL Server 原生備份/還原、MySQL/MariaDB 外掛程式)。選項可能需要重新啟動引擎;請謹慎管理變更時間窗。
- 自動備份可在保留期間內 (最長 35 天) 啟用 PITR (時間點復原)。它們會將每日快照與交易日誌擷取到 S3;還原時會產生新的執行個體。
- 手動快照會保留直到被刪除為止,可跨區域複製,也可跨帳戶分享 (需尊重加密快照的 KMS 金鑰權限)。使用跨區域的快照複製作為災難復原 (DR) 的種子。
Amazon Aurora 的特性:
- 端點 (Endpoints):叢集 (寫入者) 端點永遠指向主節點以進行寫入。讀取者端點會在複本之間進行負載平衡。自訂端點可以選擇一部分讀取者,用於分層讀取集區或特殊工作負載。應始終將寫入指向寫入者端點,並將讀取指向讀取者/適當的自訂端點,以在容錯移轉期間將中斷降至最低。
- Serverless v2:無需重新啟動即可對 ACU 進行精細、即時的擴展。它在 Aurora 叢集內執行,支援混合無伺服器與佈建的執行個體,非常適合具尖峰的工作負載、開發/測試環境,或需求不均勻的多租戶應用程式。由於其連續擴展的特性,它比 v1 更能保持連線一致性。
- 複製 (Cloning):在一個區域內快速進行「寫入時複製」(copy-on-write) 的複本,用於開發/測試、資料科學或藍/綠部署的變更驗證。複本非常節省空間,僅在變更的頁面上產生差異。您可以進行鏈式複製;完成後刪除以回收儲存空間。
快取與共享檔案系統:ElastiCache 與 EFS
ElastiCache for Redis vs Memcached:
- Redis:提供進階資料結構、複寫、Pub/Sub、Lua、串流、地理空間、排序集合以及透過快照的持久性;支援多可用區自動容錯移轉與用於跨區域讀取複本的 Redis Global Datastore。當您需要豐富的資料類型、耐久性 (快照還原) 或具容錯移轉的高可用性時,請選擇 Redis。
- Memcached:簡單、多執行緒、無複寫或持久性;透過用戶端分片進行向外擴展;無狀態且易於水平擴展。當您需要暫時性的純快取、極高吞吐量,並希望在用戶端控制分片時,請選擇 Memcached。 Redis 叢集模式與複寫群組:
- 叢集模式停用:一個由主節點與複本組成的分片;透過讀取複本進行垂直擴展或有限的水平擴展。
- 叢集模式啟用:跨多個主節點分片進行雜湊槽分片,每個主節點都有複本,可實現近乎線性的向外擴展。複寫群組定義主/從拓撲與多可用區容錯移轉。備份是依複寫群組進行;測試容錯移轉以驗證 RTO。
用於共享 POSIX 檔案的 Amazon EFS:
- 掛載目標 (Mount targets):在 VPC 的每個可用區中建立一個,以確保可用區內的存取路徑與可用性。掛載目標上的安全群組控制 NFS 流量;若需要,可使用 EFS 掛載協助程式進行傳輸中 TLS (TLS-in-transit) 與 IAM 授權。
- 存取點 (Access points):為應用程式強制指定根目錄與 POSIX 身分 (UID/GID),實現多租戶隔離,並讓 ECS/EKS/EC2 無需協調作業系統使用者管理即可進行簡單、最低權限的掛載。
- 生命週期管理與儲存類別:EFS Standard 與 Standard-IA (區域性、多可用區) 以及 One Zone/One Zone-IA (單一可用區)。智慧分層 (Intelligent tiering) 會根據上次存取時間自動在標準與 IA 類別之間移動檔案;您也可以設定明確的轉換政策。對於可重建或非關鍵資料,選擇 One Zone 變體以節省成本。與 AWS Backup 結合使用,可實現集中式政策與跨帳戶/區域備份。
← 事件驅動架構與自動化 · 所有領域 · 網路與內容交付 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →