Amazon Web Services ブログ

Category: AWS Lambda

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
creating-a-secure-video-on-demand-vod-platform

AWSでセキュアなビデオオンデマンド(VOD)プラットフォームを構築する方法

動画の活用は情報共有や学習の主要な手段となっており、お客様はeラーニングや動画配信の分野に参入するために、革新的なソリューションに投資を始めています。動画コンテンツはお客様のIP (知的財産) であり、保護され安全に配信される必要があります。オンライン動画は、企業、教育機関、政府機関などあらゆる業界がますます活用するようになっている強力なテクノロジーです。 多くの企業や組織はセキュアなストリーミングソリューションを必要としています。特に、医療機関、大学・学校、企業、OTT・メディア事業者、知的財産権・著作権保護団体、弁護士、官公庁などはセキュリティが絶対に必要であると考えるべきでしょう。

Read More

Amazon S3 Object Lambdaの紹介 – コードを利用して S3 から取得するデータを処理

Amazon Simple Storage Service(S3)にデータを保存すると、複数のアプリケーションで使用するためにデータを簡単に共有することができます。しかし、それぞれアプリケーションごとに固有の要件があり、データの異なるビューが必要になる場合があります。例えば、eコマースアプリケーションによって作成されたデータセットには個人識別情報(PII)が含まれる場合がありますが、データ分析のために処理するときには個人識別情報は不要であり、編集(マスキング等)がされているべきです。一方、同じデータセットがマーケティングキャンペーンに使用されている場合は、顧客ロイヤルティデータベースからの情報など追加の詳細データで補填する必要があるかもしれません。複数のアプリケーションにデータの異なるビューを提供するには、現在、2つのオプションがあります。データの派生コピーを追加作成、保存、維持して、各アプリケーションに独自のカスタムデータセットを持たせるオプションと、S3 の前にプロキシレイヤーとしてインフラストラクチャを構築および管理して、リクエストごとにデータをインターセプトして処理するオプションです。両オプションともに複雑性とコストが追加で発生するため、S3 チームはよりよいソリューションを構築することを決定しました。

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 3

Operating Lambda シリーズでは、AWS Lambda ベースのアプリケーションを管理している開発者、アーキテクト、システム管理者向けの重要なトピックについて説明します。3 部構成のこのセクションでは、イベント駆動型アーキテクチャと、それが Lambdaベースのアプリケーションとどのように関連しているかについてディスカッションします。 Part 1 では、イベント駆動型パラダイムの利点と、スループット、スケーリング、拡張性をどのように改善できるかについてカバーしています。Part 2 では、開発者が Lambda ベースのアプリケーションを構築するメリットを享受するのに役立つ設計原則とベストプラクティスについて説明しています。この記事では、イベント駆動型アーキテクチャの一般的なアンチパターンについて説明します。 Lambda は決まりきったサービスではなく、必要に応じてアプリケーションを構築するための幅広い機能を提供します。この柔軟性はお客様にとって重要ですが、技術的には動作するものの時には最適ではない設計となることもあります。

Read More

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

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

Read More

【開催報告&資料公開】放送業界向け InterBEE 2020 / re: Invent 2020 Recap セミナー

1 月 28 日に放送業界のお客様向けに、昨年開催された InterBEE 2020 と AWS re:Invent 2020 の Recap セッションを実施しました。 ■InterBEE 2020 Recap アマゾンウェブサービスジャパン ソリューションアーキテクト 門田 梓 [Slide] ソリューションアーキテクトの門田より、InterBEE 2020 で発表した AWS を活用した放送業界の AWS 活用事例を紹介しました。2020 年は新型コロナウイルスの感染拡大が番組制作に非常に大きく影響した年でした。登壇いただいたお客様は、この困難に立ち向かうため、AWS のサービスとツールを活用して コストを必要最小限に、ゼロから作るより迅速に、拡張性や可用性のメリットを手に入れています。本セッションでご紹介した概要は以下の通りです。

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