AWS Cloudformationと手動変更


10

Cloudformationのオブジェクトを手動でいじったときに何が起こるかについてのドキュメントが見つからないようです。
オブジェクトにタグが付けられているのを確認しましたが、たとえば誰かがルーティングルールを削除した場合に回復しますか?

編集:ちょうど2つの矛盾する答えを得ました。これらのリソースの変更に関して同僚にどのような指示を与えているのかを判断する必要があるため、いくつかのドキュメント/証拠を要求したいと思います。

回答:


8

CloudFormationは、スタックのデプロイ、更新、または削除中にのみAWSリソースを作成または変更します。個々のスタックリソースの構成状態を継続的に「確認および適用」することはありません。ドリフトが確実に発生する可能性があります。

たとえば、CFスタックを展開し、後でそのセキュリティグループの1つで受信ルールを手動で変更した場合、明示的なCF更新を実行するか、スタックを再展開するまで、この変更は保持されます。

ここにいくつかの有用なスニペット/リンクがあります:

Q:AWS CloudFormationスタックの一部である個々のAWSリソースを管理できますか?

はい。AWS CloudFormationは邪魔になりません。インフラストラクチャのすべての要素を完全に制御できます。既存のすべてのAWSおよびサードパーティツールを引き続き使用して、AWSリソースを管理できます。

AWS CloudFormationスタックの更新:http : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html

スタックリソースへの更新を防止:http : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html

最後のリンクはCloudFormation更新アクション中のリソースの保護のみを参照しており、管理コンソールまたはAPIを介して個々のリソースに対して行われた臨時の変更を参照していないことに注意してください。


1
実際にそうした経験はありますか、それとも単なる憶測ですか?ドキュメントの引用は、Cloudformationのカスタマイズの変更/変更の回避については何も述べていません。
NITZ

4
はい、私は多くのCFスタックを展開しており、CFが設定を強制するのを見たことはありません。私は前に、CFスタックの一部であるいくつかのSGを誤って変更し、それを再展開しなければならなかったことで、自分の足を撃ちました。ドキュメントが足りないのは正解でした。これは、10分でわかる最高のものです。
アダム

2
「再デプロイ」とは、削除して再度デプロイするという意味ですか、それとも別の方法がありますか?
Dusan Bajic 2015年

4

Cloudformationがデプロイするリソースをいじる場合、リソースはリカバリ/復元/コンプライアンスに投入されません。完全性を強制する必要がある場合は、スタックを再デプロイする必要があります。


0

私の知る限り、CloudFormationは基本的に「世界の状態」を強制し、誤って構成されたリソースを修正します。

この例では、削除されたルーティングルールが再作成されます。ELBヘルスチェックを変更した場合、テンプレートで宣言された構成にリセットされます。


4
同意しません。一部のリソースではそうかもしれませんが、他のリソースではそうではありません。たとえば、誰かがCloudFromationで作成されたAuto Scalingグループをコンソールからいくつか削除しましたが、スタックが見つからないためスタックを更新できません。
Jeff Strunk 2015

@JeffStrunkこれは、リソースのプロパティに変更がなかった場合、CloudFormationがリソースを再作成しないためです。テンプレートではなく、実際のリソースを比較して、それらのリソースに対してトリガーする必要があるかどうかを判断します。したがって、リソースを削除してからCloudFormationテンプレートでそのリソースのプロパティを変更した場合、更新アクションがリソースを見つけられなかったときに、そのリソースが再作成される可能性があります。
JacksonHaenchen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.