タダです.
以前の記事で AWS Config でリソース変更履歴を追跡しないよう除外できるようになったのをまとめていきましたが,当時 Terraform の対応がされていませんでした.が,Terraform Provider AWS のバージョン 5.5.0
で対応されました.この記事ではリソース変更記録の除外を Terraform でやってみたので備忘録として書きます.
AWS::EC2::NetworkInterface
を除外するコード
AWS Config の追跡対象から AWS::EC2::NetworkInterface
で除外するコードを書くと以下のようになります.
resource "aws_config_configuration_recorder" "default" { name = "default" role_arn = "arn:aws:iam::1234567891011:role/service-role/config-role-ap-northeast-1" recording_group { all_supported = false include_global_resource_types = false exclusion_by_resource_types { resource_types = ["AWS::EC2::NetworkInterface"] } recording_strategy { use_only = "EXCLUSION_BY_RESOURCE_TYPES" } } }
terraform plan の結果イメージ
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # aws_config_configuration_recorder.default will be updated in-place ~ resource "aws_config_configuration_recorder" "default" { id = "default" name = "default" # (1 unchanged attribute hidden) ~ recording_group { ~ all_supported = true -> false ~ include_global_resource_types = true -> false # (1 unchanged attribute hidden) ~ exclusion_by_resource_types { ~ resource_types = [ + "AWS::EC2::NetworkInterface", ] } ~ recording_strategy { ~ use_only = "ALL_SUPPORTED_RESOURCE_TYPES" -> "EXCLUSION_BY_RESOURCE_TYPES" } } } Plan: 0 to add, 1 to change, 0 to destroy.
関連情報
適用後の確認
以前の記事を書いた時は東京リージョンではリソースの除外ができなかったのですが,この記事時点では対応したため東京リージョンで terraform apply
後の状況確認しました.意図通り AWS::EC2::NetworkInterface
を除外できました.
まとめ
AWS Config の変更記録を除外するリソースの設定を Terraform で定義する場合の対応をまとめました.