目次
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 への移行が必須。
目次
- ドキュメントメタデータ
- 本質・課題・特徴
- このサービスを選ぶ理由
- アーキテクチャと設計原則
- コアコンポーネント
- シミュレーション環境
- 設定・操作の具体例
- フリートデプロイメント
- ROS2 対応状況
- End-of-Service 対応・移行パス
- 類似サービス比較表
- ベストプラクティス
- トラブルシューティング
- 学習リソース・参考文献
- 実装例・チェックリスト
- まとめ
ドキュメントメタデータ
- 最終更新: 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 は以下の理由で廃止:
- ROS2 エコシステムの成熟化:Open Robotics により ROS2(オープンソース)が全面対応
- 汎用コンピューティングサービスの充実:EC2 / EKS / AWS Batch で ROS2 を直接実行可能
- NVIDIA Isaac Sim / Gazebo シミュレータの進化:Omniverse 統合による高度なシミュレーション
- 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(全リージョン対応) |
特徴(廃止まで)
- Robot Application:カスタムロボット制御ノード(ROS パッケージ)
- Simulation Application:Gazebo 環境・シーンファイル
- Simulation Job:ロボット + シミュレーション環境の並列実行
- Fleet:デプロイ対象のロボットグループ
- Deployment Job:フリートへの OTA 更新配信
このサービスを選ぶ理由(廃止までの期間)
2025年9月10日までに使用する理由
- 既存プロジェクトの継続:RoboMaker で開発したアプリケーションを本番運用する最後の期間
- レガシー環境の段階的移行:新規開発は ROS2 + EC2 で、既存は RoboMaker で並行運用
- フリートデプロイの簡便性:Greengrass V2 より RoboMaker の方がセットアップ簡単
- 研究開発・検証環境:アカデミック用途・プロトタイプで最後の期間活用
具体的なユースケース(廃止まで)
- 倉庫自動化ロボット(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 権限確認 |
学習リソース・参考文献
- AWS RoboMaker 公式ドキュメント
- Support policy - AWS RoboMaker
- ROS 2 Documentation
- ROS 2 Humble
- Gazebo Official Documentation
- AWS Batch ユーザーガイド
- AWS IoT Greengrass
実装例・チェックリスト
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日までに本番環境を完全移行することが重要。