[アップデート] AWS Config の記録対象リソースタイプに AWS Config 自体の設定を記録する ConfigurationRecorder が追加されました

2022.12.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Config の対象リソースタイプにAWS::Config::ConfigurationRecorderが追加されました。これにより、AWS Config 自体の設定変更(停止や記録対象のリソースタイプの変更など)を AWS Config で記録できるようになりました。

AWS Config enables drift detection in Config Recorder


始めにアップデート説明文を見たときは config/configration がいっぱいで理解するのに時間がかかりました。ややこしいですね。

AWS Config now supports configuration recorder as a configuration item

アップデート内容

AWS Config の対象リソースタイプにAWS::Config::ConfigurationRecorder が追加されました。

ユーザーガイド(English)にも説明が追加されています。

Supported Resource Types - AWS Config


設定レコーダーの説明ページ(English)にも、レコーダーを停止・開始や記録するリソースタイプの変更を記録することが追記されていました。

Managing the Configuration Recorder - AWS Config

AWS::Config::ConfigurationRecorderはサポートされているすべてのリージョンでデフォルトで有効になっており、追加料金がかからないようです。

リソースタイプの選択画面で検索しても出てこないので、明示的に設定しない場合でも常に有効化されているのかもしれません。

なお、変更履歴(English)を見ると 2022.11.28 に更新されていました。

Document History - AWS Config


ここからは、設定項目の例を記載します。

記録するリソースタイプをこのリージョンでサポートされているすべてのリソースを記録しますに設定している例です。AllSupportedtrueになっています。IncludeGlobalResourceTypesから「グローバルリソース (AWS IAM リソースなど) を含める」の設定状況も分かります。

{
  "version": "1.3",
  "accountId": "111122223333",
  "configurationItemCaptureTime": "2022-11-15T08:04:02.780Z",
  "configurationItemStatus": "ResourceDiscovered",
  "configurationStateId": "1668499442780",
  "configurationItemMD5Hash": "",
  "resourceType": "AWS::Config::ConfigurationRecorder",
  "resourceId": "default",
  "awsRegion": "ap-northeast-1",
  "tags": {},
  "relatedEvents": [],
  "relationships": [],
  "configuration": {
    "Id": "default",
    "Name": "default",
    "RoleARN": "arn:aws:iam::111122223333:role/aws-config-role",
    "RecordingGroup": {
      "AllSupported": true,
      "IncludeGlobalResourceTypes": true,
      "ResourceTypes": []
    },
    "Recording": true
  },
  "supplementaryConfiguration": {},
  "resourceTransitionStatus": "None"
}


記録するリソースタイプをAWS::EC2::Instance AWS::EC2::EIPのみに限定している例です。AllSupportedfalseとなっており、ResourceTypesから選択しているリソースタイプが分かります。

{
  "version": "1.3",
  "accountId": "111122223333",
  "configurationItemCaptureTime": "2022-12-09T04:05:50.836Z",
  "configurationItemStatus": "OK",
  "configurationStateId": "1670558750836",
  "configurationItemMD5Hash": "",
  "resourceType": "AWS::Config::ConfigurationRecorder",
  "resourceId": "default",
  "awsRegion": "ap-northeast-1",
  "tags": {},
  "relatedEvents": [],
  "relationships": [],
  "configuration": {
    "Id": "default",
    "Name": "default",
    "RoleARN": "arn:aws:iam::111122223333:role/aws-config-role",
    "RecordingGroup": {
      "AllSupported": false,
      "IncludeGlobalResourceTypes": false,
      "ResourceTypes": [
        "AWS::EC2::Instance",
        "AWS::EC2::EIP"
      ]
    },
    "Recording": true
  },
  "supplementaryConfiguration": {},
  "resourceTransitionStatus": "None"
}


リソースの記録を停止した例です。Recordingfalseになっています。

{
  "version": "1.3",
  "accountId": "111122223333",
  "configurationItemCaptureTime": "2022-12-09T04:24:24.319Z",
  "configurationItemStatus": "OK",
  "configurationStateId": "1670559864319",
  "configurationItemMD5Hash": "",
  "resourceType": "AWS::Config::ConfigurationRecorder",
  "resourceId": "default",
  "awsRegion": "ap-northeast-1",
  "tags": {},
  "relatedEvents": [],
  "relationships": [],
  "configuration": {
    "Id": "default",
    "Name": "default",
    "RoleARN": "arn:aws:iam::111122223333:role/aws-config-role",
    "RecordingGroup": {
      "AllSupported": true,
      "IncludeGlobalResourceTypes": true,
      "ResourceTypes": []
    },
    "Recording": false
  },
  "supplementaryConfiguration": {}
}


最後に、タイムラインの例です。

下記画像の時系列は次の通りです。

  1. 記録するリソースタイプをAWS::EC2::Instance AWS::EC2::EIPのみに変更
  2. 記録するリソースタイプをこのリージョンでサポートされているすべてのリソースを記録しますに変更
  3. 記録を停止
  4. 記録を有効化

アップデート内容の説明は以上です。

アップデート説明文の意味

少し余談となりますが、下記のアップデート説明文について自分なりの解釈を記載します。

AWS Config now supports configuration recorder as a configuration item

  • 冒頭のAWS Configは AWS Config サービスのことです
  • configuration recorderは記録対象に追加されたリソースタイプであるAWS::Config::ConfigurationRecorderを表します
    • AWS Config を有効化するとリソース情報を記録する「設定レコーダー」が作成されて記録を開始します
    • 記録するリソースタイプの変更や記録の停止・開始などは「設定レコーダー」に関する変更となります
  • 最後のconfiguration itemは「設定項目」のことです
    • 「設定項目」はリソースの設定情報であり、具体的には上述している JSON 形式のデータのことです
    • 「設定項目」としてAWS::Config::ConfigurationRecorderリソースの設定情報が記録できるようになったとの意味だと思います

さいごに

AWS Config の対象リソースタイプにAWS::Config::ConfigurationRecorderが追加されました。これにより、AWS Config 自体の設定変更も AWS Config で記録されるようになりました。

はじめにアップデート説明文を見たときに少し混乱したためブログにしてみました。

以上、このブログがどなたかのご参考になれば幸いです。