Quando crio um gravador de configuração do AWS Config, recebo um erro MaxNumberOfConfigurationRecordersExceededException.
Breve descrição
O AWS Config usa um gravador de configuração para registrar as alterações na configuração de recursos. O AWS Config permite somente um gravador de configuração por Região da AWS em uma conta. O erro MaxNumberOfConfigurationRecordersExceededException indica que não é possível criar um novo gravador de configuração porque um já está presente em sua conta para a Região. O erro ocorre independentemente de você usar o console do AWS Config, a AWS Command Line Interface (AWS CLI) ou o AWS CloudFormation para criar o gravador.
Resolução
Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Para resolver o erro MaxNumberOfConfigurationRecordersExceededException e criar um novo gravador de configuração, você deve identificar e excluir o gravador de configuração existente.
Observação: não é possível excluir um gravador de configuração do console. Você deve executar as exclusões de forma programática.
Primeiro, verifique se as permissões corretas do AWS Identity and Access Management (AWS IAM) estão em vigor para executar os comandos necessários. Em seguida, é possível usar a AWS CLI ou o CloudFormation para identificar e excluir o gravador de configuração atual.
Permissões do IAM
Para descrever e excluir um gravador de configuração, adicione as seguintes permissões do IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"config:DescribeConfigurationRecorders",
"config:DeleteConfigurationRecorder"
],
"Resource": "*"
}
]
}
Para iniciar e interromper um gravador de configuração, adicione as seguintes permissões do IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"config:PutConfigurationRecorder",
"iam:PassRole",
"config:DescribeConfigurationRecorders",
"config:StopConfigurationRecorder",
"config:StartConfigurationRecorder",
"config:DeleteConfigurationRecorder"
],
"Resource": "*"
}
]
}
Para AWS CLI, identificar e excluir um gravador de configuração
Conclua as seguintes tarefas.
Identifique o nome do gravador de configuração existente
Para identificar o gravador de configuração em uma região específica, execute o comando describe-configuration-recorders:
$aws configservice describe-configuration-recorders --region RegionID
Observação: substitua RegionID pela sua Região.
Analise a saída. O nome do gravador de configuração existente está listado ao lado de name na saída.
Exclua o gravador de configuração existente
Para excluir o gravador de configuração, execute o comando delete-configuration-recorder:
$aws configservice delete-configuration-recorder --configuration-recorder-name RecorderName --region RegionID
Observação: substitua RecorderName pelo nome do seu gravador de configuração e RegionID pelo ID da sua região. Quando você excluiu o gravador, o comando delete-configuration-recorder não retorna uma saída.
Usar chamadas de API para iniciar e parar o gravador
Execute o comando a seguir para iniciar um gravador de configuração:
$aws configservice start-configuration-recorder --configuration-recorder-name RecorderName
Observação: substitua RecorderName pelo nome do seu gravador de configuração.
Execute o comando a seguir para interromper um gravador de configuração:
$aws configservice stop-configuration-recorder --configuration-recorder-name RecorderName
Observação: substitua RecorderName pelo nome do seu gravador de configuração.
Para CloudFormation, identificar e excluir um gravador de configuração
Se você usar um modelo StackSet do CloudFormation para ativar o AWS Config, conclua as tarefas a seguir para identificar e excluir um gravador de configuração.
Para escrever uma lógica de código para identificar e excluir um gravador de configuração, use um recurso personalizado baseado no AWS Lambda para realizar o seguinte:
Depois de excluir o gravador de configuração, é possível usar o módulo cfn-response para recursos personalizados para criar um novo gravador de configuração. Em seguida, é possível executar a API StartConfigurationRecorder para iniciar o gravador.
Informações relacionadas
Criação de recursos personalizados do CloudFormation com Python, AWS Lambda e crhelper