AWS Config有効化を実施する際に「the maximum number of delivery channels: 1 is reached」とのエラーが出てしまいました、対処方法を教えてください

2021.08.06

困っていた内容

CDKを用いてAWSアカウントの全リージョンのConfigの有効化を行っているのですが、以下のようなエラーが出てしまいます。1リージョンでは成功するのですが、2リージョン目のConfigを設定しようとした際に発生しました。


Failed to put delivery channel 'AccountBaselineRegionStack-ap-northeast-2-ConfigDeliveryChannel-xxxxxxxxxx' because the maximum number of delivery chann els: 1 is reached. (Service: AmazonConfig; Status Code: 400; Error Code: MaxNumberOfDeliveryChannelsExceededException; Proxy: null)


どう対応すればいいの?

AWS コンソール現状確認

CloudFormationスタックの対象イベントタブにてで下記のエラーメッセージが出力されていることを確認しました。

AWSドキュメント確認

ConfigDeliveryChannelの上限について下記ドキュメントにも記載がございます通り、各リージョンに 1 つとなっており、こちらは上限緩和を不可となっております。
配信チャネルの管理 - AWS Config

配信チャネルは、各リージョンの AWS アカウントごとに 1 つに制限されており、AWS Config を使用するには配信チャネルが必要です。

発生原因

エラーメッセージから考えますと、既に AWS Config が有効化されている状態にて、 AWS Perspective のセットアップにて AWS Config を有効化しようとしてエラーが発生している可能性が考えられます。

具体的な対処法

下記実装AWS Perspective AWS 実装ガイドに記載通り、 AWS Config が有効化されている環境の場合には、 AlreadyHaveConfigSetup = Yes に設定してスタックを実行する必要があります。
上記の方法を参考に事象が改善されるかお試しください。

AWS Perspective AWS 実装ガイド

フィールド名 : AlreadyHaveConfigSetup

デフォルト : No

説明 : リージョンに AWS Config が既に有効になっているか確認します。AWS Config がこのリージョンで既に有効になっている場合は、Yes に設定します。

参考資料

[1]配信チャネルの管理 - AWS Config
[2]AWSマネジメントコンソールから消せないAWS Configの設定をAWSCLIで綺麗にする方法 | DevelopersIO
[3]AWS アーキテクチャー図 構成図を自動生成するソリューションを紹介します | DevelopersIO