You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
キーバリューストアを高速なインメモリデータベースとして提供するRedisを、AWS上のマネージドデータベースとして提供する新サービス「Lambda Store」が登場しました。提供元は同名の新興ベンダLambda Storeで、現在AWS上で利用可能です。 AWS上のマネージドなRedisデータベースは、すでにAWSが提供する「Amazon ElastiCache」や、RedisLabsが提供する「Redis Enterprise」などがあります。 今回登場したLambda Storeの特長は、その名前が示すとおりRedisをサーバレスモデルで提供するため、使った分だけ料金が発生する従量課金になっている点にあります。これにより、月額料金のほかのサービスよりも圧倒的に安いと同社は主張。 さらに、Lambda Storeを利用しているサービスが成長し、大量のアクセスが発生するようになった場合、
Node.js のHTTP/HTTPS エージェントはデフォルトで keepalive が無効化されているため、新しいリクエストがあるたびに新しい TCP 接続を作成します。 AWS Lambda の Node.js ランタイムを利用している場合、環境変数で AWS_NODEJS_CONNECTION_REUSE_ENABLED=1 を設定することでkeepaliveが有効になり、TCP 接続を再利用してより効率的に通信するようになります。 この動作を確認してみます。 背景 Node.js のHTTP/HTTPS エージェントはデフォルトで keepalive が無効化されています。 keepAlive Keep sockets around even when there are no outstanding requests, so they can be used for futur
はじめに 現在担当しているシステムで下記の項目を全て満たすAWS IoTルールを作る必要があり、嵌ったため記事にしました。 シャドウには配列を持つフィールドがある 前述の配列には値に数字型を持つフィールドを有したオブジェクトが添字の0〜2のいずれか1つに存在 前述の数字がカウントアップしたら、アクション(Lambda)を実行する 詳しくは後述しますが、AWS IoT ルールでは、ロギングを有効化していると、存在しない配列の添字に対してget関数を利用すると、isUndefinedでチェックをしていてもERRORがロギングされます。 上記を回避する手段として正規表現を扱う関数を利用するという方法があります。 存在しない添字に対してgetしてエラーが発生することを確認 下記のようなシャドウとAWS IoTルールを作ります。 シャドウ { "desired": { "array": [ { "o
グラフ作成ツールであるGraphvizを社内でHTTPサービス化し、どこからでも使えるようにした話です。 こういう感じで使えます。 $ curl -X POST http://graphviz.ほげほげ.example.com/ -d 'digraph { foo -> bar -> buzz; }' https://ほげほげふがふが.amazonaws.com/958508bb186ef076c2cbb92c1e0c34ea0e51316e2d9bfe46620d2d6278db0f94.png URLを開くとこういう画像になっています。ヤバイ!! Graphviz便利だけどやや不便 困り HTTP化することで得られるめでたさ アーキテクチャ ファイル構成 Dockerfile server.py conv.sh CD用ファイル task-definition.json .github/
こんにちは!虎の穴ラボのNSSです。 みなさんの会社では、SSL証明書の有効期限をどのように管理しているでしょうか? 最近では、AWSやGCPなどのクラウドサービスが管理するSSL証明書を利用することで、 有効期限が切れる前に自動更新してくれるサービスもあります。 しかし、クラウドマネージドなSSL証明書が使用できない都合があったり、 利用しているクラウドサービスにSSL証明書の自動更新機能がなかったりすることがあります。 虎の穴ラボでは、今までスプレッドシートにドメイン名と有効期限を記載し、 Google Apps Script(GAS)を使って、有効期限がせまったドメインをSlack通知するという方法をとっていました。 一応これでもチェックすることはできますが、更新にあわせてスプレッドシートを手動で更新しなければならず、 忘れると通知が出続けてしまいます。 また、万が一スプレッドシート
S3 バケットに保存されているファイルのウィルススキャンを AWS Lambda を使ってやってみたした。 こんにちは、コンサルティング部の望月です。 1月がはじまったと思ったら、もう終わりそうで、この調子だと『シン・エヴァンゲリオン劇場版』の公開ももうすぐですね!! さて、今回は S3 バケットに保存されているファイルのウィルススキャンを AWS Lambda を使ってやってみたのでブログにまとめました。 現在、S3 にはウィルススキャンという機能はなく、S3 へファイルをアップロードする前か、アップロード後にダウンロードし、ウィルススキャンする方法が多いかと思います。 今回の方法は、下記ソフトウェアを使って Lambda を利用するため、ウィルススキャン用に EC2 など別途用意することなく、手軽に行うことができるため、簡単に試してみることができます。 upsidetravel/buc
Amazon Web Services ブログ AWS LambdaでAmazon RDS Proxyを使用する 本投稿は、Principal Solutions Architectである George Maoの寄稿によるものです。 更新 – (2020年6月30日 PDT): MySQLおよびPostgreSQL対応のAmazon RDS Proxyが一般にご利用可能になりました。 更新 – (2020年4月8日 PDT): PostgreSQL 互換の Amazon RDS Proxy (プレビュー)を発表しました。プレビューではバージョン10.11と11.5がサポートされています。 AWSサーバーレスプラットフォームは、デマンドに応じて自動的に拡張するアプリケーションを構築することができます。大量アクセスがある間、 Amazon API Gateway と AWS Lambda は負
Amazon RDS Proxyはパブリックプレビュー機能です。 正式公開までに機能が大幅に変更される可能性があります。 昨年末に開催されたre:invent 2019でAmazon RDS向けの完全マネージド型で可用性の高いデータベースプロキシ「Amazon RDS Proxy」が公開されました。 コネクションプーリングや自動フェイルオーバーなどを完全マネージドで利用できます。 [速報]これでLambdaのコネプー問題も解決?!LambdaからRDS Proxyを利用できるようになりました(まだプレビュー) #reinvent RDS Proxyがもっとも威力を発揮するユースケースがAWS Lambdaからリレーショナルデータベースへの接続です。 このユースケースに特化したウェビナー ”Using Relational Databases with AWS Lambda - Easy C
Lambda の `Node.js 8.x` イメージには ImageMagick とそれを Node.js から使うライブラリがなぜかプレインストールされていました。ですが`Node.js 10.x` 系以降から削除されてしまったので、Lambda Layer でImage Magick をインストールする方法と後学のために実行ファイルをビルドし Lambda に配置する方法をご紹介します 西田@大阪です Lambda の Node.js 8.x イメージには ImageMagick とそれを Node.js から使うライブラリがなぜかプレインストールされていました。ですがNode.js 10.x 系以降から削除されてしまったので、Lambda Layer でImage Magick をインストールする方法と後学のために実行ファイルをビルドし Lambda に配置する方法をご紹介します
CX事業本部@大阪の岩田です。先日のアップデートでLambdaにProvisioned Concurrencyの設定が追加されました。実行準備のできたLambda実行環境を指定した数だけプーリングすることで、コールドスタートを回避できるナイスな機能です。 が、ちょっと待って下さい。本来サーバーレスアーキテクチャは必要な時だけ必要なリソースを確保して、アイドル時間には課金されないというのが特徴ではなかったでしょうか?詳しくは後述しますがProvisioned Concurrencyの設定でLambda実行環境を予約すると、Lambdaが起動しなくてもアイドル時間に課金が発生します。元々アイドル時間に課金されないことをモチベーションにLambdaを選定していたようなケースでは、本当にProvisioned Concurrencyを使うべきなのかは良く考えた方が良さそうです。以後Provisio
はじめに CX事業本部の佐藤です。この記事はAWS LambdaとServerless #1 Advent Calendar 2019の12日目 です re:Invent 2019のLambdaで Provisioned Concurrency というアップデートがありました。弊社の岩田が速報ブログとして書いています。Provisioned Concurrencyのアップデートによって、Lambdaの同時実行数を事前にプロビジョニングすることが可能になりました。この機能によって、設定した数のコンテナは常にウォームスタート状態になるため、コールドスタートをある程度防ぐことが可能になりました。ただし、設定したコンテナ数以上のリクエストが来ると、Lambdaは通常通りスケールアウトしてコンテナを起動します。その際はコールドスタートとなるため、この設定値の調整が必要になりそうです。 やってみること
CloudNativeがここまで進化するとインスタンスの仮想化技術をベースとしたシステムなど使いたくなくなってしまいます。 私は新たにシステムを構築する際、必ずServerless Firstの考え方で設計をしていきます。 その中でAWS Lambda、Amazon DynamoDBを中心にMicroservicesの設計をしていくのですが、 ACIDの部分をどう対処するかが一番悩むところです。 今回はServeice間のTransactionに関する話を自分なりに整理していきたいと思います。 図1 Saga Design Pattern Sagaは複数のサービスにまたがるトランザクションを実装するためのマイクロサービスアーキテクチャパターンです。 複数のマイクロサービス間でデータ一貫性を実現するもので、Sagaには2つのパターンがあります。 1. Choreography-based S
知っている人は知っていると思うが、Qiitaではたびたび大量のスパム記事が投稿されている。 深夜24~26時頃に記事一覧を確認してみて欲しい。 スパム記事がわんさか出てくるはず。 登録したてのQiitaユーザは不安よな。1 ———— @dcm_chida 動きます🧐 はじめに これはNTTドコモサービスイノベーション部AdventCalendar2019の1日目の記事です。 我々の部署では日頃から「KDDCUP2」や「論文読み会」に取り組んでおり、若手から中堅社員まで最先端の技術取得に励んでいます。 そうした活動をもっと外部へと発信していこうと始めたのがこのAdventCalendarです。社員一人一人が書いた記事を通して、少しでも多くの方に興味を持って頂ければ幸いです。 さて、僕は4年目社員ですがプログラミング初心者の頃から現在に至るまで、Qiitaにはかなりお世話になりました。 自分
1 はじめに CX事業本部の平内(SIN)です。 Lambda関数は、タイムアウトに設定した時間が経過すると、エラーとなります。 2019-11-25T03:03:27.778Z 5f46427d-c6f4-4785-be32-060acf425de0 Task timed out after 3.00 seconds タイムアウトの場合、Dead Letter Queueでリカバリすることは出来ません。 CloudWatchメトリックスのアラートでは、エラーとなった関数名は分かりますが、RequestIdなど、スレッドを識別する情報が取得できません。また、アラートは、敷居値を跨いだ際のイベントなので、全てのエラーをタイムリーにリカバリするのは難しいと思います。 今回は、外部呼び出しなどが予想外に時間がかかってしまって、意図せず、タイムアウトとなってしまった場合の、リカバリ用のLambda
関数の内容については、大栗の記事同様に以下のとおり設定しました。 from __future__ import print_function def lambda_handler(event, context): for record in event['Records']: print ("test") payload=record["body"] print(str(payload)) 次にイベントトリガーを設定します。「トリガーを追加」をクリックします。 トリガーに「SQS」を選択し、事前に作成しておいた FIFO キューを指定します。(記憶がうろ覚えですが、以前はここの選択対象に FIFO キューは表示されなかったと思います)。バッチサイズは 5 で検証してみました。 これで FIFO キューをトリガーとした Lambda 関数がセットできました。次にキューにメッセージを投入して、
[Step Functions]動的並列処理(Map)を使って60分×24時間=1440ファイルのバッチ処理を楽々実装してみた こんにちは、平野です。 下記のブログで紹介されているように、 Step Functionsにて、配列の入力を個別のLambda等にバラまいて処理させるMapステートがサポートされました!! [アップデート]Step Functionsで動的並列処理がサポートされました! 担当していた案件で、S3上にある直近24時間分ファイル群(各ファイル名に秒までの時刻が入っている)を、 1分毎にまとめて別のバケットに移すような処理があり、 これはまさにMapステートに最適な素材でしたので、Mapステートを使ったリファクタリングをしてみました! この記事では、ServerlessFrameworkのStep Functionsプラグインを用いています。 (対応早くて助かる!!)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く