web-dev-qa-db-ja.com

ChefでAmazonRDSインスタンスを管理できますか?塩?傀儡? Ansible?

一見すると、これらを機能させるには、ターゲットノードにいくつかのソフトウェアデーモンをインストールできる必要があるようです。それができない場合(Amazon RDSインスタンスなど)、どのような選択肢がありますか?

同様に、AnsibleはSSHをベースにしているようです。これを使用してRDSを構成できますか?


フィードバックをありがとう-議論は私をここでより的を絞った質問に導きました: https://serverfault.com/questions/588237/whats-a-good-cm-tool-for-managing-a- cloud-cluster-composed-diverse-resources-ac

1
user14645

Ansibleを使用してRDSを管理できます rdsrds_param_group および rds_subnet_group モジュール。リモート管理エージェントのインストールに依存せず(ew!)、ノードに直接SSH接続しません。これらの3つのモジュールは、公式に提供されたAPI呼び出しを使用してAWSと通信します(botoライブラリの助けを借りて)。

確かに、MySQLを実行している独自のEC2インスタンスで実行できるすべてを実行できない可能性がありますが、これらのモジュールはある程度の管理を提供します。

7
Mxx

Nathanからの良い回答とコメントを拡張して、AmazonRDSのようなSaaSソリューションで構成管理ツールが(あるとしても)うまく機能しない理由について、さらに説明することができます。

RDSは本質的に「ホストされたMySQL」です。基盤となるオペレーティングシステムにアクセスできないため、パッケージをインストールしたり、構成ファイルやテールログファイルを調べたりすることはできません。構成の観点からのRDSとの唯一のインターフェースは、Elasticacheが「ホストされたMemcache」であり、ELBが「ホストされたHAproxy」と見なすことができるのとまったく同じ方法で、AmazonのWebコンソールまたはAPIを介したものです-それらはSaaS(Software as a Service)オファリング。

その結果、PuppetやChefなどの従来の構成管理ツールは完全なOSレベルのアクセスが必要なため、機能しません。

ただし、役立つ可能性のあるツールは、Amazon独自のCloudFormationユーティリティです。それ自体は「構成管理」ではありませんが、代わりに使用できます。詳細については、 Amazonのドキュメント を確認してください。

本当にAmazonでPuppetまたは別の構成管理ツールを使用する場合は、EC2インスタンス上で独自のMySQLインストールを実行する必要があります。ただし、これには欠点と利点があります。管理が簡単であるという犠牲を払って制御できるため、RDSが提供するものとまったく同じです。Amazonがバックアップ、メンテナンス、高可用性などを処理し、MySQLエンドポイントと通信するだけです。

Ceejayozが彼のコメントで指摘したように、上記は、構成管理ツールが無価値であると言っているわけではありません私は個人的に大規模なPuppetファンです-環境に適したツールを選択するだけです。 Puppetは、OSレベルの管理を行うのが得意です。 CloudFormationは、Amazonサービスの管理に優れています。両方のテクノロジーを組み合わせると、インフラストラクチャ全体を管理できる包括的なツールセットが得られます。

6
Craig Watson

RDSにはオプションがありません。すべての管理はあなたのために処理されます。データベースに対してより強力な機能が必要な場合は、EC2を使用して独自にインストールしてください。

3
Nathan C

Saltを使用すると、boto_rdsモジュールを使用できますが、他の人が指摘しているように、自己管理型MySQLデータベースに対して行うのと同じレベルの制御は期待しないでください。 https:// docs.saltstack.com/en/latest/ref/modules/all/salt.modules.boto_rds.html

1
mastazi