지원 종료 알림: 2025년 12월 15일에 AWS 에 대한 지원이 종료됩니다 AWS IoT 분석. 2025년 12월 15일 이후에는 AWS IoT 분석 콘솔 또는 AWS IoT 분석 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은 AWS IoT 분석 지원 종료를 참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
문제 해결 AWS IoT 분석
오류를 해결하고 문제를 해결할 수 있는 및 가능한 해결 방법을 찾으려면 다음 섹션을 참조하세요 AWS IoT 분석.
항목
제 메시지가 AWS IoT 분석로 들어가고 있는지 어떻게 알 수 있습니까?
규칙 엔진을 통해 채널에 데이터를 주입하게 되어 있는 규칙이 제대로 구성되었는지 확인하십시오.
aws iot get-topic-rule --rule-nameyour-rule-name
응답은 다음과 같아야 합니다.
{ "ruleArn": "arn:aws:iot:us-west-2:your-account-id:rule/your-rule-name", "rule": { "awsIotSqlVersion": "2016-03-23", "sql": "SELECT * FROM 'iot/your-rule-name'", "ruleDisabled": false, "actions": [ { "iotAnalytics": { "channelArn": "arn:aws:iotanalytics:region:your_account_id:channel/your-channel-name" } } ], "ruleName": "your-rule-name" } }
규칙에 사용된 리전과 채널 이름이 올바른지 확인합니다. 데이터가 규칙 엔진으로 전송되고 규칙이 제대로 실행되는지 확인하기 위해, 새로운 대상을 추가하여 들어오는 메시지가 일시적으로 Amazon S3 버킷에 저장되도록 할 수 있습니다.
제 파이프라인에서 메시지가 사라지는 이유는 무엇입니까? 어떻게 해결해야 합니까?
-
잘못된 JSON 입력이 활동에 수신되었습니다.
Lambda 활동을 제외한 모든 활동에는 특히 유효한 JSON 문자열이 입력값으로 필요합니다. 활동에 수신된 JSON이 유효하지 않다면 해당 메시지는 삭제되고 데이터 스토어로 전달되지 않습니다. 올바른 JSON을 받아서 서비스에 입력해야 합니다. 이진수 입력인 경우, 이진수 데이터를 유효한 JSON으로 변환하고 이를 다음 활동으로 보내거나 데이터 스토어에 저장하는 Lambda 활동이 파이프라인의 첫 번째 활동이 되어야 합니다. 자세한 내용은 Lambda 함수 예제 2를 참조하십시오.
-
Lambda 활동으로 간접 호출된 Lambda 함수에 권한이 부족합니다.
Lambda 활동의 각 Lambda 함수에 AWS IoT 분석 서비스에서 호출할 권한이 있는지 확인합니다. 다음 AWS CLI 명령을 사용하여 권한을 부여할 수 있습니다.
aws lambda add-permission --function-name <name> --region <region> --statement-id <id> --principal iotanalytics.amazonaws.com --action lambda:InvokeFunction -
필터 또는 removeAttribute 활동이 잘못 정의되었습니다.
filter또는removeAttribute활동의 정의가 올바른지 확인하십시오. 메시지를 필터링하거나 메시지의 속성을 모두 제거하면 그 메시지는 데이터 스토어에 추가되지 않습니다.
제 데이터 스토어에 데이터가 없는 이유는 무엇입니까?
-
데이터 수집 시점과 데이터 가용 시점 사이에 지연 시간이 있습니다.
데이터가 채널에 수집된 뒤 데이터 스토어에서 그 데이터를 사용할 수 있게 되기까지 몇 분이 걸릴 수 있습니다. 이 지연 시간은 파이프라인 활동의 수와 파이프라인에서 이루어지는 사용자 지정 Lambda 활동의 정의에 따라 달라집니다.
-
파이프라인에서 메시지가 필터링되고 있습니다.
파이프라인에서 메시지가 누락되지 않도록 하십시오. (이전의 질문과 답변을 참조하십시오.)
-
데이터 세트 쿼리가 잘못되었습니다.
데이터 스토어에서 데이터 세트를 생성하는 쿼리가 올바른지 확인하십시오. 불필요한 필터는 쿼리에서 제거하여 데이터가 데이터 스토어에 전달되도록 합니다.
데이터 세트에 왜 __dt이 표시되나요?
-
이 열은 서비스에서 자동으로 추가한 것이며, 데이터의 수집 시간이 근사값으로 나와 있습니다. 이를 통해 쿼리를 최적화할 수 있습니다. 데이터 세트에 이것밖에 들어 있지 않다면 이전의 질문과 답변을 참조하십시오.
데이터 세트 완료에 따라 실행되는 이벤트를 코딩하려면 어떻게 해야 합니까?
-
describe-dataset명령을 토대로 폴링을 설정하여 특정한 타임스탬프의 데이터 세트 상태가 성공인지 확인해야 합니다.
AWS IoT 분석를 사용하도록 노트북 인스턴스를 올바르게 구성하려면 어떻게 해야 합니까?
노트북 인스턴스를 만들 때 사용한 IAM 역할에 필요한 권한이 있는지 다음 단계에 따라 확인하십시오.
-
SageMaker AI 콘솔로 이동하여 노트북 인스턴스를 생성합니다.
-
세부 정보를 입력하고 새 역할 생성을 선택합니다. 역할 ARN을 기록해 둡니다.
-
노트북 인스턴스를 생성합니다. 이렇게 하면 SageMaker AI가 사용할 수 있는 역할도 생성됩니다.
-
IAM 콘솔로 이동하여 새로 생성된 SageMaker AI 역할을 수정합니다. 이 역할을 열면 관리형 정책이 있어야 합니다.
-
인라인 정책 추가를 클릭하고 서비스로 IoTAnalytics를 선택한 다음, 읽기 권한에서 GetDatasetContent를 선택합니다.
-
정책을 검토하고 정책 이름을 추가한 다음 생성합니다. 이제 새로 생성된 역할에 데이터 세트를 읽을 수 있는 정책 권한이 있습니다 AWS IoT 분석.
-
AWS IoT 분석 콘솔로 이동하여 노트북 인스턴스에서 노트북을 생성합니다.
-
노트북 인스턴스가 "In Service" 상태가 되기를 기다립니다.
-
노트북 생성을 선택하고 생성된 노트북 인스턴스를 선택합니다. 이렇게 하면 데이터 세트에 액세스할 수 있는 Jupyter Notebook이 선택한 템플릿으로 생성됩니다.
인스턴스에 노트북이 생성되지 않는 이유는 무엇입니까?
-
올바른 IAM 정책으로 노트북 인스턴스를 만들어야 합니다. (이전 질문의 단계에 따르십시오.)
-
노트북 인스턴스가 "In Service" 상태인지 확인합니다. 인스턴스를 생성할 때는 "Pending" 상태로 시작합니다. "In Service" 상태가 되기까지는 보통 5분 정도 걸립니다. 약 5분 후 노트북 인스턴스가 "Failed" 상태가 되면 권한을 다시 확인하십시오.
Quick Suite에서 데이터 세트를 볼 수 없는 이유는 무엇인가요?
Quick Suite에는 AWS IoT 분석 데이터 세트 콘텐츠를 읽을 수 있는 권한이 필요할 수 있습니다. 권한을 부여하려면 다음 단계를 수행합니다.
-
Quick Suite의 오른쪽 상단 모서리에서 계정 이름을 선택하고 QuickSight 관리를 선택합니다.
-
왼쪽 탐색 창에서 보안 & 권한을 선택합니다. QuickSight access to AWS services에서 AWS IoT 분석에 액세스 권한이 부여되었는지 확인합니다.
-
AWS IoT 분석 에 액세스 권한이 없는 경우 추가 또는 제거를 선택합니다.
-
AWS IoT 분석 옆에 있는 상자를 선택한 다음 업데이트를 선택합니다. 이렇게 하면 Quick Suite에 데이터 세트 콘텐츠를 읽을 수 있는 권한이 부여됩니다.
-
-
데이터를 다시 시각화합니다.
AWS IoT 분석 및 Quick Suite 모두에 대해 동일한 AWS 리전을 선택해야 합니다. 그렇지 않으면 AWS 리소스에 액세스하는 데 문제가 있을 수 있습니다. 지원되는 리전 목록은 AWS IoT 분석 의 엔드포인트 및 할당량과 Quick Suite 엔드포인트 및 할당량을 참조하세요Amazon Web Services 일반 참조.
기존 Jupyter Notebook에서 컨테이너화 버튼을 볼 수 없는 이유가 무엇입니까?
-
이는 AWS IoT 분석 컨테이너화 플러그인 누락으로 인해 발생합니다. 2018년 8월 23일 이전에 SageMaker 노트북 인스턴스를 생성한 경우, 노트북 컨테이너화에 있는 지침에 따라 수동으로 플러그인을 설치해야 합니다.
-
AWS IoT 분석 콘솔에서 SageMaker 노트북 인스턴스를 생성하거나 수동으로 설치한 후 컨테이너화 버튼이 표시되지 않으면 AWS IoT 분석 기술 지원에 문의하세요.
컨테이너화 플러그인 설치가 실패하는 이유가 무엇입니까?
-
일반적으로 SageMaker 노트북 인스턴스에 권한이 누락되어 있어 플러그인 설치가 실패합니다. 노트북 인스턴스의 필수 권한은 권한을 참조하고, 노트북 인스턴스 역할의 필수 권한을 추가하십시오. 문제가 지속되면 AWS IoT 분석 콘솔에서 새 노트북 인스턴스를 생성합니다.
-
플러그인 설치 동안 로그에 "노트북(또는 다른 앱)을 로드할 때마다 브라우저에서 이 확장을 초기화"라는 메시지가 표시되는 경우 이를 무시할 수 있습니다.
컨테이너화 플러그인에 오류가 발생하는 이유가 무엇입니까?
-
여러 이유에서 컨테이너화가 실패해 오류가 발생할 수 있습니다. 노트북을 컨테이너화하기 전에 올바른 커널을 사용 중인지 확인하십시오. 컨테이너화된 커널은 "Containerized"라는 접두사로 시작됩니다.
-
플러그인이 ECR 리포지토리에 도커 이미지를 생성해 저장한 후, 노트북 인스턴스 역할에 ECR 리포지토리를 읽고, 열거하고, 생성할 충분한 권한이 있는지 확인합니다. 노트북 인스턴스의 필수 권한은 권한을 참조하고, 노트북 인스턴스 역할의 필수 권한을 추가하십시오.
-
또 리포지토리 이름이 ECR 요구 사항을 준수하는지 확인하십시오. ECR 리포지토리 이름은 문자로 시작해야 하고, 소문자와 숫자, 하이픈, 밑줄, 슬래시(/)만 포함할 수 있습니다.
-
컨테이너화 프로세스가 "이 인스턴스에는 컨테이너화를 실행시킬 여유 공간이 부족합니다."라는 오류와 함께 실패할 경우, 이 문제를 해결하기 위해 더 큰 인스턴스 사용을 시도합니다.
-
연결 오류나 이미지 생성 오류가 발생할 경우 다시 시도하십시오. 문제가 계속될 경우 인스턴스를 다시 시작해서 최신 플러그인 버전을 설치합니다.
컨테이너화 동안 변수를 볼 수 없는 이유가 무엇입니까?
-
AWS IoT 분석 컨테이너화 플러그인은 “컨테이너화된” 커널을 사용하여 노트북을 실행한 후 노트북의 모든 변수를 자동으로 인식합니다. 컨테이너화된 커널 중 하나를 사용해 노트북을 실행한 후 컨테이너화를 수행하십시오.
내 컨테이너에 입력으로 추가할 수 있는 변수는 무엇입니까?
-
실행 시간 동안 수정하려는 값을 가진 모든 변수를 컨테이너에 입력으로 추가할 수 있습니다. 이렇게 하면, 데이터 세트 생성 시 제공해야 하는 여러 파라미터로 동일한 컨테이너를 실행할 수 있습니다. AWS IoT 분석 컨테이너화 Jupyter 플러그인은 노트북의 변수를 자동으로 인식하고 컨테이너화 프로세스의 일부로 사용할 수 있도록 하여이 프로세스를 간소화합니다.
컨테이너 출력을 이후에 분석을 위해 입력으로 설정하는 방법은 무엇입니까?
-
컨테이너 데이터 세트를 실행할 때마다 실행된 아티팩트를 저장할 수 있는 특정 S3 위치가 생성됩니다. 이 출력 위치에 액세스하려면 컨테이너 데이터 세트에
outputFileUriValue를 입력해 변수를 생성하십시오. 이 변수 값은 추가 출력 파일을 저장할 떄 사용할 S3 경로여야 합니다. 이후 실행에서 저장한 아티팩트에 액세스하려면getDatasetContentAPI 코드를 사용하여 이후 실행에 필요한 올바른 출력 파일을 선택합니다.
컨테이너 데이터 세트가 실패하는 이유가 무엇입니까?
-
컨테이너 데이터 세트에 올바른
executionRole을 전달했는지 확인하십시오.executionRole의 신뢰 정책에는iotanalytics.amazonaws.com및sagemaker.amazonaws.com가 모두 포함되어야 합니다. -
실패 이유가
AlgorithmError인 경우, 컨테이너 코드를 수동으로 디버깅하십시오. 컨테이너 코드에 버그가 있거나, 실행 역할에 컨테이너를 실행할 권한이 없을 때 발생하는 문제입니다. AWS IoT 분석 Jupyter 플러그인을 사용해 컨테이너화한 경우, containerDataset의 executionRole과 동일한 역할로 새 SageMaker 노트북 인스턴스를 생성한 후 수동으로 노트북을 실행합니다. Jupyter 플러그인 밖에서 컨테이너를 생성한 경우, 수동으로 코드를 실행하고 권한을 executionRole로 제한합니다.