結論
まずは結論から。
タイトル通りなのですが、
オブジェクトロック設定をしているS3をConfigのスナップショット配信先にはできません(2020/03/21時点)。
以下、詳細について書いていきます。
AWSサービス概要
登場するAWSサービスの概要を説明します。
AWS Config
AWSリソースの構成情報の記録を行います。
リソースカットで特定時間にどういった設定になっていたか、どういった変更が行われたかが分かります。
そのため、構成管理・変更管理の目的でConfigを利用することがあります。
設定スナップショットの配信機能を用いることで、特定時間のリソース情報をS3に保存することができます。
また、Configルールという機能もあり、AWSリソースが定義したルールに準拠しているかをチェックすることができます。
例えば、全IP,portでインバウンド許可されているセキュリティグループが無いかどうかを簡単にチェックすることができます。
構成管理の目的よりも、こういったセキュリティチェックの目的でConfigを利用する人の方が多い印象です。
Amazon S3 オブジェクトロック
みなさんご存知のS3にはオブジェクトロックという機能があります。
オブジェクトロックを設定すると、一度S3に保存したオブジェクトを一定期間削除したり上書きできなくすることができます。
そのため、削除されたり、上書きされたりすると困るオブジェクトを保管するのにもってこいの機能です。
Configが配信したスナップショット情報は削除されたくない
配信する情報を構成管理の目的で利用する場合は、これらを削除されると困ります。
そのため、オブジェクトロック設定をしているS3を配信先としておけば一定期間削除されないし安心じゃない?と思い始めます。
オブジェクトロック設定をしているS3をConfigのスナップショット配信先にはできません
はい。そうなんですよ。。
Configの配信情報こそオブジェクトロックしたいのに対応してないんです(2020/03/21時点)。
しかも、ドキュメントにはそんなこと記載されてないので、注意が必要です。
(AWSサポートには機能改善とドキュメント修正の要望を出してます。)
そのため、これらの情報をオブジェクトロックしたい場合はオブジェクトロック設定をしているS3バケットを別途用意して、移してあげる必要があります。
CloudTrailのログ保管先はオブジェクトロック設定のS3バケットでも可能
実はCloudTrailのログ保管先にオブジェクトロック設定のS3バケットを指定することはできなかったのですが、記事を書くにあたって再度確認したら設定できるようになってました!
Configも後々格納できるようなることを願ってます。