내용으로 건너뛰기

ELB 액세스 로그를 설정할 때 S3와 관련된 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon Simple Storage Service(Amazon S3) 버킷을 사용하도록 Elastic Load Balancing(ELB) 액세스 로그를 설정할 때 오류가 발생합니다.

간략한 설명

로드 밸런서에서 액세스 로그를 사용하려면 Amazon S3 버킷에 버킷 정책을 첨부해야 합니다. 버킷 정책은 ELB가 버킷에 쓸 수 있는 권한을 포함해야 합니다.

참고: Network Load Balancer는 TLS(전송 계층 보안) 리스너에 대한 액세스 로그만 지원합니다. 액세스 로그에는 Network Load Balancer에 대한 TLS 요청에 대한 정보가 포함되어 있습니다. Network Load Balancer는 TLP(전송 제어 프로토콜)를 지원하지 않습니다.

해결 방법

AWS 리전 버킷 오류

"S3Bucket: my-access-log-bucket is not located in the same region with ELB: app/my-load-balancer/50dc6c495c0c9188" 오류 메시지가 표시됩니다.

이 오류는 Amazon S3 버킷과 로드 밸런서가 동일한 AWS 리전에 위치하지 않을 때 발생합니다. Amazon S3 버킷은 다른 AWS 계정에 있을 수 있지만 로드 밸런서와 동일한 리전에 있어야 합니다.

이 문제를 해결하려면 S3 버킷을 로드 밸런서와 동일한 리전으로 이동하십시오.

버킷 권한 오류

"Access Denied for bucket: my-access-log-bucket. Please check S3bucket permission" 오류 메시지가 표시됩니다.

이 오류는 Amazon S3 버킷에 액세스 로그 쓰기 권한을 부여하는 정책이 없을 때 발생합니다.

이 문제를 해결하려면 버킷에 로그를 쓸 수 있는 ELB 권한을 부여하는 버킷 정책을 S3 버킷에 연결하십시오. 버킷의 이름과 접두사에 올바른 자리 표시자를 입력했는지 확인합니다. 또한 로드 밸런서의 리전을 기준으로 ELB에 올바른 계정 ID가 있는지 확인합니다.

필요한 권한에 대한 자세한 내용은 다음 항목을 참조하십시오.

ELB의 액세스 로그를 암호화하려면 Amazon S3 관리형 키(SSE-S3)로 서버 측 암호화를 사용할 수 있습니다. 또한 Network Load Balancer는 액세스 로그를 암호화하기 위해 AWS Key Management Service(AWS KMS) 고객 관리 키를 지원합니다. 하지만 AWS KMS 관리 키를 사용하여 ELB 액세스 로그를 암호화할 수는 없습니다.

버킷 네임스페이스 오류

"The value of 'access_logs.s3.prefix' cannot start with 'AWSLogs'" 오류 메시지가 표시됩니다.

이 오류는 액세스 로그의 S3 버킷 접두사에 AWSLogs가 포함된 경우에 발생합니다. 이 문제를 해결하려면 액세스 로그의 S3 버킷 접두사에서 AWSLogs를 제거하십시오.

추가 문제 해결

S3 버킷 정책 및 구성이 올바르지만 여전히 로그를 볼 수 없는 경우 로드 밸런서가 트래픽을 수신하는지 확인하십시오. ActiveConnectionCountRequestCount 로드 밸런서 지표를 확인하십시오.