ヤマムギ

growing hard days.

*

kintoneで設定したスケジュールにあわせてlambda(python)からSQSへメッセージを送る

   


EC2の起動停止をそろそろ手動でやるのも疲れてきそうなのと、やはり停止するのを忘れてしまってもったいないので。

SQSを挟むほどの規模でもないのですが、慣れておきたかったのでSQSを使ってみています。
今回はSQSへメッセージを送るところまでを記載しています。
SQSからメッセージを受信してEC2の起動停止をlambdaで実行して結果をslackへ通知するのは次回のブログに書きます。

start_stop_ec2_kintone_sqs

kintoneでアプリ作成

kintone-ec2-config

こんな項目を持ったアプリを作成します。

kintone_ec2

フォームはこんな感じです。

APIトークンを発行します

kintone-api-token

アプリの設定で詳細設定を展開して[APIトークン]をクリックします。

kintone-api-token-2

APIトークンの生成をします。
今回はデータを読むだけなのでアクセス権は閲覧のみにします。

kintone-api-token-3

保存した後、[設定完了]をクリックします。
※これをしないと生成したAPIトークンが反映しません。

ターミナルなどで確認します。

YOUR_TOKEN, YOUR_DOMAINは適宜変更します。

データのレスポンスが返ってくればOKです。

Terminalで見づらいのでPOSTMANで見ます。

祝日対応

やりながら祝日も対応しなければと思い、上記のkintoneの曜日に「祝」を足しました。

なんかいいAPIないかなーと探したのですが見つけられなかったのでGoogleカレンダーAPIを使いました。

これをlambdaファンクションと同じディレクトリに格納しておきます。

kintoneからデータ取得してSQSへエンキューするlambda

GitHubはこちらです。

kintoneのレコードから起動対象か停止対象かをチェックします。

起動停止対象の場合辞書型のメッセージを配列に格納します。

SQSにメッセージをエンキューします。

実行してます。

キューにメッセージが送信出来た事が確認出来ました。

SQS_Management_Console

次回はSQSからメッセージを受信してEC2を停止起動してslackへ通知します。


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー2年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - AWS , , ,

ad

ad

  関連記事

EC2 Auto Recovery機能を設定しておいた

以前EC2インスタンスのリタイア対象になったこともあり、というより、やっておいて …

Amazon Aurora Serverlessを使い始めてみました(1日経過しての課金結果も)

祝!!! Amazon Aurora ServerlessがGAになりました! …

AWS Lambda(Python3.7)でPandocを実行する

目次 昨日まで(AWS Batch)今日から(AWS Lambda)ARNを指定 …

WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …

AWS Lambdaで「Process exited before completing request」

AWS lambdaで「Process exited before comple …

AWS EC2 インスタンスステータスのチェックで失敗 原因はPHP-FPMのOOM-KILLER

目次 先週に引き続きEC2のインスタンスステータスチェックで失敗とはいえまたスペ …

PyCharmにAWS Tool kitをインストールしてサンプルのLambda関数をデプロイして実行しました

この記事はJetBrainsIDE Advent Calendar 2018に参 …

AWS認定ソリューションアーキテクトアソシエイトのサンプル問題

AWS認定ソリューションアーキテクトアソシエイトのサンプル問題の解説を会社のブロ …

PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる

JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …

Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール

久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon …