

# PERF03-BP01 了解儲存特性和要求
<a name="perf_right_storage_solution_understand_char"></a>

 識別並記載工作負載儲存需求，並定義每個位置的儲存特性。儲存特性的範例包括：可共用的存取、檔案大小、成長率、輸送量、IOPS、延遲、存取模式，以及資料的持久性。請使用這些特性，評估區塊、檔案、物件或執行個體儲存服務對您的儲存需求而言是否為最有效的解決方案。 

 **預期成果：** 識別和記載儲存要求，並根據各項儲存要求評估可用的儲存解決方案。根據重要儲存特性，團隊將了解選取的儲存服務對於您的工作負載效能有何助益。重要準則包括資料存取模式、成長率、擴展需求，以及延遲要求。 

 **常見的反模式：** 
+  所有工作負載只能使用一種儲存類型，例如 Amazon Elastic Block Store (Amazon EBS)。 
+  您假設所有工作負載都有類似的儲存存取效能需求。 

 **建立此最佳實務的優勢：** 根據已識別和所需的特性選取儲存解決方案，可協助您改善工作負載效能、降低成本，以及減少維護工作負載所需的營運工作量。您的工作負載效能將因儲存服務的解決方案、組態和位置而提高。 

 **未建立此最佳實務時的曝險等級：** 高 

## 實作指引
<a name="implementation-guidance"></a>

 確定對工作負載最重要的儲存效能指標，並使用基準化分析或負載測試將改善做為資料驅動方法的一部分實作。使用這些資料來確定您的儲存解決方案受限的地方，並檢查可以改善此解決方案的組態選項。判斷工作負載的預期增長率，並選擇符合這些增長率的儲存解決方案。研究 AWS 儲存產品，以判斷適用於各種工作負載需求的正確儲存解決方案。在 AWS 中佈建儲存解決方案可增加測試儲存產品的機會，以判斷產品是否適合您的工作負載需求。 


| AWS 服務 | 重要特性 | 常用案例 | 
| --- | --- | --- | 
| Amazon S3 |  99.999999999% 的耐久性、不受限的增長、可從任一處存取、基於存取和彈性有數種成本模型  |  雲端原生應用程式資料、資料封存、備份、分析、資料湖、靜態網站託管、IoT 資料   | 
| Amazon Glacier |  數秒到數小時的延遲、不受限的增長、最低的成本、長期儲存  |  資料封存、媒體封存、長期備份保留。  | 
| Amazon EBS | 儲存大小需要管理和監控、低延遲、持久性儲存、99.8% 到 99.9% 的耐久性，大部分的磁碟區類型只能從一個 EC2 執行個體來存取。 |  COTS 應用程式、I/O 密集型應用程式、關聯式和 NoSQL 資料庫、備份與復原  | 
| EC2 執行個體存放區 |  預先決定的儲存大小、最低的延遲、不保存、只能從一個 EC2 執行個體存取  |  COTS 應用程式、I/O 密集型應用程式、記憶體內資料存放區  | 
| Amazon EFS |  99.999999999% 的耐久性、不受限的增長、可供多個運算服務存取  |  在多個運算服務間共用檔案的現代化應用程式、用來擴展內容管理系統的檔案儲存  | 
| Amazon FSx |  支援四種檔案系統 (NetApp、OpenZFS、Windows File Server 和 Amazon FSx for Lustre)，每個檔案系統適用的儲存體各不相同，可供多個運算服務存取  |  雲端原生工作負載、私有雲端爆量、需要特定檔案系統的已遷移工作負載、VMC、ERP 系統、內部部署檔案儲存與備份   | 
| Snow Family |  可攜式裝置、256 位元加密、NFS 端點、內建運算、TB 級的儲存容量  |  將資料遷移至雲端儲存，並且在極端內部部署的條件、災難復原、遠端資料收集中運算  | 
| AWS Storage Gateway |  對採用雲端技術的儲存體、全受管的內部部署快取提供低延遲的內部部署存取   |  將內部部署資料遷移至雲端、從內部部署來源填入雲端資料湖、現代化檔案共用。  | 

 **實作步驟：** 

1. 使用基準化分析或負載測試收集您儲存需求的重要特性。重要特性包括： 

   1. 可共用 (哪些元件會存取此儲存體) 

   1. 成長率 

   1. 輸送量 

   1. 延遲 

   1. I/O 大小 

   1. 耐久性 

   1. 存取模式 (讀取/寫入、頻率、激增或一致) 

1. 識別哪種類型的儲存解決方案支援您的儲存特性。

   1. [Amazon S3](https://aws.amazon.com/s3/) 是一項物件儲存服務，具有不受限的可擴展性、高可用性，以及多個可存取性選項。對 Amazon S3 輸入和存取物件時，可以使用服務 (例如 [Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) 或 [存取點](https://aws.amazon.com/s3/features/access-points/) ) 來支援您的位置、安全需求和存取模式。使用 [Amazon S3 效能指導方針](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) 協助您優化 Amazon S3 組態，以符合您的工作負載效能需求。

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) 是針對資料封存而建置的 Amazon S3 儲存類別。您有三種封存解決方案可供選擇，存取速度從數毫秒到 5-12 小時都有，且有不同的成本與安全選項。Amazon Glacier 可讓您實作支援個人商業需要和資料特性的資料生命週期，以利符合效能要求。 

   1. [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) 是專為 Amazon Elastic Compute Cloud (Amazon EC2) 而設計的高效能區塊儲存服務。您可以選擇 [SSD 或 HDD 型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) 解決方案，兩者各有不同特性，分別側重於 [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) 或 [輸送量](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html)。EBS 磁碟區非常適用於高效能工作負載，是只能存取連結階段系統的檔案系統、資料庫或應用程式的主要儲存。

   1. [Amazon EC2 執行個體存放區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) 類似於 Amazon EBS，同樣也連結至一個 Amazon EC2 執行個體，但執行個體存放區只是暫時性的儲存體，理想情況下應作為緩衝區、快取或其他暫時性內容使用。您無法將執行個體存放區中斷連結，且若執行個體關閉，所有資料都將遺失。執行個體存放區可用於資料無需持續保存的高 I/O 效能與低延遲使用案例。 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) 是一個可掛載的檔案系統，可供多種類型的運算解決方案存取。Amazon EFS 會自動增長及縮減儲存體，解已進行效能優化而提供一致的低延遲。EFS 有 [兩種效能組態模式](https://docs.aws.amazon.com/efs/latest/ug/performance.html)：一般用途和最大 I/O。「一般用途」的讀取延遲低於 1 毫秒，寫入延遲則低於 10 毫秒。「最大 I/O」功能可支援數千個需要共用檔案系統的運算執行個體。Amazon EFS 支援 [兩種輸送量模式](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html)：高載和佈建。經歷激增存取模式的工作負載將可獲益於高載輸送量模式，而持續偏高的工作負載則可在佈建輸送量模式下保有高效能。

   1. [Amazon FSx](https://aws.amazon.com/fsx/) 建置於最新的 AWS 運算解決方案之上，用以支援四個常用的檔案系統：NetApp ONTAP、OpenZFS、Windows File Server 和 Lustre。Amazon FSx [延遲、輸送量和 IOPS](https://aws.amazon.com/fsx/when-to-choose-fsx/) 會隨著檔案系統而不同，當您為工作負載需求選取適當的檔案系統時，應予以考量。

   1. [AWS Snow Family](https://aws.amazon.com/snow/) 是一種儲存和運算裝置，支援以雲端為目標的線上和離線資料遷移，以及內部部署的資料儲存與運算。AWS Snow 裝置支援大量收集內部部署資料、處理該資料，以及將該資料移至雲端。在談到檔案數量、檔案大小和壓縮時， [有幾項列載於文件中的效能最佳實務](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) 可供參考。

   1. [AWS Storage Gateway](https://aws.amazon.com/storagegateway/) 提供內部部署應用程式對雲端架構儲存體的存取。AWS Storage Gateway 支援多個雲端儲存服務，包括 Amazon S3、Amazon Glacier、Amazon FSx 和 Amazon EBS。此外也支援多種通訊協定，例如 iSCSI、SMB 和 NFS。它會藉由在內部快取經常存取的資料來提供低延遲的效能，並且只會將有所變更和已壓縮的資料傳送至 AWS。

1. 在您體驗過新的儲存解決方案並且找出最佳組態之後，請規劃您的遷移並驗證您的效能指標。這是連續性的程序，且在重要特性變更時，或是可用的服務或選項變更時，應重新評估。

 **實作計劃的工作量： **如果工作負載從某個儲存解決方案移至另一個解決方案，可能會有 *中等* 工作量涉及重構應用程式。   

## 資源
<a name="resources"></a>

 **相關文件：** 
+  [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 儲存](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS：Amazon EFS 效能](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre 效能](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server 效能](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Amazon FSx for NetApp ONTAP 效能](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Amazon FSx for OpenZFS 效能](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier：Amazon Glacier 文件](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3：請求率和效能考量](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [AWS 的雲端儲存](https://aws.amazon.com/products/storage/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [EBS I/O 特性](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **相關影片：** 
+  [深入探討 Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [使用 Amazon S3 優化儲存效能 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **相關範例：** 
+  [Amazon EFS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS 公用程式](https://github.com/aws/efs-utils) 
+  [Amazon EBS 自動擴展](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 範例](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+ [Amazon FSx for Lustre Container Storage Interface (CSI) 驅動程式](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)