AWS Lambda

実践で学ぶクラウド監視: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 が起きる条件についても確認しました。 デプロイした関数の初回実…

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…

【翻訳記事】Amazon Athena を用いた PCI DSS ログレビューを AWS Lambda で自動化する

はじめに この記事は、AWS Security Blog に掲載されている「Automate Amazon Athena queries for PCI DSS log review using AWS Lambda」を日訳したものです。 本記事で掲載しているのは、あくまでもレビューするための監査ログを自動で準備する観点のノウ…

Serverless Framework で自動的に作成される Amazon EventBridge 構築用の AWS Lambda を抑止する

Serverless Framework で自動的に作成される Amazon EventBridge 構築用の AWS Lambda を抑止する方法です。

Cognito + API Gateway + Lambda で実行権限を動的に制御したい

はじめに 真面目な導入 元ネタ 状況設定 やりたいこと DynamoDB のテーブルを用意する Cognito User Pool を作る ユーザープールを作成する ユーザー作成 アプリクライアント作成 グループを作る Lambda 関数と API Gateway と Cognito Authorizer を作る se…

API Gateway(HTTP API)のHTTPプロキシ統合とGoを利用したLambda Functionの実装方法

みなさん、こんにちは。サービス開発課でCloud Automatorの開発・運用を担当している尾崎です。 今日はCloud Automatorの内部ツールの開発で採用した、API Gateway(HTTP API)とGoを利用したLambda Functionの実装方法を紹介したいと思います。 この内容は202…

(翻訳) Apache Log4j2 の脆弱性 "CVE-2021-44228" に関する AWS からのアナウンス

Apache Log4j2 の脆弱性について、AWS からのアナウンスを翻訳速報します

AWS Lambda を Graviton2/Arm に切り替え最大 34% のコスト削減を行う

営業部 佐竹です。本日は、Lambda アーキテクチャが AWS Graviton2 プロセッサで動作可能になったことをお知らせするとともに、実際にアーキテクチャの設定変更を行い問題が起きないことを確認します。皆様も是非 Lambda Function を Graviton2 (Arm) へ移行…

Zappa で内部 ALB を作成するまでの道のり

はじめに こんにちは。アプリケーションサービス部の保田(ほだ)です。 たまに Python 製の軽量サーバーレスアプリケーションのデプロイツールである Zappa を使う場面があるのですが、誰も Frank Zappa の話をしないので少し寂しいです。 ちなみに Pound f…

Serverless Framework で Lambda の Provisioned Concurrency を設定する

はじめに こんにちは。アプリケーションサービス部の柳田です。 Serverless Framework を使って、Lambda の Provisioned Concurrency を設定する機会があったため、設定手順と確認したことを記載します。 また、細かい説明は省略しますが「Serverless Framew…

Lambda でバッチ処理を構築する際のエラー通知パターン 5選

はじめに パターン1. 直接Publish パターン メリット デメリット パターン2. DLQパターン メリット デメリット パターン3. 失敗時送信先パターン メリット デメリット パターン4. メトリクスフィルターパターン メリット デメリット パターン5. サブスクリプ…

Lambda@Edgeを作成する際にハマったポイント

こんにちは、SRE1課の古川です。最近は豆腐にマジックソルトをかけて食べるのが好きです。 今回はLambda@Edge作成時にとある部分でハマってしまったので、備忘録としてブログに書こうと思います。 Lambda@Edgeとは ハマったポイント エラー原因 このエラー…

CloudWatch Alarm でバッチ処理が起動していないときだけ通知したい!

はじめに 要約 導入 毎日ほぼ決まった時刻に外部から実行される Lambda 関数の Invocations メトリクスを監視したい だが、ちょっと待ってほしい 欠落データの扱い パターン 1. 欠落データを不正(しきい値を超えている)として処理 パターン 2. 欠落データ…

DatadogでAWS Lambdaの拡張メトリクスを取得する

はじめに DatadogでLambdaの監視を検討する際、以下のような情報の管理を考えると思います。 (番号は本記事のために便宜的に付与したもの) 標準的なメトリクスの収集 拡張Lambdaメトリクスの収集 ログの収集 カスタムメトリクスの収集 トレースの収集 本記…

Provisioned Concurrency を設定した Lambda 関数を ALB にぶら下げるときの注意点

結論 Provisioned Concurrency は関数のバージョンではなくエイリアスに対して設定しよう ドキュメントにもあるように関数のエイリアスをロードバランサーのターゲットグループに登録しよう ロードバランサーが常に現行バージョンの Lambda 関数を呼び出せる…

AWS LambdaにおけるNode.js 10のサポート終了に伴うWafCharm製品の対象Lambda関数の更新対応について

概要 当エントリーではLambda関数で使用されるNode.js 10 ランタイムのサポート終了に伴い、 WafCharm製品をご利用のAWSアカウントにて対象関数があった場合の更新手順について記載します。 Node.js 10サポート終了について AWSからも対象アカウントをお持ち…