ヤマムギ

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


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , ,

ad

ad

  関連記事

ヤマムギ vol.10 (AWS)EC2モニタリングハンズオン 手順

このブログは2020/5/6に開催しました、「ヤマムギ vol.10 (AWS) …

AWS Lambdaで Unable to import module エラーが発生したときは

そもそも、Pycharmのナビゲーションペインでディレクトリごとドラッグ&amp …

AWSアカウント内特定リージョン内のDynamoDBテーブルを全削除するLambda(Python)

やりたいこと タイトル通りですが、特定アカウントの特定リージョン内のDynamo …

AWS Backupで取得したAMIとスナップショットの削除

個人で使っているAWSリソースの断捨離をしてました。 Cloud9も複数アカウン …

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …

AWS CodeStarのプロジェクトテンプレートLambda+Pythonによって生成されるもの

勉強会のデモで、AWS CodeStarのプロジェクトテンプレートLambda+ …

AWS Systems Manager Run CommandでEC2 Linuxのユーザーとカレントディレクトリを確認

AWS Systems Manager Run CommandからEC2 Lin …

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

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

AWS OrganizationsでAWSアカウントを25作りたいのでPythonで作った

AWSアカウントを25作る必要があったので、Lambda Python 3.7で …

Amazon S3オブエジェクトへのリクエストをCloudTrail, Athenaで識別

こちらCloudTrail を使用した Amazon S3 リクエストの識別に書 …