並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 38 件 / 38件

新着順 人気順

Lambda@Edgeの検索結果1 - 38 件 / 38件

  • Lobiの画像変換サーバーをImageFlux+Lambda@Edgeで置き換えたはなし - KAYAC engineers' blog

    SREチームの長田です。 先日Lobiの画像変換サーバーをImageFluxに移行したので、その過程を紹介します。 画像変換って? Lobiはチャットを主軸としたコミュニティサービスです。 ユーザーはチャットメッセージに画像を添付することができます。 また、ユーザーアイコンやチャットグループの壁紙などもスマホやPCからアップロードして設定することができます。 アップロードされた画像は利用箇所に応じて適切なサイズ・フォーマットに変換する必要があります。 投稿画像のプレビューでは表示速度と通信量削減を優先して解像度低めの画像を、 拡大表示する場合はオリジナルサイズの画像を表示します。 複数サイズの画像を用意する手段として、Lobiでは内製画像変換アプリケーションであるmagcian1を運用していました。 Amazon EC2上で動作するNodeJS製のアプリケーションで、AWS CloudFr

      Lobiの画像変換サーバーをImageFlux+Lambda@Edgeで置き換えたはなし - KAYAC engineers' blog
    • Next.jsアプリをLambda@Edgeで超簡単にSSRできるserverless-next.jsのご紹介 - Qiita

      Next.js をSSR対応でホスティングしたいなら Vercel(旧Now) を使うのが定石だと思います。 Next.jsとVercelはどちらも Vercel社 (旧ZEIT社) が開発しているため一緒に使った際のDXは大変良いものです。 しかし、AWS内で完結できるならそうした方が嬉しい事が多いのでいい方法はないかと調べた所、 serverless-next.jsというServerless Componentのプラグインがよさそうだったのでご紹介したいと思います。 以下のドキュメントの要点をまとめつつ、掘り下げたものです。 https://github.com/danielcondemarin/serverless-next.js/ https://serverless.com/blog/serverless-nextjs/ serveless-next.js 機能と特徴 SSRをL

        Next.jsアプリをLambda@Edgeで超簡単にSSRできるserverless-next.jsのご紹介 - Qiita
      • GitHub - serverless-nextjs/serverless-next.js: ⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components

        Since we emulate the Next.js routing logic, unfortunately we aren't always at full parity. The following shows all supported features or planned features. If the checkbox is ticked, it means that the feature is supported. Otherwise, it is likely not supported yet or currently in planning or implementation stage. Please refer to an item's description for specific details. Note that some features ma

          GitHub - serverless-nextjs/serverless-next.js: ⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components
        • CloudFront+S3なSPAにLambda@EdgeでOGP対応する | DevelopersIO

          吉川@広島です。 案件で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の動作確認ができれば良かったためパスしました(

            CloudFront+S3なSPAにLambda@EdgeでOGP対応する | DevelopersIO
          • CloudFront FunctionsはLambda@Edgeより安い。それ本当?! | DevelopersIO

            CX事業本部@大阪の岩田です。先月GAされたCloudFront Functions(以後CF2とします)ですが、従来から利用できたLambda@Edge(以後L@Eとします)と比較して、高速かつ低コストというのがウリの1つになっています。最大実行時間や最大メモリといった制約はありますが、レスポンスヘッダを固定付与するようなライトな処理はCF2のユースケースとしてAWSの公式ドキュメントでも紹介されています。 Customizing at the edge with CloudFront Functions では今後はレスポンスヘッダの固定付与のような処理は全てCF2で実装すべきなのでしょうか?基本的にはCF2で良いと思いますが、使い方次第ではCF2よりもL@Eの方が低コストになることも考えられるので、なぜこのようなケースが起こり得るのかをご紹介します。 CF2とL@Eの料金体系比較 まず

              CloudFront FunctionsはLambda@Edgeより安い。それ本当?! | DevelopersIO
            • Lambda@Edge活用例を紹介します - SPA編 - - SMARTCAMP Engineer Blog

              スマートキャンプのエンジニア入山です。 皆さんは、AWS Lambdaを知っていますか?知らない方でもサーバーレスという単語は聞いたことがあるのではないでしょうか。 Lambdaはいままでプログラムを実行する上で必要不可欠だったサーバを用意(構築・運用)しなくても、実行したいプログラムをLambda関数として作成・登録するだけで、プログラムを動作させることが可能なサーバーレスコンピューティングサービスです。 2014年にサービスが公開されてから着実にアップデートを重ねており、現在では柔軟かつ幅広い用途で利用することができます。 LambdaにはCloudFrontと連携して動作させることのできる Lambda@Edge という機能があり、今回はCloudFront+S3でのSPA構成の際にLambda@Edge(CloudFrontのエッジサーバーで利用できるLambda)を活用した例を紹

                Lambda@Edge活用例を紹介します - SPA編 - - SMARTCAMP Engineer Blog
              • nuxt generate + S3 + CloudFront + Lambda Edge で静的サイト構築&ハマりポイントと解決法 - Qiita

                nuxt generate + S3 + CloudFront + Lambda Edge で静的サイト構築&ハマりポイントと解決法 Repsona LLCの@GussieTechです。「プロジェクト管理と情報共有のためのツール(プラグイン不要でガントチャート無料)」Repsonaを作っています。 前回の記事(Nuxt + Sails + TypeScript + Fargateでタスク管理ツールを作ったら快適だった話)でRepsona本体側の全体像をざっくりと書きました。今回はウェブサイトについてです。 Nuxt は静的ウェブサイト制作にも断然おすすめ https://repsona.com Repsona では本体のアプリケーションに Nuxt を採用していますが、ウェブサイトにも Nuxt を使っています。小規模なサイトをサクッと作りたい人にとってもおすすめです。 公式ドキュメントの

                  nuxt generate + S3 + CloudFront + Lambda Edge で静的サイト構築&ハマりポイントと解決法 - Qiita
                • Lambda@Edge を使ったゲームプレイヤーへのカスタムコンテンツの配信 | Amazon Web Services

                  Amazon Web Services ブログ Lambda@Edge を使ったゲームプレイヤーへのカスタムコンテンツの配信 モバイルゲームのクライアントアプリを起動した時に、いつも最新のコンテンツを入手できるようにしたいですよね?そうすれば、ゲームへ変更を加えて、新しい機能を追加した際、変更内容をすぐにプレイヤーに提供できるようになります。 しかし、すべてのプレイヤーがゲームを最新バージョンに更新したことを常に保証することはできません。では、古いバージョンのゲームクライアントが以前のゲーム形式 でデータを取得できるようにするためにはどうすればいいでしょうか?またプレイヤーがゲームを実行するたびに、データがチェックおよびダウンロードされますが、どうやって高速な配信を保証すれば良いでしょうか? 何をすべきか この問題には様々な解決方法があります。ほとんどの解決方法はプレイヤーのリクエストをみ

                    Lambda@Edge を使ったゲームプレイヤーへのカスタムコンテンツの配信 | Amazon Web Services
                  • [アップデート]Lambda@EdgeでPythonがサポートされました!! | DevelopersIO

                    Lambda@Edge ファンの皆さん!ついにこの日が来ましたよ! 本日のアップデートで Lambda@Edge で Python3.7 がサポートされるようになりました! Lambda@Edge Adds Support for Python 3.7 何が嬉しいのか 従来、Lambda@Edge でサポートされる言語は Node.js のみでした。私のように 「Node.js 書けないですが、Python ならちょっと書けます」 という方には待望のアップデートです! サンプルコード Lambda@Edge の公式ガイドのサンプルコードにも既に Python が追加されていますね。(日本語ページはまだアップデートされてません) やってみる サンプルコードを拝借して Python3.7 の Lambda 関数を作成します。(Lambda@Edge 関数は バージニアリージョンで作成する必要が

                      [アップデート]Lambda@EdgeでPythonがサポートされました!! | DevelopersIO
                    • AWS Lambda@Edgeをつかって香川県からのアクセスをブロックする - Qiita

                      はじめに この記事はネタ記事です。 本記事で紹介するような、特定の地域からのアクセスブロック等の行為を推奨するものでは一切ございません。 ただし、香川県のパブリックコメントへの回答によると Q:事業者の対策・協力義務について、具体的にはどのような対策を想定していますか。香川県からのアクセス遮断なども含まれますか。 A:事業者に自主的な取り組みを呼びかけるものと考えています。 【全22問】「1日60分までの根拠は」「なぜ議事録がないのか」―― 香川県「ネット・ゲーム依存症対策条例(仮称)」、議会事務局との一問一答 との回答が得られており、万が一この条例が可決されれば、事業者による自主的な取り組みの一環として、香川県からのアクセスブロックを行う可能性は否定できません。 条例が可決された場合には、香川県からのアクセスをブロックすることが技術的に可能であるかを検証するという目的のもと、本記事を執筆

                        AWS Lambda@Edgeをつかって香川県からのアクセスをブロックする - Qiita
                      • CloudFrontとLambda@EdgeでA/Bテストをサクッと導入してみる | DevelopersIO

                        ウェブサイトでA/Bテストする場合、以下の流れで作業します A/B 2パターンのサイト(機能)を用意 ユーザーをどちらかに振り分ける A/Bのどちらが有効か評価 この2つ目のユーザー振り分けは実現方法が色々考えられます。 本ブログでは、Amazon CloudFront とエッジコンピューティングの Lambda@Edge(以下L@E) を使い、アプリ改修なしに、同じURLを利用しながら、ユーザーをA/Bに振り分ける方法を紹介します。 完成図 ポイント ポイントは次の3点です アプリケーションは改修しない L@EでA/Bテスト用のCookieを発行し、A/B振り分ける CloudFrontではA/Bテスト用のCookieをキーにキャッシュ 前提として、A/Bを実装したアプリケーションに異なるホストを割り当て、URIパス部の仕様は同じとします。 1. アプリケーションは改修しない アプリケー

                          CloudFrontとLambda@EdgeでA/Bテストをサクッと導入してみる | DevelopersIO
                        • [CloudFront] Lambda@EdgeでHTTPセキュリティヘッダーを追加する方法 | DevelopersIO

                          Lambda@EdgeはAmazon CloudFrontの機能で、CloudFrontのイベントに応じてLambda関数を実行できます。この機能を利用して、CloudFrontで配信しているコンテンツのレスポンスヘッダーにHTTPセキュリティヘッダーを設定します。 Lambda@Edge | AWS HTTPセキュリティヘッダーは、Webブラウザのセキュリティ対策のためにWebアプリで使用されるHTTPヘッダーです。HTTPセキュリティヘッダーを設定することで、クリックジャッキングやクロスサイトスクリプティング(XSS)など、クライアント側の脆弱性を利用した攻撃を困難にします。 OWASP Secure Headers Project Lambda@Edgeの仕組み Lambda@Edgeはオリジのレスポンスをトリガーにした場合、CloudFrontがオリジンから取得したコンテンツをキャ

                            [CloudFront] Lambda@EdgeでHTTPセキュリティヘッダーを追加する方法 | DevelopersIO
                          • Lambda@Edgeではオリジンのデータを部分的に書き換えて返すことはできない - モヒカンメモ

                            ちょっと何を言っているか分からないと思うけど、自分も分かりたくなかった! ざっくりまとめ AWS CloudFrontにはいわゆるエッジコンピューティングを提供する Lambda@Edge がある Lambda@Edgeではオリジンから返ってきたbodyの一部を書き換えて返すことは(パパッとは)できない bodyどこーーー Lambda@Edgeとは aws.amazon.com AWSが提供するCDNサービスCloudFrontに付随する、エッジコンピューティングサービス。配信先のユーザに近いサーバでLambdaを実行して結果を返したら速くコンテンツ提供できるよねーというやつ ESI (Edge Side Includes) やりたいとか、基本静的コンテンツしか返さないんだけどごく一部で動的にしたいんだよねーでもpathは変えたくないしサーバも用意したくないんだよねーみたいなときに使えそ

                              Lambda@Edgeではオリジンのデータを部分的に書き換えて返すことはできない - モヒカンメモ
                            • CloudFront + Lambda@edge + JWTで認証フローを作りS3オブジェクトを守る - Tech Blog

                              こんにちは、サーバーサイドエンジニアのiwamu(@k_iwamu)です。 CloudFrontからS3のプライベートなコンテンツへのアクセス制御はどのように管理されているでしょうか。 アクセス制御の主要な方法の1つとしては、CloudFrontの署名付きURLを作成し、一時的に権限を与える方法が挙げられるかと思います。 しかし、Lambda@edgeを用いれば、アクセス制御をプログラムでもっと柔軟に、かつCloudFront+Lambda@edgeの特性上レイテンシも少なく実装することができます。 今回は、CloudFrontは署名付きURLを使用せず、Lambda@edgeとJWTを使ってアクセス制御を行うように実装したので共有します! ボツになってしまった案とその課題 内部事情ですが、設計の前提としてCloudFrontのURLをクライアント側で保存している箇所がありました。 その前

                                CloudFront + Lambda@edge + JWTで認証フローを作りS3オブジェクトを守る - Tech Blog
                              • CloudFront で Lambda@Edge を使って OpenID Connect (OIDC) 認証 - Qiita

                                CloudFront と S3 を使ってサーバーレスなウェブサイトを構築し、特定のユーザーにのみ公開するために Google, GitHub など外部の認証プロバイダ (IdP) を使って認証をおこなう方法です。CloudFront ではリクエスト中継時に Lambda 関数を実行し認証などの処理をおこなうことができるため、それを使うことにします。 OpenID Connect による認証シーケンス CloudFront にアクセスした際のシーケンスは以下のようになります。 構築手順 OpenID Connect (OIDC) による認証をおこなう Lambda 関数を Widen/cloudfront-auth というツールを使って生成します。様々な認証プロバイダに対応していますが、ここでは Google で認証し、特定ドメインのメールアドレスのユーザーのみをアクセス許可してみます。 ※

                                  CloudFront で Lambda@Edge を使って OpenID Connect (OIDC) 認証 - Qiita
                                • AWS LambdaをCloudFrontエッジサーバで動かす (Lambda@Edge)

                                  AWSの Lambda ファンクションを、CloudFrontのエッジサーバにデプロイして、リクエストやレスポンスをインターセプトして処理を行うことができます。Lambda@Edge と呼ばれます。 Webアプリケーションフレームワークにある「ミドルウェア」のような使用感で使えます。 例えば、S3 をオリジンに使っている時(サーバレス環境などで)、少しだけ動的に認証やリダイレクトなどのHTTPヘッダーを扱う処理をしたい時など、便利です。 ポイントとして、us-east-1 (バージニア北部) リージョンの Lambdaファンクションのみ選択できます。 AWSの公式ドキュメント 1. 概要 1-1. フックポイント(トリガー) Amazonのページにわかりやすい絵があります。 リクエスト: クライアント → [Viewer Request]→ CloudFront → [Origin Req

                                    AWS LambdaをCloudFrontエッジサーバで動かす (Lambda@Edge)
                                  • Amazon CloudFront と AWS Lambda@Edge による署名付き Cookie ベースの認証 : パート 1 – 認証 | Amazon Web Services

                                    Amazon Web Services ブログ Amazon CloudFront と AWS Lambda@Edge による署名付き Cookie ベースの認証 : パート 1 – 認証 この 2 部構成のブログシリーズでは、メールアドレスとドメイン名を使用してユーザー認証を行う方法を学習します。この方法では、静的な Web サイトへの資格情報を使用しないユーザーアクセスを制限します。 この最初のブログでは、認証メカニズムの実装方法を学びます。第 2 部のブログ記事では、認可メカニズムを実装してソリューションを完成させる方法を学習します。 このソリューションでは、Amazon Simple Storage Service (S3) にコンテンツを保存し、Amazon CloudFront 経由でコンテンツを配信します。AWS Lambda@Edge を介してエンドユーザーへの認証を処理し

                                      Amazon CloudFront と AWS Lambda@Edge による署名付き Cookie ベースの認証 : パート 1 – 認証 | Amazon Web Services
                                    • Lambda@Edge Adds Support for Python 3.7

                                      Starting today, you can use the Python programming language to develop your functions in Lambda@Edge, in addition to currently supported Node.js. This gives you the flexibility of opting for the programming language of your choice as you author your functions. To get started, simply upload your function code by using the AWS CLI or AWS Lambda console, select the Python 3.7 runtime, and associate a

                                        Lambda@Edge Adds Support for Python 3.7
                                      • Lambda@EdgeでAWS Systems Managerのパラメータストアを使う | DevelopersIO

                                        Lambda@Edgeでは環境変数が使えません。Lambdaのコード内に直接書くのを避けるためAWS Systems Managerのパラメータストアを使ってみました。ポイントは「どのリージョンのパラメータストアを使うのか」です! 前回の記事でLambda@Edge(Python)を使って、IPアドレスによるCloudFrontへのアクセス制限を紹介しました。(Pythonで書いたことを紹介するのが趣旨でしたが) Lambda@Edgeでパラーメーターをベタ書きする課題 前回の記事のスクリプトでは、許可対象のIPアドレスをコード内に直接記述したものでした。 個人で利用するような場合やテスト利用のようなケースだとあまり問題にはならないかもしれませんが、次のような課題があります。 頻繁にIPアドレスを変える場合や、関連付けているビヘイビアなどが多い場合、更新作業がめんどくさい。 更新したLam

                                          Lambda@EdgeでAWS Systems Managerのパラメータストアを使う | DevelopersIO
                                        • AmplifyでOGP対応はできない。でもLambda@edgeを使えば大丈夫!|F Lab|Fixel株式会社

                                          Amplify使ってますか?面倒なAWSのサーバレス環境構築がサクっとできたり、フロントエンド開発に便利なライブラリがあったり、一度使うと止められないですよね。

                                            AmplifyでOGP対応はできない。でもLambda@edgeを使えば大丈夫!|F Lab|Fixel株式会社
                                          • lambda@edge上でwasmを使用した画像リサイズにおける速度

                                            はじめに 最近、lambdaでwasmを利用できることを知ったので、画像のリサイズ処理をwasm(Rust)で行った場合の速度を計測してみました。 環境構築 環境構築には下記を使用しました。 Terraform Docker Git AWSリソースの用意 AWSリソースの作成にはTerraformで行います。 今回使用したtfファイルはこちらになります。 AWS 構成 作成する手順は下記の通り。 git clone https://github.com/takenoko-gohan/terraform-image-resizing-on-cloudfront.git cd terraform-image-resizing-on-cloudfront terraform init # 問題がないか確認 # 変数 prefix は任意の値を指定してください terraform plan -va

                                              lambda@edge上でwasmを使用した画像リサイズにおける速度
                                            • CloudFrontとLambda@Edgeを利用して画像をリサイズさせる

                                              リサイズされた画像をS3へ保存せずに、原本のみ利用してリサイズさせる方法がないか調べてみましたが、Lambda@Edgeを利用してリサイズさせる方法があったので、試してみました。 Lambda@Edge動作概要# Lambda@EdgeはCloudFrontへアクセスする時に実行されるLambdaの拡張版です。 CloudFrontイベント発生時、Lambda関数の実行が可能です。 イベントには4種類があります。 Viewer Request : CloudFrontがビューアーからのリクエストを受け、リクエストしたオブジェクトがedge cacheにあるかを確認する前に関数を実行します。Origin Request : CloudFrontがオリジンにリクエストを渡す場合のみ実行されます。 リクエストしたオブジェクトがedge cacheにある場合は関数は実行されません。Origin R

                                              • Lambda@Edge イベント構造 - Amazon CloudFront

                                                翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 Lambda@Edge イベント構造 以下のトピックでは、トリガーされたときに Lambda@Edge 関数 CloudFront に渡されるリクエストおよびレスポンスイベントオブジェクトについて説明します。 動的オリジン選択 キャッシュ動作でパスパターンを使用すると、リクエストされたオブジェクトのパスと名前 (images/*.jpg など) に基づいて、リクエストをオリジンにルーティングできます。Lambda@Edge を使用すると、リクエストヘッダーの値など他のプロパティに基づいても、リクエストをオリジンにルーティングできます。 この動的オリジン選択が便利な状況がいくつかあります。たとえば、グローバルな負荷分散に役立つように、地理的に異なるリージョンのオリジン

                                                • Lambda@Edge 関数のログが見つからないときの対処方法 | DevelopersIO

                                                  困っていた内容 Lambda@Edge をバージニア北部(us-east-1)リージョンにデプロイしましたが、ログが CloudWatch Logs へ出力されないです。 正常にログを出力させる方法を教えてください。 どう対応すればいいの? Lambda@Edge のログは CloudWatch Logs へ出力されますが、関数が実行される場所にもっとも近いリージョンに保存されます。 日本から CloudFront へリクエストを送信した場合、ログは東京リージョンに作成された可能性が高いです。まずは東京リージョンの CloudWatch Logs でロググループを確認してみてください。 ロググループは以下の形式で出力されます。 /aws/cloudfront/LambdaEdge/DistributionId CloudWatch Logs コンソールのロググループで /aws/cloud

                                                    Lambda@Edge 関数のログが見つからないときの対処方法 | DevelopersIO
                                                  • Cloudfront+Lambda@edgeを利用してサーバーレスに画像をリサイズ・変換して返却するCDNを構築したお話

                                                    この記事は「Eureka Advent Calendar 2020」13日目の記事です。 こんにちは、2匹の猫様に尽くす傍、エンジニアを営んでいるSREチーム エンジニアの@marnieです。 だいぶ肌寒くなってきましたが、幸い我が家には長毛種の猫がいるので、心も体も温まります。長毛種の猫素晴らしい。はぁすばら。 さて。このまま猫自慢だけで押し切りたい所ですが。 直近は半分趣味・半分業務的な機会もあり、CloudFrontとLambda@Edge周りを触っていましたので、CloudFrontとLambda@Edgeを利用して画像を動的に変換するCDNの構築や実運用のTrafficに乗せてみての所感などについて、つらつらと書いていけたらと思います。 CloudFront+Lambda@Edge? Lambda@EdgeはCloudFrontの機能の一つで、世界各地に散らばるCloudFron

                                                      Cloudfront+Lambda@edgeを利用してサーバーレスに画像をリサイズ・変換して返却するCDNを構築したお話
                                                    • 【レポート】Amazon CloudFrontとLambda@Edgeで開発する柔軟性の高いアプリケーション #AWSSummit | DevelopersIO

                                                      セッション概要 AWS Summit Tokyo 2019の3日目に開催されたセッション「Amazon CloudFrontとLambda@Edgeで開発する柔軟性の高いアプリケーション」H3-05 を聴講してきましたのでレポートします。 スピーカー(敬称略) Greg May (Amazon Web Services, Inc.CloudFront, Sr. Software Dev Manager) ゲストスピーカー:泉 純一郎 (株式会社メディアドゥ 技術本部 テックリード) 資料 (後日公開されましたら掲載します) セッションの内容 CloudFrontが必要なわけ 可用性耐障害性の保証がない これがCDNが必要な理由 Internetは安定しているわけではない ISPからリージョン、ISP, オリジンなど経路の一部で輻輳が発生したり、ルートが異なったり、パスが非対称だったりする

                                                        【レポート】Amazon CloudFrontとLambda@Edgeで開発する柔軟性の高いアプリケーション #AWSSummit | DevelopersIO
                                                      • GitHub 認証付き静的 Web サイトホスティングを CloudFront と Lambda@Edge で作る | Wantedly Engineer Blog

                                                        社内におけるファイルの共有は Google ドライブを使うことが多いのですが、CI の coverage レポートや Storybook といった、社内向け静的コンテンツのホスティングにもチラホラ需要がありました。 認証なしの静的 Web サイトホスティングであれば Amazon S3 でシュッと作れますが、認証付きとなると少し面倒です。また認証もメンバーの入れ替わりに適切に対応するべく、Basic Auth などではなく社内で利用している認証プロバイダーに乗りたいところです。 調べたところ Widen/cloudfront-auth という OSS で CloudFront に GitHub 認証をかけつつコンテンツのホスティングができたので、そのメモを残しておきます。 まず、Amazon S3 の静的 Web サイトホスティングでは独自の認証を入れ込むことはできません。そこで Clou

                                                          GitHub 認証付き静的 Web サイトホスティングを CloudFront と Lambda@Edge で作る | Wantedly Engineer Blog
                                                        • Lambda@Edgeを利用してすべてのSet-CookieにSecureとHttpOnlyを付ける | DevelopersIO

                                                          最近会社においてあるグランツーリスモをやっているもこ@札幌オフィスです。 Lambda@Edgeを利用してオリジンから送られる Set-Cookie を書き換えて、送信されるCookie全てにSecure属性とHttOnlyを付けてみました。 コード 今回利用したコードはこんな形になっています。 exports.handler = (event, context, callback) => { const response = event.Records[0].cf.response; for (const cookie of response.headers['set-cookie']) { cookie.value += "; Secure; HttpOnly" } callback(null, response); } 利用方法 オリジンから送信されてくる情報を書き換える必要があるた

                                                            Lambda@Edgeを利用してすべてのSet-CookieにSecureとHttpOnlyを付ける | DevelopersIO
                                                          • Lambda@Edge を利用した外部サーバによる認可の実装 | Amazon Web Services

                                                            Amazon Web Services ブログ Lambda@Edge を利用した外部サーバによる認可の実装 はじめに このブログでは、 Lambda@Edge 利用し、リクエストに含まれるデータを外部の認証サーバーへ転送することによって、Amazon CloudFront でリクエストを認可する方法を説明します。ここでは、このようなワークフローでのリクエストの順序、 Node.js のサンプルコードによる実装手順、ヘッダーベースの認可の動作テストのために利用するシンプルな外部認証サーバー用の CloudFormation テンプレートの概要を説明します。また、このブログでは追加で最適化や考慮事項についても案内します。 ゲーム、ソフトウェア、ドキュメント、その他の大容量ファイルのダウンロードなど、コンテンツを CloudFront で安全に配信するには、特にアクセスが特定の視聴者に制限され

                                                              Lambda@Edge を利用した外部サーバによる認可の実装 | Amazon Web Services
                                                            • 爆速でLambda@edgeにNuxt.jsを構築できるテンプレートを作った - Qiita

                                                              注意事項 Lambda@Edgeに無料利用枠は無いので注意 詳細な利用料金はこちら Serverless Nuxt 成果物はこちら→ serverless-nuxt 不具合修正、機能追加のプルリク待ってます! あと付けてくれたらめっちゃ喜びます。 誰向け? サーバー費用ケチりたいけど、ちゃんとしたサービス作りたい人 とりあえずNuxt/Vue使ってみたい人 環境構築めんどくせぇ!!誰かやってくれって人 何が良いの? .envをちょろっと弄ってコマンド叩くだけで簡単デプロイ Nuxtやる時に大体使うModuleやらPluginやらが導入済み デプロイ時にS3に静的ファイルも自動でアップロード!! 静的ファイルはCloudFrontを通して取得するから爆速!! 導入済みModule/Plugin @nuxt/typescript-build @nuxt/typescript-runtime @

                                                                爆速でLambda@edgeにNuxt.jsを構築できるテンプレートを作った - Qiita
                                                              • [レポート] Lambda@Edgeによるコンテンツ配信のカスタマイズ #NET307 #reinvent 2019 | DevelopersIO

                                                                AWS事業本部 梶原@福岡オフィスです。 AWS re:Invent 2019に参加していました このエントリではAWS re:Invent 2019で開催されていました。「Customizing content delivery with Lambda@Edge」ワークショップに参加しましたのでレポートします。 また、同セッションの資料もアップロードされておりましたので、以下のリンクからダウンロードできます。 NET307 PDF資料 ワークショップ概要 NET307 Customizing content delivery with Lambda@Edge https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=95880 Join us for a hands-on session o

                                                                  [レポート] Lambda@Edgeによるコンテンツ配信のカスタマイズ #NET307 #reinvent 2019 | DevelopersIO
                                                                • AWS CDKで別リージョンに基本認証用Lambda@Edgeを作成するスタックをデプロイしてAmazon CloudFrontに設定する - NRIネットコムBlog

                                                                  小西秀和です。 前回の記事、「AWS CDKで別リージョンにレプリケーション用S3バケットを作成するスタックをデプロイしてAmazon CloudFrontオリジンフェイルオーバーを設定する」では次の記事で紹介したリージョン間でパラメータを送受信する方法を使ってACM証明書をCloudFrontに設定する方法を紹介しました。 AWS CDKで別リージョンにスタックをデプロイしてパラメータをリージョン間で受け渡す方法 -AWS CDKカスタムリソースの実装例 今回はその記事の続編として、前回記事で作成したAWS CDKカスタムリソースを使用して、別リージョンに基本認証用Lambda@Edgeを作成し、Amazon CloudFrontに設定する方法を紹介します。 パラメータをクロスリージョンで扱うAWS CDKカスタムリソースについては元記事を参照してください。 ※本記事および当執筆者のその

                                                                    AWS CDKで別リージョンに基本認証用Lambda@Edgeを作成するスタックをデプロイしてAmazon CloudFrontに設定する - NRIネットコムBlog
                                                                  • OACでのCloudFrontからS3の接続+Lambda@Edgeでの認証をTerraformで作成してみた | DevelopersIO

                                                                    こんにちは、ゲームソリューショングループのsoraです。 今回は、OACでのCloudFrontからS3の接続+Lambda@Edgeでの認証をTerraformで作成してみたことについて書いていきます。 構成 CloudFrontでアクセスを受けると、Lambda@Edgeで認証して、認証が通ればS3にアクセスできるという構成です。 フォルダ構成は以下です。 $ tree . ├── front │ └── front.html ├── lambda │ └── lambda.py └── main.tf AWSサービスの作成 タイトルにある通り、Terraformを使ってAWS側で必要なサービスを作成します。 解説もコード内のコメントにある程度は記載しています。 特にLambda@Edgeを使用できるリージョンが決まっていること(12-13行目)と、S3に配置するHTMLファイルのco

                                                                      OACでのCloudFrontからS3の接続+Lambda@Edgeでの認証をTerraformで作成してみた | DevelopersIO
                                                                    • Lambda@Edge が Python 3.7 のサポートを追加

                                                                      本日より、従来サポートされていた Node.js に加え、Python プログラミング言語でも Lambda@Edge の関数を開発できるようになりました。これにより、関数を作成するときに、好みのプログラミング言語を柔軟に選択できるようになります。 開始するには、まず AWS CLI または AWS Lambda コンソールを使用して関数コードをアップロードします。次いで Python 3.7 ランタイムを選択し、Amazon CloudFront イベントを関連付けます。CloudFront イベントによってトリガーされる Lambda@Edge 関数では、世界中の AWS ロケーションにカスタムコードを拡張できます。そのため、アプリケーションロジックをエンドユーザーの近くで実行し、応答性を向上させることが可能になります。 Lambda@Edge の詳細については、製品ページを参照してく

                                                                        Lambda@Edge が Python 3.7 のサポートを追加
                                                                      • Amazon S3とAmazon CloudFrontによる静的ウェブサイトにSSL/TLS証明書(AWS Certificate Manager)・基本認証(Lambda@Edge)・IP制限(AWS WAF)をクロスリージョンで追加するAWS CloudFormationテンプレートとAWS Lambdaカスタムリソース - NRIネットコムBlog

                                                                        小西秀和です。 この記事は過去に投稿した次の記事の続編で、SSL/TLS証明書(AWS Certificate Manager)、基本認証(Lambda@Edge)に加えてIP制限(AWS WAF)を追加したパターンでAmazon S3とAmazon CloudFrontによる静的ウェブサイトホスティングをAWS CloudFormationテンプレートとAWS Lambdaカスタムリソースを使用して構成するものです。 AWS LambdaカスタムリソースでSSL証明書・基本認証・CloudFrontオリジンフェイルオーバーを作成するAWS CloudFormationスタックを別リージョンにデプロイする 今回は更にOrigin Access Identity(OAI)をOrigin Access Control (OAC)に変更し、キャッシュポリシー(CachePolicy)、オリジンリ

                                                                          Amazon S3とAmazon CloudFrontによる静的ウェブサイトにSSL/TLS証明書(AWS Certificate Manager)・基本認証(Lambda@Edge)・IP制限(AWS WAF)をクロスリージョンで追加するAWS CloudFormationテンプレートとAWS Lambdaカスタムリソース - NRIネットコムBlog
                                                                        • Lambda@EdgeによるIP制限をPythonで書いてみた | DevelopersIO

                                                                          Lambda@Edgeで本番公開前のCloudFrontに対してIP制限を行う機会がありました。せっかくなので紹介させていただこうと思います。 Lambda@Edgeは今の所、Node.jsとPythonが対応しており、ググればそのまま流用できそうなスクリプトが見つかりましたが、いずれもNode.jsだったのでPythonで作成してみました。 前提 トリガーとなるCloudFrontディストリビューションは既に作成済みとします。今回はS3をオリジンとしています。 それでは手順を見ていきましょう。 関数の作成 今回はコンソールから作成します。適当な名前をつけて、ランタイムは「Python 3.8」を選びます。 ロールの指定は、「AWSポリシーテンプレートから新しいロールを作成」を選択します。ロール名は適当に入力してください。(今回はlambda-edge-restriction-roleとい

                                                                            Lambda@EdgeによるIP制限をPythonで書いてみた | DevelopersIO
                                                                          • Next.js の Static HTML Export で生成したファイルを Lambda@Edge を使わずに CloudFront + S3 にデプロイする - Feedforce Developer Blog

                                                                            こんにちは、id:daido1976 です。 今回は Next.js の Static HTML Export で生成したファイルを Lambda@Edge を使わずに CloudFront + S3 にデプロイする方法を紹介します。 前提 Next.js CloudFront + S3 やり方 1. S3 側での静的ウェブサイトホスティングの設定 2. CloudFront の Origin Domain Name の設定 3. Referer を使って CloudFront から S3 への直接アクセスを禁止する 4. Next.js 側で各ページのファイル名を index.html にする設定 参考 前提 Next.js Next.js のアプリで SSR を行う場合は Vercel やその他の Node.js 実行環境のあるサーバにデプロイする必要がありますが、そうでない場合は S

                                                                              Next.js の Static HTML Export で生成したファイルを Lambda@Edge を使わずに CloudFront + S3 にデプロイする - Feedforce Developer Blog
                                                                            • CloudFront+S3環境でLambda@Edgeを用いてHTTPセキュリティヘッダーを付与する方法 - サーバーワークスエンジニアブログ

                                                                              HTTPセキュリティヘッダーとは 「HTTPセキュリティヘッダー」とは、Webブラウザでのセキュリティ対策のために使用されるHTTPヘッダーです。 Webブラウザがセキュリティヘッダーの設定内容に従って動作することで、クロスサイトスクリプティング(XSS)やクリックジャッキング(Clickjacking)などの攻撃を困難にすることができます。(WebブラウザがHTTPセキュリティヘッダーに対応していることが前提になります) また、nginxやApacheなどのWebサーバーでもこれらのSecurity Headerを付与することができるようになっています。 「HTTPセキュリティヘッダー」の代表的なものとしては以下があります。 (詳細な説明や設定方法についてはリンク先のページをご参考ください) Strict-Transport-Security 「Strict-Transport-Secu

                                                                                CloudFront+S3環境でLambda@Edgeを用いてHTTPセキュリティヘッダーを付与する方法 - サーバーワークスエンジニアブログ
                                                                              1