CDP:Stampパターン

From AWS-CloudDesignPattern
Jump to: navigation, search
Architect

サーバの複製

Contents

解決したい課題

ハードウェアに依存しないサーバ、言い換えるとソフトウェア的なサーバ、すなわち「仮想サーバ」が広く使われるようになってきた。

「仮想サーバ」では、「物理的なマシン」上にエミュレートされた複数の「仮想マシン」がサーバとして機能する。そのメリットは、既存の「物理的なマシン」に大きな変更を加えることなく、仮想マシンがあたかも物理的サーバとして機能することである。仮想マシンの作成は必要な瞬時に行え、いつでも削除することができるため、利便性が高い。

このことから「物理サーバ」よりも「仮想サーバ」を使う機会が増えてきているが、「仮想サーバ」を使用するための設定(例えばOSの設定や、アプリケーションのインストールや設定)は、依然として「物理サーバ」と同様に必要であり、手間、時間、コストがかかる。

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

クラウドを用いると、仮想サーバ上でOSやミドルウェア、各種設定などを一旦行った状態で、その状態のマシンイメージ(サーバーのある時点の状態を氷漬けしたようなもの)を作成することができる。また、そのイメージを用いて、新しい仮想サーバを起動できる。つまり、一度OSやアプリケーションの設定を行ってしまえば、それをコピーしておき、いつでも再利用できる。

従って、あたかもスタンプ(Stamp)を押すかのように仮想サーバを複製することで、環境設定済みの仮想サーバを大量に用意できる。

従来では、環境設定済みの物理的なディスクを別の物理ディスクにコピーしたり、特別なバックアップソフトウェアを使って媒体からディスクへのコピーを行っていたが、いずれも手間と費用がかかる作業で、瞬時にしかも大量に行うのは困難であったが、クラウド上ではリソースを論理的に扱えるため、こういった作業を容易に行うことができる。

実装

OSのブート領域が入っているEBSから、AMIを作成することができる。AMIをEC2インスタンス起動時のベースイメージとして利用出来るため、同一設定のEC2インスタンスを大量に用意することができる。

  • EC2インスタンスを起動し、必要なソフトウェアをインストールする
  • 必要な設定を行い、完全にサーバとして動作する状態にする
  • 動作確認後、AMIを取得するし、登録する
  • そのAMIを元に、必要時に必要な数だけ、サーバを複製する

構造

6wNg0ISJczU5Pz1m-3FAF6.png

利点

  • まったく同じOS、データ、設定を持ったEC2インスタンスを、数百台でも立ち上げることが可能になる。すでに環境構築済みのAMIを元にすることで、立ち上げたEC2に対するインストール作業などが不要となる。
  • APIを使用してEC2を起動するような場合でも、AMIさえ指定すればあとの作業は不要となるため、EC2を立ち上げるためのスクリプトをシンプルにすることができる。

注意点

  • どの時点でEC2のスナップショットを取得するか、どれくらいのタイミングでAMIを更新するかはケースバイケースであるが、システムの要件に合わせる必要がある。
  • このパターンを利用すると、全く同一の設定で仮想サーバが複製されるため、サーバ毎に変更すべき設定項目がある場合には工夫が必要である。
  • 一旦AMIを作ってしまうと、ベースOSにパッチが当たった場合やバージョンアップした場合にも、すべて自分でパッチやバージョンアップ作業を行う必要がある。

その他

後述の運用保守のパターンで、このパターンと同様の事が行える”Bootstrapパターン”を説明している。Stampパターンよりも柔軟にOS・ミドルウェアの構成が行えるため、トレードオフを考慮して、StampパターンとBootstrapパターンを使い分ける必要がある。

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox