This is an English translation of a Japanese blog. Some content may not be fully translated.
AWS

Resolving "No delivery channel exists to record settings" When Configuring AWS Config

Problem

When trying to enable recording in AWS Config, you get “No delivery channel exists to record settings.” and cannot enable it.

image-20220314143103696

As shown below, the delivery channel appears to be missing, so create one manually. DeliveryChannels is indeed null.

[ec2-user@bastin ~]$ aws configservice describe-delivery-channels
{
    "DeliveryChannels": []
}
[ec2-user@bastin ~]$ aws configservice describe-configuration-recorders
{
    "ConfigurationRecorders": [
        {
            "name": "default",
            "roleARN": "arn:aws:iam::xxxxxx:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig",
            "recordingGroup": {
                "allSupported": true,
                "includeGlobalResourceTypes": true,
                "resourceTypes": []
            }
        }
    ]
}

Solution: Create a Delivery Channel

After creating the delivery channel, reconfigure Config.

[ec2-user@bastin ~]$ aws configservice put-delivery-channel --delivery-channel name=default,s3BucketName=config-bucket-xxxxxxxxxx --region ap-northeast-1

Reference:

Verify Configuration

[ec2-user@bastin ~]$ aws configservice describe-delivery-channels
{
    "DeliveryChannels": [
        {
            "name": "default",
            "s3BucketName": "config-bucket-xxxxx"
        }
    ]
}
[ec2-user@bastin ~]$ aws configservice describe-configuration-recorders
{
    "ConfigurationRecorders": [
        {
            "name": "default",
            "roleARN": "arn:aws:iam::xxxx:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig",
            "recordingGroup": {
                "allSupported": true,
                "includeGlobalResourceTypes": true,
                "resourceTypes": []
            }
        }
    ]
}
Suggest an edit on GitHub