検索
連載

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

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

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 「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.

ページトップに戻る