VPC 흐름 로그 문제 해결 - Amazon Virtual Private Cloud

VPC 흐름 로그 문제 해결

다음은 흐름 로그로 작업할 때 발생할 수 있는 문제입니다.

불완전한 흐름 로그 레코드

문제

흐름 로그 레코드가 불완전하거나 더 이상 게시되지 않습니다.

원인

흐름 로그를 CloudWatch Logs 로그 그룹으로 전달하는 데 문제가 있을지도 모릅니다.

Solution

Amazon EC2 콘솔 또는 Amazon VPC 콘솔에서 해당 리소스에 대한 흐름 로그(Flow Logs) 탭을 확인합니다. 자세한 내용은 흐름 로그 보기 섹션을 참조하세요. 흐름 로그 테이블의 [Status] 열에는 오류가 표시됩니다. 또는 describe-flow-logs 명령을 사용하여 DeliverLogsErrorMessage 필드에 반환된 값을 확인하십시오. 다음 중 하나의 오류가 표시될 수 있습니다.

  • Rate limited: 이 오류는 CloudWatch Logs 조절이 적용된 경우, 즉 네트워크 인터페이스에 대한 흐름 로그 레코드의 수가 특정 시간 범위 내에 게시될 수 있는 최대 레코드의 수보다 많은 경우에 발생할 수 있습니다. 이 오류는 만들 수 있는 CloudWatch Logs 로그 그룹 수 할당량에 도달한 경우에 발생하기도 합니다. 자세한 내용은 Amazon CloudWatch 사용 설명서CloudWatch Service Quotas를 참조하세요.

  • Access error: 이 오류는 다음과 같은 이유로 발생할 수 있습니다.

    • 흐름 로그용 IAM 역할에 CloudWatch log 그룹에 흐름 로그를 게시할 권한이 없습니다.

    • IAM 역할이 흐름 로그 서비스와 신뢰 관계를 갖지 않습니다.

    • 신뢰 관계는 흐름 로그 서비스를 주체로 지정하지 않습니다.

    자세한 내용은 CloudWatch Logs에 흐름 로그를 게시하는 IAM 역할 단원을 참조하십시오.

  • Unknown error: 흐름 로그 서비스에서 내부 오류가 발생했습니다.

흐름 로그가 활성화되었지만 흐름 로그 레코드 또는 로그 그룹이 없음

문제

흐름 로그를 생성했고 Amazon VPC 또는 Amazon EC2 콘솔에서 흐름 로그를 Active로 표시합니다. 하지만 CloudWatch Logs에서 어떠한 로그 스트림도 볼 수 없거나 Amazon S3 버킷에서 로그 파일을 볼 수 없습니다.

가능한 원인
  • 흐름 로그가 아직 생성되는 중입니다. 경우에 따라 흐름 로그를 생성한 후 로그 그룹이 생성되고 데이터가 표시되기까지 10분 이상 걸릴 수 있습니다.

  • 네트워크 인터페이스에 대해 기록된 트래픽이 아직 없습니다. CloudWatch Logs의 로그 그룹은 트래픽이 기록될 때만 생성됩니다.

Solution

로그 그룹이 생성되거나 트래픽이 기록될 때까지 몇 분 정도 기다리세요.

'LogDestinationNotFoundException' 또는 'LogDestination에 대한 액세스가 거부됨' 오류

문제

흐름 로그를 생성할 때 Access Denied for LogDestination 또는 LogDestinationNotFoundException 오류가 발생합니다.

가능한 원인
  • Amazon S3 버킷에 데이터를 게시하는 흐름 로그를 생성하는 경우 이 오류는 지정된 S3 버킷을 찾을 수 없거나 버킷 정책에서 로그를 버킷에 전달할 수 없음을 나타냅니다.

  • Amazon CloudWatch Logs에 데이터를 게시하는 흐름 로그를 생성하는 경우 이 오류는 IAM 역할이 로그를 로그 그룹에 전달할 수 없음을 나타냅니다.

Solution
  • Amazon S3에 게시하는 경우 기존 S3 버킷에 ARN을 지정했는지, 그리고 그 ARN의 형식이 올바른지 확인합니다. S3 버킷을 소유하지 않은 경우 버킷 정책이 필수 권한을 보유하고 있고 ARN에서 계정 ID와 버킷 이름을 올바르게 사용하는지 확인합니다.

  • CloudWatch Logs Logs에 게시하는 경우 IAM 역할에 필수 권한이 있는지 확인합니다.

Amazon S3 버킷 정책 제한 초과

문제

흐름 로그를 생성할 때 LogDestinationPermissionIssueException 오류가 발생합니다.

가능한 원인

Amazon S3 버킷 정책은 크기가 20KB로 제한됩니다.

Amazon S3 버킷에 게시하는 흐름 로그가 생성될 때마다 폴더 경로를 포함하는 지정된 버킷 ARN을 버킷 정책의 Resource 요소에 자동으로 추가합니다.

동일한 버킷에 게시하는 여러 개의 흐름 로그를 생성하면 버킷 정책 제한을 초과할 수 있습니다.

Solution
  • 더 이상 필요 없는 흐름 로그 항목을 제거하여 버킷 정책을 정리합니다.

  • 개별 흐름 로그 항목을 다음으로 대체하여 전체 버킷에 권한을 부여합니다.

    arn:aws:s3:::bucket_name/*

    전체 버킷에 권한을 부여할 경우, 새 흐름 로그 구독이 버킷 정책에 새 권한을 추가합니다.

LogDestination 전송 불가

문제

흐름 로그를 생성할 때 LogDestination <bucket name> is undeliverable 오류가 발생합니다.

가능한 원인

대상 Amazon S3 버킷은 AWS KMS(SSE-KMS)로 서버 측 암호화를 사용하여 암호화되며 버킷의 기본 암호화는 KMS 키 ID입니다.

Solution

값은 KMS 키 ARN이어야 합니다. 기본 S3 암호화 유형을 KMS 키 ID에서 KMS 키 ARN으로 변경합니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서기본 암호화 사용 설정을 참조하세요.