GatewayとLambdaで始めるMSPのIT化フェイズ3...SHAREtwitterfacebookはてなブックマークpocket前回から19日の日が経ちましたがBLOGを書くのをサボっていたのではなく忙しかったのもありますがようやくこのタイトルのシステムが3日間エージングしてある程度目処が立ってきたのでようやくBLOGを進めます。今回デプロイツールとしてfluctを使っています。fluctの使い方はpict3.hatenablog.comを見ていただければと思います。今回は先に試していたfluctを使います(大きな違いは今の所ローカルで動作させるときの違いがfluctはローカルのサーバーを起動させて、curlなどでアクセスするのに対してjawsはコマンド一発でlambdaの部分をコールするのですが、JAWSのほうがputやgetのパラメータの渡し方が見当たらなくソース見ているほど暇もないので確認していません)。今回は実現するシーケンスを記載したいと思いますが、その前に今回のリプレイスでどれぐらい金額が変わるのかを説明します(1ドル120円換算で今回は720時間で換算)。0.052ドル)✖️1=4,492=7,948円の金額がかかります(データの転送量とかもありますが移行後のシステムもかかるので除外)移行後のシステムですがLambdaは無料枠がずっとあり、その範囲で収まる内容ですのでLambdaはお金がかからず、dynamodbがテーブル2つと読み込みのキャパがTOTALで10・書き込みのキャパがTOTALで6で済むので512円(容量代と通信料金は別ですがそんなに大した額ではないのでここは算出外)と93%OFFなシステムとなります。※今回のシステムは必ず動く必要があるが負荷はあまりないという特性もあります。シーケンス図です(この図の番号を元に次回以降説明できたらと思います)。script(以降gas)のタイマーを起点にgoogleカレンダーの情報を取得。Gateway経由でLambdaを呼び出して、Pagerdutyにスケジュール情報をインシデントとして登録します。Gatwayを呼び出してLambdaでslackにも通知します(Pagerdutyは全てのユーザーがアカウントを持っていないですし周知の意味も込めて投稿します。Gateway経由でLambdaでslackに作業を着手したことを伝えれます。GatewayのAPIで実現する事が可能となり、結果的に処理がシンプルになります。Gatewayの冗長化もする(意味はあるのか?w)なんかもできたりします。Pagerdutyの役割は、スケージュールをインシデントとして確実に管理するのとLambdaが昨日まではできなかった、着手されてない作業のリマインド(Cron)の処理をエスカレーション機能とwebhooksの機能を使う事により実現させる事でした。エージングしていたらLambdaにCronの機能が追加されたっていかにもクラウドな世界のスピード感ですね汗。この次にやる事が、LambdaのCronだけではできないのと、タイマー処理は基本的に自分の中ではイベントドリブンとしてはいけてないと思っているので別に良いかなと。シーケンス図は上記のような感じです。1webhooks(A・B)など、必ず情報は飛んでくるけど、重複する可能性もあるというどぎつい挙動があります汗。上記のような挙動を制御をシンプルなAPIで制御したい思惑もあり上記のようなシーケンスになりました。Airを使ったシステムの作成と検証や、jft2015.jaws-ug.jpやwww.zusaar.comの登壇や、innovationegg.doorkeeper.jpの主催など仕事も忙しいのにいろいろやっていて、趣味のガンプラも進捗止まっている状況なのでなかなか更新されないかもしれません汗。解説できればと思いますのでよろしくお願いします。S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。cloudpack.。