2017-12-20 13 views
0

Terraform(またはクラウドフォーメーション)を使用してEC2を起動すると、user_data/remote-execにいくつかのスクリプトを入れてEC2を設定できます。あるいは、Aniable/Chefなどを使ってEC2を設定することができます.user2data/remote-execでEC2を設定することの違いは何ですか?いつ前者を使うべきか、後者をいつ使うべきか(私はAnsible/Chefが偶然であることを知っています)?user_dataまたはAnsibleを使用してEC2を設定する必要があります

私の場合、EC2はもともと手動で起動されていて、多くのLinuxコマンドを使用して手動で設定されています。コマンドは私によって構成されていません。今私は、terraformを使って構造全体を自動化し、EC2を設定する人です。 user_data/remote-execを使用してEC2を設定するのは簡単です。私はちょっとした変更を加えて、いくつかのスクリプトに含まれている既存のすべてのlinuxコマンドを置くだけです。私のスクリプトを使った設定結果がうまくいかない場合は、少なくとも私のスクリプトと元のlinuxコマンドを比較していくつかのコマンドが欠落しているかどうかをすぐに知ることができます。しかし、私が不安な/シェフを使用する場合、私は別の言語を使用してすべての手順を書き直す必要があります。また、設定が期待どおりでない場合は、適切な/ chefコマンドとLinuxコマンドの構文が全く異なるため、どのステップが正しくないかわかりにくいです。

私の質問では、私は設定のために/ chefやuser_data/remote-execを使用するべきですか?

答えて

1

ユーザデータは、システムの初期設定に適しています。長期間のメンテナンスが必要な場合は、Ansible/Chef/Salt/Puppetのような構成管理ソフトウェアが最適です。

Packerは、変更不可能なインフラストラクチャに使用できます。つまり、作成後に変更されません。すべてのスクリプトとインストールをシステム上で実行することができます。これにより、起動する準備が整います。これは、ユーザーデータの実行を待つ必要がないため、高速です。

あなたにもいくつかの質問をする必要がありますが、どれくらいの頻度でこれらのパッチを適用しますか?既存のものを更新したり、新しいものと置き換えたりするつもりですか?一般的に、サーバーはすべて新しいサーバーに置き換えられ、徐々に新しいサーバーにトラフィックが移動します。

Blue/Green deploymentsは、サーバーをすべて新しいサーバーに置き換えます。

Some more things to consider with your Infrastructure as code

+0

こんにちは、strongjzです。私はシェフ/アシスタントなどを使う必要があると思う。後でアップデートする必要があるから。どうも。 – user389955

+0

Ansible/chefを使用することの懸念は、私がコードとしてインフラストラクチャを担当する開発者であることです。私は手動の設定コマンドを設計しませんでした。しかし、私はそれらをコードに書き直すためにコマンドに慣れていなければならないようです。それはいつも真実ですか? – user389955

+0

私はフローが何であるかを理解し、それに応じて実装しようとします。それが不可能な場合は、それぞれのコマンドモジュールを常に使用できますhttp://docs.ansible.com/ansible/latest/command_module.html http:// docs .ansible.com/ansible/latest/win_command_module.html – strongjz

関連する問題