AWS Systems Manager RunCommand の実行タイムアウト時間を変更するにはどうしたら良いですか?

2020.08.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

AWS Systems Manager RunCommand で時間のかかる処理を実行するために、タイムアウト時間を変更したいのですが、オプションもなく変更することが出来ません。

どうしたら任意の実行タイムアウト時間を変更することが出来ますか?

どう対応すればいいの?

理由

RunCommand には2種類のタイムアウトがあります。(詳細は参考情報 [1] をご確認ください)

  • 配信タイムアウト / Timeout (seconds) (タイムアウト (秒))
  • 実行タイムアウト / Execution Timeout (実行タイムアウト)

コンソール上でよく見かけるタイムアウトは配信タイムアウトのケースが多く、実行タイムアウトがオプションとして利用可能なドキュメントは多くありません。

オプションとして指定することが出来ないドキュメントでは、以下のようにハードコーディングされた実行タイムアウトが適用されます。

デフォルトの実行タイムアウト

Systems Manager (SSM) ドキュメントで実行タイムアウト値を明示的に指定する必要がない場合、Systems Manager がハードコーディングされたデフォルトの実行タイムアウトを強制します。

※ オプションもなく、ハードコーディングもされていないドキュメントも存在します。その場合は以下の対応方法では回避出来ません。独自に作成する必要があります。

対応方法

ドキュメントの処理内容(コンテンツ)をコピーし、ハードコーディングされている実行タイムアウト時間を修正した新しいドキュメントを作成することで対処します。

※ 詳細なドキュメントの作成方法は参考情報 [2] をご確認ください。

参考情報

[1] コマンドタイムアウト値について
[2] Systems Manager ドキュメントの作成