Anthropic社はClaude3をリリースしました。 一部のモデル ( Claude 3 sonnet、Haiku )は既にBedrockで使用可能になっています。 というわけでBoto3から呼びだしてみます。 AWS公式コードサンプル 色々変わっているので少し見てみます。
みなさん、こんにちは! 福岡オフィスの青柳です。 Amazonの生成AIサービス「Amazon Bedrock」がいよいよ正式公開されました! みなさん、さっそくBedrockのマネジメントコンソールからいろいろと試してみていらっしゃるのではないでしょうか。 今回は、マネジメントコンソールからではなく「プログラムからBedrockを利用する方法」について試してみました。 Lambda関数からBedrockを呼び出す BedrockはGUIからの利用のみではなく、プログラムやサービスから利用するためのAPIも用意されています。 また、Bedrockを利用するプログラムを効率良く記述するために、各種プログラム言語向けのSDKも用意されています。 今回は、Python言語で利用できる「AWS SDK for Python」(Boto3) を使って、Lambda関数を作成してみます。 (※) リー
AWS Ping Test (Latency) Missing your favourite cloud provider or a specific region? Submit the request here. Click here to see the list of past donors. If you like the tool, consider donating :) Compare ping (latency) for other cloud providers. Note: Sorting will be enabled after you press Stop. # AWS Region Name Region Code Mean Median Min Max Stop That!
Q: Amazon API Gateway とは何ですか? Amazon API Gateway は、デベロッパーがあらゆる規模で API の公開、保守、モニタリング、セキュリティ保護を簡単に行えるフルマネージドサービスです。AWS マネジメントコンソールで数回クリックするだけで、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Elastic Container Service (Amazon ECS)、AWS Elastic Beanstalk で稼働中のアプリケーション、AWS Lambda で稼働中のコード、または任意のウェブアプリケーションといった、お客様のバックエンドサービスのデータやビジネスロジック、および機能にアクセスする、アプリケーションの "正面玄関" となる API を作成できます。Amazon API Gateway
まえがき Api GatewayとLambdaで構成されているサーバーレス環境の話。 Api Gatewayの複数のエンドポイントと同じLambda関数を紐付けることができます。 たとえばdev環境とprod環境があってLambda関数がひとつである場合、dev環境への変更がprod環境へも反映されることになります。 dev環境で行った変更をテストした上でprod環境へ反映させたい場合、Api Gatewayのステージ変数とLambdaのエイリアスが役に立ちます。 ネット上にやり方は書いてありましたが、図解が見つけられなかったため、ここに備忘として残したいと思います。 細かい設定値や設定方法はネット上に多く存在したため省きます。 図解 いきなり結論ですが、Api Gatewayのステージ変数とLambda関数のエイリアスのつながりは以下のようになります。 Lambda側ではエイリアス名を設
こんにちは!株式会社フォトラクションでWEB開発をしている下川原です。 Photoruction Advent Calendar 2022の4日目の記事になります。 はじめに どんな人がこの記事を読むと幸せになるか。 AWS Lambdaで開発を進めてる人(言語問わず) AWS Lambdaのソースをコピーして検証環境・本番環境を作っちゃってる人 AWS Lambdaを環境ごとに分ける! 1. 下準備 まずは、検証用、本番用にする直前のLambda関数ができていることが重要! 2.バージョンを作成する(AWS CLIで行う場合) aws lambda publish-version --function-name myTestsFunctions --description "とりあえず動くようにした" (説明) aws lambda publish-version バージョンを作成するコ
AWSのようなクラウドサービスでは、リソースを使った分だけ料金請求される従量課金制であることが多いです。 お試しで構築したサーバや設定を消し忘れたり、大量のアクセスがきてリソースを消費して、意図しない金額の料金を請求されてしまうことをクラウド破産などと言うことがあります。 本ブログのサーバーレス構成は、誰でも閲覧できるのでDoS攻撃や悪戯による過アクセスがありえるので、クラウド破産しないよう対策が必要となりました。 スロットリング設定 API Gatewayにはスロットリングと言って、秒間あたりのリクエスト数に上限設定をすることができます。上限を超えたリクエスには429エラーが返されリソースは消費せず、Lambda等にも到達しないのでそれ以上の課金はされません。 API Gatewayのスロットリング設定には「レート」と「バースト」の2項目があり、トークンバケットアルゴリズムに基づいた制限
AWS事業本部木村です。 API GatewayからLambdaを呼び出す際のスロットリングに関して調べる機会があったので、まとめてみようと思います。 初めに 今回はREST APIを対象として、調査を行なっています。HTTP APIではAPIキーと使用量プランが対象外などの差分がありますので参考にされる場合はご注意ください。 利用できる機能の差分に関しては以下をご参照ください。 https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/http-api-vs-rest.html API Gatewayで設定できるスロットリングに関して API Gatewayでは、以下の3つの観点からスロットリングの設定が可能です。 ・アカウント全体のリージョンに対するスロットリング ・APIキーと使用量プランに基づくスロットリン
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 DynamoDB Streams と有効期限 (TTL) テーブルに対して Amazon DynamoDB Streams を有効にし、期限切れの項目のストリーミングレコードを処理することで、有効期限 (TTL) によって削除された項目をバックアップ (または処理) できます。 ストリームレコードにはユーザー ID フィールド Records[<index>].userIdentity が含まれます。 有効期限切れの後に有効期限 (TTL) プロセスによって削除された項目には、次のフィールドが含まれています。 Records[<index>].userIdentity.type "Service" Records[<index>].userIdentity.prin
少し前に、Lambdaで直接URL発行ができるようになったやつ。 使ってみた投稿は多々あるが、どれもIAM署名付きでリクエストしている事例がない。 あったとしても、awscurlとか使ってるので、そのままではアプリケーションに組み込めない。 なので、どうやってIAM署名付きでリクエストできるのか気になったので、試してみる。 AWS_IAM auth type Auth typeは、AWS_IAMとNONEの2種類ある。 名前の通り、AWS_IAMを指定すると、IAMで認証できるようになる。 権限としては、Functionに対するlambda:InvokeFunctionUrlの呼び出し権限があれば良いとのこと。 Signature Version 4 IAM 署名付きでリクエストするには、Signature Version 4という方法で現在は署名を付与する必要があるらしい。 Lambda
こちらのコールドスタート関連については弊社岩田の資料が大変わかりやすいのでオススメです。 Serverless Meetup Osaka #5 で「VPC Lambda×RDSのデメリットについて正しく理解しよう!!」というテーマで発表してきました #serverlessosaka | DevelopersIO では次のコードを見てください。 import time class sleep_class(): def __init__(self): time.sleep(2.0) self.init_time = time.time() def lambda_handler(event, context): s = sleep_class() print(s.init_time) 初期化に2秒ほどかかるsleepクラスがあります。これをLambdaで複数回実行すると次のような結果になります。
AWSではELB(Elastic Load Balancing)を活用し、アクセスの振り分けや負荷分散を行なうのがメジャーです。 ロードバランサーを使った構成は、通常のWebシステムではごくごく一般的です。 ただしSocket.IOを使ったウェブソケット(websocket)接続では、問題となる場合があります。 これには理由がありまして、私も調査に苦労しました。 まずは前提となる知識を共有しつつ、備忘録を兼ねて解説します。 目次 目次 Socket.ioの仕組みをざっくりと理解する ロングポーリング(polling) ロングポーリングからウェブソケット(websocket)へ Connection: Upgrade ロードバランスされるとセッション(sid)が引き継げない問題 Redisによるセッションの共有 Application Load Balancer Stickiness(Sti
簡単な説明 Lambda 開発者はメモリを使用して関数のパフォーマンスを制御できます。Lambda 関数に割り当てられるメモリの量は、128 MB から 10,240 MB の間です。Lambda コンソール では、新しい関数はデフォルトで 128 MB に設定されており、多くの開発者は関数に 128 MB を選択しています。 ただし、シンプルな Lambda 関数の場合にのみ 128 MB を選択するのがベストプラクティスです。たとえば、イベントを変換して他の AWS サービスにルーティングする関数。関数が次のアクションのいずれかを実行すると、その関数はメモリ割り当て量が高くなります。 ライブラリをインポートします。 Lambda レイヤーをインポートします。 Amazon Simple Storage Service (Amazon S3) からロードされたデータを操作します。 Ama
楽観的排他制御(楽観的ロック)とは、同時アクセスによるデータの不整合を防ぐ排他制御(ロック)の手段です。バージョン番号や更新日時を利用して、データを取得してから更新するまでの間、データが変更されていないことを確認することで整合性を保ちます。対照に悲観的排他制御(悲観的ロック)では、データを取得する際にロックをかけることで整合性を保ちます。 DynamoDBでは楽観的排他制御を実装できます。また、DynamoDBのトランザクションでは楽観的排他制御が採用されています。 DynamoDBで楽観的排他制御 AWS LambdaでDynamoDBのデータを更新する際に、条件付き書き込みを使用してバージョン番号で楽観的排他制御を実装してみます。 DynamoDBに商品テーブルProductを作成して次のデータを格納しておきます。 productName(PK) stock version Lambd
Amazon Web Services ブログ AWS Lambda 関数が大量のリクエストを処理する場合に 12 倍速くスケールできるようになりました AWS Lambda は、最大 12 倍速くスケールアップできるようになりました。同期的に呼び出される各 Lambda 関数は、すべての関数の合計同時実行数がアカウントの同時実行数の上限に達するまで、10 秒ごとに 1,000 回の同時実行回数でスケールするようになりました。さらに、アカウント内の各関数は、関数の呼び出し方法に関係なく、互いに独立してスケールするようになりました。これらの改善には追加コストはかかりません。また、既存の関数の設定を行う必要もありません。 スケーラブルで高性能なアプリケーションを構築することは、従来のアーキテクチャでは困難な場合があり、ピーク時の需要や予測不可能なトラフィックに対応するために、コンピューティング
pythonのプログラムからS3を操作する手順をまとめました。ファイルのアップロード/ダウンロードなど、基本的な手順を書いています。 [1] 前提条件 [2] 準備 [2-1] boto3のインストール [2-2] EC2にIAMロールを付与する [3] Boto3を使った操作の概略 [4] Boto3を使った操作の詳細 [4-1] 全バケットを表示 [4-2] バケット内のオブジェクトを表示 [4-2-1] 全オブジェクトを表示 [4-2-2] Prefixに該当するオブジェクトを表示 [4-2-3] 階層化のオブジェクトのみ表示 [4-2-4] Keyが1,000件以上になる場合の対処法 [4-2-5] resourceとclientで得られる情報の違い [4-3] バケットからファイルをダウンロード [4-3-1] ファイルにダウンロード [4-3-2] ファイルライクオブジェクトに
既に S3 アップロードされているファイルの メタ情報 を変更する場合、通常は S3 の Management Console にある Properties で設定でき、設定可能なメタ情報には、 Content-Type, Content-Encoding, Content-Language, Cache-Control, Expires 等があります。 今回は、既に S3 にアップロード済の大量のファイルに対し、一括でメタ情報の変更を行い、 CloudFront のキャッシュを削除するまでの手順をまとめます。 実行環境 以下は ruby 2.1.2p95, Ruby AWS SDK ver2 を使用する前提で説明しています。 手順 今回は my-bucket という名前のバケットの、 mydir/images/... 以下にある、 500件程度のjpegファイル の Cache-Cont
各サービスに加え、サポート費用、消費税諸々含め300万以上の課金が発生しました。 幸い今回の事象はラックの検証環境上で発生した事象のため、お客様への影響はなかったものの、これが「もしお客様環境で起きていたら......」と考えると背筋が凍ります。 事象の原因 今回上記(A)(B)の仕組みを定期的に実行する想定で各々EventBridgeルールの設定をしましたが、(B)のEventBridgeルールの設定に考慮漏れがありました。 具体的には、以下のように記載をしていました。 EventBridgeルールの作成時、イベントパターンのフォームから生成したJSONとなります。 ※ S3にオブジェクトが配置されたら後続処理を実施するというテンプレートを使用しました。 テンプレートの内容を深く理解せず、そのまま流用したことが本事象の発端となっていました。 ※ ただ、EventBridgeでは、ルールが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く