OpsWorksで起動されるインスタンスは複数のレイヤーに属することができる

OpsWorksで作成したインスタンスは複数のレイヤーに属することができます。

例えばStatic Web Serverレイヤーに属するインスタンスを作成した場合、それにMySQLレイヤーも属させることで、1インスタンスで2つのレイヤーの役割をこなすことができます。

ただし、その設定が行えるのはインスタンスがstopの状態にあるときです。

具体的には以下のようなインスタンスのEdit画面で、レイヤーを追加してあげるだけです。
f:id:kenjifunasaki:20131016164816p:plain
これで追加したレイヤーのChefレシピも動作するということですね。

これでより多くの構成をカバーできますね。

ただ、レイヤー間の互換性があるため、非互換のものは同居させることは出来ないようです。以下のように表示され、非互換のものは選択できません。
f:id:kenjifunasaki:20131016165654p:plain

以下はその例です。

  • PHP App Serverレイヤーが互換性のあるレイヤー:custom, db-master, memcached, monitoring-master, and rails-app.
  • MySQLレイヤーが互換性のあるレイヤー:custom, lb, memcached, monitoring-master nodejs-app, php-app, rails-app, and web.
  • HAProxyレイヤーが互換性のあるレイヤー:custom, db-master, and memcached

詳細はこちら。
http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html