ヤマムギ

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 クラウドプラクティショナー」という本を書きました。

 - AWS , , ,

ad

ad

  関連記事

Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~

Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …

JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っかけ会

「JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo …

AWS Data Pipelineを使ってDynamoDBのアイテムを全件S3バケットに書き出した

ちょっと試してみたくてやってみました。 手順はこちらのチュートリアルを参考にすす …

slackのbotをAWS Lambda(Python)+API Gatewayで構築

slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、こ …

Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)

Amazon Linuxにgit + Redmineの環境を構築してみます。 自 …

ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする

「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS …

WordPressをAmazon CloudFrontで配信してついでにACM(AWS Certificate Manager)を使って常時SSL化する

当サイトの500と502の発生状況がドイヒーであるとの苦情をいただきまして、Am …

Amazon Data Lifecycle Manager(DLM)が東京リージョンで使えるようになったのでLambdaでAMI自動取得から乗り換えた

EBSのスナップショットを自動で作成してくれるAmazon Data Lifec …

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

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

SendGridのイベントをAPI Gateway -> Lambda(Python) -> DynamoDBに格納する

SendGridのメールイベントログはコンソールで確認出来るのは直近7日分で一括 …