AWS Configの特定リージョンにしかないリソースを他のリージョンでも指定できるか確認してみた
こんにちは。サービス開発室の武田です。
みなさんAWS Configしてますか?(挨拶)
AWSのベストプラクティスとしてすべてのリージョンでAWS Configを有効化することが推奨されています。さて、Configですが一度設定したら変更する機会も少ないですね。実はConfigでは特定リージョンでしか記録されないリソースというものが存在します。今回は具体的な例としてGlobal Accelaratorを挙げます。
具体的に各リソースがどのリージョンでサポートされているかは、次のドキュメントを参照してください。
さてGlobal Accelaratorですが、これは オレゴンリージョンのみ 記録されます。
たとえばマネジメントコンソールで、 東京リージョン でリソースタイプの検索をすると、Global Accelaratorは一覧に出てきません。
同じことを、 オレゴンリージョン でやったのが次のキャプチャです。Global Accelaratorがありますね(他にも増えていますが)。
AWS CLIで設定してみる
マネジメントコンソールからは設定できないことがわかりました。それではAWS CLIではどうでしょうか。実際にやってみました。
まず設定用のファイルを用意します。
{
"allSupported": true,
"includeGlobalResourceTypes": true,
"recordingStrategy": {
"useOnly": "ALL_SUPPORTED_RESOURCE_TYPES"
}
}
{
"name": "default",
"roleARN": "arn:aws:iam::123456789012:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig",
"recordingMode": {
"recordingFrequency": "CONTINUOUS",
"recordingModeOverrides": [
{
"resourceTypes": [
"AWS::GlobalAccelerator::Accelerator"
],
"recordingFrequency": "DAILY"
}
]
}
}
ファイルが用意できたら、AWS CLIで設定します。
$ aws configservice put-configuration-recorder --configuration-recorder file://configuration-recorder.json --recording-group file://recording-group.json
コマンドでは特にエラーなどは出ませんでした。マネジメントコンソールで東京リージョンのページにアクセスしてみると次のように表示されました。
ちゃんと設定されていますね!もちろん記録はされないので無駄な設定なのですが、エラーにならないということがわかりました。
まとめ
マネジメントコンソールでは設定できない内容でも、AWS CLIではできることが確認できました。プログラムなどで全リージョンに一括設定をしたい場合など、リージョン個別に設定ファイルを用意しなくても大丈夫そうです。