Amazon MQ 브로커 로그 설정 점검

브로커 엔진에 맞는 운영·감사 로그를 수집하세요.

설명

Amazon MQ에서 필요한 로그가 없으면 브로커 장애나 관리 작업을 조사하기 어렵습니다. General은 운영 로그를 제공하며 Audit은 ActiveMQ의 JMX나 웹 콘솔을 통한 관리 작업을 기록합니다. Audit은 RabbitMQ 브로커에 적용되지 않습니다.

감사 로그가 모든 메시지의 처리 이력을 기록하는 것은 아닙니다. 웹 콘솔을 통해 보낸 메시지의 내용이 로그에 포함될 수 있으므로 로그의 민감도와 접근 권한도 검토해야 합니다.

잠재적 영향

  • 장애나 의심스러운 관리 작업의 원인을 조사할 기록이 부족할 수 있습니다.
  • 로그에 포함된 메시지나 관리 정보가 의도하지 않은 사용자에게 노출될 수 있습니다.

해결 방법

브로커 엔진과 운영 목적에 맞게 Logs.General을 활성화하고 ActiveMQ의 관리 감사가 필요하면 Logs.Audit도 활성화하세요. CloudWatch 로그 그룹 생성과 전달에 필요한 권한을 준비하고 변경 적용 후 실제 기록을 확인하세요. 로그 보존 기간과 접근 권한을 제한하세요.

예시

기존 ActiveMQ 예제의 로그 설정을 비교합니다. 엔진 버전과 인스턴스 유형은 현재 지원되는 조합으로 바꾸고 BrokerUsername과 BrokerPassword를 안전하게 전달하세요. 네트워크와 로그 전달 권한은 별도로 준비해야 합니다.

변경 전

yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: "Create a basic ActiveMQ broker"
Resources:
  BasicBroker:
    Type: "AWS::AmazonMQ::Broker"
    Properties:
      BrokerName: MyBasicBroker
      DeploymentMode: SINGLE_INSTANCE
      EngineType: ActiveMQ
      EngineVersion: "5.15.0"
      HostInstanceType: mq.t2.micro
      PubliclyAccessible: false
      Users:
        - ConsoleAccess: "true"
          Groups:
            - MyGroup
          Password:
            Ref: "BrokerPassword"
          Username:
            Ref: "BrokerUsername"
      Logs:
        General: true

일반 로그를 활성화하지만 관리 감사 로그는 명시하지 않습니다.

변경 후

yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: "Create a basic ActiveMQ broker"
Resources:
  BasicBroker:
    Type: "AWS::AmazonMQ::Broker"
    Properties:
      AutoMinorVersionUpgrade: "false"
      BrokerName: MyBasicBroker
      DeploymentMode: SINGLE_INSTANCE
      EncryptionOptions:
        UseAwsOwnedKey: true
      EngineType: ActiveMQ
      EngineVersion: "5.15.0"
      HostInstanceType: mq.t2.micro
      PubliclyAccessible: false
      Users:
        - ConsoleAccess: "true"
          Groups:
            - MyGroup
          Password:
            Ref: "BrokerPassword"
          Username:
            Ref: "BrokerUsername"
      Logs:
        General: true
        Audit: true

일반 로그와 관리 감사 로그를 활성화합니다. AutoMinorVersionUpgrade: false는 로깅 요구 사항이 아니므로 현재 엔진의 업데이트 정책에 맞게 검토하세요.

참조