AWS RoboMaker 문제 해결 - AWS RoboMaker

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

AWS RoboMaker 문제 해결

다음 섹션에서는 AWS RoboMaker 시뮬레이션, IDE 또는 Simulation WorldForge를 사용할 때 발생할 수 있는 오류 및 문제에 대한 문제 해결 조언을 제공합니다. 여기에 나열되지 않은 문제를 발견하는 경우 이 페이지 하단의 피드백 제공 링크를 사용하여 해당 문제를 보고할 수 있습니다.

CloudWatch Logs 콘솔에서 시뮬레이션 작업에 대한 로그를 찾을 수 있습니다. 기본적으로 AWS RoboMaker는 애플리케이션에 대해 생성된 시뮬레이션 작업에 대한 로그를 업로드합니다. streamOutputToCloudWatchTrue로 설정된 경우 도구에도 동일한 동작이 적용됩니다. 시뮬레이션 작업에서 사용자 지정 업로드 구성 추가로 업로드를 구성할 수도 있습니다.

자세한 내용은 AWS RoboMaker의 로깅 및 모니터링 섹션을 참조하세요.

시뮬레이션 작업

문제: 시뮬레이션 작업이 실패했습니다.

아래 질문을 사용하여 근본 원인을 파악한 다음 권장 조치를 취하세요.

Amazon S3 리소스가 AWS RoboMaker와 동일한 리전에 있습니까?

로봇 애플리케이션, 시뮬레이션 애플리케이션 및 출력 위치가 AWS RoboMaker와 동일한 리전에 있어야 합니다. 애플리케이션 소스와 시뮬레이션 작업 출력 위치를 확인합니다.

로봇 애플리케이션이 비정상적으로 종료되었습니까?

시뮬레이션을 위한 로봇 애플리케이션 설정에 문제가 있습니다. Amazon CloudWatch에서 해당 시뮬레이션 작업에 대한 로봇 애플리케이션 로그를 살펴봅니다.

로그에는 시뮬레이션 작업 세부 정보 화면에서 액세스할 수 있습니다. 로그를 선택한 다음 로그 스트림을 선택합니다. 특정 문제를 살펴보려면 필터를 사용합니다. 예: WARNING 또는 ERROR.

애플리케이션에 .so 파일이 없습니까?

애플리케이션이 충돌한 경우 종속 공유 객체(.so) 파일이 없을 수 있습니다. 환경에서 애플리케이션 번들을 추출하고, 필요한 공유 객체 라이브러리가 /usr/lib 또는 /usr/local/lib에 있는지 확인합니다. 패키지 .xml 파일에 종속성이 추가되었는지 확인합니다.

AWS CLI에서 역할의 ARN을 사용했습니까?

AWS CLI에서 create-simulation-job을 호출하는 경우 역할 이름만 사용하는 것이 아니라 역할의 전체 Amazon 리소스 이름(ARN)을 사용합니다.

역할에 AWS RoboMaker에 대한 신뢰 정책이 있습니까?

AWS CLI에서 create-simulation-job을 호출할 때 IAM 역할의 전체 Amazon 리소스 이름(ARN)을 전달하는 경우 신뢰 정책에 충분한 권한이 있어야 합니다. 역할을 확인하여 다음과 같이 robomaker.amazonaws.com과 신뢰 관계가 있는지 확인합니다.

{"Version": "2012-10-17", "Statement": {"Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": {"aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }

조건 키는 AWS 서비스가 서비스간 트랜잭션 중에 혼동된 대리자로 사용되는 것을 방지합니다. 조건 키에 대한 추가 정보는 SourceAccountSourceARN을 참조하세요.

역할 액세스를 확인하고 IAM 역할에 신뢰 정책을 추가하는 방법에 대한 자세한 내용은 역할 수정을 참조하세요.

역할에 Amazon S3에 게시할 수 있는 권한이 있습니까?

시뮬레이션 작업에 대한 출력 Amazon S3 버킷을 지정한 경우 역할에는 버킷에 대한 쓰기 권한이 있어야 합니다. 쓰기 권한을 포함하도록 신뢰 정책을 업데이트합니다. 다음은 Amazon S3 버킷에 대한 읽기, 나열 및 쓰기 권한을 추가하는 신뢰 정책 예시입니다.

{"Action": "s3:ListBucket", "Resource": [ "my-bucket/*" ], "Effect": "Allow" },{"Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "my-bucket/*" ], "Effect": "Allow" },{"Action": "s3:Put*", "Resource": [ "my-bucket/*" ], "Effect": "Allow" }

역할에 CloudWatch에 게시할 수 있는 권한이 있습니까?

CloudWatch 액세스 권한으로 IAM 역할의 권한 정책을 업데이트합니다.

{"Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "*" }

애플리케이션에 일치하지 않는 엔터티 태그가 있습니까?

엔터티 태그(ETag)는 시뮬레이션 생성 중 제공되는 Amazon S3 객체의 해시입니다. ETag는 객체의 콘텐츠에 대한 변경 사항만 반영하고 메타데이터에 대한 변경을 반영하지 않습니다. AWS RoboMaker에서 사용하기 전에 Amazon S3에서 로봇 애플리케이션 또는 시뮬레이션 번들의 내용을 변경하면 버전 불일치가 발생합니다.

이 문제를 해결하려면 새 로봇 애플리케이션 또는 시뮬레이션 애플리케이션 버전을 생성하고 업데이트된 애플리케이션 번들에 대해 키 위치를 제공합니다. 자세한 내용은 로봇 애플리케이션 버전 생성 또는 시뮬레이션 애플리케이션 버전 생성 섹션을 참조하세요.

서브넷 탄력적 네트워크 인터페이스(ENI)에 대한 제한이 초과되었습니까?

AWS RoboMaker는 시뮬레이션 작업이 실행되는 서브넷에서 동시 시뮬레이션 작업당 ENI를 하나 사용합니다. 이들 각 작업에는 IP 주소가 할당되어 있어야 합니다. 이 문제는 다음과 같은 방법으로 해결할 수 있습니다.

사용하지 않는 ENI를 삭제해 서브넷에서 IP 주소를 확보합니다. 사용하지 않는 ENI를 삭제하려면 네트워크 인터페이스 삭제를 참조하세요.

AWS Management Console을 사용하여 특정 AWS 리전의 ENI에 대한 서비스 한도 증가를 요청합니다.

시작 명령이 적절하게 구성되어 있습니까?

시뮬레이션이 복잡하거나 컨테이너 이미지가 큰 경우 시뮬레이션 작업을 시작하는 데 몇 분 정도 걸릴 수 있습니다. AWS RoboMaker에서 시뮬레이션 작업을 준비하는 데 25분 이상 걸리는 경우 시작 명령과 관련된 문제가 있을 수 있습니다. 작업을 취소한 다음 새로운 시뮬레이션 작업을 생성하세요. 문제가 지속될 경우 AWS 지원에 문의하세요.

CloudWatch Logs를 사용하여 시뮬레이션 및 로봇 애플리케이션 실행 로그에 오류가 있는지 확인할 수 있습니다. 또한 사용자 지정된 터미널 도구를 추가하여 실행 중인 시뮬레이션 작업을 연결하고 문제를 해결할 수 있습니다.

서브넷이 AWS RoboMaker에서 지원하는 영역 내에 있습니까?

AWS RoboMaker에서 지원하는 AWS 가용 영역 두 곳에 서브넷을 제공합니다. API 응답에는 지원되는 AWS 가용 영역 목록이 포함됩니다.

월드 파일 모델 참조가 올바릅니까?

CloudWatch Log를 사용하여 월드 파일의 모든 모델이 올바른지 확인합니다. 모델을 찾을 수 없는 경우 다음과 같은 오류가 나타납니다.

[Wrn] [ModelDatabase.cc:340] Getting models from[http://models.gazebosim.org/]. This may take a few seconds. [Wrn] [ModelDatabase.cc:212] Unable to connect to model database using [http://models.gazebosim.org//database.config]. Only locally installed models will be available. [Err] [ModelDatabase.cc:414] Unable to download model[model://model_name] [Err] [SystemPaths.cc:429] File or path does not exist[""] Error [parser.cc:581] Unable to find uri[model://model_name]

Simulation WorldForge

문제: 월드 생성 작업이 실패했습니다.

월드 생성 작업이 완료되지 않았다면, 월드 수(floorplanCount * interiorCountPerFloorplan)가 1보다 크고 50보다 작은지 확인합니다.

문제: 월드 내보내기 작업이 실패한 이유는 무엇입니까?

아래 질문을 사용하여 근본 원인을 파악한 다음 권장 조치를 취하세요.

AWS RoboMaker에 대한 신뢰 정책이 있습니까?

AWS CLI에서 create-world-export-job을 호출할 때 IAM 역할의 전체 Amazon 리소스 이름(ARN)을 전달하는 경우 신뢰 정책에 충분한 권한이 있어야 합니다. 역할을 확인하여 다음과 같이 robomaker.amazonaws.com과 신뢰 관계가 있는지 확인합니다.

{"Version": "2012-10-17", "Statement": {"Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": {"aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }

조건 키는 AWS 서비스가 서비스간 트랜잭션 중에 혼동된 대리자로 사용되는 것을 방지합니다. 조건 키에 대한 추가 정보는 SourceAccountSourceARN을 참조하세요.

역할에 Amazon S3에 게시할 수 있는 권한이 있습니까?

내보내기 작업에 대한 출력 Amazon S3 버킷을 지정한 경우 역할에는 버킷에 대한 권한이 있어야 합니다. 다음 권한을 포함하도록 신뢰 정책을 업데이트합니다.

{"Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": "my-bucket" }

내보내기 작업에 지정된 버킷을 수정하거나 제거했습니까?

내보내기 작업 중에 버킷을 업데이트하면 내보내기 작업에서 ResourceNotFound 오류가 발생할 수 있습니다.

문제: 월드 이미지에 문제가 있습니다.

아래 질문을 사용하여 근본 원인을 파악한 다음 권장 조치를 취하세요.

출입구에 문이 없는 이유는 무엇입니까?

버전 2 이상의 템플릿을 사용해서만 문을 추가할 수 있습니다. 버전 1 템플릿을 최신 버전으로 업데이트할 수 있습니다. 자세한 내용은 시뮬레이션 월드 템플릿 버전, 기능 및 변경 사항 섹션을 참조하세요.

AWS RoboMaker Simulation WorldForge는 고유하고 무작위적인 월드를 생성하기 때문에 사용자가 지정한 문 구성은 월드 생성 시 월드에 존재하지 않을 수도 있습니다. 예를 들어 템플릿에서 거실과 주방 사이에 문을 지정해도 해당 방 사이에 개방된 벽이 있을 수 있습니다. 출입구 대신 개방된 벽이 있기 때문에 문을 추가할 수 없습니다.

왜 문이 방 입구를 막습니까?

문이 방 입구를 막고 있는 경우 로봇을 테스트하는 데에 사용할 수 있습니다. 로봇이 이러한 문제를 겪지 않는 월드를 만들려면 다음 중 하나를 수행할 수 있습니다.

월드 템플릿으로 다른 월드를 생성합니다. 새로운 월드에서 생성된 문이 입구를 막지 않을 수도 있습니다.

월드 템플릿에서 문의 개방 비율을 변경합니다.

월드 이미지의 벽이 시뮬레이션 작업이나 내보내기된 월드의 벽보다 짧은 이유는 무엇입니까?

AWS RoboMaker를 사용하면 월드 이미지에서 벽이 잘려 벽에 가려지지 않고 Simulation WorldForge 월드를 볼 수 있습니다. 벽의 높이는 사용자가 만드는 월드의 월드 템플릿에서 지정한 높이와 같습니다.

버전 2 이상의 템플릿으로 생성된 월드의 경우 월드 이미지에서 문 모델이 잘리지 않습니다. 월드 이미지의 문 높이는 사용자가 만든 월드의 문 높이와 같습니다.