CloudFormation ドリフト検出の検出パターンを調べてみた
CloudFormation ドリフト検出の検出パターンを調べてみた:
スタック構成後に行われた手動変更を検出する CloudFormation ドリフト検出が発表されました。
実際どういう変更を検出するのか、EC2 リソースに対していくつかパターンを試してみました。
2018年12月時点です。
新 – CloudFormation ドリフト検出 | Amazon Web Services ブログ
期待通り設定値が同値ではない(NOT_EQUAL)となります。
未設定のデフォルト値を変更しても検出されません。
設定済みのリスト値に項目を追加すると検出(ADD)となります。
設定済みのリスト値の項目を削除すると検出(REMOVE)となります。
明示的なデフォルト値の AWS::NoValue の変更は検出するかと思っていましたが、検出しませんでした。
インスタンスの状態は検出対象外です。
試した感じだとデフォルト値の変更は検知しないので、検出したい項目は明示的に値を入れるべきという感じです。
スタック構成後に行われた手動変更を検出する CloudFormation ドリフト検出が発表されました。
実際どういう変更を検出するのか、EC2 リソースに対していくつかパターンを試してみました。
2018年12月時点です。
新 – CloudFormation ドリフト検出 | Amazon Web Services ブログ
パターン検証用 CFn テンプレートサンプル
AWSTemplateFormatVersion: 2010-09-09 Resources: SecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: SampleSecurityGroup SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: 0.0.0.0/0 Instance: Type: AWS::EC2::Instance Properties: ImageId: ami-0a2de1c3b415889d2 InstanceType: t2.micro SecurityGroups: - !Ref SecurityGroup KeyName: Keypair Monitoring: !Ref AWS::NoValue Tags: - Key: Sample Value: test tag sample
1. 設定した値の変更は検出するか?
A. 検出する (NOT_EQUAL)
期待通り設定値が同値ではない(NOT_EQUAL)となります。t2.micro => t2.nano 変更 = 検出(NOT_EQUAL)
2. 設定していない値の変更は検出するか?
A. 検出しない
未設定のデフォルト値を変更しても検出されません。Monitoring 未設定 => 有効化 = 検知せず
Tags: に key: Name 新規追加 = 検知せず
3. 設定したリストへの値の追加は検出するか?
A. 検出する (ADD)
設定済みのリスト値に項目を追加すると検出(ADD)となります。SecurityGroupIngress に http:80 追加 = 検出(ADD)
4. 設定したリストへの値の削除は検出するか?
A. 検出する (REMOVE)
設定済みのリスト値の項目を削除すると検出(REMOVE)となります。Tags: Sample 削除 = 検出(REMOVE)
5. AWS::NoValue 値の変更は検出するか?
A. 検出しない
明示的なデフォルト値の AWS::NoValue の変更は検出するかと思っていましたが、検出しませんでした。Monitoring: !Ref AWS::NoValue => true 変更 = 検知せず
コメント
コメントを投稿