ラボの概要
ベンチマークはアプリケーションインフラストラクチャのパフォーマンスを計測し、パフォーマンスに影響を及ぼす要因を調査するプロセスです。
このラボでは、Amazon Elastic Block Store (Amazon EBS) のパフォーマンスに影響を及ぼす要因のいくつかを確認します。Amazon EBS ボリュームタイプ、アプリケーション I/O プロファイル、ホスト側論理ボリューム設定に焦点を当てます。
このラボでは、最初の Amazon EBS ボリュームパフォーマンスベースラインの期待値を、1 秒あたりの I/O オペレーション (IOPS) とスループット (MiB/秒) の観点から設定していきます。Flexible IO Tester (FIO) を使って、アプリケーションのワークロードをシミュレートします。 ディスクストライピング (RAID 0) として知られる、論理ボリュームパフォーマンスの最適化手法を使います。また、Amazon CloudWatch でストレージボリュームパフォーマンスをモニタリングする方法も学びます。
以下の図は、開始時のラボ環境のアーキテクチャを表しています。
Amazon Elastic Block Store (Amazon EBS) は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで使用するブロックレベルのストレージボリュームを提供します。EBS ボリュームは未フォーマットのローブロックデバイスのように機能します。このボリュームをデバイスとしてインスタンスにマウントできます。インスタンスに添付された EBS ボリュームは、インスタンスの運用状況から独立した永続性を保持するストレージボリュームとして使用できます。これらのボリューム上にファイルシステムを作成できます。また、これらのボリュームをブロックデバイス (ハードドライブなど) を使用する場合と同様に使用できます。インスタンスに添付されたボリュームの設定は動的に変更できます。
迅速にアクセスする必要があり、長期的永続性を必要とするデータに Amazon EBS を使用します。EBS ボリュームは、ファイルシステム、データベース、細かな更新または未フォーマットのローブロックレベルストレージに対するアクセスが必要とされるアプリケーションのプライマリストレージとして特に適しています。Amazon EBS は、ランダムな読み取り/書き込みを必要とするデータベーススタイルのアプリケーションと、長時間の連続読み取り/書き込みを実行する高スループットのアプリケーションの両方に適しています。
Amazon EBS の詳細については、「その他のリソース」セクションの「Amazon Elastic Block Store (Amazon EBS)」を参照してください。
Amazon CloudWatch を使うと、Amazon Web Services (AWS) のリソースと AWS で実行されるアプリケーションをリアルタイムでモニタリングできます。CloudWatch は、メトリクスの収集および追跡に使用できます。メトリクスとは、リソースやアプリケーションを測定できる変数です。
メトリクスをモニタリングし、しきい値を超えたときに通知を送信したり、モニタリングしているリソースを自動的に変更したりするアラームを作成できます。例えば、Amazon EC2 インスタンスの CPU 使用率とディスクの読み取り/書き込みをモニタリングし、そのデータを基にして、増加する負荷を処理するために追加のインスタンスを作成する必要があるかどうかを判断します。また、このデータを使用して十分利用されていないインスタンスを停止し、費用を節約できます。
CloudWatch により、リソースの使用率、アプリケーションのパフォーマンス、運用の状態を、システム全体にわたって視覚的に把握できます。
Amazon CloudWatch の詳細については、「その他のリソース」セクションの「Amazon CloudWatch とは」を参照してください。
取り上げるトピック
このラボを修了すると、次のことができるようになります。
- FIO (Flexible IO Tester) を使って、さまざまな Amazon EBS ボリュームのパフォーマンスをテストする。
- CloudWatch を使って、さまざまな EBS ボリュームタイプのパフォーマンスをモニタリングする。
- ディスクストライピングを使って、Amazon EBS ボリュームのパフォーマンスを最適化する。
- アプリケーションのワークロードに最も適したボリュームタイプを見極める。
技術知識の前提条件
このラボの前提条件は以下のとおりです。
- AWS マネジメントコンソールの使用経験。
- Amazon Elastic Block Store の基本的な知識がある。
- SSD や HDD などの異なるボリュームタイプを理解している。
- スループット、IOPS、IO サイズ、IO レイテンシー、帯域幅などのさまざまなストレージパフォーマンスパラメータを理解している。
アイコンキー
このラボでは、ガイドの特定部分への注意を促すため、さまざまなアイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- キーボードのアイコンは、コマンドを実行する必要があることを示します。
- クリップボードのアイコンは、提示されている例と比較して、コマンドや編集したファイルの出力を検証できることを示します。
- ノートのアイコンは、重要なヒント、コツ、ガイダンス、アドバイスを示します。
- 特記事項または重要な情報注意を読み忘れても機器やデータが破損することはないものの、特定のステップを再度行う必要が生じる場合があります。
- 丸印の中の "i" のアイコンは、詳細情報が記載されている場所を示します。
- チェックマーク付きの人のアイコンは、知識の確認と学習した内容のテストができることを示します。
- 少し立ち止まって、自分の環境での適用方法を検討したり、学習しているトピックに関して議論したりすることをお勧めします。
所要時間
このラボの所要時間は 60 分です。
シナリオ
あなたの会社では、新しいアプリケーションを Amazon EC2 にデプロイすると同時に、プライマリ高可用性ブロックストレージオプションとして Amazon EBS ボリュームを使うことを検討しています。タグ付けを使って、異なるボリュームを保存するデータのプライマリタイプを指定します。アプリケーションログファイルの保存に使われるボリュームには、"log" とタグ付けします。アプリケーションデータファイルに使われるボリュームには、"data" とタグ付けします。
あなたはこのインフラストラクチャがアプリケーションのスループットと IOPS 要件を満たしていることを確認することを求められています。 そのために、異なる EBS ボリュームのパフォーマンスベンチマークと IOPS 要件を設定する必要があります。FIO (Flexible IO Tester) を使って、このベンチマークと要件を設定します。