Amazon Web Services ブログ

Category: Serverless

[発表]Amazon API GatewayでWebsocketが利用可能

本日より、任意のサーバーをプロビジョニングして管理することなく、Amazon API GatewayでWebSocket APIを使用して双方向通信アプリケーションを構築できます。 HTTPベースのAPIは、リクエスト/レスポンスモデルを使用して、クライアントがサービスにリクエストを送信し、サービスがクライアントに同期して応答します。 WebSocketベースのAPIは本質的に双方向です。 これは、クライアントがメッセージをサービスに送信し、サービスが独立してメッセージをクライアントに送信できることを意味します。 この双方向の振る舞いにより、クライアント/サーバーとのやりとりがより豊富になります。これは、明示的なリクエストをする必要のないクライアントにデータをプッシュできるためです。 WebSocket APIは、チャットアプリケーション、コラボレーションプラットフォーム、マルチプレイヤーゲーム、金融取引プラットフォームなどのリアルタイムアプリケーションでよく使用されます。 このブログでは、WebSocket APIとAPI Gatewayを使用してサーバーレスのリアルタイムチャットアプリケーションを構築する方法について説明します。

Read More

アプリケーションロードバランサー(ALB)のターゲットにAWS Lambdaが選択可能になりました

本日より、アプリケーション ロードバランサー (ALB)はAWS Lambda functionをターゲットにすることをサポートします。ウェブサイトの構築やウェブアプリケーションをAWS Lambdaを使いサーバレスなコードとして作成、管理し、ウェブブラウザやクライアントからのリクエストに簡単なHTTP(S)フロントエンドを提供するように設定できます。

Read More

新発表 – AWS Toolkits for PyCharm、IntelliJ(プレビュー)、Visual Studio Code(プレビュー)

ソフトウェア開発者には好みの開発ツールというものがあります。パワフルなエディタを使う人もいれば、特定の言語やプラットフォームに最適化された統合開発環境(IDE)を使う人もいます。AWS Lambda のコンソールのエディタを使って、2014年に私は初めての AWS Lambda 関数を作りました。現在では、サーバーレス・アプリケーションをビルドしデプロイするためのツールの選択肢は豊富になりました。例えば、昨年 AWS Cloud9 がリリースされて AWS Lambda のコンソールのエディタ環境は大きく強化されました。.NET アプリケーションでは、 AWS Toolkit for Visual Studio と AWS Tools for Visual Studio Team Services を使う事ができます。 AWS Toolkits for PyCharm、IntelliJ(プレビュー)、そして Visual Studio Code(プレビュー) 今日、 AWS Toolkit for PyCharm の一般提供をお知らせします。また、 AWS Toolkits for IntelliJ と Visual Studio Code の開発者プレビューをお知らせします。これら(AWS Toolkits for IntelliJ と Visual Studio […]

Read More

新機能 – AWS Lambda :あらゆるプログラム言語への対応と一般的なコンポーネントの共有

私は2014年にアナウンスしたAWS Lambdaを発表した興奮を覚えています。4年の間でお客様は様々な異なるユースケースでLambda関数をご利用頂いています。 例をあげると iRobotはAWS Lambdaをロボット掃除機のroombaのコンピュートサービスとして利用しています、Fanne MaeはMonte Carloの100万をこえる抵当のシミュレーションとして利用、Bustleは彼らのデジタルコンテンツへの数百万のリクエストとして利用しています。本日、私は2つの新しい機能をご紹介します、これは今までよりサーバレスの開発を簡単にするものです: Lambda Layers, 複数の関数で共用されるコードやデータをセンタライズし管理するものです Lambda Runtime API, あなたが開発する、どんなプログラム言語や特定のバージョンでも簡単に利用できるようになるものです これら2つの機能は一緒に利用することができます。ランタイムはレイヤとして共有できるために、開発者はLambda関数を作成時にお好みの言語で利用することができます。

Read More

AWS Dev Day Tokyo 2018 セキュリティセッション & ワークショップ 開催レポート

  皆様、こんにちは。セキュリティソリューションアーキテクトの桐山です。 2018/10/29(月)から11/2(金)にかけて開催されたAWS Dev Day Tokyo 2018で実施された、セキュリティ関連のセッションとワークショップをおさらいしてみます。 開発者向けカンファレンスということで、この度はセキュリティに興味のある多くの開発者にご参加いただきました。これから企業がデジタルトランスフォーメーション(DX)時代に向かっていく中、開発者の役割も更に高度化・専門化しています。 事業部門で、いわゆるSysmem of Engagement(SoE)領域に携わる開発者は、下記のような今までにない新しいワークロードをセキュアに開発することに挑戦しているでしょう。 IoTサービスにより、様々なデバイスから大量の信頼性の高い実データを収集する 企業内データを一元的に集約・保存する場所(データレイク)をセキュアに管理・運用する 迅速にビジネスインサイトを活用するために、データ分析・可視化・利用をサーバーレスコンピューティング環境で実現する 上のそれぞれに相当するIoTセキュリティ、データレイクセキュリティ、サーバーレスセキュリティは新しいセキュリティ技術領域と言えます。 一方で、IT部門にて、いわゆるSystems of Record(SoR)領域に携わる開発者は、事業成長を支えるセキュリティ基盤を実現しなければなりません。ITインフラ自体を変革させると同時に、事業活動の変化やスピードに対応するためにSecurity as a ServiceやSecurity Automationに取り組むことになるでしょう。 このようなDX時代のセキュリティをAWSで実現するとしたら・・・以下のワークショップとセッションが役に立つはずです。

Read More

AWS Serverless Application Model (SAM) コマンドラインインターフェイス。サーバレスアプリケーションをローカルで構築、テスト、デバッグする

数十年前、6502 アセンブリ言語でコードを何ページも記述しました。コードをアセンブルしてリンクしたら、それをメモリにロードし、戦略的なロケーションでブレークポイントを設定し、すべてが意図どおりに機能することを順に確認することをしていました。最近は、もう非自明なコードを書いたりデバッグしたりする機会がなくなってきたので、このブログ記事をいざ書くとなったときは少し心配しました (実は、数週間先延ばしにしていました)。 SAM CLI 新しい Serverless Application Model (SAM) コマンドラインインターフェイスについて説明したいと思います。説明しながら、AWS Lambda を使用して何かを構築する能力にいくらか自信が持てるようになっていければと思います。 はじめに、用語について見ていきましょう。 AWS SAM は、Serverless Application Model の略称で、AWS 上でサーバーレスアプリケーションを構築するために使用できるオープンソースのフレームワークのことです。単純な YAML テンプレートを使用して、アプリケーション (Lambda 関数、API エンドポイント、DynamoDB テーブル、およびその他のリソース) を記述するための略式構文を提供します。デプロイメント中、SAM は短縮形 SAM 構文を AWS CloudFormation テンプレートに変換して展開します。その後、CloudFormation は信頼性と再現性の高い方法でリソースをプロビジョニングします。 以前は SAM Local として知られていた AWS SAM CLI は、SAM ベースのアプリケーションの構築をサポートするコマンドラインインターフェイスです。また、ローカルでの開発とテストをサポートしており、アクティブなオープンソースプロジェクトでもあります。CLI を使用すると、Python、Node、Java、Go、.NET の中から選択することができ、すぐに始めるのに役立つ健全なテンプレートのコレクションが含まれています。 SAM CLI の sam local コマンドは、Lambda のような実行環境でローカルに関数コードを実行しながら、Lambda 関数と SAM […]

Read More

AWS X-Ray が、Amazon API Gateway と新しいサンプリングルール API のサポートを開始

  同僚である Jeff は、約 2 年前、AWS re:Invent についての投稿で、初めて AWS X-Ray について紹介してくれました。AWS X-Ray は、本稼働と開発の両方の局面で、シンプルなウェブアプリから大規模で複雑な分散型マイクロサービスまで、開発者があらゆるものを分析してデバッグするのに役立ちます。X-Ray が 2017 年に一般利用可能になって以来、顧客からのフィードバックに速やかに対応し、AWS Key Management Service (KMS) による暗号化、新しい SDK や言語 (Python!) のサポート、オープンソーシングのデーモン、レイテンシーの可視化ツールなどのサービスに対する強化を継続しました。本日、新たに次の 2 つの新機能を追加します。 Amazon API Gateway のサポートにより、API を通じた基礎となるサービスへのリクエストの追跡と分析が容易になります。 また、最近 AWS X-Ray コンソールと API でサンプリングルールをコントロールするサポートも開始しました。 それでは、API の追跡を有効にする方法を確認しましょう。 X-Ray 追跡を有効にする API Gateway にデプロイされたシンプルな API から始めます。2 つのエンドポイントを追加します。1 つはレコードを Amazon Kinesis Data Streams にプッシュするためであり、もう 1 […]

Read More

Lambda@Edge デザインベストプラクティス

Lambda@Edge をより活用いただくために Lambda@Edge ベストプラクティスシリーズと題したブログを連載します。この中ではいくつかのユースケースを用いて Lambda@Edge をどのように利用すればよいか、CI/CD パイプラインにどのように組み込むべきか、ビジネスニーズに応える形で組み込まれていることを担保するためにはどのように考えればよいか等について取り上げます。 記念すべき初回は Lambda@Edge のデザインベストプラクティスについて取り上げます。いくつか一般的なユースケースをもとに関数をどのタイミングで実行するのが良いのか、それはどのような観点で選択されるべきかということについてパフォーマンス及びコスト最適化の観点から推奨構成について説明していきたいと思います。

Read More

サーバレスアプリケーションから AWS データベースをクエリする

AWS データベースの顧客は、Amazon Elastic Compute Cloud (Amazon EC2) ホストを仮想プライベートクラウド (VPC) で起動してデータベースクライアントとして使用する必要がないため、費用を節約し、シームレスに拡張し、高可用性の実現します。EC2 ホストのプロビジョニングまたは管理を必要とせず実行するアプリケーションを、サーバーレスアプリケーションと呼んでいます。 この記事では、データベースが公開されていない場合でも、URL から AWS データベースを照会する方法について示します。この方法は、serverless-to-serverless クエリのために Amazon Aurora Serverless データベースに対しても実行が可能です ! Amazon Neptune 、Amazon Relational Database Service (Amazon RDS) for MySQL 、または Amazon RDS for PostgreSQL の各 Python スクリプトの選択を提供しています。また、次の 2 つのコンポーネントを設定して作成する方法についても説明します。 バックエンドデータベースに対してクエリを実行する AWS Lambda 関数 URLにアクセスする際に Lambda 関数を呼び出す API Gateway REST API これらのコンポーネントを簡単に可能な AWS CloudFormation テンプレートを提供します。また、厳密には […]

Read More

Amazon CloudFront & Lambda@Edge で画像をリサイズする

多くの画像に対してリサイズを行ったり、新しいデザインレイアウトにウォーターマークを付与したり、ブラウザのサポートのためにフォーマットの最適化を行ったことはありませんか? 画像毎に事前処理を行う必要なく、必要に応じてその場ですぐに画像を自動生成できないかとおもったことはありませんか? Lambda@Edge はそれらを可能にし、ユーザーの利便性を向上させ、帯域使用量を削減します。

Read More