AWS Lambda

【初心者向け】Amazon Bedrock + Lambda でのシンプルなQAシステム

はじめに はじめまして。2024年9月中途入社の北出です。 今回が初めてのブログということで拙い文章ですが、温かい目で見守っていただければと思います。 今回は、案件でAmazon Bedrockを使った技術検証をする機会があり、これから生成AIを使ったシステムを…

AWS WAF での SQL インジェクション対策と誤検知への対応方法

環境 起きた問題 調査 リクエストのBODYに「=」「&」「users」などを含むと検知されやすい Prepared Statement を利用する際に気を付けること 既に運用中の環境においてプログラムの改修が困難な場合 スコープダウンステートメント クラウド型 WAF の利用 Cl…

【無限ループ防止】AWS LambdaとAmazon S3間の再帰ループ検出を試してみた

こんにちは。ディベロップメントサービス3課の千本松です。 少し前に、AWS Lambda(以下、Lambda)の再帰ループ検出がAmazon S3 (以下、S3)に対応しました。 AWS初心者にも使いやすいLambdaですが、意図しない無限ループで冷や汗をかいた経験がある方も多…

【API Gateway】カナリアリリース機能を使ってみた

こんにちは。 ディベロップメントサービス1課の山本です。 今回は API Gateway でカナリアリリース機能の使い方を説明したいと思います。 この記事の対象者は? カナリアリリースについて API Gateway でのカナリアリリースの方法 SAM テンプレートファイル…

【NAT Gateway】簡単節約術!Lambda を使って自動起動・削除してみた

こんにちは。 ディベロップメントサービス1課の山本です。 今回はコスト削減のため AWS Lambda (以降、Lambda) を使って NAT Gateway を自動起動・削除してみます。 この記事の対象者は? NAT Gateway のコストについて コスト削減方法 ファイル構成 samcon…

【AWS Lambda】パッケージサイズによるコールドスタート時間を調べてみた

こんにちは。 ディベロップメントサービス1課の山本です。 今回は AWS Lambda (以降、Lambda) のパッケージサイズによって、コールドスタート時間がどれくらい変わるのか調べてみました。 この記事の対象者は? Lambda のコールドスタート時間とは コールド…

WebアプリをデプロイするAWS構成5選(CFnテンプレート付き)

こんにちは。AWS CLIが好きな福島です。 ※5選と言いながら、AWSサービスのアイコン4つしかないですが、Lambdaを使った構成が2つあります。 構成 構成判断フロー図 各構成にWebアプリをデプロイしてみる 構成パターン①: WAF + ALB + VPC + EC2 構成パターン②:…

【AWS Client VPN】コスト削減!一定時間で強制切断させてみた

こんにちは、ディベロップメントサービス1課の山本です。 最近ハマっている飲み物はセブンイレブンさんから出てる『濃いライチサイダー』です。 ソルティライチに炭酸を付与したような飲み心地でとても美味しいです。 今回はAWS Client VPN のコスト削減方…

CloudFront の OAC に Lambda 関数 URL を設定してみた

こんにちは、末廣です。 先日の以下アップデートにて、Amazon CloudFront が Lambda 関数 URL オリジンのオリジンアクセスコントロール (OAC) をサポートするようになりました。 aws.amazon.com そういえば関数 URL についてはこちらのブログにて説明、検証…

CDKでPython3.12ランタイムのLambdaをデプロイしようとして躓いた話

はじめに 前提 起こったこと 原因 回避策 1. poetryを使用する 2. requirements.txtを使用する 開発環境ではPipfileを使用しつつ、パッケージングにはrequirements.txtを使うパターン 3. カスタムDockerイメージを使用する 最後に はじめに アプリケーション…

Lambda関数が突然動かなくなった話

はじめに 前提 ある日のこと ググってみる botocore、boto3 のバージョンを確認してみる 徐々に核心に なぜバージョン競合が発生するのか 原因まとめ 対応 おわりに はじめに サーバーワークスの宮本です。今回は本番運用していた AWS Lambda 関数が何も変更…

AWS CodeBuild で AWS Lambda のカスタムイメージを使用して Terraform を実行してみた

こんにちは、末廣です。 前回のブログでは CodeBuild のコンピューティングで Lambda を使用して実行したものを紹介しました。 blog.serverworks.co.jp 本ブログでは同様に Lambda コンピューティングを使用して、アップデートにて追加されたカスタムイメー…

AWS CodeBuild で AWS Lambda(java) を使用してビルドを実行してみた

こんにちは、末廣です。 弊社山本のブログで紹介されている 「CodeBuild で AWS Lambda のランタイムを使用したビルドが可能になりました」を実際に Lambda を使用して Java プログラムをビルドしてみたのでブログにまとめます。 blog.serverworks.co.jp ビ…

実践で学ぶクラウド監視:SwitchBotのデータをNew Relicで監視を自動化してみた

NewRelicを勉強するために、SwitchBotのデータをNew Relicに送ってみた記事です

Lambda プロキシ統合と考える API Gateway の CORS (Cross-Origin Resource Sharing) 設定

こんにちは、野球と LoL(League of Legends) がシーズンオフとなり、心もシーズンオフの末廣です。 本ブログは、 Lambda プロキシ統合について理解した上で、Lambda 統合された API Gateway での CORS 設定を行っていくものとなります。CORS の基礎から設定…

【AWS Lambda】AWS Lambda Power Tuningでコストを1円でも安く

こんにちは、ディベロップメントサービス1課の山本です。 もう12月で、1年過ぎるのがとても早いですね。 今回は、少し早いクリスマスプレゼントとして、 AWS Lambda(以下、Lambda)を1円でも安くする方法を説明します。 AWS Lambda Power Tuningというツール…

AWS FargateとAWS Lambdaで同じコンテナイメージを使う

はじめに みなさんこんにちは、荒堀と申します。 サーバレスでタスク実行する際の選択肢に、AWS Fargate (以降、Fargate)とAWS Lambda (以降、Lambda)があります。 どちらもコンテナで動かせますので、同じコンテナイメージで動かしてみました。 はじめに 概…

Amazon SageMakerのノートブックインスタンスや推論エンドポイントを自動停止・自動削除するLambda

機械学習をあれこれしていると、SageMakerのノートブックインスタンスや推論エンドポイントをしばしば使います。なのですが、ノートブックインスタンスはJupyterを閉じても起動し続けていることを忘れがち、推論エンドポイントは以外と気軽に作れてしまうの…

Lambda 関数 URL を使った Provisioned Concurrency の有効化と 、API Gateway との違いを調べてみる

こんにちは、夏の高校野球を見ながら(執筆期間中)高校は6、7年前か、年をとったなと感じてきました末廣です。 本ブログは、Lambda 関数を HTTP リクエストから呼び出せる 関数 URL を作成し、同機能を持つAPI Gateway と比較してみたり、こちらのブログで …

Lambda の java ランタイム用機能 「Snap Start」 について、 スナップショットの保存期間 ( 14 日 ) を過ぎるとどうなるのか確認してみた。

こんにちは カスタマーサクセス課の山本です。 はじめに結論 前提として、14 日以内に関数を呼び出していればスナップショットは消えません。14 日のうちに 1 回は呼ばれるような関数なら、安心して Snap Start を利用できます。(常に Cold Start が回避で…

java ランタイムの Lambda 関数で、関数を実行する毎に一意な ID を生成して使うには

java ランタイムの Lambda 関数で、関数を実行する毎に一意な ID を生成して使うには 正しいコード例 正しいコードでの実行結果 誤ったコード例 誤ったコードでの実行結果 「初期化フェーズの中で意図せずに一意な ID を作成していないか?」を確認するツー…

AWS Lambda で Java 17 のランタイムを試しつつ、SnapStart を試してみた。後編:SnapStart を試してみる

こんにちは カスタマーサクセス部の山本です。 前編の記事では、AWS Lambda で Java 17 のランタイムを選択し、ハンドラ関数を実行してみました。 ハンドラ関数を実行した際に、 Cold Start が起きる条件についても確認しました。 デプロイした関数の初回実…

Step Functions から Lambda を呼び Jupyter Notebook の実行まで繋げてみる

Step Functions から Lambda を呼び Jupyter Notebook の実行まで繋げてみました。本記事の目的は、Step Functions から Lambda を呼び出し、終了条件を満たすまで待機させるための構成を作る流れを掴んでもらうことです。 Step Functionsの個々のパラメータ…

Lambda関数とPapermillでJupyterノートブックをバッチ実行する

AWSにおいてJupyterノートブックを実行する場合は、通常はSageMakerの画面でノートブックインスタンスを起動してJupyterを画面を開いて実行します。 つまり、手作業なりますが、Papermillというツールを使えばバッチ実行が可能です。 本記事ではPapermillを…

SAMでスクレイピング定期実行環境を実装

アプリケーションサービス部で現在研修中の鎌田(義)です。 Serverless Application Model(SAM)を使って、 スクレイピングを定期実行するアプリケーションを作成してみようと思います。 ローカル環境で開発を行い、テスト実行、AWSへのデプロイまでを行います…

AWS Systems Manager Change Calendar で AWS Lambda のスケジュール実行を制御しよう

こんにちは、マネージドサービス部テクニカルサポート課の坂口です。 AWS Systems Manager Change Calendar で AWS Lambda のスケジュール実行を制御する方法についてまとめました。 はじめに 構成図 Google カレンダーのエクスポート AWS Systems Manager C…

Lambda のランタイムに Python 3.10 が追加になったようです。→正式になりました。

こんにちは。技術課の山本です。 Lambda のランタイムに Python 3.10 が追加になったようです。 4/20 追記:正式に発表がありました。(4/19) aws.amazon.com AWS マネジメントコンソールに表示が出るようになりました。 AWSの最新情報 に発表はまだなく、ド…

SSM Automation で ECS タスク(RunTask) を実行してみる。

こんにちは。 技術課の山本です。 以下の記事で、SSM Automation の独自ランブックを作成し、任意の Lambda 関数を実行してみました。 blog.serverworks.co.jp 本記事では、 ECS タスク(RunTask) を実行してみます。 Lambda の実行時と同様に、独自ランブ…

serverless-python-requirements の slim オプションを有効化するときの注意点

要約 serverless-python-requirements で設定値を変更した後は $ serverless requirements cleanCache を実行しておかないと変更が反映されないときがある。 そして、プロファイルごとに実行しよう。 はじめに こんにちは。アプリケーションサービス部の保田…

重大度スコア”中”以下のSecurity Hubコントロールを無効化するスクリプトをLambdaで実装する

2022年新卒入社で現在CS課のOJTを受けていた末廣です。 Security Hubのセキュリティチェックで重大度スコア”中”以下のコントロールを無効化するスクリプトをLambdaで実装する検証を行いましたのでブログにまとめます。 Security Hub について 概要 作成物の…

Amazon Kinesis Data FirehoseからHTTPエンドポイントに配信したAWS WAFのログをAWS Lambdaで取り出してみた

クラウドインテグレーション2部の山下です。 AWS WAFのログは、2022年10月現在、以下のいずれかに送ることができます。 Amazon CloudWatch Logs(以下、CloudWatch Logs) Amazon Kinesis Data Firehose(以下、Kinesis Firehose) Amazon S3(以下、S3) 上…

Lambda@Edge関数のメトリクスはここに表示されます

CI部の古川です。Lambda@Edge関数の呼び出しメトリクスを確認しようとしたら、メトリクスにデータがない!と1時間くらい嵌ってしまいました。 Lambdaコンソールに表示されない… Lambda@Edge関数の呼び出しメトリクスを確認しようと、Lambda関数のコンソー…

AWS Lambdaのループ実行による課金上昇を減らすためのアプローチを考えてみた

AWS Lambdaのループ実行による課金上昇を減らすためのアプローチを考えて見ました。

AWS Lambda のランタイムを変更する方法

どうも、 swx-ochiai です。 はじめに AWS Lambdaを利用していると、Lambdaのランタイムを更新するよう通知が来ることがあります。 通知例 We are contacting you as we have identified that your AWS Account currently has one or more Lambda functions …

【Client VPN】Endpoint の Subnet 関連付けを自動で設定/解除してみよう【コスト削減ワザ】

こんにちは、去年買ったアイスがまだ冷凍庫に残っています。駒井です いつ食べれば良いのでしょうか 今回は Client VPN のコスト削減方法についてご紹介したいと思います はじめに 実現方法 構成 Lambda の実装 必要な IAM 権限について ① Client VPN に Sub…

Amazon Connect をフロントとしたシステムで外部 API が意図せず複数回実行されてしまう場合の確認ポイント

こんにちは、アプリケーションサービス部 ディベロップメントサービス2課の森田です。 Amazon Connect をフロントとし、AWS Lambda 経由で外部 API を叩くような案件で、意図せずに外部 API が複数回叩かれてしまったことがありました。 本記事では、その際…

【AWS】ALBのリスナールールの優先度について【Sorryページ】

こんにちは、CI部 柿﨑です。 最近はバドミントンのスマッシュがキレイに打てるようになってきており、楽しくて仕方ありません。 今回はALBのリスナールールの優先度に焦点を当てていきたいと思います。 ※本ブログの執筆時点(2022年7月)での情報となりますの…

【Python で AWS を操る】EC2 インスタンス ID の一覧取得

こんにちは、山中です。 AWS Lambda でとりあえずサクッと AWS の各種サービスを動かすプログラムを載せています。 ※ 正常系のみ (エラー処理などは書いていない) なので、あくまで検証環境で試すことを想定しています。 今回は AWS Lambda で EC2 インスタ…

【Python で AWS を操る】AMI の作成

こんにちは、山中です。 AWS Lambda でとりあえずサクッと AWS の各種サービスを動かすプログラムを載せています。 ※ 正常系のみ (エラー処理などは書いていない) なので、あくまで検証環境で試すことを想定しています。 今回は AWS Lambda で EC2 インスタ…

【Python で AWS を操る】EC2 インスタンスの停止

こんにちは、山中です。 AWS Lambda でとりあえずサクッと AWS の各種サービスを動かすプログラムを載せています。 ※ 正常系のみ (エラー処理などは書いていない) なので、あくまで検証環境で試すことを想定しています。 今回は AWS Lambda で EC2 の停止を…

【Python で AWS を操る】EC2 インスタンスの起動

こんにちは、山中です。 AWS Lambda でとりあえずサクッと AWS の各種サービスを動かすプログラムを載せています。 ※ 正常系のみ (エラー処理などは書いていない) なので、あくまで検証環境で試すことを想定しています。 今回は AWS Lambda で EC2 の起動を…

Lambda関数URL(Function URLs)をCloud Automatorの後処理に設定してEC2停止後にインスタンスを終了する

こんにちは。Cloud Automatorの開発・運用をしている尾崎です。 先日発表されたLambda Function URLsは個人的に待望の機能でした。従来LambdaをHTTP(s)で呼び出す際に必要だったAPI Gatewayを不要にできる点にメリットを感じています。 今回はこのLambda Fun…

【Amazon CloudFront】Lambda@Edgeを使ってS3 内コンテンツのBasic認証を作成してみた

こんにちは!技術4課のイーゴリです。 Lambda@Edgeを使ってS3 内コンテンツのBasic認証を作成してみたので、本件の記事ではご紹介致します。 前提条件 事前準備 S3バケットの作成 ウェブサイトアクセスのアクセス許可の設定 CloudFrontの設定 Lambda@Edgeの…

【対策方法】CloudFront Distributionに紐付けたLambda@Edge関数を削除できない

こんにちは!技術4課のイーゴリです。 CloudFront Distributionに紐付けたLambda@Edge関数を削除しようとすると、下記のようなエラーが発生します。対策方法は下記となります。 Lambda was unable to delete arn:aws:lambda:us-east-1:XXXXXXXXXXXX:function…

Lambda関数で最大10GBのエフェメラルストレージを使用可能になりました

山本です 山は良いですね Lambda関数で最大10GBのエフェメラルストレージを使用可能になりました 今まで Lambda を使うときには /tmp 領域に 512 MB までファイルを置くことができました 今回のアップデートで 10240MB (10GB) までファイルを置くことができ…

Lambda Layers を使って再利用可能な共通コンポーネントを切り出す

CI2部 技術2課の山﨑です。 前回のブログでは AWS Lambdaを使ってAWS Config Rules のカスタムルールを作成しました。 blog.serverworks.co.jp 今回のブログでは AWS Lambdaの機能の1つであるLambda Layersを使ってカスタムルールとして定義したLambdaファン…

AWS Config Rules のカスタムルールを作成してみる

2022年に入ってからPythonの勉強を少しずつ始めました。CI2部 技術2課の山﨑です。 今回のブログでは AWS Config Rules のカスタムルールを作成してみようと思います。 AWS Config Rulesとは(おさらい) 機能 構成チェック 修復アクション(Remediation) 料…

Lambda + SNS でSecurity Hubの検出結果をメール通知する

CI2部 技術2課の山﨑です。 EventBridgeを利用してメール通知設定を行うには大きく以下の2つの方法があります。 EventBridgeの入力トランスフォーマー + SNSで実装する Lambda + SNSで実装する 1つ目の方法については過去にブログを執筆しましたので、今回は…

【コスト削減】Amazon ECSタスクを自動起動、自動停止する

DS課の古川です。最近AWS Lambdaをよく使うので、今回もAWS Lambdaを使った記事を投稿します。 はじめに リソース 構成図 構築 serverless.yml Provider functions resources pythonファイル 実行 停止 実行前 実行後 起動 実行前 実行後 最後に はじめに 昨…

AWS LambdaからRDS Proxy経由でAmazon RDSに接続してみる

DS課の古川です。RDS Proxyの登場により、AWS LambdaとAmazon RDS間接続のボトルネックを回避できるようになりました。今回は、RDS Proxyを経由してAWS LambdaからAmazon RDSに接続する手順を試してます。 はじめに 最大同時接続数 LambdaとRDBの接続 RDS Pr…