시뮬레이션 로깅 - AWS RoboMaker

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

시뮬레이션 로깅

시뮬레이션 작업에서 출력 파일 및 기타 아티팩트를 캡처하기 위해 사용자 지정 업로드를 구성할 수 있습니다. 로봇 애플리케이션과 시뮬레이션 애플리케이션에 대한 사용자 지정 업로드를 구성할 수 있습니다. 사용자 지정 업로드를 구성하면 지정한 파일이 시뮬레이션 작업에서 사용자가 제공한 Amazon S3 시뮬레이션 출력 위치로 업로드됩니다. 이는 시뮬레이션 실행 중에 생성된 애플리케이션 출력을 검토 또는 분석하거나 아티팩트를 재사용하려는 경우에 유용할 수 있습니다.

사용자 지정 업로드를 구성하려면 먼저 시뮬레이션 작업을 위한 Amazon S3 출력 대상을 제공해야 합니다. AWS RoboMaker은 사용자가 지정한 이름을 사용하여 일치하는 파일을 폴더에 업로드합니다. 일치하는 파일은 모든 시뮬레이션 작업 도구가 종료될 때 업로드되거나 생성된 후 제거되면 업로드될 수 있습니다.

기본 업로드 구성은 비활성화되지 않는 한 사용자 지정 업로드 구성에 자동으로 추가됩니다. 기본 업로드 구성은 ROS 및 Gazebo 기본 로깅 출력을 업로드합니다. 이렇게 하면 ROS 및 Gazebo 기본 로깅 출력을 업로드한 이전 시뮬레이션 작업 출력 구성과의 호환성이 유지됩니다. 콘솔에서 시뮬레이션 작업을 구성할 때 기본 업로드 구성을 비활성화할 수 있습니다. CreateSimulationJob API에서 useDefaultUploadConfigurationsfalse로 설정하여 비활성화할 수도 있습니다.

시뮬레이션 애플리케이션은 단일 128GB 파티션에 추가되며 사용자는 파티션에 대한 쓰기 권한을 가집니다.

사용자 지정 업로드 구성 추가

사용자 지정 업로드 구성을 생성하려면 Amazon S3에서 파일이 업로드되는 위치를 지정하는 이름 접두사, 업로드할 파일을 지정하는 Unix 글로브 경로, 파일 업로드 시기를 지정하는 업로드 동작을 지정해야 합니다.

이름

이름은 Amazon S3에 파일이 업로드되는 방식을 지정하는 접두사입니다. 최종 경로를 결정하기 위해 시뮬레이션 출력 위치에 추가됩니다.

예를 들어 시뮬레이션 출력 위치가 s3://my-bucket이고 업로드 구성 이름이 robot-test인 경우 파일이 s3://my-bucket/<simid>/<runid>/robot-test에 업로드됩니다.

경로

경로는 업로드할 파일을 지정합니다. 표준 Unix 글로브 일치 규칙은 다음 조건에 따라 허용됩니다.

  • 경로는 /home/robomaker/ 또는 /var/log로 시작해야 합니다.

  • 경로에는 역방향 경로 표현식(/..)이 포함되어서는 안 됩니다.

  • 심볼릭 링크는 따르지 않습니다.

  • 경로에서 **슈퍼 별표로 사용할 수 있습니다. 예를 들어 /var/log/**.log를 지정하면 /var/log 디렉터리 트리의 모든 .log 파일이 수집됩니다.

    표준 별표를 표준 와일드카드로 사용할 수도 있습니다. 예를 들어, /var/log/system.log*/var/log에서 system.log_1111, system.log_2222 등의 파일과 일치합니다.

업로드 동작

다음 업로드 동작 중 한 가지를 선택할 수 있습니다.

  • 종료 시 업로드(UPLOAD_ON_TERMINATE)는 시뮬레이션 작업이 종료 상태로 전환되면 경로와 일치하는 모든 파일을 업로드합니다. AWS RoboMaker은 최대 60분 동안 로그 업로드를 시도합니다.

    AWS RoboMaker은 시뮬레이션에서 실행 중인 모든 도구가 중지될 때까지 파일 업로드를 시작하지 않습니다.

  • 자동 제거를 통한 업로드 롤링(UPLOAD_ROLLING_AUTO_REMOVE)은 생성된 경로와 일치하는 모든 파일을 업로드합니다. 경로는 5초마다 확인됩니다. 파일이 업로드되면 소스 파일이 삭제됩니다. 파일이 삭제된 후 같은 이름의 새 파일이 생성되면 이전에 업로드한 파일을 대체합니다. AWS RoboMaker은 시뮬레이션에서 실행 중인 모든 애플리케이션이 중지되면 파일에 대한 최종 확인을 수행합니다.

    자동 제거를 통한 업로드 롤링은 롤링 로그를 업로드하는 데 유용합니다. 경로 글로브에 포함되지 않는 “활성” 파일에 출력을 쓰거나 스트리밍합니다. 활성 파일에 기록이 끝나면 파일을 경로 글로브에 포함된 위치로 롤링하여 업로드 및 제거합니다.

    이 설정은 시뮬레이션 작업의 스페이스를 절약하는 데 도움이 될 수 있습니다. 시뮬레이션 작업을 종료하기 전에 파일에 액세스하는 데에도 도움이 될 수 있습니다.

시뮬레이션 작업 파티션 크기는 128gb입니다. 어떤 이유로든 시뮬레이션 작업이 종료되면 AWS RoboMaker은 사용자 지정 업로드 구성에 지정된 모든 파일의 업로드를 시도합니다.

AWS RoboMaker에 의해 생성된 환경 변수

AWS RoboMaker은 다음 시뮬레이션 작업 환경 변수를 정의합니다.

  • AWS_ROBOMAKER_SIMULATION_JOB_ID

  • AWS_ROBOMAKER_SIMULATION_JOB_ARN

  • AWS_ROBOMAKER_SIMULATION_RUN_ID

애플리케이션 또는 명령줄에서 이러한 변수를 가져올 수 있습니다. 예를 들어 Python에서 현재 시뮬레이션 작업 Amazon 리소스 이름(ARN)을 얻으려면 os.environ.get("AWS_ROBOMAKER_SIMULATION_JOB_ARN")을 사용하세요.

시뮬레이션 작업에 대한 Amazon Simple Storage Service 출력 버킷을 지정한 경우 환경 변수를 사용하여 출력 경로를 찾을 수 있습니다. AWS RoboMaker은 에 출력을 s3://bucket-name/AWS_ROBOMAKER_SIMULATION_JOB_ID/AWS_ROBOMAKER_SIMULATION_RUN_ID에 씁니다. 이를 사용하여 코드 또는 명령줄에서 Amazon S3의 객체를 관리합니다.

또한 AWS RoboMaker은 로봇 및 시뮬레이션 애플리케이션 컨테이너가 서로 통신할 수 있도록CreateSimulationJobRequest에 설정된 특정 환경 변수를 처리합니다. 자세한 내용은 ROS 컨테이너 FAQ 섹션을 참조하세요.