ヤマムギ

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へ通知します。

@yamamanx

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

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

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

 - AWS , , ,

ad

ad

  関連記事

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …

EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)

ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …

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

先週に引き続きEC2のインスタンスステータスチェックで失敗 再起動するも失敗する …

Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる

Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …

Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)

やりたいこと Feedlyで共有したいフィードに特定のタグを付けます。 特定のタ …

Amazon RDS MySQLでCSVをload data するときに「Access denied」発生

超小ネタです。 AWSのデータベースサービスの Amazon RDSのMySQL …

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

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

AWSのアカウントを新規作成と最低限やっておいた方がいいMFAの設定

AWSのアカウントを新規作成する手順を書き出しておきます。 ※2017年8月6日 …

AWS Summit Tokyo 2017 聴講したセッションのメモ

2017年6月に参加しましたAWS Summitで聴講したセッションのメモを記し …