ELB 액세스 로그 비활성화

Classic ELB 요청 조사에 필요한 액세스 로그를 수집하고 보호하세요.

설명

Classic ELB에서 액세스 로그가 꺼져 있으면 요청 흐름과 오류, 클라이언트 패턴을 조사하기 어렵습니다. 로드 밸런서 로그는 장애 원인 분석과 보안 조사에 필요한 자료입니다.

로그를 활성화하는 것과 실제로 S3에 전달되는 것은 별도로 확인해야 합니다. 로그 자체에 요청 정보가 포함되므로 접근 권한과 보존 기간도 관리해야 합니다.

잠재적 영향

  • 비정상 트래픽과 오류 패턴을 파악하거나 장애 원인을 조사하는 데 시간이 더 걸릴 수 있습니다.
  • 필요한 기록이 없어 운영 감사나 사고 분석에 제약이 생길 수 있습니다.

해결 방법

AccessLoggingPolicy의 Enabled를 true로 설정하고 같은 리전의 S3 로그 버킷을 지정하세요. 로그 전달을 허용하는 버킷 정책과 지원되는 SSE-S3 암호화를 구성하세요. 로그 접근과 보존 기간을 제한하고 실제 요청 후 S3에 기록이 전달되는지 확인하세요.

예시

액세스 로그 설정을 비교하는 발췌입니다. HTTPS 리스너에 필요한 SSLCertificateId와 네트워크 설정은 생략했습니다. 가용 영역과 버킷 이름을 실제 환경에 맞게 바꾸세요.

변경 전

yaml
Resources:
  MyLoadBalancer:
    Type: AWS::ElasticLoadBalancing::LoadBalancer
    Properties:
      AvailabilityZones:
        - us-east-2a
      Listeners:
        - InstancePort: "80"
          LoadBalancerPort: "443"
          Protocol: HTTPS

액세스 로그를 활성화하지 않습니다. 애플리케이션 등 다른 계층의 로그만으로 로드 밸런서의 요청 기록을 모두 대체할 수는 없습니다.

변경 후

yaml
Resources:
  MyLoadBalancer:
    Type: AWS::ElasticLoadBalancing::LoadBalancer
    Properties:
      AvailabilityZones:
        - us-east-2a
      Listeners:
        - InstancePort: "80"
          LoadBalancerPort: "443"
          Protocol: HTTPS
      AccessLoggingPolicy:
        Enabled: true
        S3BucketName: my-elb-access-logs

지정한 버킷으로 액세스 로그를 전달하도록 설정합니다. 버킷의 전달 권한을 준비하고 실제 기록을 확인하세요.

참조