CDP:Cloud DIパターン

From AWS-CloudDesignPattern
Jump to: navigation, search

変更が多い部分の外出し

Contents

解決したい課題

規模の大きなシステムでは、アクセス数などの増大と共に多数のサーバを増設する機会が多い。その場合、サーバ構築時のインストールや設定を一つ一つ手作業で行うのは非常に手間となり、必要な増設を期限内で終わらせることも難しくなってしまう。 サーバの構築の自動化を行う方法としてシステム管理ツールを利用する方法もあるが、サーバの維持や冗長化などでコストの問題もでてくる。

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

仮想サーバを起動した際に、そのサーバの目的により、自動でサーバの内部構成を構築したいケースがある。特にScale OutやScheduled AutoScalingを使って運用を自動化したい場合には、こういった処理を行う必要が出てくる。 こういったシチュエーションではBootstrapパターンが活躍するが、変更が多く外だししておきたい情報(DB接続先IPアドレスなど)やサーバ固有の情報(サーバ名や認識番号など)をBootstrapパターンで利用する際に、このCloud DIパターンを利用する事でより柔軟にサーバ初期化を行う事ができる。

実装

AWSにはEC2と呼ばれる仮想サーバが用意されており、EC2起動時にユーザデータを設定したりタグをつける機能がある。 この機能を利用して、EC2起動時にタグ情報を読み込み、それに応じた設定を行う。

  • EC2に対して、そのEC2固有の情報をタグとしてセットする
  • EC2の起動時に、タグを取得するアプリケーションが起動するよう設定する
  • アプリケーション内で、タグ情報に従ってEC2の初期化を行う(Bootstrapパターン)

構造

6wNg0ISJczU5Pz1m-59BD7.png

利点

  • Stampパターン・Bootstrapパターンを使った汎用的なベースイメージに対して固有の設定を行える
  • タグ情報でパラメータ設定を行うため、マネジメントコンソールで容易に設定したり確認したりできる
  • 自動的に設定を行えるため、運用時のミスを低減できる

注意点

  • ユーザ情報やタグは、付与できる文字数が決まっている場合があるため、その場合はS3のURLやネットワークのファイルパスなど、渡したい情報へのポインタ情報をEC2に付与する。


寄贈したアーキテクト

Ninja of Three

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox