

# PERF03-BP01 ストレージ特性と要件を理解する
<a name="perf_right_storage_solution_understand_char"></a>

 ワークロードのストレージニーズを特定および文書化し、各ロケーションのストレージ特性を定義します。ストレージ特性の例としては、共有可能なアクセス、ファイルサイズ、成長率、スループット、IOPS、レイテンシー、アクセスパターン、およびデータ永続性などがあります。これらの特性を利用して、ブロック、ファイル、オブジェクト、インスタンスの各ストレージサービスが、ストレージのニーズに対して最も効率的なソリューションであるかどうかを評価します。 

 **期待される成果:** ストレージ要件ごとにストレージ要件を特定および文書化し、利用可能なストレージソリューションを評価します。主なストレージ特性に基づいて、チームは、選択したストレージサービスがワークロードのパフォーマンスのためにどのように役立つかを理解します。主な基準には、データアクセスパターン、成長率、スケーリングのニーズ、レイテンシー要件があります。 

 **一般的なアンチパターン:** 
+  すべてのワークロードに対して、Amazon Elastic Block Store (Amazon EBS) などの 1 つのストレージタイプのみを使用する。 
+  すべてのワークロードのストレージアクセスパフォーマンス要件が類似していることを前提としている。 

 **このベストプラクティスを活用するメリット:** 特定された必要な特性に基づいてストレージソリューションを選択することは、ワークロードのパフォーマンスを向上させ、コストを削減し、ワークロードを維持するための運用にかかる労力を軽減するのに役立ちます。ストレージサービスのソリューション、設定、およびロケーションは、ワークロードのパフォーマンスにメリットをもたらします。 

 **このベストプラクティスを活用しない場合のリスクレベル:** 高 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 ワークロードの最も重要なストレージパフォーマンスメトリクスを特定し、ベンチマークまたは負荷テストを使用して、データ駆動型アプローチの一環として改善を実施します。このデータを使用してストレージソリューションの制約が発生している場所を特定し、そのソリューションを改善する設定オプションを調べます。予想されるワークロードの成長率を判定し、この成長率に対応するストレージソリューションを選択します。AWS ストレージサービスを調査して、さまざまなワークロードのニーズに適したストレージソリューションを特定します。AWS でストレージソリューションをプロビジョニングすることにより、ストレージサービスをテストして、ワークロードのニーズに適しているかどうかを判断する機会が増えます。 


| AWS のサービス | 主な特徴 | 一般的なユースケース | 
| --- | --- | --- | 
| Amazon S3 |  99.999999999% の耐久性、拡大無制限、どこからでもアクセス可能、アクセスと回復力に基づいた複数のコストモデル  |  クラウドネイティブアプリケーションデータ、データのアーカイブおよびバックアップ、分析、データレイク、静的ウェブサイトホスティング、IoT データ   | 
| Amazon Glacier |  数秒から数時間のレイテンシー、拡大無制限、最安値のコスト、長期ストレージ  |  データアーカイブ、メディアアーカイブ、長期バックアップ保持  | 
| Amazon EBS | ストレージサイズには管理とモニタリングが必要、低レイテンシー、永続的ストレージ、99.8%～99.9% の耐久性、ほとんどのボリュームタイプは 1 つの EC2 インスタンスのみからアクセス可能 |  COTS アプリケーション、I/O 集約型アプリケーション、リレーショナルデータベースおよび NoSQL データベース、バックアップとリカバリ  | 
| EC2 インスタンスストア |  事前定義されたストレージサイズ、最も低いレイテンシー、永続化されない、1 つの EC2 インスタンスのみからアクセス可能  |  COTS アプリケーション、I/O インテンシブアプリケーション、インメモリデータストア  | 
| Amazon EFS |  99.999999999% の耐久性、拡大無制限、複数のコンピューティングサービスによるアクセス可能  |  モダナイズされたアプリケーションが複数のコンピューティングサービスでファイルを共有、コンテンツ管理システムのスケーリングのためのファイルストレージ  | 
| Amazon FSx |  4 つのファイルシステム (NetApp、OpenZFS、Windows File Server、および Amazon FSx for Lustre) をサポート、ファイルシステムごとに異なるストレージが利用可能、複数のコンピューティングサービスからのアクセス可能  |  クラウドネイティブなワークロード、プライベートクラウドでのバースト、特定のファイルシステムを必要とする移行ワークロード、VMC、ERP システム、オンプレミスファイルストレージおよびバックアップ   | 
| Snow ファミリー |  ポータブルデバイス、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/) または [ Access Points ](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 時間単位のアクセスまで、コストやセキュリティの異なる 3 つのアーカイブソリューションから選択できます。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 EC2 インスタンスにアタッチするという点で Amazon EBS と似ています。ただし、インスタンスストアは、バッファやキャッシュなどの一時的なコンテンツとして使用するのが理想的な、一時的なストレージに過ぎません。インスタンスストアをデタッチすることはできず、インスタンスがシャットダウンするとすべてのデータが失われます。インスタンスストアは、データの永続化を必要としない、高い I/O パフォーマンスと低レイテンシーのユースケースに使用することができます。 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) は、さまざまなタイプのコンピューティングソリューションからアクセスできる、マウント可能なファイルシステムです。Amazon EFS は、ストレージを自動的に拡大/縮小し、パフォーマンスに最適化されているため、一貫した低レイテンシーを実現します。EFS には [2 つのパフォーマンス設定モード](https://docs.aws.amazon.com/efs/latest/ug/performance.html)があります。汎用と最大 I/O です。汎用は、読み出しレイテンシがミリ秒未満、書き込みレイテンシは 1 桁ミリ秒です。最大 I/O の機能により、共有ファイルシステムを必要とする何千ものコンピューティングインスタンスをサポートできます。Amazon EFS は以下をサポートしています。 [2 つのスループットモード](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html): バーストとプロビジョンド急増するアクセスパターンを経験するワークロードには、バーストスループットモードが役立ちます。一方、常に高いパフォーマンスを発揮するワークロードには、プロビジョンドスループットモードが適しています。

   1. [Amazon FSx](https://aws.amazon.com/fsx/) は最新の AWS コンピューティングソリューションをベースに構築されており、一般的に使用されている 4 つのファイルシステム (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. 新しいストレージソリューションで実験を行い、最適な設定を確認したら、移行を計画し、パフォーマンスメトリクスを検証します。これは継続的なプロセスであり、主な特性の変更、または利用可能なサービスやオプションに変更があった場合に再評価される必要があります。

 **実装計画に必要な工数レベル: **ワークロードが 1 つのストレージソリューションから別のものに移行する場合は *中* 程度の工数が必要になる可能性があります。   

## リソース
<a name="resources"></a>

 **関連ドキュメント:** 
+  [Amazon EBS Volume Types](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 Performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre Performance](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Amazon FSx for NetApp ONTAP performance](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Amazon FSx for OpenZFS performance](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) 

 **関連動画:** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **関連サンプル:** 
+  [Amazon EFS CSI Driver](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI Driver](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS Utilities](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale](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)