【AWS Lambda】reboot_instancesの使い方を簡単解説!
今回は、boto3関数のreboot_instancesについて解説します。
「どうやって使うの?」の解説からパラメータを入力したら自動でコード作成までお手伝いします。
「どうやって使うの?」の解説からパラメータを入力したら自動でコード作成までお手伝いします。
利用目的
指定したEC2インスタンスを再起動します。
対象のEC2インスタンスはリスト型で複数を一括で指定可能です。
AWSがOSへの再起動要請を行って数分たっても実行されない場合、自動的にハードリブートが実行されます。
つまり、この関数によって再起動しようとしたEC2が応答不能状態だったとしても強制的にリブートされます。
この関数をLambdaから実行した際は、EC2の再起動を実行キューに追加して、再起動自体は非同期で行われます。
なので、この関数が完了した後にもEC2の再起動は実行され続けています。
この関数が実行完了した段階でEC2の再起動が終わっているわけではないので、ご注意ください。
また、再起動対象の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* |
---|