Amazon Web Services ブログ

Category: Front-End Web & Mobile

サーバーレス LAMP スタック – Part 2: リレーショナルデータベース

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレスアプリケーションで Amazon Aurora MySQLリレーショナルデータベースを使用する方法を学びます。Amazon RDS Proxy を使用してデータベースへの接続をプールおよび共有する方法と、構成を選択する方法を示します。この投稿のコード例は PHP で記述されており、この GitHubリポジトリにあります。なお、この概念自体は、AWS Lambda でサポートされている他のランタイム言語にも適用できますので、PHP に限定しない内容としてお読みいただけます。 サーバーレス LAMP スタック このサーバーレス LAMP スタックアーキテクチャについては、この記事で説明しています。このアーキテクチャでは、PHP Lambda 関数を使用して、Amazon Aurora MySQL データベースの読み取りと書き込みを行います。 Amazon Aurora は、MySQL および PostgreSQL データベースに高いパフォーマンスと可用性を提供します。基盤となるストレージは、最大64 テビバイト(TiB)まで需要に応じて自動的に拡張されます。 Amazon Aurora DB […]

Read More

新しいサーバーレス LAMP スタック – Part 1: 概要紹介

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ これは、PHP 開発者向けの投稿シリーズの第一弾です。このシリーズでは、PHP でサーバーレステクノロジーを使用する方法を説明します。サーバーレスアプリケーションを構築するために利用できるツール、フレームワーク、戦略や、なぜ今始めるべきかについて説明します。 今後の投稿では、Laravel や Symfony などの PHP フレームワークとともに構築された Web アプリケーションに AWS Lambdaを使用する方法を示します。Lambda を Web ホスティング機能の代替として使用することから、分離されたイベント駆動型のアプローチに移行する方法を示します。最小限のスコープの複数の Lambda 関数を他のサーバーレスサービスと組み合わせて、パフォーマンスの高いスケーラブルなマイクロサービスを作成する方法について説明します。 まずは、カスタムランタイム API を使用して Lambda で PHP を使用する方法を学びます。サンプルコードについては、この GitHubリポジトリにアクセスしてください。 サーバーレスLAMPスタック 従来の PHP アプリケーションの課題 スケーラビリティは、従来の LAMP スタックの伝統的な課題です。スケーラブルなアプリケーションとは、非常に多様なレベルのトラフィックを処理できるアプリケーションです。PHP アプリケーションは、多くの場合、必要に応じて Web サーバーを追加することにより、水平方向にスケーリングされます。これは、リクエストをさまざまな […]

Read More

【開催報告】AWS Autotech Forum 2020 Online #1

はじめに みなさんこんにちは、ソリューションアーキテクトの福嶋、渡邊です。AWS では 2018 年・2019 年と実施してきた自動車業界向けクラウドテクノロジーカンファレンス「AWS Autotech Forum」を夏と冬の2日間に拡大し、「AWS Autotech Forum 2020 Online #1」を8/7にオンラインにて開催させていただきました。オンライン開催第一回目となる今回は、MaaS、自動運転開発、コネクテッドカー、エッジコンピューティング、マップ/ロケーションサービス等の分野において、先進的な取り組みを志向する企業のビジネスリーダー、エンジニアの方々に向けて、お客様の新たなビジネスをご支援させていただく中で学んできた、汎用的に利用可能なプラクティスやテクノロジーの活用シーンを AWSのソリューションアーキテクトからご紹介させていただきました。 オープニング 自動車業界における AWS の取り組みとお客様事例 ソリューションアーキテクト安藤から皆様の新しいビジネスの企画立案に役立てていただくために、 AWS の活用事例や取り組みについてご紹介しました。 テクノロジートレンドの CASE (Connected/Autonomous/Shared/Electric) はすでに多くのお客様が取り組まれており、ビジネストレンドである MaaS への注目度も日増しに高まっています。 MaaS にはエマージングビジネスの側面と企業間アライアンスによる新プラットフォームビジネスの側面があり、AWS を活用いただくことで「価値創出への集中」「最新技術の活用」「試行錯誤の繰り返し」といったメリットをご享受いただけます。 セッションの中では実際に、 AWS をご活用いただいている企業の事例や CES 2020 において Amazon と AWS が共同で発表した自動運転で走行する電気自動車におけるカーシェアリングサービスのコンセプトデモを例に AWS をご利用いただくことによるメリットがどのようなビジネス効果を生み出しているかをご説明しました。 登壇資料: 自動車業界における AWS の取り組みとお客様事例 MaaS関連セッション AWS Connected Mobility Solution (CMS) のご紹介 ソリューションアーキテクト高野からは、コネクテッドモビリティのシステム開発に関する AWS […]

Read More
Amplify Meetup #01 開催!

【全資料まとめ&開催報告】Amplify Meetup #01

みなさんこんにちは!アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクトの木村公哉(@kimyan_udon2)です。梅雨が明けて、気づけばお盆も明けた今日この頃ですが、皆様いかがお過ごしでしょうか? 7月31日に「Amplify Meetup #01」を開催しました。「Amplify Meetup」はAWS AmplifyのユーザーとAWS Amplifyに興味のあるエンジニアのみなさんでLTなどを通して盛り上がるコミュニティーイベントです。今回初めて開催しましたので、開催報告と合わせて「Amplify Meetupとは?」という点についてもご紹介いたします。

Read More

[AWS Black Belt Online Seminar] AWS Amplify 資料及び QA 公開

先日 (2020/05/20) 開催しました AWS Black Belt Online Seminar「AWS Amplify」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200520 AWS Black Belt Online Seminar AWS Amplify from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q1. AWS Amplify で使う「カテゴリ」はどのような単位で使うものですか?イメージがわかないので具体例を教えてください。 A. Amplify のカテゴリはユースケース単位でアプリケーションに機能を追加することができます。 Amplify カテゴリの例: REST API や GraphQL の API 基盤を構築する API カテゴリ 画像認識やテキスト翻訳などの機械学習の機能を提供する Predictions カテゴリ グインや各カテゴリに認証機能を提供する Authentication カテゴリ アプリケーションに Amplify の機能を追加するには、Amplify CLI からカテゴリを追加し、バックエンドを構築します。例えば、Amplify […]

Read More

Android および iOS 用の新しい AWS Amplify ライブラリ

モバイルアプリケーションを開発するときは、各プロジェクトについて、クラウドを利用した一連の機能を開発する必要があります。たとえば、ほとんどのアプリケーションでは、ユーザー認証または詳細なアプリ内分析が必要となります。アプリケーションはおそらく REST または GraphQL API を呼び出し、オフラインシナリオとデータ同期をサポートすることが求められます。AWS Amplify を使用すると、このような機能をモバイルアプリケーションやウェブアプリケーションに簡単に統合できます。 AWS Amplify は、安全でスケーラブルなモバイルおよびウェブアプリケーションを構築するためのツールとサービスのセットです。これは、クラウドを利用した機能を追加するためのライブラリと UI コンポーネントのオープンソースセット、クラウドバックエンドを作成および管理するためのコマンドラインインタラクティブツールチェーン、およびフルスタックのサーバーレスウェブアプリケーションをデプロイしてホストする AWS のサービスである AWS Amplify Console という 3 つのコンポーネントで構成されています。 本日、モバイルアプリケーション開発者が安全でスケーラブルなクラウドベースのアプリケーションを簡単に構築することをサポートするための Amplify iOS および Amplify Android ライブラリとツールが利用可能になったことをお知らせいたします。 今日まで、クラウドベースのモバイルアプリケーションを開発するときは、ツールと SDK の組み合わせを使用していました。すなわち、AmplifyCLI を使用してバックエンドを作成および管理し、1 つまたは複数の AWS Mobile SDK を使用してバックエンドにアクセスしていました。一般に、AWS Mobile SDK は、AWS のサービスの API の低レベルのラッパーです。API の詳細を理解し、ほとんどの場合、オブジェクトの (デ) シリアライゼーション、エラー処理など、多くの未分化コードを記述する必要があります。 Amplify iOS と Amplify Android はこれを簡素化します。まず、認証、データの保存とアクセス、機械学習の予測などのユースケース向けのネイティブライブラリを提供します。これらのライブラリは、抽象化を使用してプログラムでベストプラクティスを適用できる宣言型インターフェイスを提供します。AWS のサービスではなくユースケースの観点から考えると、抽象化のレベルが高くなり、開発サイクルが速くなり、コード行が少なくなります。次に、ネイティブ IDE ツールチェーンと統合するツールを提供します。すなわち、iOS […]

Read More

AWS AppSync を使用して Amazon QLDB への GraphQL インターフェイスを構築する: パート 2

 この記事は、Amazon Quantum Ledger Database (QLDB) と AWS AppSync を統合する方法を説明する 2 回にわたる連載記事の第 2 回です。この組み合わせにより、Amazon QLDB マネージドの台帳データベースに加えて、多目的な GraphQL を利用した API が提供されます。AWS Lambda 関数を作成してクエリを実行することで、Amazon QLDB と AWS AppSync を接続する方法については、「AWS AppSync を使用して Amazon QLDB への GraphQL インターフェイスを構築する: パート 1」をご覧ください。 この記事では統合を引き続き開発し、QLDB で AWS AppSync のより複雑なクエリとデータのミューテーションをサポートします。このチュートリアルでは、Amazon QLDB および AWS AppSync がキャプチャする履歴データのクエリのサポートも行います。 このシリーズのどちらの記事でも、クエリにドライバーの車両情報の DMV データセットを使用しています。GitHub リポジトリでアプリケーション全体を確認することもできます。 次の図は、このプロジェクトのおおまかなアーキテクチャを示しています。AWS AppSync リゾルバーを使用して、Lambda の Amazon […]

Read More

AWS AppSync を使用して Amazon QLDB への GraphQL インターフェイスを構築する: パート 1

 Amazon Quantum Ledger Database (QLDB) は、信頼できるデータソースを必要とするユースケース向けに設計されたデータベースです。Amazon QLDB は、データベースにコミットされたすべての変更の履歴を完全で不変な形で保持します (これは台帳と呼ばれます)。Amazon QLDB は、金融、e コマース、在庫管理、政府、その他数多くの用途でお使いいただけます。 Amazon QLDB を AWS AppSync などのサービスとペアリングすると、モバイルアプリケーション、ウェブサイト、データレイクのデータとそのデータの履歴を安全に公開できます。この記事では、Amazon QLDB を AWS AppSync と統合して政府のユースケースを強化するための再利用可能なアプローチについて説明します。 Amazon QLDB を AWS AppSync のデータソースとして追加するには、AWS Lambda 関数を使用してデータベースに接続します。次の図は、このソリューションのアーキテクチャを示しています。 この記事では、Department of Motor Vehicles (DMV) のユースケースを用いて、Amazon QLDB をデータソースとして AWS AppSync に追加します。このユースケースは、Getting Started with the Amazon QLDB Console でご利用いただけます。Amazon QLDB データソースを接続するだけでなく、簡単なクエリも作成します。 今後の記事では、データの変更や履歴の取得など、より高度な Amazon QLDB […]

Read More

高速、低コストで、より良いAPIの構築 – HTTP APIが利用可能(GA)になりました

本投稿は、Senior Developer Advocate, AWS Serverless Applications のEric Johnsonの寄稿によるものです。 2015年7月、AWSはAmazon API Gatewayを発表しました。これにより、開発者はさまざまな種類のアーキテクチャのフロントに配置して安全でスケーラブルなAPIを迅速に構築できるようになりました。それ以来、API Gatewayチームは顧客向けの新しい機能とサービスを構築し続けています。 図1: API Gateway機能追加タイムライン 2019年初頭、チームは現在のサービスを評価し、API Gatewayの次の姿がどうあるべきか計画を立てました。新しい言語と技術によるプロトタイプを作成し、RESTおよびWebSocket APIの構築から学んだ教訓を適用し、そして、顧客のフィードバックを入念に調べました。その結果として、Amazon API GatewayのHTTP APIが完成しました。これは、より高速で、より低コストで使い易くなるように、ゼロから構築されたサービスです。要するに、HTTP APIはAPIを構築するためのより良いソリューションを提供します。APIを構築していて、HTTP APIが要件に合っている場合は、HTTP APIから始めるのが良いでしょう。   より速く ほとんどのユースケースで、HTTP APIはレイテンシを最大60%削減します。開発者は、最小限のレイテンシと最大限の機能を備えたアプリケーションの構築に苦心しており、アプリケーションプロセスに関係する各サービスがレイテンシを追加する可能性があることを理解しています。 図2: すべてのサービスがレイテンシを追加   これを念頭に置いて、HTTP APIは、API Gatewayサービスのレイテンシオーバーヘッドを削減するように構築されています。リクエストとレスポンスの両方を足し合わせても、すべてのリクエストの99%(p99)でHTTP APIからの追加レイテンシが10ミリ秒未満になります。   より低コストで Amazonでは、中核となるLeadership Principles の一つとして、Frugality(倹約)があります。私たちは、費用対効果の高い方法で物事を行い、その節約がお客様に還元されることを信じています。新しいテクノロジーが利用可能になり、ほぼ5年間にわたりAPI Gatewayを運用し得た専門知識により、より効率的に実行するためにHTTP APIを構築しました。 図3: REST / HTTP APIの価格比較 us-east-1の価格設定を使用して説明します。図3は、1か月あたりの1億回、5億回、および10億回のリクエストのコスト比較を示しています。全体的に、HTTP APIは、API Gateway REST APIと比較して少なくとも71%低コストです。   よりシンプルに HTTP […]

Read More

【開催報告】ビルシリーズ@住友不動産六本木グランドタワー 第1回

みなさんこんにちは!アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクトの木村公哉です。 11月21日に「ビルシリーズ@六本木一丁目住友不動産六本木グランドタワー 第1回」を開催いたしました。今回は「初めてのサーバレスWebアプリケーションハンズオン」を実施しました。こちら「ビルシリーズとは?」とお思いの方も多いかと思いますので、開催報告と合わせてご説明いたします。 「ビルシリーズ」とは? このイベントは、日頃AWSをご利用いただいているお客様に、AWSからの情報発信はもちろん、同じビルに拠点を構えるお客様同士の活発な意見交換と交流の場を定期的に作ることを目的としたものです(同じビルなので移動が楽!)。 今回、住友不動産六本木グランドタワーのFringe81様、BASE様、エブリー様、ディップ様で同じようなニーズがあり、このようなビル単位でのイベントを開催する運びとなりました。場所はFringe81様の素敵な大会場をお借りいたしました。Fringe81様ありがとうございました。 来月には住友不動産麻布十番ビルでも開催を予定しており、今後もこのようなビル単位で交流ができるようなイベントを開催していきたいと考えております。 当日の様子 当日は約40人のお客様にお越しいただき、イベントは終始盛り上がりを見せておりました。   まずはAWSJ 植本より、今回のビルシリーズの趣旨などを説明いたしました。   次に、AWSJ 木村より「サーバレスのご紹介 – ユースケースパターンを切り口に」というタイトルで、AWSのサーバレスプラットフォームについてご紹介いたしました。   続けてAWSJ 木村より「初めてのWebアプリケーションハンズオン」を実施いたしました。   ハンズオンの終了後、ご参加いただいた皆様と共に、簡単な懇親会を開催いたしました。   今回、AWSJより、アカウントマネージャー植本、藤田、細木、ソリューションアーキテクト上原、石見、小宮、木村がビルシリーズをサポートいたしました。こちらはソリューションアーキテクトの集合写真です。 貴社担当のアカウントマネージャから「ビルシリーズ」のお誘いがあるかもしれませんが、是非ご検討いただければと思います。それでは、次回のビルシリーズでお会いしましょう!   著者について 木村 公哉(Kimura, Koya) 香川県出身のソリューションアーキテクトです。好きなサービスはAWS AmplifyとAWS Lambda、Amazon Kinesisです。好きな食べ物はうどんです。   上原 誠(Uehara, Makoto) アマゾンウェブサービスジャパン株式会社のソリューションアーキテクトとして、主にメディア系のお客様に対する技術支援を担当。技術的な得意/興味領域としては、アナリティクス系テクノロジー、広告系ソリューションなど。

Read More