rds

AWS Lambda+Python3で複数のRDSを起動停止

aws python rds

リンクバル技術部の川畑です。9月も残すところあと3日。今年の台風は勢力が強く、今週末には台風24号が上陸するとの予報なので、皆様お気をつけてお過ごしください。
今回は、少しでもサーバー費用を削減すべく、特定のタグを設定して指定したタグ全てのRDSを起動停止するスクリプトを作成しましたので、ご紹介させていただきます。
(以前こちらの記事で似たようなスクリプトを紹介させて頂いたのですが、1つのRDSしか起動停止できないものでした)

スクリプト説明

  • boto3でRDSを操作するために高レベルAPIのResourcesを使いたかったけど、RDSは提供されていないようなので低レベルAPIのClientsを使用
  • AWSアカウントの指定リージョン全てのRDS情報を取得
  • RDS情報より指定したタグとRDSのステータスによりフィルタリング(すでに停止されているRDSを停止しようとすると、スクリプトでエラーとなるため)
  • フィルタリングされたRDSを起動停止

使用言語

  • python3.6
  • boto3

続きを読む

AWS Lambda+Python3でRDS起動・停止を自動化

aws python rds

リンクバル技術部の川畑です。以前こちらの記事(AWS Lambda+Python3でEC2起動・停止を自動化)をご紹介させて頂きましたが、同様にLambdaの「python3」と「Environment variables」に対応したRDS起動・停止スクリプトを作成しましたので、こちらでもご紹介させて頂きます。

スクリプト説明

起動・停止の機能は理解のしやすさを考慮し、ファイルを別々にしてあります。スクリプトからAWSを操作するために「botocore」「boto3」、Lambdaに設定した環境変数を読み込むため「os」パッケージをimportします。Lambdaで環境変数「TAG_NAME」を設定し、タグを設定すると一致したRDSが処理対象となり、起動・停止処理を実行する仕組みとなります。

使用言語

  • python3.6

続きを読む