web-dev-qa-db-ja.com

デフォルトのエフェメラルボリュームの代わりに、2番目のebsボリュームがアタッチされてマウントされた新しいec2インスタンスを作成するChefコマンド?

現在、このコマンドを使用して、chefで新しいec2インスタンスを作成しています。
knife ec2 server create --node-name = prod-Apache-1 --availability-zone us-east-1c --image AMI-3d4ff254 --distro ubuntu12.04-gems --groups "default" --ssh-key foo --identity-file〜/.ssh/id_rsa --ssh-user ubuntu --flavor m1.small

このコマンドの後、さらにchefコマンドを実行して、サーバーのプロビジョニングを完了します。

最初にインスタンスをセットアップするときに、100GBのボリュームを作成して/ mntにマウントし、代わりにエフェメラルストレージを/ tmpまたは/ mnt-ephemeralにマウントすることが可能かどうか疑問に思いました。

そうでない場合は、シェフでさらにどのようなコマンドを実行することをお勧めしますか?私はawsコンソールを介してこれを行う方法を知っており、おそらくec2コマンドラインツールを介してこれを行う方法を理解できますが、私はシェフに知っていて少し圧倒されました。

2
runamok

Githubのknife-ec2の-​​ ソースコード を見ると、knife ec2 server createは次のオプションをサポートしているように見えます。

  • --ebs-sizeは、EBSからの起動インスタンスの起動ボリュームのサイズを設定します
  • --ephemeralは、エフェメラルボリュームをマッピングする必要があるデバイスの場所を設定します

これらは役立つかもしれません。これらの設定は、ボリュームを新しいインスタンスのデバイスに接続するだけだと思います。デバイスを適切なマウントポイントにマウントするには、/etc/fstab(おそらくChefで実行できます)を管理する必要がある場合があります。

追加のEBSボリュームも作成してマウントする必要がある場合は、おそらく、knife-ec2プラグインのローカルコピーにパッチを適用して、新しいインスタンスが作成される前にblock-device-mappingにエントリを追加することができます。発売。または、起動後にボリュームを作成してアタッチすることもできます。おそらく OpsCode AWS Cookbook を使用して、Chefでこのプロセスを管理します。

(記録として、私はベテランのPuppetユーザーですが、私自身はChefに不慣れで、まだこれらのことを試していません。頑張ってください!;)

1
Mechanical Fish