CDP:Ondemand Diskパターン

From AWS-CloudDesignPattern
Jump to: navigation, search
Architect

動的なディスク容量の増減

Contents

解決したい課題

システムで利用するディスク容量を事前に見積もるのは難しい。よって見積もりを行う際には、多めの安全係数を掛けて、数年後の想定されるディスク容量を準備するケースが多い。そのため不必要なディスク容量に費用を支払う必要がある。

またディスクのI/O性能を向上させたい場合、ディスクストライピングを行う事が有効となる。しかしストライピングをテストする場合も、ニーズにマッチしたディスク数を見積もることが難しく、またテストを行うにも、ハードウェアの初期投資が必要となる。

クラウドでの解決/パターンの説明

 クラウドでは、仮想ディスクを、いつでも好きなタイミングで、ディスク容量を確保することができる。これを利用して、実際にシステムを稼働させたあとに、利用量をみながらオンデマンドにディスク容量を確保する。

このパターンを使用すると、年々容量単価が下がるディスクを必要な時に確保できるため、費用的なメリットが大きい。また急にデータ容量が必要になった場合や、一時的に大容量のディスクが必要になった場合も、すぐに仮想ディスクを調達して、すぐに破棄できるというメリットも大きい。

実装

AWSクラウドでは、仮想ディスクであるEBSは、いつでも好きなタイミングで、ディスク容量を確保することができる。

  • EBSを使用する際、はじめは必要最低限のボリュームを確保しておく
  • より大きなディスク容量が必要になった場合は、EBSスナップショットを取り、そのスナップショットを元に新しいEBSを作成する。EBS作成の際、元のボリュームより大きなボリュームサイズを指定して作成する
  • 元のEBSの代わりに新しいEBSをEC2インスタンスにアタッチする
  • アタッチ後、resize2fsなど、使用しているファイルシステムのリサイズコマンドで新しい容量まで領域を拡張する
  • ストライピングを行う際は、複数のEBSをアタッチした後、mdadmやOSの機能を使用して、ソフトウェアRAIDでディスク構成を行う

構造

6wNg0ISJczU5Pz1m-43C72.png

利点

  • 後からボリュームサイズを変更できるため、見積もり時の負担を軽減できる
  • 必要な時にディスク容量を確保することで、費用面のメリットがある
  • ストライピングを行う事で、I/O性能を向上する事もできる

注意点

  • EBSは、S3とは異なり、確保したディスク容量に対して課金が発生する。例えば100Gbyteの領域を確保して実際には5Gbyteしか使用していない場合でも、100Gbyteに対して課金が発生する
  • 1つのEBSは、執筆時点ではディスク容量の上限が1Tbyteである。このため、単一のパーティションで1Tbyte以上の容量が必要な場合は、複数のEBSをアタッチし、mdadmなどのソフトウェアで単一のボリュームとしてまとめて、使用する

その他

EBSはネットワーク経由でアクセスするディスクボリュームであるため、よりサイズの大きいEC2インスタンスを利用する方がI/O性能が高くなる。特にストライピングを行う場合は、EC2インスタンスサイズに注意する。

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox