Masaru Kawabata

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サーバーレスアーキテクチャでハマった3つこと


リンクバル技術部の川畑です。先日弊社でリリースしました、リアルタイム飲み会マッチングアプリ together の裏側のアーキテクチャについて、ANKEY主催のセミナー クラウドヂカラ #AWSセミナー 〜エンジニアに求められる本当のスキルとは〜 のLT枠で発表させて頂きましたので、その内容を紹介させて頂きます。

続きを読む


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

続きを読む


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

aws lambda + python

リンクバル技術部の川畑です。以前こちらの記事(AWS Lambdaを使ってEC2インスタンスを起動・停止する)をご紹介させて頂きました。それから約1年ぐらいが経過しましたが、その間にAWSのLambdaがpython3に対応したり、環境変数に対応したりと便利なアップデートがありスクリプトを修正しましたので、こちらでもご紹介させて頂きます。

AWS Lambdaのスケジュール機能の良いところ

以前の記事でも述べさせて頂きましたが、AWS Lambdaのスケジュール機能には以下のメリットがあると思います。

続きを読む


リンクバル技術部でLT会をはじめた3つの理由

LT

リンクバル技術部の川畑です。弊社の技術部は2017年11月時点で、正社員16名・業務委託4名・オフショア1名・新卒入社前のアルバイト3名で構成されています。開発体制は既存サービスを支える開発チームが2つ、新規開発チーム・新規サービス・メディアなどを担当するメンバーで構成されております。先月より技術部では「LT会」というのを始めました。その目的について先日メンバー向けに説明した内容を、こちらでも紹介させて頂きます。

なぜやるか

続きを読む


UdemyでDockerを学ぶ④ 〜Section4〜 (Docker Network編)


リンクバル技術部の川畑です。前回の記事UdemyでDockerを学ぶ③ 〜Section3〜(Docker Compose編)では、主にDocker Composeを利用したDockerコンテナのの管理について学びました。今回はDockerのネットワーク管理が中心となります。それでは見ていきましょう。

「Section4: The Complete Docker Course for DevOps and Developers」の内容

Section4の内容は以下の通り。

続きを読む


UdemyでDockerを学ぶ③ 〜Section3〜(Docker Compose編)


リンクバル技術部の川畑です。開発環境をDockerに移行するため勉強中。前回の記事UdemyでDockerを学ぶ② 〜Section2〜では、Dockerイメージの管理などのレッスンが中心でした。今回はDockerコンテナでアプリケーションを起動したり、複数のDockerコンテナのリンク、Docker Composeを利用した複数Dockerコンテナの一元管理などのレッスンが中心となります。それでは見ていきましょう。

「Section3: Create Dockerized Web Applications」の内容

Section3の内容は以下の通り。

続きを読む


UdemyでDockerを学ぶ② 〜Section2〜


リンクバル技術部の川畑です。最近はエンジニアなら誰でも憧れる、継続的デリバリーを実現するべくDocker勉強中。前回の記事UdemyでDockerを学ぶ① 〜概要からSection1〜では、Dockerの概要とDockerを構成する概念についてのレッスンが中心でした。今回はDockerイメージの管理などのレッスンが中心となります。それでは見ていきましょう。

「Section2: Working with Docker Images」の内容

Section2の内容は以下の通り。

続きを読む


UdemyでDockerを学ぶ① 〜概要からSection1まで〜


リンクバル技術部の川畑です。エンジニアとは常に新しい技術を勉強し続けねばならない悲しい生物(!?)です。最近はそんなエンジニアのためにドットインストールや、paizaなどオンラインで簡単に勉強ができるようになってきました。そんな中で今回はDokcerを体系的に学びたいと思い、UdemyでDockerを勉強してみました。

Udemy(ユーデミー)とは

アメリカのオンライン学習プラットフォーム。学びたい講座を購入(1部無料)し受講したり、また誰でも講師となり、自分の講座を動画でインターネット上に公開できる、オンライン学習プラットフォーム。

続きを読む