Amazon CloudWatch Logs를 사용한 모니터링 - AWS IoT Analytics

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

Amazon CloudWatch Logs를 사용한 모니터링

AWS IoT Analytics는 Amazon CloudWatch를 사용한 로깅을 지원합니다. PutLoggingOptions API 작업을 사용하여 AWS IoT Analytics에 대한 Amazon CloudWatch 로깅을 활성화하고 구성할 수 있습니다. 이 섹션에서는 AWS Identity and Access Management(IAM)으로 PutLoggingOptions을 사용하여 AWS IoT Analytics에 대한 Amazon CloudWatch 로깅을 구성하고 활성화하는 방법을 설명합니다.

CloudWatch Logs에 대한 자세한 내용은 Amazon CloudWatch Logs User Guide를 참조하세요. AWSIAM에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서를 참조하세요.

참고

AWS IoT Analytics 로깅을 활성화하기 전에 CloudWatch Logs 액세스 권한을 이해해야 합니다. CloudWatch 로그 액세스 권한이 있는 사용자는 디버깅 정보를 볼 수 있습니다. 자세한 내용은 Amazon CloudWatch Logs에 대한 인증 및 액세스 제어 단원을 참조하세요.

IAM 역할을 생성하여 로깅을 활성화합니다.

Amazon CloudWatch에 대한 로깅을 활성화하기 위한 IAM 역할을 만들려면

  1. AWS IAM 콘솔 또는 다음 AWS IAM CLI 명령인 CreateRole을 사용하여 신뢰 관계 정책(신뢰 정책)으로 새 IAM 역할을 생성합니다. 신뢰 정책은 Amazon CloudWatch와 같은 엔터티에 해당 역할을 수임할 권한을 부여합니다.

    aws iam create-role --role-name exampleRoleName --assume-role-policy-document exampleTrustPolicy.json

    exampleTrustPolicy.json 파일에는 다음 콘텐츠가 포함되어 있습니다.

    참고

    이 예에는 혼동된 대리인 보안 문제로부터 보호하기 위한 전역 조건 컨텍스트 키가 포함되어 있습니다. 123456789012를 AWS 계정 ID로 바꾸고, aws-region은 AWS 리소스의 AWS 리전으로 바꿉니다. 자세한 내용은 교차 서비스 혼동된 대리자 예방 섹션을 참조하세요.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotanalytics.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotanalytics:aws-region:123456789012:*" } } } ] }

    나중에 AWS IoT Analytics PutLoggingOptions 명령을 호출할 때 이 역할의 ARN을 사용합니다.

  2. AWS IAM PutRolePolicy를 사용하여 1단계에서 생성한 역할에 권한 정책(role policy)을 연결합니다.

    aws iam put-role-policy --role-name exampleRoleName --policy-name examplePolicyName --policy-document exampleRolePolicy.json

    exampleRolePolicy.json 파일에는 다음과 같은 내용이 포함되어 있습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  3. Amazon CloudWatch에 로깅 이벤트를 추가할 수 있는 AWS IoT Analytics 권한을 부여하려면 Amazon CloudWatch 명령 PutResourcePolicy를 사용합니다.

    참고

    혼동된 대리자 보안 문제를 방지하려면 리소스 정책에 aws:SourceArn을 지정하는 것이 좋습니다. 이렇게 하면 지정된 계정에서 오는 요청만 허용하도록 액세스가 제한됩니다. 혼동된 대리자 문제에 관한 자세한 내용은 교차 서비스 혼동된 대리자 예방를 참조하세요.

    aws logs put-resource-policy --policy-in-json exampleResourcePolicy.json

    exampleResourcePolicy.json 파일에는 다음 리소스 정책이 포함됩니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotanalytics.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": "*", "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:iotanalytics:us-east-1:123456789012:*/*" }, "StringEquals":{ "aws:SourceAccount":"123456789012" } } ] }

로깅 구성 및 활성화

PutLoggingOptions 명령을 사용하여 AWS IoT Analytics에 대한 Amazon CloudWatch 로깅을 구성 및 활성화합니다. loggingOptions 필드의 roleArn은 이전 섹션에서 생성이 완료된 역할의 ARN이어야 합니다. 또한 DecribeLoggingOptions 명령을 사용하여 로깅 옵션 설정을 점검할 수 있습니다.

PutLoggingOptions

AWS IoT Analytics 로깅 옵션을 설정하거나 업데이트합니다. loggingOptions 필드 값을 업데이트한 경우 변경 사항이 적용되기까지 최대 1분이 소요될 수 있습니다. 또한 roleArn 필드에서 지정한 역할에 연결된 정책을 변경하는 경우(예: 잘못된 정책 수정), 변경 사항이 적용되기까지 최대 5분이 소요될 수 있습니다. 자세한 내용은 PutLoggingOptions 섹션을 참조하세요.

DescribeLoggingOptions

AWS IoT Analytics 로깅 옵션의 현재 설정을 가져옵니다. 자세한 정보는 DescribeLoggingOptions 섹션을 참조하세요.

네임스페이스, 지표 및 측정기준

AWS IoT Analytics는 다음 지표들을 Amazon CloudWatch 리포지토리에 제공합니다.

네임스페이스

AWS/IoTAnalytics

지표 설명

ActionExecution

실행된 작업의 수입니다.

ActionExecutionThrottled

제한된 작업 수.

ActivityExecutionError

파이프라인 활동을 실행하는 동안 생성된 오류의 수입니다.

IncomingMessages

채널로 들어오는 메시지의 수입니다.

PipelineConcurrentExecutionCount

동시에 실행된 파이프라인 활동 수.

차원 설명

ActionType

모니터링하는 작업의 유형입니다.

ChannelName

모니터링하는 채널의 이름입니다.

DatasetName

모니터링하는 데이터 세트의 이름입니다.

DatastoreName

모니터링하는 데이터 스토어의 이름입니다.

PipelineActivityName

모니터링하는 파이프라인 활동의 이름입니다.

PipelineActivityType

모니터링하는 파이프라인 활동의 유형입니다.

PipelineName

모니터링하는 파이프라인의 이름입니다.