AWS Config 전송 채널을 다시 생성하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 6월 24일

AWS Config 전송 채널을 삭제했습니다. 다시 생성하려면 어떻게 해야 합니까?

간략한 설명

AWS Config 콘솔을 사용하여 AWS Config를 설정할 때 전송 채널로 알림을 보내도록 AWS 리소스를 구성하는 단계를 안내하는 설정 프로세스가 나타납니다. AWS Config 설정에는 기록할 Amazon Simple Storage Service(Amazon S3) 버킷, Amazon Simple Notification Service(Amazon SNS) 주제, AWS Identity and Access Management(IAM) 역할 및 리소스 유형을 구성하는 작업이 포함됩니다.

AWS 명령줄 인터페이스(AWS CLI) 명령 delete-delivery-channel을 사용하여 AWS Config 전송 채널을 삭제할 경우 구성 레코더가 꺼집니다. 구성 레코더를 켜려고 하면 "AWS Config cannot start recording because the delivery channel was not found." 오류가 반환됩니다.

참고: AWS Config 콘솔을 사용하여 전송 채널을 다시 생성할 수 없습니다.

해결 방법

다음 지침에 따라 AWS Config 전송 채널을 수동으로 다시 생성하고 구성 레코더를 켜십시오.

참고: 삭제한 AWS Config 전송 채널과 연결된 Amazon S3 버킷, S3 주제 및 IAM 역할을 삭제하지 않은 경우 이 단계를 건너뛸 수 있습니다.

Amazon S3 버킷 생성

1.    AWS Config 서비스와 동일한 리전에서 Amazon S3 콘솔을 열고 버킷 생성을 선택합니다.

2.    버킷 이름에 S3 버킷 이름을 입력한 후 다음을 선택합니다.

3.    다음, 다음을 연속적으로 두 번 선택한 후 버킷 생성을 선택합니다.

4.    S3 버킷에서 3단계에서 생성한 S3 버킷을 선택합니다.

5.    권한을 선택한 다음, 버킷 정책을 선택합니다.

6.    다음 예제 버킷 정책을 복사하여 붙여넣은 다음, 저장을 선택합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AWSConfigBucketPermissionsCheck",
      "Effect": "Allow",
      "Principal": {
        "Service": [
         "config.amazonaws.com"
        ]
      },
      "Action": "s3:GetBucketAcl",
      "Resource": "arn:aws:s3:::targetBucketName"
    },
    {
      "Sid": "AWSConfigBucketExistenceCheck",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "config.amazonaws.com"
        ]
      },
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::targetBucketName"
    },
    {
      "Sid": " AWSConfigBucketDelivery",
      "Effect": "Allow",
      "Principal": {
        "Service": [
         "config.amazonaws.com"    
        ]
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/Config/*",
      "Condition": { 
        "StringEquals": { 
          "s3:x-amz-acl": "bucket-owner-full-control" 
        }
      }
    }
  ]
}  

SNS 주제 생성

1.    AWS Config 서비스와 동일한 리전에서 Amazon SNS 콘솔을 열고 [주제]를 선택합니다.

2.    [주제 생성]을 선택합니다.

3.    이름에 SNS 주제 이름을 입력한 다음, 주제 생성을 선택합니다.

4.    구독 생성을 선택합니다.

5.    프로토콜에서 이메일을 선택합니다.

6.    엔드포인트에 이 SNS 주제와 연결할 이메일 주소를 입력한 다음, 구독 생성을 선택합니다.

7.    구독 확인 이메일을 확인한 다음, 구독 확인을 선택합니다.

8.    Subscription confirmed! 메시지를 수신합니다.

IAM 역할 생성

1.    AWS Config 서비스와 동일한 리전에서 IAM 콘솔을 엽니다.

2.    역할을 선택한 다음, 역할 생성을 선택합니다.

3.    신뢰할 수 있는 유형의 개체 선택에서 AWS 서비스를 선택합니다.

4.    Lambda에서 Config를 선택합니다.

5.    사용 사례 선택에서 Config - 사용자 지정 가능을 선택한 후 다음: 권한을 선택합니다.

6.    다음: 태그를 선택한 후 다음: 검토를 선택합니다.

7.    역할 이름에 이름을 입력한 다음, 역할 생성을 선택합니다.

8.    7단계에서 생성한 역할을 선택하고 인라인 정책 추가를 선택한 다음, JSON 탭을 선택합니다.

9.    다음 예제 정책을 복사하여 붙여넣습니다.

{
	  "Version": "2012-10-17",
	  "Statement": [
	    {
	      "Effect": "Allow",
	      "Action": [
	        "s3:PutObject",
                "s3:PutObjectAcl" 
	      ],
	      "Resource": [
	        "arn:aws:s3:::arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/*"
	      ],
	      "Condition": {
	        "StringLike": {
	          "s3:x-amz-acl": "bucket-owner-full-control"
	        }
	      }
	    },
	    {
	      "Effect": "Allow",
	      "Action": [
	        "s3:GetBucketAcl"
	      ],
	      "Resource": "arn:aws:s3:::targetBucketName"
	    },
	    {
	      "Effect": "Allow",
	      "Action": "sns:Publish",
	      "Resource": "arn:aws:sns:region:account_number:targetTopicName"
	    }
	  ]
	}

전송 채널 생성

1.    선호하는 텍스트 편집기를 사용하여 다음 예제 템플릿을 복사하여 붙여넣은 다음 JSON 파일로 저장합니다.

중요: 시작하기 전에 AWS CLI를 설치하고 구성했는지 확인하십시오.

참고: deliveryFrequency 값을 사용 사례에 맞게 변경할 수 있습니다.

    {
	  "name": "default",
	  "s3BucketName": "targetBucketName",
	  "snsTopicARN": "arn:aws:sns:region:account_number:targetTopicName",
	  "configSnapshotDeliveryProperties": {
	    "deliveryFrequency": "Twelve_Hours"
	  }
	}

2.    다음 AWS CLI 명령을 실행합니다.

$ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

3.    다음 AWS CLI 명령을 실행하여 전송 채널이 생성되었는지 확인합니다.

$ aws configservice describe-delivery-channels

구성 레코더 시작

1.    AWS Config 콘솔을 엽니다.

2.    탐색 창에서 설정을 선택합니다.

3.    기록이 꺼짐에서 켜기를 선택한 다음, 계속을 선택합니다.

-또는-

다음 AWS CLI 명령을 실행합니다.

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

자세한 내용은 구성 레코더 관리AWS Config 규칙 관리를 참조하십시오.