目次

AWS RoboMaker 完全ガイド v2.0(2026年最新対応・End-of-Service 反映)

ロボット開発・シミュレーション・フリート管理・ROS2クラウドプラットフォーム・2025年9月10日廃止対応

AWS RoboMaker は、「ROS / ROS2 ベースのロボットアプリケーションをクラウドで開発・シミュレーション・フリートデプロイするサービス」 である。Gazebo シミュレーター環境を自動プロビジョニング、Robot Application / Simulation Application を Docker 化して EC2 で並列実行、Greengrass V2 経由で IoT ロボットフリートへの OTA(Over-the-Air)デプロイを提供。重要: AWS RoboMaker は 2025年9月10日に End-of-Service。以降は ROS2 + EC2 / EKS / AWS Batch + Gazebo / NVIDIA Isaac Sim への移行が必須。


目次

  1. ドキュメントメタデータ
  2. 本質・課題・特徴
  3. このサービスを選ぶ理由
  4. アーキテクチャと設計原則
  5. コアコンポーネント
  6. シミュレーション環境
  7. 設定・操作の具体例
  8. フリートデプロイメント
  9. ROS2 対応状況
  10. End-of-Service 対応・移行パス
  11. 類似サービス比較表
  12. ベストプラクティス
  13. トラブルシューティング
  14. 学習リソース・参考文献
  15. 実装例・チェックリスト
  16. まとめ

ドキュメントメタデータ

  • 最終更新: 2026-04-27
  • バージョン: v2.0
  • 対象者: Robotics Engineer、Simulation Engineer、Fleet Manager、ROS Developer
  • 難易度: 上級~エンタープライズレベル
  • 関連サービス: EC2、S3、IAM、IoT Greengrass、CloudWatch、AWS Batch、EKS
  • 重要: AWS RoboMaker は 2025年9月10日に End-of-Service。移行準備必須
  • 提供開始: 2018年(GA)、2019年(ROS2 サポート)、2025年9月10日廃止

本質・課題・特徴

本質

AWS RoboMaker は 「クラウドで ROS / ROS2 ロボットアプリケーションを開発・シミュレーション・デプロイする統合環境」 である(廃止予定):

  • Gazebo シミュレーター統合:3D 環境でロボット動作を事前検証
  • ROS / ROS2 標準対応:オンプレ開発環境とクラウドを完全統合
  • 並列シミュレーション:50+ の異なるシナリオを並列実行
  • OTA フリートデプロイ:IoT Greengrass V2 経由で数千台のロボットに無線更新
  • AWS サービス統合:S3(データ保存)/ CloudWatch(監視)/ Kinesis(ストリーミング)
  • End-of-Service: 2025年9月10日:以降は ROS2 + EC2 / EKS / AWS Batch への移行が必須

End-of-Service の背景

AWS RoboMaker は以下の理由で廃止:

  1. ROS2 エコシステムの成熟化:Open Robotics により ROS2(オープンソース)が全面対応
  2. 汎用コンピューティングサービスの充実:EC2 / EKS / AWS Batch で ROS2 を直接実行可能
  3. NVIDIA Isaac Sim / Gazebo シミュレータの進化:Omniverse 統合による高度なシミュレーション
  4. Greengrass V2 の一般化:エッジデプロイは Greengrass で十分対応可能

従来の課題と解決

課題 RoboMaker(廃止) 後継ソリューション
シミュレーション Gazebo(制限あり) NVIDIA Isaac Sim / Gazebo Pro(高度)
ロボット開発 RoboMaker + ROS ROS2 + VSCode / GitHub Codespaces
スケーリング RoboMaker(50 並列) AWS Batch(1000+ 並列)
フリートデプロイ Greengrass V2 統合 Greengrass V2(スタンドアロン)
コスト 月額固定 + 従量課金 EC2 / EKS 従量課金のみ
マルチリージョン 限定的 EC2 / EKS(全リージョン対応)

特徴(廃止まで)

  1. Robot Application:カスタムロボット制御ノード(ROS パッケージ)
  2. Simulation Application:Gazebo 環境・シーンファイル
  3. Simulation Job:ロボット + シミュレーション環境の並列実行
  4. Fleet:デプロイ対象のロボットグループ
  5. Deployment Job:フリートへの OTA 更新配信

このサービスを選ぶ理由(廃止までの期間)

2025年9月10日までに使用する理由

  1. 既存プロジェクトの継続:RoboMaker で開発したアプリケーションを本番運用する最後の期間
  2. レガシー環境の段階的移行:新規開発は ROS2 + EC2 で、既存は RoboMaker で並行運用
  3. フリートデプロイの簡便性:Greengrass V2 より RoboMaker の方がセットアップ簡単
  4. 研究開発・検証環境:アカデミック用途・プロトタイプで最後の期間活用

具体的なユースケース(廃止まで)

  • 倉庫自動化ロボット(AGV):経路計画・障害物回避アルゴリズムの並列シミュレーションテスト
  • 自律移動ロボット(AMR):ナビゲーション・動き計画の仮想環境検証
  • 工場ロボットフリート:複数ロボットへの協調制御アルゴリズム開発・テスト
  • ドローン / 自律走行:シミュレーション環境でのセンサフュージョン検証
  • 研究プロジェクト:大学 / 研究機関の ROS ベース研究環境

アーキテクチャと設計原則

AWS RoboMaker(廃止予定)アーキテクチャ:

┌──────────────────────────────────────────────────────┐
│              ROS / ROS2 ロボット開発環境              │
├──────────────────────────────────────────────────────┤
│  VSCode / Vim + ROS2 ツール / rosdep / colcon        │
│  Robot Package(C++ / Python ノード)                 │
│  Docker 化(ECR に Push)                             │
└──────────────────────┬───────────────────────────────┘
                       │
        ┌──────────────┴──────────────┐
        ▼                             ▼
┌─────────────────────────┐   ┌─────────────────────────┐
│  Robot Application      │   │  Simulation Application │
│  (ロボット制御ノード)  │   │  (Gazebo 環境・シーン) │
│  launch_robot.py        │   │  launch_sim.launch      │
│  subscribers / motors   │   │  warehouse.world        │
│  sensors / sensors.py   │   │  models / (URDF)       │
│  ECR に保管             │   │  ECR に保管             │
└──────────────┬──────────┘   └──────────────┬──────────┘
               │                              │
               └──────────────┬───────────────┘
                              ▼
        ┌─────────────────────────────────────────┐
        │  AWS RoboMaker Control Plane(AWS 管理)│
        ├─────────────────────────────────────────┤
        │  Simulation Job Scheduler                │
        │  Robot Fleet Manager                     │
        │  OTA Update Service                      │
        └────────────────┬────────────────────────┘
                         ▼
        ┌────────────────────────────────────────┐
        │   EC2 コンピューティングレイヤー       │
        ├────────────────────────────────────────┤
        │  Simulation Instance(c5.2xlarge)     │
        │  └─ Gazebo Server(マルチ並列)       │
        │  └─ ROS2 Master / Nav2 ノード         │
        │                                        │
        │  Parallel Simulations(50 並列)       │
        │  ├─ Job 1: 倉庫シミュレーション      │
        │  ├─ Job 2: 異なる経路計画 パラメータ │
        │  ├─ Job 3: センサノイズ条件 変動     │
        │  └─ ...(最大 50 並列)                │
        └────────────┬───────────────────────────┘
                     │ S3 ROS bag ファイル / ログ
                     ▼
        ┌────────────────────────────────────────┐
        │      ロボットフリート(IoT)           │
        ├────────────────────────────────────────┤
        │  物理ロボット × N 台(AWS Greengrass) │
        │  ├─ AGV 001(Greengrass Core)       │
        │  ├─ AGV 002(Greengrass Core)       │
        │  ├─ ...                                 │
        │  └─ AGV 1000(Greengrass Core)      │
        │                                        │
        │  Greengrass V2 Components              │
        │  ├─ Robot Application(訓練済み モデル)
        │  ├─ System Monitor(ヘルスチェック)  │
        │  └─ OTA Update Agent(自動更新)      │
        └────────────────────────────────────────┘

コアコンポーネント

1. Robot Application(ロボット制御アプリケーション)

# Robot Application の登録
aws robomaker create-robot-application \
  --name warehouse-robot-app \
  --robot-software-suite '{"name": "General"}' \
  --sources '[{
    "s3Bucket": "my-robot-apps",
    "s3Key": "apps/warehouse-robot/robot_app.tar.gz",
    "architecture": "X86_64"
  }]' \
  --environment-variables '{"ROS_DISTRO": "humble", "ROBOT_TYPE": "AMR"}'

# バージョニング
aws robomaker create-robot-application-version \
  --application-arn arn:aws:robomaker:us-west-2:123456789012:robot-application/warehouse-robot-app/xxx

Robot Application の内容:

# launch_robot.py(ROS2 Launch ファイル)
from launch import LaunchDescription
from launch_ros.actions import Node
from launch.substitutions import LaunchConfiguration

def generate_launch_description():
    return LaunchDescription([
        # Motor Control Node
        Node(
            package='ros_control',
            executable='controller_manager',
            parameters=[{'use_sim_time': True}],
            output='screen'
        ),
        # Navigation Stack(Nav2)
        Node(
            package='nav2_bringup',
            executable='nav2_bringup_launch.py',
            parameters=[{
                'use_sim_time': True,
                'params_file': '/opt/workspace/nav2_params.yaml'
            }]
        ),
        # Sensor Drivers(LiDAR / Camera)
        Node(
            package='velodyne_driver',
            executable='velodyne_node',
            parameters=[{'device_ip': '192.168.1.100'}]
        )
    ])

2. Simulation Application(シミュレーション環境)

# Simulation Application の登録
aws robomaker create-simulation-application \
  --name warehouse-simulation-app \
  --robot-software-suite '{"name": "General"}' \
  --simulation-software-suite '{"name": "SimulationRuntime", "version": "1"}' \
  --sources '[{
    "s3Bucket": "my-robot-apps",
    "s3Key": "sims/warehouse-sim/sim_app.tar.gz",
    "architecture": "X86_64"
  }]' \
  --render-payload

# Gazebo シーンファイル
cat << 'EOF' > warehouse.world
<?xml version="1.0" ?>
<sdf version="1.5">
  <world name="warehouse">
    <include>
      <uri>model://sun</uri>
    </include>
    <include>
      <uri>model://ground_plane</uri>
    </include>
    
    <!-- Custom warehouse model -->
    <model name="warehouse">
      <static>true</static>
      <link name="link">
        <collision name="collision">
          <geometry>
            <box>
              <size>100 100 10</size>
            </box>
          </geometry>
        </collision>
      </link>
    </model>

    <!-- Robot Model -->
    <model name="robot">
      <include>
        <uri>model://amr_base</uri>
      </include>
    </model>
  </world>
</sdf>
EOF

3. Simulation Job(シミュレーション実行)

# シミュレーション ジョブの作成・実行
aws robomaker create-simulation-job \
  --max-job-duration-in-seconds 3600 \
  --iam-role arn:aws:iam::123456789012:role/RoboMakerRole \
  --failure-behavior Continue \
  --robot-applications '[{
    "application": "arn:aws:robomaker:us-west-2:123456789012:robot-application/warehouse-robot-app/xxx",
    "launchConfig": {
      "packageName": "warehouse_robot",
      "launchFile": "launch_robot.py"
    }
  }]' \
  --simulation-applications '[{
    "application": "arn:aws:robomaker:us-west-2:123456789012:simulation-application/warehouse-simulation-app/xxx",
    "launchConfig": {
      "packageName": "warehouse_sim",
      "launchFile": "warehouse.launch.py"
    }
  }]' \
  --output-location '{"s3Bucket": "my-robot-results", "s3Prefix": "sim-output/"}' \
  --logging-config '{"recordAllRosTopics": true}' \
  --tags '{"Project": "WarehouseAMR", "Version": "v2.0"}'

# シミュレーション ジョブの状態監視
aws robomaker describe-simulation-job \
  --job arn:aws:robomaker:us-west-2:123456789012:simulation-job/SimulationJob-xxx

4. 並列シミュレーション(Batch)

# 複数シミュレーションを並列実行(50 並列)
# 異なるパラメータ・シナリオを並列に検証

aws robomaker start-simulation-job-batch \
  --batch-policy '{"maxConcurrency": 50, "timeoutInSeconds": 7200}' \
  --create-simulation-job-requests '[
    {
      "jobName": "warehouse-nav-test-param-1",
      "maxJobDurationInSeconds": 1800,
      "iamRole": "arn:aws:iam::123456789012:role/RoboMakerRole",
      "robotApplications": [{
        "application": "arn:aws:robomaker:us-west-2:123456789012:robot-application/warehouse-robot-app/xxx",
        "launchConfig": {"packageName": "warehouse_robot", "launchFile": "launch_robot.py"}
      }],
      "simulationApplications": [{
        "application": "arn:aws:robomaker:us-west-2:123456789012:simulation-application/warehouse-simulation-app/xxx",
        "launchConfig": {"packageName": "warehouse_sim", "launchFile": "warehouse.launch.py"}
      }],
      "dataSources": [{
        "name": "nav_params",
        "s3Bucket": "my-robot-apps",
        "s3Keys": [{"s3Key": "nav_params/param_set_1.yaml"}]
      }]
    }
  ]' \
  --tags '{"BatchRun": "NavParameterSweep"}'

ROS2 対応状況

ROS2 バージョン対応表

ROS2 バージョン リリース年 RoboMaker 対応 推奨度 廃止予定
Foxy Fitzroy 2020 ✅(実装済み) -
Galactic Galapagos 2021 ❌(制限) ⭐⭐ 2022年廃止
Humble Hawksbill 2022 ✅(推奨) ⭐⭐⭐ 2027年
Iron Irwini 2023 ⚠️(部分) ⭐⭐ 2028年
Jazzy Jalapeño 2024 ⚠️(試験版) ⭐⭐ 2029年

ROS2 Humble への移行例

# ROS2 Humble セットアップ
cat << 'EOF' > Dockerfile
FROM ros:humble-ros-core

# Robot dependencies
RUN apt-get update && apt-get install -y \
    ros-humble-navigation2 \
    ros-humble-nav2-bringup \
    ros-humble-rclpy \
    python3-colcon-common-extensions

# Robot Application
COPY workspace/src /workspace/src
WORKDIR /workspace
RUN colcon build --symlink-install

ENTRYPOINT ["ros2", "launch", "warehouse_robot", "launch_robot.py"]
EOF

# イメージビルド
docker build -t my-robot-app:ros2-humble .
docker tag my-robot-app:ros2-humble 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-robot-app:ros2-humble
docker push 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-robot-app:ros2-humble

End-of-Service 対応・移行パス

重要: 2025年9月10日 廃止対応

AWS RoboMaker 廃止スケジュール:

  • 2025年6月10日: 新規 RoboMaker リソース作成不可
  • 2025年9月10日: サービス完全終了(既存ジョブも実行不可)
  • 2025年9月1日~9月10日: データエクスポート期間(S3 へのバックアップ推奨)

移行パス 1: AWS Batch + ROS2(推奨)

# AWS Batch ジョブ定義(ROS2 シミュレーション用)
import boto3
import json

batch_client = boto3.client('batch')

# Job Definition の登録
job_definition = {
    "jobDefinitionName": "ros2-simulation-job",
    "type": "container",
    "containerProperties": {
        "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/ros2-sim:latest",
        "vcpus": 4,
        "memory": 8192,
        "environment": [
            {"name": "ROS_DISTRO", "value": "humble"},
            {"name": "SIMULATION_TIME", "value": "1800"}
        ],
        "mountPoints": [],
        "volumes": []
    }
}

response = batch_client.register_job_definition(**job_definition)

# Batch ジョブの投入(50 並列)
job_array = {
    "jobName": "ros2-simulation-batch",
    "jobQueue": "high-priority-queue",
    "jobDefinition": "ros2-simulation-job",
    "arrayProperties": {
        "size": 50  # 50 並列
    },
    "containerOverrides": {
        "environment": [
            {"name": "PARAM_SET", "value": "Ref::array_index"}
        ]
    }
}

response = batch_client.submit_job(**job_array)
print(f"Batch Job Array ID: {response['jobId']}")

Batch メリット:

  • スケーリング: 1~1000+ ジョブ(RoboMaker は 50 上限)
  • 料金: EC2 / Fargate 従量課金(RoboMaker より安い)
  • 柔軟性: Docker 環境完全カスタマイズ

移行パス 2: Amazon EKS + ROS2

# EKS Pod でのロボットシミュレーション
apiVersion: batch/v1
kind: Job
metadata:
  name: ros2-sim-job
  namespace: robotics
spec:
  parallelism: 50
  completions: 50
  template:
    spec:
      containers:
      - name: ros2-sim
        image: 123456789012.dkr.ecr.us-west-2.amazonaws.com/ros2-sim:latest
        resources:
          requests:
            memory: "4Gi"
            cpu: "2"
          limits:
            memory: "8Gi"
            cpu: "4"
        env:
        - name: ROS_DISTRO
          value: "humble"
        - name: SIM_PARAM
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        volumeMounts:
        - name: output
          mountPath: /output
      volumes:
      - name: output
        emptyDir: {}
      restartPolicy: Never

移行パス 3: Greengrass V2 スタンドアロン(フリートデプロイ)

# Greengrass V2 コンポーネント定義(RoboMaker なしで フリートデプロイ)
import boto3

greengrassv2_client = boto3.client('greengrassv2')

component_recipe = {
    "RecipeFormatVersion": "2020-01-25",
    "ComponentName": "com.robotics.warehouse-amr",
    "ComponentVersion": "1.0.0",
    "ComponentDescription": "Warehouse AMR Control Application",
    "ComponentPublisher": "MyRoboticsTeam",
    "ComponentConfiguration": {
        "DefaultConfiguration": {
            "ROS_DISTRO": "humble",
            "ROBOT_ID": "{aws:iot:thing-name}",
            "LOG_LEVEL": "INFO"
        }
    },
    "Manifests": [
        {
            "Platform": {
                "os": "linux",
                "architecture": "x86_64"
            },
            "Lifecycle": {
                "setenv": "export ROS_DISTRO={configuration:/ROS_DISTRO}",
                "run": "ros2 launch warehouse_robot launch_robot.py"
            }
        }
    ]
}

# コンポーネント作成
response = greengrassv2_client.create_component_version(
    inlineRecipe=json.dumps(component_recipe)
)

print(f"Component ARN: {response['componentVersionArn']}")

# デプロイメント作成(フリート向け)
deployment = {
    "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/warehouse-fleet",
    "components": {
        "com.robotics.warehouse-amr": {
            "componentVersion": "1.0.0"
        }
    }
}

response = greengrassv2_client.create_deployment(
    targetArn=deployment['targetArn'],
    components=deployment['components']
)

類似サービス比較表

観点 AWS RoboMaker(廃止) ROS2 + EC2 AWS Batch + Gazebo NVIDIA Isaac Sim Robot Operating System(オープン)
シミュレーター Gazebo(基本) Gazebo / Webots Gazebo Omniverse(高度) Gazebo / Webots
並列実行 50 ジョブ 無制限(EC2 リソース次第) 1000+ 無制限 無制限
開発環境 AWS 独自(Cloud9) VSCode / GitHub Codespaces 標準開発環境 Omniverse Code 標準開発環境
フリートデプロイ Greengrass V2 統合 Greengrass V2 手動 Lambda / Greengrass Omniverse Fleet Robot Framework
ROS2 対応 Humble 以降 完全対応(最新) 完全対応(最新) 限定的 標準対応
ビジュアライゼーション Web ブラウザ VNC / RViz ローカル RViz Omniverse Visualizer RViz / Rviz2
学習曲線 高い(AWS 固有) 中程度(ROS 学習) 中程度 非常に高い 高い(ROS 学習)
推奨用途 (廃止)レガシー 研究開発・プロトタイプ 本番運用(大規模) 高度なシミュレーション 研究・教育

ベストプラクティス

1. 2025年9月10日前の移行計画

Phase 1(今すぐ): 検証 & 準備
├─ RoboMaker 依存コード をリスト化
├─ ROS2 Humble への アップグレード開始
├─ AWS Batch / EKS での シミュレーション パイロット
└─ Greengrass V2 フリート構成 検証

Phase 2(2025年6月まで): 本格移行
├─ 既存アプリケーション → ROS2 移植
├─ Dockerfile / ECS Task 定義 準備
├─ AWS Batch ジョブ定義 作成
└─ Greengrass V2 コンポーネント開発

Phase 3(2025年9月1~10日): カットオーバー
├─ 残存ジョブの S3 へのエクスポート
├─ AWS Batch / EKS への 完全移行
├─ 本番フリートの Greengrass V2 更新
└─ RoboMaker アカウント削除

2. シミュレーション最適化

# Gazebo シミュレーション高速化(参考値)
# リアルタイム係数: max_step_size × update_rate

# Gazebo config
step_size = 0.001  # 1ms
update_rate = 1000 # 1000 Hz
realtime_factor = step_size * update_rate  # 1.0(リアルタイム)

# 高速化(4x スピード)
step_size = 0.001
update_rate = 4000  # 4000 Hz(GPU 対応 PC で可能)
realtime_factor = 4.0

# 物理エンジン最適化
physics_solver_iterations = 20  # デフォルト 50
physics_solver_type = "quick"   # より高速

3. 分散シミュレーション実装

# AWS Batch + ROS2 Bridge(複数 PC での分散シミュレーション)
import rosgraph
import roslib
import subprocess

class DistributedSimulation:
    def __init__(self, num_jobs=50, s3_bucket="my-bucket"):
        self.num_jobs = num_jobs
        self.s3_bucket = s3_bucket
        
    def generate_job_configs(self):
        """各ジョブ用のパラメータセット生成"""
        configs = []
        for job_id in range(self.num_jobs):
            config = {
                "job_id": job_id,
                "nav_param_set": f"param_set_{job_id % 10}",
                "obstacle_density": 0.1 + (job_id % 10) * 0.01,
                "robot_speed": 0.5 + (job_id % 5) * 0.1,
                "sensor_noise_level": job_id % 3  # 0=low, 1=med, 2=high
            }
            configs.append(config)
        return configs
    
    def submit_batch_jobs(self):
        """AWS Batch へのジョブ投入"""
        import boto3
        batch = boto3.client('batch')
        
        configs = self.generate_job_configs()
        for config in configs:
            response = batch.submit_job(
                jobName=f"ros2-sim-{config['job_id']}",
                jobQueue="simulation-queue",
                jobDefinition="ros2-simulation-job",
                containerOverrides={
                    "environment": [
                        {"name": "JOB_CONFIG", "value": json.dumps(config)},
                        {"name": "OUTPUT_S3_BUCKET", "value": self.s3_bucket}
                    ]
                }
            )

トラブルシューティング

症状 原因 解決策
Gazebo がクラッシュ GPU メモリ不足 / グラフィクスドライバ古い インスタンスサイズ UP(g4dn.xlarge)/ NVIDIA ドライバ更新
ROS トピック通信エラー ネットワーク遅延 / ROS_MASTER_URI 設定ミス rostopic list -v 確認 / ROS_IP 環境変数確認
Greengrass デプロイ失敗 IAM 権限不足 / デバイス接続エラー IAM ロール確認 / 証明書有効期限確認
ジョブ Timeout シミュレーション複雑度高い / リソース不足 max_job_duration_in_seconds 増加 / インスタンスサイズ UP
S3 データ同期失敗 IAM S3 権限不足 / ネットワーク切断 IAM Policy(s3:PutObject / s3:GetObject)確認
Docker イメージプル失敗 ECR 認証エラー / イメージタグ存在しない aws ecr describe-images 確認 / IAM ECR 権限確認

学習リソース・参考文献


実装例・チェックリスト

RoboMaker から ROS2 + AWS Batch への移行チェック

  • [ ] RoboMaker 内のロボット・シミュレーションアプリケーションをリスト化
  • [ ] ROS/ROS2 バージョン確認(ROS2 Humble 以降への アップグレード計画)
  • [ ] Dockerfile / Docker イメージビルド実装
  • [ ] AWS ECR へのプッシュ確認
  • [ ] AWS Batch Job Definition 作成・テスト
  • [ ] S3 データ同期設定
  • [ ] CloudWatch ログ設定
  • [ ] Greengrass V2 コンポーネント定義(フリートデプロイ用)
  • [ ] IAM ロール・ポリシー確認
  • [ ] テストジョブ実行・結果確認

本番移行前チェック

  • [ ] AWS Batch / EKS での シミュレーション スケーリング テスト(50 並列以上)
  • [ ] 結果の品質確認(RoboMaker との出力比較)
  • [ ] ログ・メトリクス・コスト分析
  • [ ] フリートデプロイの OTA 更新テスト(Greengrass V2)
  • [ ] ロールバック手順の確立
  • [ ] 本番カットオーバー日程・スケジュール確定

まとめ

AWS RoboMaker は 「ROS / ROS2 ロボットアプリケーションをクラウドで開発・シミュレーション・デプロイする統合プラットフォーム」(2025年9月10日廃止予定)。Gazebo シミュレーター環境で 50 並列のシミュレーション実行、IoT Greengrass V2 経由でロボットフリートへの OTA 更新配信を提供。廃止に伴い、後継ソリューションとして ROS2 + AWS Batch(大規模並列シミュレーション)+ Greengrass V2(フリートデプロイ)への移行が必須。 2025年6月までに移行準備を完了し、9月10日までに本番環境を完全移行することが重要。