CDP:Stampパターン

提供:AWS-CloudDesignPattern
移動: 案内, 検索
寄贈したアーキテクト

サーバーの複製

目次

解決したい課題

 仮想サーバーに必要なOSやアプリケーションの設定は、物理サーバーと同様の手間・時間・コストがかかる。

 仮想サーバーとは、ハードウエアに依存しないサーバー、言い換えるとソフトウエア的なサーバーだ。その実体は物理マシン上にエミュレートされた複数の仮想マシンである。物理マシンに大きな変更を加えることなく、仮想マシンがあたかも物理サーバーとして機能する。仮想マシンの作成は必要なときに即座に行え、いつでも削除できるので利便性が高い。

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

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

 クラウドを用いると、仮想サーバー上でOSやミドルウエア、アプリケーションの各種設定を実施した状態のマシンイメージを作成でき、そのイメージを用いて新しい仮想サーバーを起動できる。つまり、一度OSやミドルウエア、アプリケーションの設定を行ってしまえば、それらをコピーしておき、いつでも再利用可能ということだ。あたかも「Stamp(スタンプ)」を押すかのように仮想サーバーを複製することで、環境設定済みの仮想サーバーを大量に用意できる。

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

実装

 OSのブート領域が入っているEBSからAMIを作成すれば、AMIからEC2インスタンスを起動できるので、同一設定のEC2インスタンスを大量に用意できる。

(手順)

  • EC2インスタンスを起動し、必要なソフトウエアをインストールする。
  • 必要な設定を行い、サーバーとして動作する状態にする。
  • 動作確認後AMIを取得して登録する。
  • そのAMIを使って、必要なときに必要な数だけサーバーを作成する。

構造

6wNg0ISJczU5Pz1m-3FAF6.png

利点

  • 環境構築済みのAMIを使えば、それを基に立ち上げたEC2インスタンスへの設定作業は不要となる。
  • 全く同じOS、データ、設定のEC2インスタンスを、数百台でも立ち上げることが可能になる。
  • スクリプトを使用してEC2インスタンスを起動する場合でも、環境構築済みのAMIであれば設定作業は不要なので、スクリプトをシンプルにできる。
  • 作成したAMIは、自身で利用するだけでなく、必要に応じてAMIを特定のユーザーにシェアしたり、AMIを公開することもできる。

注意点

  • どの時点のスナップショットを取得するか、どのくらいのタイミングでAMIを更新するかはケースバイケースである。システムの要件に合わせて実施する必要がある。
  • 全く同じ設定のEC2(仮想サーバー)が複製されるので、仮想サーバーごとに設定を変える項目がある場合には工夫が必要である。
  • 一旦AMIを作ってしまうと、ベースOSにパッチが当たった場合やバージョンアップした場合、自動的にAMIに反映されない。ベースOSにパッチやバージョンアップ作業を行った後、AMIを再作成する必要がある。AMIを再作成するとAMI-IDが変わるため、スクリプトやAutoScalingでAMI-IDを指定している場合は注意が必要である。
  • Amazon EC2インスタンスの起動時にディスクのサイズを指定できるようになっているため、必要であればディスクサイズも変更できる。ただし、論理的なサイズ変更の設定を行う必要があることに注意する。

その他

 運用保守パターンの「Bootstrapパターン」でも同様のことが行える。BootstrapパターンはStampパターンよりも柔軟にOSやミドルウエアを構成できるので、トレードオフを考慮して2つのパターンを使い分ける必要がある。

個人用ツール
名前空間
変種
操作
CDPメニュー
ツールボックス