シミュレーションのロギング - AWS RoboMaker

サポート終了通知: 2025 年 9 月 10 日、 AWS は のサポートを中止します AWS RoboMaker。2025 年 9 月 10 日以降、 AWS RoboMaker コンソールまたは AWS RoboMaker リソースにアクセスできなくなります。コンテナ化されたシミュレーションの実行に役立つ AWS Batch への移行の詳細については、このブログ記事 を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

シミュレーションのロギング

シミュレーションジョブから出力ファイルやその他のアーティファクトをキャプチャする場合は、カスタムアップロードを設定できます。ロボットアプリケーションとシミュレーションアプリケーションのカスタムアップロードを設定できます。カスタムアップロードを設定すると、指定したファイルが、シミュレーションジョブから、指定した Amazon S3 シミュレーション出力場所にアップロードされます。これは、シミュレーションの実行中に生成されたアプリケーション出力のレビューや分析を行う場合や、アーティファクトを再利用する場合に便利です。

カスタムアップロードを設定する前に、シミュレーションジョブの Amazon S3 出力先を指定する必要があります。指定した名前を使用して、 AWS RoboMaker 一致するファイルをフォルダにアップロードします。一致するファイルは、すべてのシミュレーションジョブツールが終了したときにアップロードされるか、または、生成されたときにアップロードされ、その後に削除されます。

デフォルトのアップロード設定は、オフにしない限り、カスタムアップロード設定に自動的に追加されます。デフォルトのアップロード設定アップロードROSと Gazebo のデフォルトのログ出力。これにより、 ROSおよび Gazebo のデフォルトログ出力をアップロードした過去のシミュレーションジョブ出力設定との互換性が維持されます。コンソールでシミュレーションジョブを設定するときに、デフォルトのアップロード設定をオフにすることができます。また、 CreateSimulationJob falseuseDefaultUploadConfigurations を に設定してオフにすることもできますAPI。

シミュレーションアプリケーションは、単一の 128 GB パーティションに拡張され、そのパーティションに書き込みアクセスできるようになります。

カスタムアップロード設定の追加

カスタムアップロード設定を作成するには、Amazon S3 でのファイルのアップロード先を指定する名前プレフィックス、アップロードするファイルを指定する Unix グロブパス、およびファイルがアップロードされるタイミングを指定するアップロード動作を指定する必要があります。

名前

名前とは、Amazon S3 でのファイルのアップロード方法を指定するプレフィックスです。最終パスを決定するために、シミュレーション出力場所に追加されます。

例えば、シミュレーション出力場所が s3://amzn-s3-demo-bucket であり、アップロード設定の名前が robot-test である場合、ファイルは s3://amzn-s3-demo-bucket/<simid>/<runid>/robot-test にアップロードされます。

[Path] (パス)

パスは、アップロードされるファイルを指定するものです。スタンダード Unix glob 一致ルールは、次の条件に従って受け入れられます。

  • パスは /home/robomaker/ または /var/log から始めてください。

  • パスには逆パス式 (/..) を含めないでください。

  • シンボリックリンクは追跡されません。

  • パスの中で **スーパーアスタリスクとして使用できます。例えば、/var/log/**.log と指定すると .log ディレクトリツリー内のすべての /var/log ファイルが収集されます。

    また、標準のアスタリスクを標準のワイルドカードとして使用することもできます。例えば、/var/log/system.log* は、system.log_1111system.log_2222/var/log などのファイルに一致します。

アップロード動作

次のいずれかのアップロード動作を選択できます。

  • Upload on terminate (UPLOAD_ON_TERMINATE) は、シミュレーションジョブが終了状態になると、パスに一致するすべてのファイルをアップロードします。 AWS RoboMaker attempts は、最大 60 分間ログをアップロードします。

    AWS RoboMaker は、シミュレーションで実行されているすべてのツールが停止するまで、ファイルのアップロードを開始しません。

  • 自動削除でローリングをアップロード (UPLOAD_ROLLING_AUTO_REMOVE) は、パスに一致するすべてのファイルを生成時にアップロードします。パスは 5 秒ごとにチェックされます。ファイルがアップロードされると、ソースファイルは削除されます。ファイルが削除されると、同じ名前で新規ファイルが作成された場合はこれが以前アップロードされたファイルに置き換わります。 AWS RoboMaker は、シミュレーションで実行されているすべてのアプリケーションが停止した後で、最終チェックを行います。

    自動削除によるアップロードローリングは、ローリングログをアップロードする際に役立ちます。パス glob でカバーされない「アクティブ」ファイルに出力を書き込むか、ストリームします。アクティブファイルへの書き込みが終わったら、パス glob がカバーする場所にファイルをロールします。その後、そのファイルはアップロードされて削除されます。

    この設定は、シミュレーションジョブのスペースの節約に役立ちます。また、シミュレーションジョブが終了する前にファイルにアクセスする場合にも役立ちます。

シミュレーションジョブのパーティションサイズは 128 GB です。シミュレーションジョブが何らかの理由で終了した場合、 はカスタムアップロード設定で指定されたすべてのファイルをアップロード 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 コンテナに関するよくある質問」を参照してください。