

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# RabbitMQ용 Amazon MQ 브로커 로깅 및 모니터링
<a name="security-logging-monitoring"></a>

모니터링은 AWS 솔루션의 안정성, 가용성 및 성능을 유지하는 데 중요한 부분입니다. 다중 지점 장애가 발생할 경우 보다 쉽게 디버깅할 수 있도록 AWS 솔루션의 모든 부분으로부터 모니터링 데이터를 수집해야 합니다.는 Amazon MQ 리소스를 모니터링하고 잠재적 인시던트에 대응하기 위한 몇 가지 도구를 AWS 제공합니다.

CloudWatch를 사용하여 Amazon MQ 브로커의 지표를 확인하고 분석할 수 있습니다. CloudWatch 콘솔 AWS CLI, 또는 CloudWatch AWS CLI에서 브로커 지표를 보고 분석할 수 있습니다. Amazon MQ의 CloudWatch 지표는 브로커에서 자동으로 폴링되며, 이후 1분마다 CloudWatch에 푸시됩니다. ActiveMQ 브로커의 경우 CloudWatch는 처음 1,000개 대상만 모니터링합니다. RabbitMQ 브로커의 경우 CloudWatch는 소비자 수에 따라 정렬된 대상 중 처음 500개만 모니터링합니다.

전체 Amazon MQ 지표 목록은 [ActiveMQ용 Amazon MQ 브로커에 사용 가능한 CloudWatch 지표](activemq-logging-monitoring.md) 단원을 참조하세요.

지표의 CloudWatch 경보를 생성하는 방법에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 경보 생성 또는 편집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)을 참조하세요.

# Amazon MQ의 CloudWatch 지표 액세스
<a name="amazon-mq-accessing-metrics"></a>

 AWS Management Console AWS CLI및 API를 사용하여 CloudWatch 지표에 액세스할 수 있습니다.

를 사용하지 않고 CloudWatch 지표에 액세스할 수 있습니다 AWS Management Console.

를 사용하여 Amazon MQ 지표에 액세스하려면 `[get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)` 명령을 AWS CLI사용합니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [지표에 대한 통계 얻기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/getting-metric-statistics.html)를 참조하세요.

CloudWatch API를 사용하여 Amazon MQ 지표에 액세스하려면 `[GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html)` 작업을 사용합니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [지표에 대한 통계 얻기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/getting-metric-statistics.html)를 참조하세요.

## 를 사용하여 CloudWatch 지표에 액세스 AWS Management Console
<a name="amazon-mq-accessing-metrics-console"></a>

다음 예제에서는 AWS Management Console을 사용하여 Amazon MQ에 대한 CloudWatch 지표에 액세스하는 방법을 보여줍니다. Amazon MQ 콘솔에 이미 로그인한 경우 브로커 **세부 정보** 페이지에서 **작업**, **CloudWatch 지표 보기**를 선택합니다.

1. [CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch/)에 로그인합니다.

1. 탐색 창에서 [**Metrics**]를 선택합니다.

1. **AmazonMQ** 지표 네임스페이스를 선택합니다.

1. 다음 지표 차원 중 하나를 선택합니다.
   + **브로커 지표**
   + **Queue Metrics by Broker**
   + **Topic Metrics by Broker**

   이 예에서는 **Broker Metrics(브로커 지표)**를 선택합니다.

1. 이제 Amazon MQ 지표를 검토할 수 있습니다.
   + 지표를 정렬하려면 열 머리글을 사용합니다.
   + 지표를 그래프로 표시하려면 지표 옆에 있는 확인란을 선택합니다.
   + 지표로 필터링하려면 지표 이름을 선택한 후 **검색에 추가**를 선택합니다.

# ActiveMQ용 Amazon MQ 브로커에 사용 가능한 CloudWatch 지표
<a name="activemq-logging-monitoring"></a>

## ActiveMQ용 Amazon MQ 지표
<a name="security-logging-monitoring-cloudwatch-metrics"></a>


| 지표 | 단위 | 설명 | 
| --- | --- | --- | 
| AmqpMaximumConnections | 개수 | AMQP를 사용하여 브로커에 연결할 수 있는 최대 클라이언트 수입니다. 연결 할당량에 대한 자세한 내용은 [Quotas in Amazon MQ](amazon-mq-limits.md) 섹션을 참조하세요. | 
| BurstBalance | % | 처리량이 최적화된 브로커의 메시지 데이터를 유지하는 데 사용되는 Amazon EBS 볼륨에 남아 있는 버스트 크레딧 비율입니다. 이 밸런스가 0에 도달하면 버스트 밸런스가 다시 채워질 때까지 Amazon EBS 볼륨에서 제공하는 IOPS가 감소합니다. Amazon EBS에서 버스트 밸런스 작동 방식에 대한 자세한 내용은 [I/O 크레딧 및 버스트 성능](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#IOcredit)을 참조하세요. | 
| CpuCreditBalance | 크레딧(vCPU-분) |   이 지표는 `mq.t2.micro` 브로커 인스턴스 유형에 대해서만 사용할 수 있습니다. CPU 크레딧 지표는 5분 간격으로만 사용할 수 있습니다.  시작된 후 인스턴스가 누적한 획득 CPU 크레딧 수입니다(시작 크레딧 수 포함). 크레딧 밸런스는 브로커 인스턴스가 기준 CPU 사용률을 초과하여 버스트를 소비하는 경우 사용할 수 있습니다. 크레딧은 획득 후 크레딧 밸런스에 누적되고, 소비 후 크레딧 밸런스에서 제거됩니다. 크레딧 밸런스에는 최대 한도가 있습니다. 이 한도에 도달하면 새로 획득한 크레딧은 폐기됩니다.  | 
| CpuUtilization | % | 브로커가 현재 사용하는 할당된 Amazon EC2 컴퓨팅 유닛(ECU)의 비율입니다. | 
| CurrentConnectionsCount | 개수 | 현재 브로커의 현재 활성 연결 수입니다. | 
| EstablishedConnectionsCount | 개수 | 브로커에 설정되어 있는 활성 및 비활성 상태의 총 연결 수입니다. | 
| HeapUsage | % | 브로커가 현재 사용하는 ActiveMQ JVM 메모리 제한의 비율입니다. | 
| InactiveDurableTopicSubscribersCount | 개수 | 비활성 상태인 영구적인 주제 가입자의 수(최대 2000)입니다. | 
| JobSchedulerStorePercentUsage | % | 작업 스케줄러 스토어에 사용되는 디스크 공간의 백분율입니다. | 
| JournalFilesForFastRecovery | 개수 | 완전한 종료 후 재생될 저널 파일 수입니다. | 
| JournalFilesForFullRecovery | 개수 | 불완전한 종료 후 재생될 저널 파일 수입니다. | 
| MqttMaximumConnections | 개수 | MQTT를 사용하여 브로커에 연결할 수 있는 최대 클라이언트 수입니다. 연결 할당량에 대한 자세한 내용은 [Quotas in Amazon MQ](amazon-mq-limits.md) 섹션을 참조하세요. | 
| NetworkConnectorConnectionCount | 개수 | NetworkConnector를 사용하여 [브로커 네트워크](network-of-brokers.md)의 브로커에 연결된 노드 수입니다. | 
| NetworkIn | 바이트 | 브로커의 수신 트래픽 볼륨입니다. | 
| NetworkOut | 바이트 | 브로커의 발신 트래픽 볼륨입니다. | 
| OpenTransactionCount | 개수 | 진행 중인 총 트랜잭션 수입니다. | 
| OpenwireMaximumConnections | 개수 | OpenWire를 사용하여 브로커에 연결할 수 있는 최대 클라이언트 수입니다. 연결 할당량에 대한 자세한 내용은 [Quotas in Amazon MQ](amazon-mq-limits.md) 섹션을 참조하세요. | 
| StompMaximumConnections | 개수 | STOMP를 사용하여 브로커에 연결할 수 있는 최대 클라이언트 수입니다. 연결 할당량에 대한 자세한 내용은 [Quotas in Amazon MQ](amazon-mq-limits.md) 섹션을 참조하세요. | 
| StorePercentUsage | % | 스토리지 제한에서 사용된 비율입니다. 이 비율이 100에 도달하면 브로커가 메시지를 거부합니다. | 
| TempPercentUsage | % | 비영구 메시지에 사용되는 사용 가능한 임시 스토리지의 백분율입니다. | 
| TotalConsumerCount | 개수 | 현재 브로커의 대상에 구독한 메시지 소비자 수입니다. | 
| TotalMessageCount | 개수 | 브로커에 저장된 메시지 수. | 
| TotalProducerCount | 개수 | 현재 브로커의 대상에 활성화된 메시지 생산자 수입니다. | 
| VolumeReadOps | 개수 | Amazon EBS 볼륨에서 수행된 읽기 작업 수입니다. | 
| VolumeWriteOps | 개수 | Amazon EBS 볼륨에서 수행된 쓰기 작업 수입니다. | 
| WsMaximumConnections | 개수 | WebSocket을 사용하여 브로커에 연결할 수 있는 최대 클라이언트 수입니다. 연결 할당량에 대한 자세한 내용은 [Quotas in Amazon MQ](amazon-mq-limits.md) 섹션을 참조하세요. | 

### ActiveMQ 브로커 지표 차원
<a name="security-logging-monitoring-cloudwatch-dimensions"></a>


| 차원 | 설명 | 
| --- | --- | 
| Broker |  브로커의 이름입니다. 단일 인스턴스 브로커의 접미사는 -1입니다. 고가용성을 위한 활성/대기 브로커의 접미사는 해당 중복 페어인 -1 및 -2입니다.  | 

## ActiveMQ 대상(대기열 및 주제) 지표
<a name="security-logging-monitoring-cloudwatch-destination-metrics"></a>

**중요**  
다음 지표에는 CloudWatch 폴링 기간에 대한 분당 카운트가 포함됩니다.  
`EnqueueCount`
`ExpiredCount`
`DequeueCount`
`DispatchCount`
`InFlightCount`
예를 들어, 5분 [CloudWatch 기간](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#CloudWatchPeriods)에서 `EnqueueCount`에는 각 기간의 1분 부분에 대해 5개의 카운트 값이 있습니다. `Minimum` 및 `Maximum` 통계는 지정된 기간 동안 최저 분당 값과 최고 분당 값을 제공합니다.


| 지표 | 단위 | 설명 | 
| --- | --- | --- | 
| ConsumerCount | 개수 | 대상에 구독한 소비자 수입니다. | 
| EnqueueCount | 개수 | 분당 대상에 전송된 메시지 수입니다. | 
| EnqueueTime | 시간(밀리초) | 메시지가 브로커에 도달하고 소비자에게 전달되는 종단 간 지연 시간입니다. `EnqueueTime`은 생산자가 메시지를 보낼 때부터 메시지가 브로커에 도달 할 때까지 종단 간 대기 시간도, 브로커가 메시지를 수신 할 때부터 브로커에서 메시지를 승인할 때까지 대기 시간도 측정하지 않습니다. 대신 `EnqueueTime`은 브로커가 메시지를 수시한 순간부터 소비자에게 성공적으로 배달될 때까지 시간(밀리초)입니다.  | 
| ExpiredCount | 개수 | 만료되어 전달할 수 없는 분당 메시지 수입니다. | 
| DispatchCount | 개수 | 소비자에게 전송된 분당 메시지 수입니다. | 
| DequeueCount | 개수 | 소비자가 승인한 분당 메시지 수입니다. | 
| InFlightCount | 개수 | 확인되지 않은 소비자에게 보낸 메시지 수. | 
| ReceiveCount | 개수 | 전이중 네트워크 커넥터에 대해 원격 브로커로부터 받은 메시지 수입니다. | 
| MemoryUsage | % | 대상이 현재 사용하는 메모리 제한의 비율(%). | 
| ProducerCount | 개수 | 대상의 생산자 수. | 
| QueueSize | 개수 | 대기열에 있는 메시지의 수입니다. 이 지표는 대기열에만 적용됩니다.  | 
| TotalEnqueueCount | 개수 | 브로커에게 전송된 총 메시지 수입니다. | 
| TotalDequeueCount | 개수 | 클라이언트가 사용한 총 메시지 수입니다. | 

**참고**  
`TotalEnqueueCount` 및 `TotalDequeueCount` 지표에는 자문 주제에 대한 메시지가 포함됩니다. 공지 주제 메시지에 대한 자세한 내용은 [ActiveMQ 설명서](https://activemq.apache.org/advisory-message.html)를 참조하세요.

### ActiveMQ 대상(대기열 및 주제) 지표의 차원
<a name="security-logging-monitoring-cloudwatch-destination-dimensions"></a>


| 차원 | 설명 | 
| --- | --- | 
| Broker |  브로커의 이름입니다.  단일 인스턴스 브로커의 접미사는 `-1`입니다. 고가용성을 위한 활성/대기 브로커의 접미사는 해당 중복 페어인 `-1` 및 `-2`입니다.   | 
| Topic 또는 Queue | 주제 또는 대기열의 이름입니다. | 
| NetworkConnector  | 네트워크 커넥터의 이름입니다. | 

# RabbitMQ용 Amazon MQ 브로커에 사용 가능한 CloudWatch 지표
<a name="rabbitmq-logging-monitoring"></a>

## RabbitMQ 브로커 지표
<a name="security-logging-monitoring-cloudwatch-metrics-rabbitmq"></a>


| 지표 | 단위 | 설명 | 
| --- | --- | --- | 
| ExchangeCount | 개수 | 브로커에 구성된 총 교환 수입니다. | 
| QueueCount | 개수 | 브로커에 구성된 총 대기열 수입니다. | 
| ConnectionCount | 개수 | 브로커에서 설정된 총 연결 수입니다. | 
| ChannelCount | 개수 | 브로커에서 설정된 총 채널 수입니다. | 
| ConsumerCount | 개수 | 브로커에 연결된 총 소비자 수입니다. | 
| MessageCount | 개수 | 대기열에 있는 총 메시지 수입니다. 생성된 수는 브로커에서 준비되어 승인되지 않은 메시지의 총 합계입니다.  | 
| MessageReadyCount | 개수 | 대기열에 있는 준비된 메시지의 총 수입니다. | 
| MessageUnacknowledgedCount | 개수 | 대기열에 있는 승인되지 않은 메시지의 총 수입니다. | 
| PublishRate | 개수 | 메시지가 브로커에 게시되는 비율입니다.생성된 수는 샘플링 시 초당 메시지 수를 나타냅니다.  | 
| ConfirmRate | 개수 | RabbitMQ 서버가 게시된 메시지를 확인하는 비율입니다. 이 지표를 PublishRate와 비교하여 브로커 성능을 보다 잘 파악할 수 있습니다.생성된 수는 샘플링 시 초당 메시지 수를 나타냅니다. | 
| AckRate | 개수 | 소비자가 메시지를 승인하는 비율입니다.생성된 수는 샘플링 시 초당 메시지 수를 나타냅니다. | 
| SystemCpuUtilization | % | 브로커가 현재 사용하는 할당된 Amazon EC2 컴퓨팅 유닛(ECU)의 비율입니다. 클러스터 배포의 경우 이 값은 세 개의 RabbitMQ 노드의 해당 지표 값 모두의 집계를 나타냅니다. | 
| RabbitMQMemLimit | 바이트 | RabbitMQ 브로커의 RAM 한도입니다. 클러스터 배포의 경우 이 값은 세 개의 RabbitMQ 노드의 해당 지표 값 모두의 집계를 나타냅니다. | 
| RabbitMQMemUsed | 바이트 | RabbitMQ 브로커가 사용하는 RAM의 양입니다. 클러스터 배포의 경우 이 값은 세 개의 RabbitMQ 노드의 해당 지표 값 모두의 집계를 나타냅니다. | 
| RabbitMQDiskFreeLimit | 바이트 | RabbitMQ 브로커의 디스크 한도입니다. 클러스터 배포의 경우 이 값은 세 개의 RabbitMQ 노드의 해당 지표 값 모두의 집계를 나타냅니다. 이 지표는 인스턴스 크기에 따라 다릅니다. | 
| RabbitMQDiskFree | 바이트 | RabbitMQ 브로커에서 사용할 수 있는 사용 가능한 디스크 공간의 총 볼륨입니다. 디스크 사용량이 한도를 초과하면 클러스터는 모든 생산자 연결을 차단합니다. 클러스터 배포의 경우 이 값은 세 개의 RabbitMQ 노드의 해당 지표 값 모두의 집계를 나타냅니다. | 
| RabbitMQFdUsed | 개수 | 사용된 파일 설명자 수입니다. 클러스터 배포의 경우 이 값은 세 개의 RabbitMQ 노드의 해당 지표 값 모두의 집계를 나타냅니다. | 
| RabbitMQIOReadAverageTime | 개수 | RabbitMQ가 한 번의 읽기 작업을 수행하는 데 걸리는 평균 시간(밀리초)입니다. 값은 메시지 크기에 비례합니다. | 
| RabbitMQIOWriteAverageTime | 개수 | RabbitMQ가 한 번의 쓰기 작업을 수행하는 데 걸리는 평균 시간(밀리초)입니다. 값은 메시지 크기에 비례합니다. | 

## RabbitMQ 브로커 지표의 차원
<a name="security-logging-monitoring-cloudwatch-dimensions-rabbitmq"></a>


| 차원 | 설명 | 
| --- | --- | 
| Broker |  브로커의 이름입니다.  | 

## RabbitMQ 노드 지표
<a name="security-logging-monitoring-cloudwatch-destination-metrics-rabbitmq"></a>


| 지표 | 단위 | 설명 | 
| --- | --- | --- | 
| SystemCpuUtilization | % | 브로커가 현재 사용하는 할당된 Amazon EC2 컴퓨팅 유닛(ECU)의 비율입니다. | 
| RabbitMQMemLimit | 바이트 | RabbitMQ 노드의 RAM 한도입니다. | 
| RabbitMQMemUsed | 바이트 | RabbitMQ 노드가 사용하는 RAM의 양입니다. 메모리 사용이 한도를 초과하면 클러스터는 모든 생산자 연결을 차단합니다. | 
| RabbitMQDiskFreeLimit | 바이트 | RabbitMQ 노드의 디스크 한도입니다. 이 지표는 인스턴스 크기에 따라 다릅니다. | 
| RabbitMQDiskFree | 바이트 | RabbitMQ 노드에서 사용할 수 있는 사용 가능한 디스크 공간의 총 볼륨입니다. 디스크 사용량이 한도를 초과하면 클러스터는 모든 생산자 연결을 차단합니다. | 
| RabbitMQFdUsed | 개수 | 사용된 파일 설명자 수입니다. | 

## RabbitMQ 노드 지표의 차원
<a name="security-logging-monitoring-cloudwatch-destination-dimensions-rabbitmq"></a>


| 차원 | 설명 | 
| --- | --- | 
| Node | 노드의 이름입니다. 노드 이름은 접두사(일반적으로 `rabbit`) 및 호스트 이름의 두 부분으로 구성됩니다. 예를 들어 `rabbit@ip-10-0-0-230.us-west-2.compute.internal`은 접두사가 `rabbit`이고 호스트 이름이 `ip-10-0-0-230.us-west-2.compute.internal`인 노드 이름입니다.   | 
| Broker |  브로커의 이름입니다.  | 

## RabbitMQ 대기열 지표
<a name="security-logging-monitoring-cloudwatch-queue-metrics-rabbitmq"></a>


| 지표 | 단위 | 설명 | 
| --- | --- | --- | 
| ConsumerCount | 개수 | 대기열을 구독하는 소비자 수입니다. | 
| MessageReadyCount | 개수 | 현재 배달할 수 있는 메시지 수입니다. | 
| MessageUnacknowledgedCount | 개수 | 서버가 승인을 대기 중인 메시지 수입니다. | 
| MessageCount | 개수 | MessageReadyCount 및 MessageUnacknowledgedCount의 총 수(대기열 깊이라고도 함)입니다. | 

## RabbitMQ 대기열 지표의 차원
<a name="security-logging-monitoring-cloudwatch-dimensions-queue-rabbitmq"></a>

**참고**  
RabbitMQ용 Amazon MQ에서는 이름에 공백, 탭 또는 기타 ASCII가 아닌 문자가 포함된 가상 호스트 및 대기열의 지표를 게시할 수 없습니다.  
차원 이름에 대한 자세한 내용은 *Amazon CloudWatch API 참조*의 [차원](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html#API_Dimension_Contents)을 참조하세요.


| 차원 | 설명 | 
| --- | --- | 
| Queue |  대기열의 이름입니다. | 
| VirtualHost | 가상 호스트의 이름입니다. | 
| Broker | 브로커의 이름입니다. | 

## RabbitMQ 네트워크 지표
<a name="security-logging-monitoring-cloudwatch-network-metrics-rabbitmq"></a>


| 지표 | 단위 | 설명 | 
| --- | --- | --- | 
| NetworkOut | 바이트 |  모든 네트워크 인터페이스에서 인스턴스가 보낸 바이트 수입니다. 이 측정치는 단일 인스턴스에서 나가는 네트워크 트래픽의 볼륨을 식별합니다. 보고된 숫자는 해당 기간에 전송된 바이트 수입니다. 기본(5분) 모니터링을 사용하고 통계가 합계인 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링으로 설정되어 있고 통계가 합계인 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 바이트 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 NetworkOut을 `m1`으로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(바이트/초)를 반환합니다. `DIFF_TIME` 및 지표 수학 함수에 대한 자세한 설명은 [지표 수학 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)을 참조하세요. **유용한 통계:** 합계, 평균, 최소, 최대  | 
| NetworkIn | 바이트 |  모든 네트워크 인터페이스에서 인스턴스가 받은 바이트 수입니다. 이 측정치는 단일 인스턴스로 들어오는 네트워크 트래픽의 볼륨을 식별합니다. 보고된 숫자는 해당 기간에 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하고 통계가 합계인 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링으로 설정되어 있고 통계가 합계인 경우 60으로 나눕니다. CloudWatch 지표 수학 함수 `DIFF_TIME`을 사용하여 초당 바이트 수를 찾을 수도 있습니다. 예를 들어 CloudWatch에서 NetworkIn을 `m1`으로 그래프로 표시한 경우 지표 수학 공식 `m1/(DIFF_TIME(m1))`은 지표(바이트/초)를 반환합니다. `DIFF_TIME` 및 지표 수학 함수에 대한 자세한 설명은 [지표 수학 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)을 참조하세요. **유용한 통계:** 합계, 평균, 최소, 최대  | 

## RabbitMQ 브로커 지표의 차원
<a name="security-logging-monitoring-dimensions-rabbitmq"></a>


| 차원 | 설명 | 
| --- | --- | 
| BrokerId | 브로커의 ID | 

## RabbitMQ Amazon MQ 로그 구성
<a name="security-logging-monitoring-rabbitmq"></a>

 RabbitMQ 브로커에 대해 CloudWatch 로깅을 활성화하면 Amazon MQ는 서비스 연결 역할을 사용하여 일반 로그를 CloudWatch에 게시합니다. 브로커를 처음 생성할 때 Amazon MQ 서비스 연결 역할이 없는 경우 Amazon MQ에서 자동으로 생성합니다. 이후의 모든 RabbitMQ 브로커는 동일한 서비스 연결 역할을 사용하여 CloudWatch에 로그를 게시합니다.

 서비스 연결 역할에 대한 자세한 내용은 *AWS Identity and Access Management 사용 설명서*에서 [서비스 연결 역할 사용](https://docs.aws.amazon.com//IAM/latest/UserGuide/using-service-linked-roles.html)을 참조하세요 Amazon MQ가 서비스 연결 역할을 사용하는 방법에 대한 자세한 내용은 [Amazon MQ에 대해 서비스 연결 역할 사용](using-service-linked-roles.md) 단원을 참조하세요.

# 를 사용하여 Amazon MQ API 호출 로깅 AWS CloudTrail
<a name="security-logging-monitoring-cloudtrail"></a>

Amazon MQ는 사용자 AWS CloudTrail, 역할 또는 서비스가 수행하는 Amazon MQ 호출의 레코드를 제공하는 AWS 서비스인와 통합됩니다. CloudTrail은 Amazon MQ 콘솔을 통한 호출과 Amazon MQ API를 통한 코드 호출을 포함하여 Amazon MQ 블로커 및 구성과 관련된 API 호출을 이벤트로 캡처합니다. CloudTrail에 대한 자세한 내용은 *[AWS CloudTrail 사용자 안내서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)*를 참조하세요.

**참고**  
CloudTrail은 ActiveMQ 작업(예: 메시지 송수신) 또는 ActiveMQ 웹 콘솔과 관련된 API 호출은 로깅하지 않습니다. ActiveMQ 작업과 관련된 정보를 로깅하려면 [일반 및 감사 로그를 Amazon CloudWatch Logs에 게시하도록 Amazon MQ를 구성](security-logging-monitoring.md)할 수 있습니다.

CloudTrail에서 수집하는 정보를 사용하여 Amazon MQ API에 대한 특정 요청, 요청자의 IP 주소, 요청자의 자격 증명, 요청의 날짜 및 시간 등을 식별할 수 있습니다. *추적*을 구성하면 CloudTrail 이벤트를 지속적으로 Amazon S3 버킷에 배포할 수 있습니다. 추적을 구성하지 않는 경우 CloudTrail 콘솔의 이벤트 기록에서 최신 이벤트를 볼 수 있습니다. 자세한 내용은 *[AWS CloudTrail 사용 설명서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)*에서 [추적 생성 개요](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)를 참조하세요.

## CloudTrail의 Amazon MQ 정보
<a name="security-logging-monitoring-cloudtrail-info"></a>

 AWS 계정을 생성하면 CloudTrail이 활성화됩니다. 지원되는 Amazon MQ 이벤트 활동이 발생하면 이벤트 기록에 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. AWS 계정에 대한 최신 이벤트를 확인, 검색 및 다운로드할 수 있습니다. 자세한 내용은AWS CloudTrail 사용 설명서에서 [CloudTrail 이벤트 기록을 사용하여 이벤트 보기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)를 참조하세요.

CloudTrail은 추적을 사용하여 Amazon S3 버킷으로 로그 파일을 전송할 수 있습니다. AWS 계정에 이벤트를 지속적으로 기록하는 추적을 생성할 수 있습니다. 기본적으로를 사용하여 추적을 생성하면 추적 AWS Management Console이 모든 AWS 리전에 적용됩니다. 추적은 모든 AWS 리전의 이벤트를 로깅하고 지정된 Amazon S3 버킷으로 로그 파일을 전송합니다. CloudTrail 로그에서 수집된 이벤트 데이터를 추가로 분석하고 처리하도록 다른 AWS 서비스를 구성할 수도 있습니다. 자세한 내용은AWS CloudTrail 사용 설명서**에서 다음 주제를 참조하세요.
+ [CloudTrail 지원 서비스 및 통합](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [CloudTrail에서 Amazon SNS 알림 구성](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [여러 리전에서 CloudTrail 로그 파일 수신](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)
+ [여러 계정에서 CloudTrail 로그 파일 수신](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon MQ는 다음 API에 대한 요청 파라미터와 응답을 CloudTrail 로그 파일에 이벤트로 로깅할 수 있습니다.
+ [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html#rest-api-configurations-methods-post](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html#rest-api-configurations-methods-post)
+ [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker.html#rest-api-broker-methods-delete](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker.html#rest-api-broker-methods-delete)
+ [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-delete](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-delete)
+ [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker-reboot.html#rest-api-broker-reboot-methods-post](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker-reboot.html#rest-api-broker-reboot-methods-post)
+ [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker.html#rest-api-broker-methods-put](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker.html#rest-api-broker-methods-put)

**참고**  
RebootBroker 로그 파일은 브로커를 재부팅할 때 기록됩니다. 유지 관리 기간 중에는 서비스가 자동으로 재부팅되고 RebootBroker 로그 파일은 기록되지 않습니다.

**중요**  
다음 API의 `GET` 방법의 경우 요청 파라미터는 로깅되지만 응답은 수정됩니다.  
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker.html#rest-api-broker-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-broker.html#rest-api-broker-methods-get)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html#rest-api-configuration-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html#rest-api-configuration-methods-get)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revision.html#rest-api-configuration-revision-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revision.html#rest-api-configuration-revision-methods-get)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-get)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-brokers.html#rest-api-brokers-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-brokers.html#rest-api-brokers-methods-get)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revisions.html#rest-api-configuration-revisions-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revisions.html#rest-api-configuration-revisions-methods-get)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html#rest-api-configurations-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html#rest-api-configurations-methods-get)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-users.html#rest-api-users-methods-get](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-users.html#rest-api-users-methods-get)
다음 API의 경우 `data` 및 `password` 요청 파라미터는 별표(`***`)로 숨겨집니다.  
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-brokers.html#rest-api-brokers-methods-post](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-brokers.html#rest-api-brokers-methods-post) (`POST`)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-post](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-post) (`POST`)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html#rest-api-configuration-methods-put](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html#rest-api-configuration-methods-put) (`PUT`)
[https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-put](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-user.html#rest-api-user-methods-put) (`PUT`)

모든 이벤트 또는 로그 항목에는 요청자에 대한 정보가 들어 있습니다. 이 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.
+ 요청이 루트를 통해 이루어졌습니까? 아니면 사용자 자격 증명을 통해 이루어졌습니까?
+ 역할 또는 연합된 사용자에 대한 임시 보안 자격 증명을 사용하여 요청이 이루어졌습니까?
+ 요청이 다른 AWS 서비스에서 이루어졌습니까?

자세한 내용은 *AWS CloudTrail 사용 설명서*의 [CloudTrail userIdentity 요소](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)를 참조하세요.

## Amazon MQ 로그 파일 항목 예
<a name="security-logging-monitoring-cloudtrail-example-log"></a>

*추적*이란 지정한 Amazon S3 버킷에 이벤트를 로그 파일로 전달하도록 허용하는 구성입니다. CloudTrail 로그 파일에는 하나 이상의 로그 항목이 포함될 수 있습니다.

*이벤트*는 특정 소스의 단일 요청을 나타내며 Amazon MQ API에 대한 요청, 요청자의 IP 주소, 요청자의 자격 증명, 요청의 날짜 및 시간 등에 대한 정보를 포함합니다.

다음 예제에서는 [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-brokers.html#rest-api-brokers-methods-post](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-brokers.html#rest-api-brokers-methods-post) API 호출의 CloudTrail 로그 항목을 보여줍니다.

**참고**  
CloudTrail 로그 파일은 퍼블릭 API의 순서가 지정된 스택 추적이 아니므로 특정 순서로 정보를 나열하지 않습니다.

```
{
    "eventVersion": "1.06",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AKIAIOSFODNN7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:user/AmazonMqConsole",
        "accountId": "111122223333",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "userName": "AmazonMqConsole"
    },
    "eventTime": "2018-06-28T22:23:46Z",
    "eventSource": "amazonmq.amazonaws.com",
    "eventName": "CreateBroker",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "203.0.113.0",
    "userAgent": "PostmanRuntime/7.1.5",
    "requestParameters": {
        "engineVersion": "5.15.9",
        "deploymentMode": "ACTIVE_STANDBY_MULTI_AZ",
        "maintenanceWindowStartTime": {
            "dayOfWeek": "THURSDAY",
            "timeOfDay": "22:45",
            "timeZone": "America/Los_Angeles"
        },
        "engineType": "ActiveMQ",
        "hostInstanceType": "mq.m5.large",
        "users": [
            {
                "username": "MyUsername123",
                "password": "***",
                "consoleAccess": true,
                "groups": [
                    "admins",
                    "support"
                ]
            },
            {
                "username": "MyUsername456",
                "password": "***",
                "groups": [
                    "admins"
                ]
            }
        ],
        "creatorRequestId": "1",
        "publiclyAccessible": true,
        "securityGroups": [
            "sg-a1b234cd"
        ],
        "brokerName": "MyBroker",
        "autoMinorVersionUpgrade": false,
        "subnetIds": [
            "subnet-12a3b45c",
            "subnet-67d8e90f"
        ]
    },
    "responseElements": {
        "brokerId": "b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9",
        "brokerArn": "arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9"
    },
    "requestID": "a1b2c345-6d78-90e1-f2g3-4hi56jk7l890",
    "eventID": "a12bcd3e-fg45-67h8-ij90-12k34d5l16mn",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "recipientAccountId": "111122223333"
}
```

# ActiveMQ 로그용 Amazon MQ 구성
<a name="configure-logging-monitoring-activemq"></a>

Amazon MQ가 CloudWatch Logs로 로그를 게시하도록 허용하려면 [Amazon MQ 사용자에게 권한을 추가](#security-logging-monitoring-configure-cloudwatch-permissions)하고 브로커를 생성하거나 다시 시작하기 전에 [Amazon MQ에 대한 리소스 기반 정책도 구성](#security-logging-monitoring-configure-cloudwatch-resource-permissions)해야 합니다.

**참고**  
ActiveMQ 웹 콘솔에서 로그를 켜고 메시지를 게시하면 메시지 내용이 CloudWatch로 전송되고 로그에 표시됩니다.

다음 내용에서는 ActiveMQ 브로커에 대한 CloudWatch Logs를 구성하는 단계를 설명합니다.

**Topics**
+ [CloudWatch Logs에서 로깅의 구조 이해](#security-logging-monitoring-configure-cloudwatch-structure)
+ [Amazon MQ 사용자에게 `CreateLogGroup` 권한 추가](#security-logging-monitoring-configure-cloudwatch-permissions)
+ [Amazon MQ에 대한 리소스 기반 정책 구성](#security-logging-monitoring-configure-cloudwatch-resource-permissions)
+ [교차 서비스 혼동된 대리인 방지](#security-logging-monitoring-configure-cloudwatch-confused-deputy)

## CloudWatch Logs에서 로깅의 구조 이해
<a name="security-logging-monitoring-configure-cloudwatch-structure"></a>

브로커를 생성할 때나 브로커를 편집할 때 고급 브로커 설정을 구성하여 *일반* 및 *감사* 로깅을 활성화할 수 있습니다.

일반 로깅은 기본 `INFO` 로깅 수준(`DEBUG` 로깅이 지원되지 않음)을 활성화하고 `activemq.log`를 CloudWatch 계정의 로그 그룹에 게시합니다. 로그 그룹의 형식은 다음과 같습니다.

```
/aws/amazonmq/broker/b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9/general
```

[감사 로깅](http://activemq.apache.org/audit-logging.html)은 JMX를 사용하거나 ActiveMQ 웹 콘솔을 사용하여 수행된 관리 작업의 로깅을 활성화하고 `audit.log`를 CloudWatch 계정의 로그 그룹에 게시합니다. 로그 그룹의 형식은 다음과 같습니다.

```
/aws/amazonmq/broker/b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9/audit
```

[단일 인스턴스 브로커](amazon-mq-broker-architecture.md#single-broker-deployment)가 있는지 또는 [활성/대기 브로커](amazon-mq-broker-architecture.md#active-standby-broker-deployment)가 있는지에 따라 Amazon MQ는 각 로그 그룹 내에 1개 또는 2개의 로그 스트림을 생성합니다. 로그 스트림의 형식은 다음과 같습니다.

```
activemq-b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.log
                activemq-b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-2.log
```

`-1` 및 `-2` 접미사는 개별 브로커 인스턴스를 나타냅니다. 자세한 내용은 *[Amazon CloudWatch Logs 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*의 [로그 그룹 및 로그 스트림 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)을 참조하세요.

## Amazon MQ 사용자에게 `CreateLogGroup` 권한 추가
<a name="security-logging-monitoring-configure-cloudwatch-permissions"></a>

Amazon MQ가 CloudWatch Logs 로그 그룹을 생성하도록 허용하려면 브로커를 생성하거나 재부팅하는 사용자에게 `logs:CreateLogGroup` 권한이 있는지 확인해야 합니다.

**중요**  
사용자가 브로커를 생성하거나 재부팅하기 전에 `CreateLogGroup` 권한을 Amazon MQ 사용자에게 추가하지 않으면 Amazon MQ가 로그 그룹을 생성하지 않습니다.

다음 [IAM 기반 정책](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#identity-based-policies-cwl) 예제에서는 이 정책이 연결된 사용자에 대해 `logs:CreateLogGroup`에 대한 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
                    "Version":"2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Action": "logs:CreateLogGroup",
                            "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*"
                        }
                    ]
                    }
```

------

**참고**  
여기서, 사용자는 새 브로커를 구성할 때 생성되는 *사용자*를 나타내며 *Amazon MQ 사용자*가 아닙니다. 사용자 설정 및 IAM 정책 구성에 대한 자세한 내용은 IAM 사용 설명서의 [보안 인증 정보 관리 개요](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html) 섹션을 참조하세요.

자세한 내용은 *Amazon CloudWatch Logs API 참조*의 `[CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)` 단원을 참조하세요.

## Amazon MQ에 대한 리소스 기반 정책 구성
<a name="security-logging-monitoring-configure-cloudwatch-resource-permissions"></a>

**중요**  
Amazon MQ에 대한 리소스 기반 정책을 구성하지 않으면 브로커가 CloudWatch Logs에 로그를 게시할 수 없습니다.

Amazon MQ가 CloudWatch Logs 로그 그룹에 로그를 게시하도록 허용하려면 Amazon MQ에 다음 CloudWatch Logs API 작업에 대한 액세스 권한을 부여하도록 리소스 기반 정책을 구성합니다.
+ `[CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)` - 지정된 로그 그룹에 대한 CloudWatch Logs 로그 스트림을 생성합니다.
+ `[PutLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)` - 지정된 CloudWatch Logs 로그 스트림에 이벤트를 전달합니다.

다음 리소스 기반 정책은 `logs:CreateLogStream` 및 `logs:PutLogEvents`에 대한 권한을 부여합니다 AWS.

------
#### [ JSON ]

****  

```
{ 
                            "Version":"2012-10-17",		 	 	  
                            "Statement": [ 
                                {
                                    "Effect": "Allow",
                                    "Principal": { "Service": "mq.amazonaws.com" },
                                    "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ],
                                    "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*"
                                } 
                            ]
                        }
```

------

이 리소스 기반 정책은 다음 명령과 AWS CLI 같이를 사용하여 구성해야 *합니다*. 이 예제에서 `us-east-1`은 사용자 고유의 정보로 바꿉니다.

```
aws --region us-east-1 logs put-resource-policy --policy-name AmazonMQ-logs \
                        --policy-document "{\"Version\": \"2012-10-17\", \"Statement\":[{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"mq.amazonaws.com\" },
                        \"Action\": [\"logs:CreateLogStream\", \"logs:PutLogEvents\"], \"Resource\": \"arn:aws:logs:*:*:log-group:\/aws\/amazonmq\/*\" }]}"
```

**참고**  
이 예제에서는 `/aws/amazonmq/` 접두사를 사용하기 때문에 리전별로 AWS 계정당 한 번만 리소스 기반 정책을 구성해야 합니다.

## 교차 서비스 혼동된 대리인 방지
<a name="security-logging-monitoring-configure-cloudwatch-confused-deputy"></a>

 혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 에서 AWS교차 서비스 가장은 혼동된 대리자 문제를 초래할 수 있습니다. 교차 서비스 가장은 한 서비스(*직접 호출하는 서비스*)가 다른 서비스(*직접 호출되는 서비스*)를 직접 호출할 때 발생할 수 있습니다. 직접 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 AWS 제공합니다.

 Amazon MQ 리소스 기반 정책의 전역 조건 컨텍스트 키인 `[aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)` 및 `[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)`를 사용하여 하나 이상의 지정된 브로커에 대한 CloudWatch Logs 액세스를 제한하는 것이 좋습니다.

**참고**  
 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 `aws:SourceAccount` 값과 `aws:SourceArn` 값의 계정은 동일한 정책 문에서 사용할 경우 동일한 계정 ID를 사용해야 합니다.

 다음 예제에서는 CloudWatch Logs 액세스를 단일 Amazon MQ 브로커로 제한하는 리소스 기반 정책을 보여줍니다.

------
#### [ JSON ]

****  

```
{
                        "Version":"2012-10-17",		 	 	 
                        "Statement": [
                            {
                            "Effect": "Allow",
                            "Principal": {
                                "Service": "mq.amazonaws.com"
                            },
                            "Action": [
                                "logs:CreateLogStream",
                                "logs:PutLogEvents"
                            ],
                            "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*",
                            "Condition": {
                                "StringEquals": {
                                "aws:SourceAccount": "123456789012",
                                "aws:SourceArn": "arn:aws:mq:us-west-1:123456789012:broker:my-broker:123456789012"
                                }
                            }
                            }
                        ]
                        }
```

------

 또한 다음과 같이 계정의 모든 브로커에 대한 CloudWatch Logs 액세스를 제한하도록 리소스 기반 정책을 구성할 수 있습니다.

------
#### [ JSON ]

****  

```
{
                            "Version":"2012-10-17",		 	 	 
                            "Statement": [
                            {
                                "Effect": "Allow",
                                "Principal": {
                                "Service": [
                                    "mq.amazonaws.com"
                                ]
                                },
                                "Action": [
                                "logs:CreateLogStream",
                                "logs:PutLogEvents"
                                ],
                                "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*",
                                "Condition": {
                                "ArnLike": {
                                    "aws:SourceArn": "arn:aws:mq:*:123456789012:broker:*"
                                },
                                "StringEquals": {
                                    "aws:SourceAccount": "123456789012"
                                }
                                }
                            }
                            ]
                        }
```

------

혼동된 대리자 보안 문제에 관한 자세한 내용은 *사용 설명서*의 [혼동된 대리자 문제](https://docs.aws.amazon.com/hIAM/latest/UserGuide/confused-deputy.html)를 참조하세요.

# Amazon MQ로 CloudWatch 로그 구성 문제 해결
<a name="security-logging-monitoring-configure-cloudwatch-troubleshoot"></a>

경우에 따라서는 CloudWatch Logs가 예상한 대로 동작하지 않을 수도 있습니다. 이 단원에서는 일반적인 문제에 대한 개요를 제공하고 해결 방법을 알려줍니다.

## CloudWatch에 로그 그룹이 표시되지 않음
<a name="security-logging-monitoring-configure-cloudwatch-do-not-appear"></a>

[Amazon MQ 사용자에게 `CreateLogGroup` 권한을 추가](configure-logging-monitoring-activemq.md#security-logging-monitoring-configure-cloudwatch-permissions)하고 브로커를 재부팅합니다. 이를 통해 Amazon MQ가 로그 그룹을 생성할 수 있습니다.

## CloudWatch Logs 그룹에 로그 스트림이 표시되지 않음
<a name="security-logging-monitoring-configure-cloudwatch-streams-do-not-appear"></a>

[Amazon MQ에 대한 리소스 기반 정책을 구성](configure-logging-monitoring-activemq.md#security-logging-monitoring-configure-cloudwatch-resource-permissions)합니다. 이를 통해 브로커가 로그를 게시할 수 있습니다.