Amazon Web Services ブログ

Tag: Serverless

AWS Step Functions コールバックを利用した外部システム連携

Shared Delivery Teams で Sr. Cloud App Architect を務める Zach Abrahamson による記事です。 AWS Step Functions を使用すると、複数の AWS サービスを調整してサーバーレスワークフローに落とし込めるため、アプリケーションの開発と更新を迅速に行うことができます。Step Functions を使用すると、AWS Lambda や Amazon ECS のようなサービスを機能豊富なアプリケーションに統合するワークフローを設計および実行できます。

Read More

Amazon API Gateway のHTTP API を使用したバイナリデータの処理

この投稿は、スタートアップソリューションアーキテクトのRudolf Potucekによって書かれました。 Amazon API Gateway の REST API は、2016 年からバイナリデータをサポートしています。2020年3月に GA した Amason API Gateway のHTTP API を使用 すると、バイナリメディアタイプとテキストメディアタイプの両方をより簡単に操作できます。新しいペイロード形式バージョンをサポートし、リクエストおよびレスポンス形式に基づいてエンコーディングを推測します。この投稿では、HTTP API と AWS Lambda を使用して、テキストまたは画像のいずれかを受け入れて返すAPIを構築する方法を示します。Amazon API Gatewayの base64 エンコーディングは、AWS Lambda でのテキストとバイナリデータの処理を統合します。バイナリデータと非バイナリデータ(テキストデータ)は、JSON オブジェクトの文字列として Lambda 関数に渡されます。HTTP API の Lambda 統合では、リクエストで渡されたcontent-type ヘッダーに基づいてエンコードの必要性を自動的に推測します。

Read More

大手金融機関におけるセキュリティ・コンプライアンスのためのイベント管理

本投稿では、商業銀行として米国で Top 25 内にランクインしている金融機関であるBBVA USAが、AWS サービスを使用して大規模なイベント管理の仕組みを実装し、クラウド環境に関連する変更イベントを一元管理し、アクションを自動化した方法について紹介しています。一般的に、モノリシック環境でのセキュリティ・コンプライアンスは、管理・監視対象となるインフラストラクチャが少ないため、監視と実施が比較的容易です。それが多くなったとしても、インフラストラクチャをコード化すれば、民主化され分散化されたアプローチによって、コンプライアンスの見落としなく構成の差分管理(ドリフト)と追跡処理を環境に取り入れることができます。 インフラストラクチャの正常な状態を識別し、そこから外れた違反状態を把握することにより、インフラの状態の可視性が確保され、必要に応じて自動修復によって遵守を強制させることが可能になります。このために、セキュリティイベントの通知やベースラインとなる構成定義といった機能を使うことができます。

Read More

サーバーレスでスケールするマルチプレイヤーゲームを構築する

本投稿は、Sr.Solutions Architect, Developer Acceleration の Tim Bruce よる記事を翻訳したものです。 ゲーム開発は、要件が急速に変化するため非常に繰り返しの多いプロセスです。ゲーム開発者の多くは、可能な限り多くの時間を機能の構築のために費やしたいと思っており、サーバー設定、インフラストラクチャ管理、スケーリング技術の習得に時間を費やしたくないと考えています。 AWS のサーバーレスサービス を利用することで、4つの大きなメリットが得られます。1つ目は、運用オーバーヘッドを削減することで、企画からリリースまでのプロセスを短くします。2つ目は、運用に必要なハードウェアとソフトウェアを過剰にプロビジョニングしないため、コスト削減を実現できる可能性があります。3つ目は、サーバーレスはユーザーのアクティビティに応じてスケールします。最後は、サーバーレスサービスには組み込みの統合機能があるため、サービス統合に労力をかけることなくゲーム開発に集中できます。 AWSを利用するゲーム開発者は、これらのメリットを活用することで、チームがサーバーやソフトウェアのセットアップや保守といった差別化につながらないタスクに時間を費やすのではなく、ゲーム体験の向上やコンテンツ開発により多くの時間を費やすことができます。これにより、ゲーム体験とコンテンツがより良いものとなり、リリースまでの時間も短縮されます。 本ブログ記事では、「サーバーレスファースト」アーキテクチャを持つゲームについて紹介します。 Simple Trivia Service はウェブベースのゲームであり、貴社のゲームにも適用可能な複数のアーキテクチャパターンを持っています。

Read More

Operating Lambda: イベント駆動型アーキテクチャを理解する – Part 1

Operating Lambda シリーズでは、AWS Lambda ベースのアプリケーションに関わる開発者、アーキテクト、システム管理者向けの重要なトピックについて説明します。この3部構成のシリーズでは、イベント駆動型アーキテクチャと、それがどのようにサーバーレスアプリケーションと関連しているかについて説明します。 Part 1 では、イベント駆動型パラダイムの利点と、それがスループット、スケール、拡張性をどのように改善できるかについて説明します。また同時にアプリケーションの複雑性とコードの総量を削減する点についても説明します。 イベント駆動型アーキテクチャは現代の組織で一般的に利用される、複雑なシステムの構築に伴う課題に対処するのに役立つため人気が高まっています。このアプローチはマイクロサービスの利用を促進します。マイクロサービスは、小さく、狭い領域の機能セットを実行する特殊なサービスです。適切に設計された Lambdaベースのアプリケーションは、マイクロサービスアーキテクチャの原則と互換性があります。   Lambda はイベント駆動パラダイムにどのように適合するか Lambda は、イベントに応じてカスタムコードを実行するオンデマンドのコンピュートサービスです。ほとんどの AWS サービスはイベントを生成し、その多くは Lambda のイベントソースとして機能します。Lambda では、コードはコードデプロイメントパッケージに格納され、イベントハンドラが含まれています。コードへのすべての相互作用は Lambda API を介して行われ、サービスの外部から関数を直接実行することはありません。Lambda 関数の主な目的は、イベントを処理することです。

Read More

Docker コンテナイメージを使用した PHP Lambda 関数の構築

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 re:Invent 2020 で、AWS Lambda 関数をコンテナイメージとしてパッケージ化してデプロイできる機能が発表されました。AWS Lambda 関数をコンテナイメージとしてパッケージ化すると、PHP などのカスタムランタイムを実行する開発者にいくつかの注目すべき利点がもたらされます。このブログ投稿では、これらの利点について説明し、Lambda 関数の新しいコンテナイメージサポートを使用してサーバーレス PHP アプリケーションを構築する方法を示します。 概要 多くの PHP 開発者は、デプロイを容易にするために、ポータブルなアーティファクト作成としてコンテナを利用したアプリケーションの構築方法をご存知のことでしょう。アプリケーションをコンテナとしてパッケージ化すると、複数の環境で一貫した PHP バージョン、パッケージバージョン、および構成設定を維持しやすくなります。

Read More

AWS Compute Optimizer を使用した AWS Lambda のコストとパフォーマンスの最適化

本投稿は AWS Compute Optimizer のシニアプロダクトマネージャーである Brooke Chen、AWS Compute Optimizer のプリンシパルプロダクトマネージャーである Letian Feng、Amazon EC2 のプリンシパルデベロッパーアドボケイトである Chad Schmutzer による寄稿です。 コンピューティングリソースの最適化は、あらゆるアプリケーションアーキテクチャにとって重要な作業です。計算処理リソースの過剰なプロビジョニングは不要なインフラストラクチャコストにつながる一方で、不足すると、アプリケーションのパフォーマンスの低下につながります。 2019年12月に開始された AWS Compute Optimizer は、AW​​Sコンピューティングリソースのコストとパフォーマンスの最適化のための推奨情報(リコメンデーション)を提示するサービスです。特定のワークロードに合わせた実用的な最適化の推奨事項を生成します。昨年、数千の AWS のお客様が、Compute Optimizer を使用してワークロードに最適な Amazon EC2 インスタンスタイプを選択することで、コンピューティングコストを最大25%削減しました。 お客様から最も頻繁にいただくリクエストの 1 つに、Compute Optimizer で AWS Lambda の推奨事項を提示してほしいというものがありました。これを受けて、2020年12月23日、Compute Optimizer が Lambda 関数の推奨メモリサイズをサポートすることを発表しました。これにより、Lambda ベースのサーバーレスワークロードのコストを最適化し、パフォーマンスを向上させることができます。開始するには、Compute Optimizer をオプトインして、推奨事項の検出に進みましょう。 概要 Lambda を使用すると、管理するサーバーがなく、自動的にスケーリングされ、使用した分だけの料金となるなどの、サーバーレスとしてのメリットが多くあります。ただし、Lambda 関数に適切なメモリサイズ設定を選択することは依然として重要なタスクです。Computer Optimizer は、機械学習ベースでメモリの推奨を行うことで、このタスクを支援します。 この推奨事項の提供機能は、Compute Optimizer コンソール、AWS CLI、AWS […]

Read More

AWS Step FunctionsとAmazon EKSの統合のご紹介

元の記事:https://aws.amazon.com/blogs/containers/introducing-aws-step-functions-integration-with-amazon-eks/ 本投稿は Romain Jourdanによる記事を翻訳したものです。 私がAWSに入社してからこれが初めてのAWS Container Blogへの投稿となりますが、サーバーレスとKubernetesという2つのテクノロジの融合、具体的にはAWS Step FunctionsとAmazon Elastic Kubernetes Serviceの統合についてお話しできることにこの上なく興奮しています。

Read More

コンテナイメージとしてパッケージ化された Lambda 関数の最適化

AWS Lambda は、re: Invent 2020 でコンテナイメージとしての関数のパッケージ化とデプロイのサポートを開始しました。この記事では、イメージサイズを縮小し、ビルド、デプロイ、更新時間を短縮するコンテナイメージの構築方法を学習します。Lambdaコンテナイメージには、最適化のために考慮すべき固有の特性があります。Lambda 関数のコンテナイメージを最適化するために使用するテクニックは、他の環境で使用するものとは少し異なります。 コンテナイメージを最適化する方法を理解するためには、コンテナイメージのパッケージ方法と、Lambda サービスがどのようにコンテナイメージの取得、キャッシュ、デプロイ、およびリタイアするかを理解することが役に立ちます。

Read More
Lambda

コンテナイメージ内でLambda レイヤーと拡張機能を動作させる

この記事では、コンテナーイメージとしてパッケージ化され、デプロイされた Lambda 関数で AWS Lambda レイヤーと拡張機能を使用する方法について説明します。 以前はLambda 関数は.zip アーカイブとしてのみパッケージされていました。これにはAWS マネジメントコンソールで作成された関数が含まれます。今はLambda 関数をコンテナイメージとしてパッケージ化およびデプロイすることもできるようになりました。 Docker CLI などの使い慣れたコンテナーツールを Dockerfile を使用してイメージをローカルで構築、テスト、タグ付けすることができます。コンテナイメージを使用したLambda 関数は 10 GBのサイズまで構築することが可能です。構築したイメージはAmazon Elastic Container Registry(ECR)リポジトリにプッシュします。このリポジトリは、AWSのフルマネージドなコンテナイメージレジストリサービスです。レジストリからECRイメージ URL をソースコードとして指定し、Lambda 関数を作成します。

Read More