【AWS Lambda】reboot_instancesの使い方を簡単解説!

今回は、boto3関数のreboot_instancesについて解説します。
「どうやって使うの?」の解説からパラメータを入力したら自動でコード作成までお手伝いします。

利用目的

指定したEC2インスタンスを再起動します。
対象のEC2インスタンスはリスト型で複数を一括で指定可能です。
AWSがOSへの再起動要請を行って数分たっても実行されない場合、自動的にハードリブートが実行されます。
つまり、この関数によって再起動しようとしたEC2が応答不能状態だったとしても強制的にリブートされます。

この関数をLambdaから実行した際は、EC2の再起動を実行キューに追加して、再起動自体は非同期で行われます。
なので、この関数が完了した後にもEC2の再起動は実行され続けています。
この関数が実行完了した段階でEC2の再起動が終わっているわけではないので、ご注意ください。

また、再起動対象のEC2インスタンスに削除済みのものが含まれていた場合は、無視して他のインスタンスのみ再起動されます。

権限

Lambdaに付与するIAMロールに「ec2:RebootInstances」の権限を付与してください。

コード生成

パラメータを入力することで、コピーすればすぐに使えるLambdaコードを生成できます。
「*」のついている物は必須パラメータで、ついていないものはオプションです。
import boto3

ec2_client = boto3.client('ec2')
def lambda_handler(event, context):
    response = ec2_client.reboot_instances(
        InstanceIds=[
        ]
    )

    return 0

▼基本設定

インスタンスID*

仕様

こちらの記事もどうぞ