Bootstrapパターン

起動設定の自動取得

目次

 [非表示

解決したい課題

マシンイメージからサーバーを作成する方法、すなわちStampパターンの適用に際し、どの程度の頻度でマシンイメージを取得するかは運用効率に対する課題として、しばしば議論となる。 Stampパターンでは、ミドルウエアからアプリケーションまですべてが設定済みで、立ち上げるだけでそのまま動くマシンイメージを作成することもできる。 この場合、仮想サーバーの起動は非常に早いが、ミドルウエアの一つをバージョンアップしなければならなくなった場合や、アプリケーションの設定に変更が入った場合、マシンイメージを再度作成し直す必要が出てきてしまう。

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

クラウドではマシンイメージの作成が容易にできるだけでなく、起動時にパラメータを設定できるものがある。この機能を利用してサーバー構成に必要なパラメータを渡すことで、サーバーを起動する際に必要な設定をサーバー自ら取得し、 インストール、起動、設定までを実施するマシンイメージを作成することが可能となる。これにより、個々のパッケージのバージョン変更などの際にマシンイメージを作り直す必要がなくなる。

実装

AMI(マシンイメージ)を工夫して作成する。 具体的には、EC2(仮想サーバー)の初期化に必要なさまざまなパラメータファイルをS3(インターネットストレージ)に配置し、EC2起動時にそのパラメータファイルを読み込み、動的に自分自身を構築するようにしておく。 パラメータファイルはGitなどのリポジトリに置くことも可能である。 なお、Amazon Linuxにはcloud-initという初期化機能があり、ユーザーデータ領域に初期化スクリプトを書いておくことで、自動的に実行することができる。

構造

利点

注意点

サンプルプログラム

※初回起動に20秒程度の待ち時間が発生します。

関連ブログ

ADPメニュー