AWS Config 設定レコーダーを作成すると、MaxNumberOfConfigurationRecordersExceedException エラーが表示されるのはなぜですか?

所要時間2分
0

AWS Config 設定レコーダーを作成しようとすると、MaxNumberOfConfigurationRecordersExceedException エラーが発生します。この問題を解決するには、どうすればよいですか?

簡単な説明

AWS Config は、設定レコーダーを使用して、リソース設定の変更を記録します。AWS Config では、現在、アカウント内のリージョンごとに 1 つの設定レコーダーしか許可されていません。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

出力を確認します。既存の設定レコーダ名は、出力の「name」の横に一覧表示されます。

既存の設定レコーダーを削除

次のコマンドを実行して、既存の設定レコーダーを削除します。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年前
コメントはありません

関連するコンテンツ