AWS Config 구성 레코더를 생성할 때 MaxNumberOfConfigurationRecordersExceededException 오류 메시지가 나타나는 이유는 무엇입니까?

3분 분량
0

AWS Config 구성 레코더를 생성하려고 할 때 MaxNumberOfConfigurationRecordersExceededException 오류가 발생합니다. 이 문제를 해결하려면 어떻게 해야 하나요?

간략한 설명

AWS Config는 구성 레코더를 사용하여 리소스 구성의 변경 사항을 기록합니다. AWS Config는 현재 계정의 리전당 하나의 구성 레코더만 허용합니다. MaxNumberOfConfigurationRecordersExceededException 오류는 해당 리전의 계정에 구성 레코더가 이미 있기 때문에 새 구성 레코더를 생성할 수 없음을 나타냅니다. 이 오류는 레코더가 AWS 관리 콘솔, AWS 명령줄 인터페이스(AWS CLI) 또는 AWS CloudFormation을 사용하여 생성되었는지와 관계없이 발생합니다.

해결 방법

MaxNumberOfConfigurationRecordersExceededException 오류를 해결하고 새 구성 레코더를 생성하려면 기존 구성 레코더를 식별한 다음 삭제해야 합니다.

참고: 콘솔에서 구성 레코더를 삭제할 수 없습니다. 삭제는 프로그래밍 방식으로 수행해야 합니다.

먼저 필요한 명령을 실행할 수 있는 올바른 AWS Identity and Access Management(IAM) 권한이 있는지 확인합니다. 그런 다음 AWS CLI 또는 CloudFormation을 사용하여 기존 구성 레코더를 식별하고 삭제할 수 있습니다.

IAM 권한

구성 레코더를 설명하고 삭제하려면 다음 IAM 권한을 추가합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "config:DescribeConfigurationRecorders",
                "config:DeleteConfigurationRecorder"
            ],
            "Resource": "*"
        }
    ]
}

구성 레코더를 시작하고 중지하려면 다음 IAM 권한을 추가합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "config:PutConfigurationRecorder",
                "iam:PassRole",
                "config:DescribeConfigurationRecorders",
                "config:StopConfigurationRecorder",
                "config:StartConfigurationRecorder",
                "config:DeleteConfigurationRecorder"
            ],
            "Resource": "*"
        }
    ]
}

구성 레코더 식별 및 삭제(AWS CLI)

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

기존 구성 레코더 이름 식별

다음 명령을 실행하여 특정 리전의 기존 구성 레코더를 식별합니다. RegionID를 사용 중인 AWS 리전으로 바꿉니다.

$aws configservice describe-configuration-recorders --region RegionID

출력을 검토합니다. 기존 구성 레코더 이름이 출력의 "이름" 옆에 나열됩니다.

기존 구성 레코더 삭제

다음 명령을 실행하여 기존 구성 레코더를 삭제합니다. RecorderNameRegionID를 값으로 바꿉니다.

$aws configservice delete-configuration-recorder --configuration-recorder-name RecorderName --region RegionID

참고: 레코더가 성공적으로 삭제되면 delete-configuration-recorder 명령이 출력을 반환하지 않습니다.

레코더를 시작하고 중지하는 API 호출

구성 레코더를 시작하거나 중지해야 하는 경우 API 호출을 사용할 수 있습니다.

다음 명령을 실행하여 구성 레코더를 시작합니다. RecorderName을 구성 레코더의 이름으로 바꿉니다.

$aws configservice start-configuration-recorder --configuration-recorder-name RecorderName

다음 명령을 실행하여 구성 레코더를 중지합니다. RecorderName을 구성 레코더의 이름으로 바꿉니다.

$aws configservice stop-configuration-recorder --configuration-recorder-name RecorderName

구성 레코더 식별 및 삭제(CloudFormation)

CloudFormation StackSet 템플릿을 사용하여 AWS Config를 활성화한 경우 이 섹션의 지침에 따라 구성 레코더를 식별하고 삭제합니다.

AWS Lambda 지원 사용자 지정 리소스를 사용하여 구성 레코더를 식별하고 삭제하는 코드 로직을 작성할 수 있습니다.

구성 레코더가 삭제되면 cfn-response 모듈을 사용자 정의 리소스에 사용하여 새 구성 레코더를 계속 생성할 수 있습니다.

새 구성 레코더를 생성한 후 StartConfigurationRecorder API를 실행하여 레코더를 시작할 수 있습니다.


관련 정보

describe-configuration-recorders

delete-configuration-recorder

Python, AWS Lambda, crhelper를 사용한 CloudFormation 사용자 지정 리소스 생성

AWS 공식
AWS 공식업데이트됨 3년 전
댓글 없음

관련 콘텐츠