AWS AppSync

グローバルスケールで、1 つ以上のデータソースからの適切なデータを使用してアプリケーションを強化

AWS AppSync を使用すると、1 つ以上のデータソースからのデータに安全にアクセス、操作、結合するための柔軟な API を作成でき、アプリケーション開発がシンプルになります。AppSync は、GraphQL を使用してアプリケーションが必要なデータを正確に取得できるようにするマネージド型サービスです。

AppSync を使用すると、NoSQL データストア、リレーショナルデータベース、HTTP API、AWS Lambda を使用したカスタムデータソースなどのさまざまなデータソース上で、リアルタイムの更新を必要とするアプリケーションを含む、スケーラブルなアプリケーションを構築できます。モバイルおよびウェブアプリケーションの場合、AppSync はさらに、デバイスのオフライン時にローカルデータアクセスを提供し、オンラインに戻るとカスタマイズ可能な競合の解決処理を使用したデータ同期を提供します。

AWS AppSync は一般提供を開始しています。データ駆動型のモバイルアプリケーションおよびウェブアプリケーションの構築を試してみたい方は、re:Invent のセッション動画で詳細をご覧いただき、AWS AppSync コンソールを開いて使用を開始してください。料金詳細については、料金ページを参照してください。AWS AppSync は複数のリージョンで利用可能です。利用可能なリージョンの詳細については、リージョンの詳細ページを参照してください。 

AWS re:Invent 2019: AWS AppSync でフルスタックサーバーレスアプリを増幅する (51:46)

利点

無理なく始めて、ビジネスに合わせたスケーリング

使いやすい AWS AppSync 管理コンソールを使えば、気に入った IDE (Xcode、Android Studio、VS Code など) から直接、すぐに始められます。または AWS Amplify CLI を使用すれば、API とクライアント側のプログラムを自動生成します。AWS AppSync は Amazon DynamoDB、Amazon Aurora、Amazon Elasticsearch、AWS Lambda およびその他の AWS のサービスと統合し、事実上無制限のスループットとビジネスニーズに合わせて拡張縮小するストレージを持った、非常に高度なアプリケーションを開発することが可能となります。 

リアルタイムサブスクリプションとオフラインアクセス

AWS AppSync によって、数百万台のデバイスとの間のリアルタイムサブスクリプションも、アプリデータへのオフラインアクセスも可能となります。オフラインのデバイスが再接続すると、AWS AppSync はデータベース全体ではなく、デバイスが切断されたときに発生した更新のみを自動的に同期させます。AWS AppSync によって、データ競合を解決するという最も難しい処理を実行し、ユーザーがカスタマイズ可能なサーバーサイドでの競合検出と競合解消手段が提供されるので、ユーザーの対応は必要ありません。 

分散データへの一元的かつ安全なアクセス

GraphQL を使用して、単一のネットワークコールで複数のデータソースにわたって複雑なクエリと集計を実行します。AWS AppSync を使用すると、複数の同時認証モードを使用してアプリデータを簡単に保護できます。また、GraphQL スキーマから直接データ定義レベルでセキュリティときめ細かいアクセス制御を定義できます。 

仕組み

AppSync の仕組み

AWS AppSync を使用するお客様

ユースケース

リアルタイムの共同開発

データのブロードキャスト

AWS AppSync を使用し、接続しているクライアントすべて (1 対多) にバックエンドからデータをブロードキャストする、あるいはクライアント間で相互 (多対多) にデータをブロードキャストすることで、スケーラブルなリアルタイムの共同開発のユースケースを実現できます。例えば、同一のデータをすべてのクライアントにブロードキャストし、ユーザーがスクリーン上のデータについて投票したり意見を述べたりし、リアルタイムで応答できるセカンドスクリーンのシナリオを作成することができます。

リファレンスアーキテクチャ: サンプルコード

データのブロードキャスト

チャットアプリケーション

AWS AppSync を使用して、共同作業向けの対話型のアプリケーションを実現できます。例えば、複数のプライベートチャットルームをサポートし、会話履歴にアクセスでき、デバイスがオフラインの場合でも送信メッセージをキューに挿入できるような、モバイルおよびウェブアプリケーションを構築できます。

リファレンスアーキテクチャ: サンプルコード

チャットアプリケーション

IoT

AWS AppSync を使用して、AWS IoT に送信された IoT デバイスデータにアクセスできます。たとえば、モバイルまたはウェブアプリケーションにリアルタイムのダッシュボードを構築し、コネクテッドカーでテレメトリを視覚的に確認できます。

リファレンスアーキテクチャ: サンプルコード

IoT

データレイヤー

マイクロサービスのアクセスレイヤー

マイクロサービスが、VPC 内のコンテナ、Amazon API Gateway 上の REST API の内側、または別の AWS AppSync エンドポイント上の GraphQL API の内側など、それぞれ異なる環境下で動作している場合でも、AWS AppSync を単一のインターフェイスとして使用してアクセスし、複数のマイクロサービスのデータをお客様のアプリケーションで組み合わせることができます。

リファレンスアーキテクチャサンプルコード 1 サンプルコード 2

マイクロサービスのアクセスレイヤー

数か国語でのバックエンドデータのアクセス

単一のコールで、複数のデータソース (Amazon Aurora Serverless の SQL データベース、Amazon DynamoDB の NoSQL テーブル、Amazon Elasticsearch Service の検索データ、Amazon API Gateway の REST エンドポイント、AWS Lambda のサーバーレスバックエンド) からデータを取得または変更することができます。GraphQL コネクションを使用して、クエリを行ったり、データソース間の関係を作ったりできます。ウェブおよびモバイルのクライアントに、リアルタイムおよびオフラインの機能を提供できます。 

数か国語でのバックエンドデータのアクセス

オフライン

オフラインの Delta Sync

AppSync は、Amplify DataStore で使用できるオンラインの永続ストレージエンジンで、GraphQL をローカルファーストの使い慣れたプログラミングモデルで使用し、独自の Lambda 関数を使用した自動マージ、オプティミスティック同時実行、カスタム解決などの高度な競合検出および解決戦略により、AWS AppSync の組み込みデータサポートを活用して、モバイル/ウェブアプリとクラウド間でデータを自動的に同期します。

リファレンスアーキテクチャ: サンプルコード

オフラインの Delta Sync

AWS AppSync 機能の詳細

特徴のページにアクセスする
構築を始めましょう。
AWS AppSync コンソールを開く
ご不明な点がおありですか?
お問い合わせ