「AWS Lambda」とPython Boto3を使ってEC2インスタンスを操作する「AWS SDK」入門AWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS Lambda」とPython Boto3を使ってEC2インスタンスを操作する方法を紹介する。

» 2022年06月02日 05時00分 公開
[天野盛介東京ITスクール]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、サーバレスでコードを実行できる「AWS Lambda」を使い、Pythonのコードを実行して「Amazon EC2」インスタンスを操作する方法を紹介します。

 PythonのコードからAWSの各種サービスを操作するには「AWS SDK for Python(Boto3)」というライブラリを利用する必要があります。これはAWSが提供する公式ライブラリです。APIとして提供されている機能のほとんどを、Boto3を通じて利用できます。

図1 Lambda上でPythonのコードを実行してEC2を操作するイメージ

 SDKを利用することでAWSの「マネジメントコンソール」上で操作せずとも各種サービスを操作できる他、「Amazon CloudWatch Events」(EventBridge)などと組み合わせることで、「定期的にインスタンスを停止する」といった処理が可能になります。SDKを使いこなすことでAWSを利用する幅がぐっと広がります。今後の業務や個人での学習にぜひ取り入れてみてください。

 以降、図1にあるようにLambda上でBoto3を使ったPythonのコードを実行して、EC2インスタンスに対する基本的な操作を幾つか示します。

手順

 今回は下記の手順でEC2インスタンスの起動、情報取得、停止、削除を順番に実施します。

  1. 「AWS Identity and Access Management」(IAM)ロールの作成
  2. Lambda関数の作成
  3. Lambda関数によるEC2インスタンスの起動
  4. Lambda関数によるEC2インスタンスの情報取得
  5. Lambda関数によるEC2インスタンスの停止と削除

【手順1】IAMロールの作成

 まずは、Lambda関数からEC2インスタンスを操作する際に利用するIAMロールを作成します。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。