「AWS Lambda」とPython Boto3を使ってEC2インスタンスを操作する「AWS SDK」入門:AWSチートシート
AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS Lambda」とPython Boto3を使ってEC2インスタンスを操作する方法を紹介する。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、サーバレスでコードを実行できる「AWS Lambda」を使い、Pythonのコードを実行して「Amazon EC2」インスタンスを操作する方法を紹介します。
PythonのコードからAWSの各種サービスを操作するには「AWS SDK for Python(Boto3)」というライブラリを利用する必要があります。これはAWSが提供する公式ライブラリです。APIとして提供されている機能のほとんどを、Boto3を通じて利用できます。
SDKを利用することでAWSの「マネジメントコンソール」上で操作せずとも各種サービスを操作できる他、「Amazon CloudWatch Events」(EventBridge)などと組み合わせることで、「定期的にインスタンスを停止する」といった処理が可能になります。SDKを使いこなすことでAWSを利用する幅がぐっと広がります。今後の業務や個人での学習にぜひ取り入れてみてください。
以降、図1にあるようにLambda上でBoto3を使ったPythonのコードを実行して、EC2インスタンスに対する基本的な操作を幾つか示します。
手順
今回は下記の手順でEC2インスタンスの起動、情報取得、停止、削除を順番に実施します。
- 「AWS Identity and Access Management」(IAM)ロールの作成
- Lambda関数の作成
- Lambda関数によるEC2インスタンスの起動
- Lambda関数によるEC2インスタンスの情報取得
- Lambda関数によるEC2インスタンスの停止と削除
【手順1】IAMロールの作成
まずは、Lambda関数からEC2インスタンスを操作する際に利用するIAMロールを作成します。
関連記事
- 「AWS Lambda」が拡張機能を介して各種運用ツールと統合可能に
サーバのプロビジョニングや管理をすることなくコードを実行できる「AWS Lambda」サービスが利用しやすくなった。AWS Lambda拡張機能を使うことでモニタリングや可観測性、セキュリティ、ガバナンスのための運用ツールをAWS Lambdaと統合して利用できる。 - 新社会人も必見、AWSを題材にクラウドセキュリティの基礎が親子で学べる無料の電子書籍
人気過去連載を電子書籍化し、無料ダウンロード提供する@IT eBookシリーズ。第90弾は、親子の会話で出てくるような素朴な疑問点から、クラウド環境における情報セキュリティの技術を学習する連載「親子の会話から学ぶクラウドセキュリティ」です。新社会人はもちろん、クラウドを扱う全ての人に身に付けてほしいセキュリティの知識を、AWSを題材に学習します。 - セキュリティログ分析基盤におけるクラウド活用、組織体制、メンバー育成のポイント
セキュリティ業務における「ログ」と、その分析基盤の活用について解説する連載。最終回は、クラウド活用、組織体制、メンバー育成のポイントを紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.