AWS LambdaはRESTful APIの開発時だけではなく、特定のイベントをトリガーとして処理を行うことができます。今回はServerlessFrameworkを利用し、S3に新しくオブジェクトが追加された際に関数を起動するところまでをまとめます。
続きを読む
AWS-Lambda
[AWS] CloudFrontのオリジンを動的に変更する – Lambda@Edge + Node.js
CloudFrontで参照しているオリジンをLambda@Edgeで変更してみます。
今回はhttp://foo.example.com
でアクセスされたら、CloudFrontがオリジンhttp://example.com/foo/
へリクエストする設定をします。
正直なところあまり需要は無いと思いますがw この設定が生きてくるのは大量に同様の設定をしなければならない時ですね。設定が必要なドメインが2〜3個であればCloudFront側でディストリビューションを必要なだけ作成する方がわかりやすいです。
というわけで先ほどの例の「foo」の部分はどのような文字列が来ても対応可能なよう設定していきます。
続きを読む
[AWS] Serverless FrameworkでLambdaをArm64対応する
AWS Lambdaが2021年9月29日からArm64に対応しました。
デフォルトではx86…要はIntelのCPUが使われていますが、Arm64を選択するだけで20%のコストダウン、最大19%のパフォーマンスの向上が期待できるとか!乗るしかない!このビッグウェーブに!
続きを読む
[AWS] CloudFront+S3オリジンでindex.htmlを省略する – Lambda@Edge + Node.js
CloudFrontのオリジンにS3を利用する場合、大きく2つのパターンがあります。
- S3を独立したWebサーバとして利用する
- S3を内部的にHDDのように利用する
前者はS3側で割と色々と設定できるのですが問題は後者です。一般的なWebサーバのように「example.com/hoge/」にアクセスしたら「example.com/hoge/index.html」を返して欲しかったりするわけですが、この機能は自分でコードを書いて用意する必要があるのです。正直面倒くさいw
というわけでCloudFrontを制御するLambda@Edgeを準備していきます。
続きを読む
[AWS] CloudFrontでBASIC認証を行う – Lambda@Edge + Node.js
S3をWebサーバ代わりに使っている方も多いと思いますが、開発中のページや社内だけで閲覧したい場合など簡易的なアクセス制限をかけたい場合がありますよね。以前はEC2の安いインスンスを用意することもありましたが、Lambda@Edgeが登場してからはS3とCloudFrontだけで完結することができます。
というわけで今回はCloudFrontを使ってBASIC認証をかける方法をまとめます。
続きを読む
[AWS] Serverless FrameworkでRESTfulAPIを作成する (S3編)
今回はServerless FrameworkでRESTfulAPIを介しS3からデータを取得したり保存したりします。
DynamoDBの回と同様に、プロジェクトの設定ファイルであるserverless.ymlにCloud Formationの書式でS3の設定からIAM周りまで一元管理できます。分かってくると楽しいですね。逆に詰まるとネット上に情報があまり転がってなくて地獄ですがw
続きを読む
[AWS] Serverless FrameworkでRESTfulAPIを作成する (DynamoDB編)
今回はServerless FrameworkでRESTfulAPIを介しDynamoDBを触ります。
プロジェクトの設定ファイルであるserverless.ymlにCloud Formationの書式でいろいろ定義できるのでテーブルの作成やIAM周りの設定もすべて一元管理できます。テキストファイルでほとんどが完結するのほんと最高ですね。
続きを読む
[AWS] Serverless FrameworkでRESTfulAPIを作成する (外部サーバと通信編)
Lambdaから外部のサーバとHTTPによる通信を行ってみます。
とは言っても特別な制約はありませんので基本的に自由行うことができますが、実行時間によって課金される点に注意が必要です。相手方のサーバからレスポンスが中々返って来ないとその時間分だけ課金されます。またVPCの中にLambdaを置いて実行する場合はインターネットゲートウェイなどの設定が必要になります。
では行ってみましょう。
続きを読む
[AWS] Serverless FrameworkでRESTfulAPIを作成する (クエリー編)
AWSにServerless Frameworkを利用してRESTfulAPIを作成する際、クエリー文字列などの引数を取得する方法についてメモします。今回はAPI Gatewayのテンプレート関連の機能は使わず、Lambda側ですべて処理します。利用する言語はNode.jsです。
続きを読む
[AWS] Serverless Frameworkで独自ドメインをSSL付きで設定する
Serverless FrameworkでRESTFulAPIを作成すると、通常だと以下のようにAWS側で用意されたドメインを利用するわけですが、
https://d-hhlj8cxjl7.execute-api.us-east-1.amazonaws.com/dev/welcome
今回は次のようにこちらで用意したドメインでリクエストを可能にします。
https://api.blog.katsubemakito.net/api/welcome
これはServerless Frameworkのプラグイン「serverless-domain-manager」を導入することで比較的簡単に実現できます。
続きを読む
[AWS] Serverless FrameworkでRESTfulAPIを作成する
AWSでRESTfulAPIをAPIGateway+Lambdaで作ろうとすると、ブラウザ上でGUIをいじくるわけですが操作感が独特で慣れるまでちょっとばかし辛いものがあります。そんな時に活躍してくれるのが「Serverless Framework」。YAMLをチョロっと書くだけでそのあたりの設定を良い感じに行ってくれます。
今回はドキュメントの内容に沿って、Serverless Frameworkの導入から実行までを行います。
[Quora] AWSで改ざん検知を出来るだけ簡単にしたい
Quora回答シリーズです。
質問
AWS の cloudwatch か、lambda 使って、トップページの改竄検知(簡易でいいです)するのはどんな方法が簡単でしょうか?
https://qr.ae/TlSeqf
誰か作って配ってそうな気がするんですけどねー。
続きを読む