[雑記] Step Functions で EC2 インスタンスを立ち上げる

2025-08-17
インスタンスを立ち上げて開発することがたまにあるのですが、
その立ち上げを自動化したく、Step Functions に処理をまとめました。

雑記としてステートマシンの ASL を載せます。
構成
Step Functions で EC2 インスタンスを立ち上げます。
そして Systems Manager 経由でコマンドを実行し、インスタンスをセットアップします。
architecture.png
インスタンスのセットアップが完了したら、SNS で通知します。
10分待機している間に ssh して、必要な処理をするイメージです。
コード
</>
1
メモ
AMI の ID へ置き換えます
例: ami-xxx
インスタンスタイプを埋めます
例: t4g.small
Security Group の ID へ置き換えます
例: sg-xxx
Subnet の ID へ置き換えます
例: subnet-xxx
Instance Profile の名前へ置き換えます

なお Systems Manager でコマンドを実行するには、
AmazonSSMManagedInstanceCore ポリシーが必要です
EC2 インスタンスの名前です
通知先の SNS トピックの ARN を埋めます
おわり
EC2 インスタンスをセットアップするだけであれば、
例えばユーザーデータでシェルスクリプトを実行したり、AMI を取得したほうが手軽です。

私の場合は、インスタンスの起動・終了まで制御したかったので、Step Functions に寄せちゃいました。