吉川@広島です。 案件でCloudFront+S3なSPAに対してOGP対応が必要になってきそうなため、Lambda@Edgeを使った対応について検証しました。 現状、FacebookやTwitterのBotは基本的にクライアントサイドJSを解釈できず、SPA単体でのOGP対応は難しいとされています。OGPメタタグはSSRで返してあげる必要があるため、「UserAgentでBot判定し、その時だけOGPメタタグ入りのHTMLをエッジサーバでレンダリングして返す」というのが基本戦略になります。 SPAをホスティングするCloudFront+S3を作成する S3バケットを作成する バケット名だけ入力し、後はデフォルト値で作成します。 そして、本来であればSPA用のHTML/JS/CSSリソースをアップロードするのですが、今回はLambda@Edgeの動作確認ができれば良かったためパスしました(
タダです. 業務でいろんな部署の人に Athena の実行ユーザーを提供して分析業務を行ってもらっているのですが,そのために IAM ポリシーと Athena 側での設定でハマったことをまとめておきます. IAM ポリシーでハマったこと Athena の設定でハマったこと まとめ IAM ポリシーでハマったこと 分析業務は AthenaとS3, KMS で暗号化しているのでそのあたりを気をつけて IAM ポリシーを検証しました.なお,デフォルトユーザーには ReadOnlyAccess が権限が振られており,データは Aurora からエクスポートしたデータなので KMS が暗号化されています. sadayoshi-tada.hatenablog.com ベースポリシーを AmazonAthenaFullAccess を参考に使って検証した時に,primary ワークグループへのアクセス権
要件 pathパラメータをキーにDynamoDBに格納されているURLへリダイレクトさせる。 アーキテクチャ 2018/11/05にAPIGatewayでWAFを有効化できるようになりました(ワーイ) APIGateway設定 新規作成 ※ちょうど先日(2018/12/18)APIGatewayで WebSocketAPI の構築が出来るようになったのですが、そこには今回触れません パスパラメータの設定 リソースのアクション→リソースの作成 メソッドの設定(GET) リソースのアクション→メソッドの作成 ※ Lambda プロキシ統合 はAPIGatewayに対するリクエストの情報をよしなにまとめてLambdaに渡してくれるの非常に便利です!!! メソッド作成後 import json import boto3 from boto3.dynamodb.conditions import K
処理が複雑でジョブの依存関係を定義したい場合は、AWS Batch 単体で制御するか、より複雑な場合は Step Functions を用いて Lambda、ECS(Fargate)、AWS Batch(Fargate) を組み合わせる。 AWSにおけるバッチ処理の選択肢 ざっくりとした選択肢は下記。 Lambda ECS(Fargate) AWS Batch(Fargate) これらのサービスに実際は SQS や Step Functions を組み合わせることもあるので選択肢はさらに広がる。 ちなみに、SQS + Fargate(常時起動でポーリング) という構成や、SQS + Lambda + Fargate(都度実行) という構成は、AWS Batch が Fargate に対応した現在は特にメリットがないので取り扱わない。 2021/5/2 追記 「常時リクエストがくるユースケー
Python パッケージを使う、原始的な方法 過去に2回、Serverless Framework を使った Lambda 関数の管理について書きました。 Serverless Framework による AWS Lambda 関数の管理1 | もばらぶエンジニアブログ Serverless Framework による AWS Lambda 関数の管理2 | もばらぶエンジニアブログ 1回目の投稿の際、Python のパッケージを使いたい場合は、以下の通り、Lambda 関数の Python ファイルと同じディレクトリにパッケージをインストールして、それを sls deploy でパッケージ化&デプロイする方法を紹介しました。 pip install パッケージ名 -t . 「原始的な方法」の問題点 上に挙げた方法には2つの問題があります。 ディレクトリが汚れる pure Python で
How to set up a custom domain name for Lambda & API Gateway with Serverless With Serverless, it's easier than ever to deploy production-ready API endpoints. However, using AWS API Gateway results in odd hostnames for your endpoints. Further, these hostnames will change if you remove and redeploy your service, which can cause problems for existing clients. In this guide, I'll show you how to map a
※ HTTP API および REST APIで使用できるオーソライザー REST APIの場合はLambdaオーソライザーを使用してAuth0との統合が可能です。 HTTP APIの場合は、Lambdaオーソライザーが使用できないですが、OpenID Connect/OAuth 2.0の仕様に基づいて構築されたJWT(JSON Webトークン)オーソライザーを使うことにより認証と承認を処理できます。 アップデート により、HTTP APIでも Lambda, IAMがサポートされました。 以下のような構成です やってみる リソース API Gateway Lambda Auth0 API AWSでAPIを構築 SAM(Serverless Application Model) を用いて構築します。 sam initを実行しプロジェクトを作成します。 Quick Start Templat
Serverless FrameworkはAWS LambdaやAmazon APIGatewayなどを利用したサーバーレスなアプリケーションを構築や管理・デプロイするためのツールです。 今回はServerless Frameworkを用いてAPIGateway・Lambda・DynamoDBを構築し管理・デプロイします。 上記の3つのサービスを構築できれば、簡単なRESTAPIを作成することができます。 Serverless Frameworkを用いたLambdaの構築・デプロイは以下の記事で紹介しています。 今回はServerless Frameworkを用いたLambdaの構築とデプロイが完了している前提で進めていきます。 Serverless FrameworkでAWS Lambdaをデプロイ APIGatewayの構築 Serverless FrameworkではLambda関数
Amazon SageMakerの起動しているノートブックインスタンスとエンドポイントをSlackに通知するBotを作ってみた こんにちは、大阪DI部の大澤です。 SageMakerのノートブックインスタンスとエンドポイントを起動しっぱなしにしないように、現在起動しているノートブックインスタンスとエンドポイントを毎朝Slackに通知するBot(Lambda関数)を作成しました。今回はその内容を紹介します。 Incoming Webhooks Slackへのメッセージの投稿はIncoming Webhooksを使うことで実現できます。 SlackのワークスペースにIncoming Webhooksを追加し、メッセージを送信するために使用するエンドポイントURLを取得します。取得したエンドポイントURLに対してメッセージや送り先のチャンネルなどのデータをPOSTすることで、対象のSlackのチ
こんにちは。 ネクストモード株式会社 の田口です。 AWSの習熟でリソースを作成したものの、停止や削除を忘れてしまう経験をした人は多いのではないでしょうか。コストが発生することを知らなかったり、オートスケールの設定が残っていて消したつもりが別のリソースが起動したことに気づかなかったりと、理由は様々あると思います。 今回は、常時起動が必要なEC2インスタンスが存在するAWSアカウントにおいて、 習熟用に作成したEC2インスタンスの停止忘れをお知らせしてくれる仕組みを考えてみました。(もちろん強制停止させることも可能ですが、あくまでリソースの作成者が自ら停止する習慣をつけてほしいので、お知らせするだけにしました) 機能要件 EC2の使用量を削減する解決策として、AWS公式ページではLambdaを使用して特定の時間自動停止および起動する仕組みが紹介されています。この仕組みは対象リソースが決まって
0. はじめに ここ1年はStackstormばかり扱っているのですが、年末だし他の技術も触るかー!と思いたち、色々自分の作業ディレクトリを漁っていたところ、Twitterbotなるものを発掘しました。 Stackstorm???という方はこちらをご参照ください。(自演) Dockerで始めるStackstorm再入門1/3(環境構築からOrquestaで書いたWorkflowの結果をslackに通知する) 話を戻します。 そのTwitterbotですが、私はvpsを使って運用していました。 ただ、そんなに頻繁に動かさないので、また勉強も兼ねて、AWS Lambda(以下、lambda)移行にチャレンジした次第です。 lambdaってなに?という方は、AWSがオフィシャルなハンズオンを公開しているので、そちらをご参照ください。 先日公開した AWS Hands-on for Beginne
こんにちは。katoです。 今回はAWSサービスを利用したLINE Botの開発を行っていきたいと思います。 概要 LINE BotはLINE Developersアカウントを所有していれば簡単に作成することが可能です。 今回はDeveloper Trialのプランを利用して、簡易的なLINE Botを作成します。 手順 LINE Developers まず初めにLINE Developers側のセットアップを行います。 LINEのアカウントを所有している場合には、LINEアカウントを利用してLINE Developersを開始することが可能です。 LINEを起動し、「ホーム」→「設定」→「アカウント」を開き、「メールアドレス」と「パスワード」を設定します。 設定したメールアドレス宛に認証番号が届きますので、LINE側でこの番号を入力して登録を完了します。 LINE Developersに
はじめに AccountActivityApiがなんぞやという方はぐぐってね。 AccountActivityApiが生まれた経緯には諸説ありますが、まあそんなことは置いておいて、ちょっと使ってみた話です。 さて本来ならwebhookなのでそれを受け取るためのサーバが必要となります。ですがちょっと試すだけにサーバ立てたりするのも面倒だなーAWSの諸々使えばサーバレスにできるよね? ということでやってみました記事です。 やりたいこととしては、サーバレスで受け取ってKinesis FirehoseからS3に流す、という感じです。 今回やることのクソみたいな図。 手順 twitterのデベロッパアカウントに登録するよ twitterアプリの設定やAccountActivityApiのセットアップするよ twitterにwebhookのサーバを登録するよ(CRCを通すよ) webhookで見るアカ
Twitterアプリケーション(認証情報)の取得 対象アカウントでTwitterにログインして、こちらhttps://developer.twitter.com/en/appsにアクセスしました。 [Create an app]を押下しました。 なんで使うんだ?と聞かれたようなので、「趣味でボット作成」としました。 電話番号の紐付けが必要なようですので、紐付けして画面更新して、下の方で国を選択して、[Next]ボタンを押下しました。 Twitter APIを使う理由を200文字以上で英語で書いて、とありましたので、Google翻訳に頼って書きました。 The specifics(詳細)セクションは1つだけYesでした。 「ツイート機能を使いますか?使うならどう使いますか?」と来たので、上記と同じことを書きました。 申請が終わったようです。 メールが届いて、[Confirm]しました。 もう
はじめに この記事は以前作成した競艇予想のモデルをAWS Lambda上で使用し、 競艇予想APIを作成したときのお話です。 やっていることは単純ですが、これを実現するために私の夏休みをすべて費やしました(泣) ですので、私のようにAWS Lambdaで自身が作成した機械学習モデルを使用したいと 考えている方の助けとなれるように記事を書きました。 アジェンダ 1.使用したライブラリ、実行環境について 2.処理内容について 3.アーキテクチャ図について 4.競艇予想APIを作る上で困った点について 5.Serverlessについて 6.ServerlessによるAWS Lambdaのデプロイ方法について 7.競艇予想APIのつくり方について 8.最後に 1.使用したライブラリ、実行環境について ・Python 3.6 ・TensorFlow 1.14.0 ・Numpy 1.15.4, 1.1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く