主な特徴

GraphQL

簡素化されたデータアクセスとクエリ

AWS AppSync では、サーバーからのデータに対して、クライアントによるフェッチ、変更、サブスクライブを可能にするデータ言語、GraphQL を使用します。GraphQL クエリでは、サーバーから返されたデータをどのように構造化するかをクライアントが指定します。これによって、クライアントは必要なデータのみを必要なフォーマットでクエリできます。GraphQL には "自己観察" という機能があり、バックエンドの知識がなくても、プロジェクトの新しい開発者は利用可能なデータを見つけることができます。

リアルタイムのデータアクセスと更新

クライアントとデバイス両方での即時更新

AWS AppSync では、GraphQL サブスクリプションを使用して、データのどの部分をリアルタイムで利用可能にするかを指定できます。GraphQL サブスクリプションはアプリケーションコードに含まれるシンプルなステートメントで、サービスに対してどのデータをリアルタイムで更新するかを指示します。

オフラインデータ同期

オフラインでもデータの操作や更新が可能

AWS AppSync ではオフラインプログラミングモデルがサポートされているため、ユーザーはアプリケーションデータをオフラインでも利用でき、データの追加や更新も実行できます。デバイスがオフラインのとき、アプリケーション UI はオフラインデータによって自動的に更新されます。AppSync では、オフライン時のデータキャッシュ方法や、さまざまなネットワーク条件におけるキャッシュ更新の管理方法を指定できます。

アプリケーション内でのデータのクエリ、フィルタリング、検索

AWS データソースへの事前設定済みアクセス

AWS AppSync を使用することで、クライアントアプリケーションはデータ要件を GraphQL によって指定できるため、必要なデータのみがフェッチされ、サーバー側とクライアント側両方でのフィルタリングが可能です。AWS AppSync では AWS Lambda、Amazon DynamoDB、Amazon Elasticsearch がサポートされているため、GraphQL では、簡単な検索、複雑なクエリやマッピング、テキストの全文検索、あいまい検索やキーワード検索、位置情報検索などのオペレーションが可能です。

エンタープライズセキュリティときめ細かなアクセスコントロール

データの制御

AWS AppSync では、アプリケーションのニーズに応じて、データアクセスと許可にいくつかのレベルを設定できます。シンプルなアクセスはキーによって保護できます。AWS Identity and Access Management のロールを使えば、アクセス許可をさらに制限できます。加えて、AWS AppSync はメールとパスワードの機能について Amazon Cognito のユーザープールと統合されており、ソーシャルプロバイダー (Facebook、Google+、Login with Amazon) や、SAML によるエンタープライズフェデレーションとも統合されています。ユーザーとロールの論理的構成にはグループ機能、アプリケーションアクセスには OAuth 機能も使用できます。

よくある質問

  • Q:AWS AppSync とは何ですか?

    AWS AppSync は、複数のデバイスやユーザーが使用するモバイルアプリケーションのデータを、開発者がリアルタイムで管理および同期できるようにする新しいサービスで、モバイルデバイスがオフライン状態でもデータへのアクセスや変更が可能です。

    さらにこのサービスでは、GraphQL というクエリ言語を使用し、変更発生時に各ユーザーのデバイスでどのデータを自動的に同期するか選択することで、開発者はユーザーエクスペリエンスを最適化し、ストレージと帯域幅の要件を最小限に抑えることができます。

    開発者はこれらの機能を活用して、ブラウザ、モバイルアプリケーション、Alexa スキル、ネットワーク接続が失われた場合でも使用できる IoT デバイスなどを含む、リアルタイムのコラボレーション環境を数分で構築できます。

  • Q:現在リリースされている機能を使用して、どのようなアプリケーションを構築できますか?

    AWS AppSync を使用して、ユーザーおよびアプリケーションデータのデバイス間同期、接続切断時の動作継続、リアルタイムのコラボレーション環境といった特長を生かしたモバイルアプリケーションを構築できます。これにはあらゆる業種のアプリケーションが含まれます。以下に例を示します。

    • リアルタイムスコアボードを使用したゲームアプリケーション
    • ニュースフィードと財務データ
    • カスタマーサービスのダッシュボード
    • 共有ウォレット、オフライン使用での旅行日程トラッキング
    • コンテンツフィードと、検索、検知、メッセージングを使用したソーシャルメディア
    • 「いいね」、メッセージング、位置や近接情報を使用したデートアプリケーション
    • 接続切断時にも使用できる、クエリと CRUD オペレーションが必要な現場サービス向けアプリケーション
    • ドキュメントコラボレーション
    • 共有ホワイトボードなどの 3D コラボレーション
    • 複数アクターを使用した AR/バーチャルリアリティ (手術中の医師とオブザーバー、教師と生徒)
    • オフラインで動作し、最終的に同一の整合性を反映する必要があるマルチデバイスアプリケーション (Alexa、モバイル、ウェブ、IoT など) およびマルチモーダルアプリケーション (タスクリストなど)
    • 在席表示や会話履歴機能を持つチャットアプリケーション
  • Q:AWS AppSync では、どのアプリケーション開発言語がサポートされていますか?

    AWS AppSync SDK では iOS、Android、JavaScript がサポートされています。JavaScript のサポート範囲には、React や Angular などのウェブフレームワーク、および React Native や Ionic といったテクノロジーが含まれます。また、AppSync GraphQL エンドポイントへの接続にオープンソースクライアントを使用して、一般的な HTTP ライブラリやシンプルな CURL コマンドなど、その他のプラットフォームも利用できます。

  • Q:GraphQL とは何ですか?

    GraphQL は、サーバーからのデータに対して、クライアントによるフェッチ、変更、サブスクライブを可能にするデータ言語です。GraphQL クエリでは、サーバーから返されたデータをどのように構造化するかをクライアントが指定します。これによって、クライアントは必要なデータのみを必要なフォーマットでクエリできます。

  • Q:GraphQL スキーマとは何ですか?

    GraphQL スキーマは、どのようなデータ機能をクライアントアプリケーションに対して実行可能にするかを定義します。例えば、スキーマでは、基盤となるデータソースの情報がなくても、どのクエリが利用可能か、アプリケーションがデータをどのようにサブスクライブできるかを指定します。スキーマはアプリケーションのデータモデルから利用できるタイプシステムによって定義されます。

  • Q:開始にあたり GraphQL について知っておく必要はありますか?

    いいえ。AWS AppSync では、すべての API、スキーマが自動的にセットアップされ、データソースは数秒でデータモデルに入力できるシンプルな UI ビルダーに接続されます。このため、クライアントアプリケーションで、すぐにエンドポイントの使用を開始できます。コンソールは、アプリケーションが完全に機能するよう、多数のサンプルスキーマとデータソースも提供しています。

  • Q:AWS AppSync AWS は既存の AWS リソースと併用できますか?

    はい。AWS AppSync では GraphQL スキーマを使って、Amazon DynamoDB、AWS Lambda、Amazon Elasticsearch Service の既存のテーブル、関数、ドメインを使用できます。AWS AppSync なら、既存の AWS リソースを使ってデータソースを作成し、マッピングテンプレートを使用して相互作用を設定できます。

  • Q:マッピングテンプレートとは何ですか?

    GraphQL リクエストは "リゾルバ" として実行されるため、メッセージ形式は、AWS AppSync と統合するさまざまな AWS のサービスに適した形に変換する必要があります。例えば、あるフィールドの GraphQL クエリは、Amazon DynamoDB、AWS Lambda、Amazon Elasticsearch Service 向けにそれぞれ固有の形式に変換する必要があります。AWS AppSync にはこのためのマッピングテンプレートが用意されています。テンプレートは Apache Velocity Template Language (VTL) で記述され、必要に応じてカスタムロジックを提供できます。より使用しやすくするために、AWS AppSync にはさまざまなサービス用の組み込みテンプレートとユーティリティ関数も用意されています。

  • Q:AWS AppSync ではデータがどのように保護されますか?

    保管中のアプリケーションデータはお客様の AWS アカウントに保存され、AWS AppSync サービス内には保存されません。AWS AppSync では、AWS Identity and Access Management (IAM) や Amazon Cognito ユーザープールなどを使用したセキュリティコントロールによって、アプリケーションからこのデータへのアクセスを保護できます。さらに、認証されたリクエスト用にユーザーコンテキストを引き渡すことができるため、AWS AppSync のマッピングテンプレートを使用して、リソースに対するきめ細かなアクセスコントロールロジックを実行できます。

  • Q:AWS AppSync ではデータをリアルタイムに作成できますか?

    はい。AWS AppSync では、どのようなデータソースについてもサブスクリプションがサポートされているため、突然の変化が発生したときは、MQTT over Websockets を使用して、イベントストリームをサブスクライブしているクライアントにその結果をすぐに引き継ぐことができます。

  • Q:AWS AppSync で複雑なクエリを実行するにはどうすればよいですか?

    AWS AppSync で利用できるデータソースでは、GraphQL を使用することで、Amazon DynamoDB、Amazon Elasticsearch Service、AWS Lambda によって提供される機能を最大限活用できます。インデックス作成や条件チェックといった機能とマッピングテンプレートによって、DynamoDB から包括的な結果が返されます。あいまい検索、位置情報検索などの Amazon Elasticsearch Service のユースケースもアプリケーションで利用できます。さらに、Lambda を使用した連続的なリクエストやバッチリクエストによって、Amazon Aurora などの他のソースからもデータを返すことができます。

  • Q:AWS AppSync はどの AWS リージョンで利用できますか?

    AWS AppSync は米国東部 (バージニア北部)、米国西部 (オレゴン)、米国東部 (オハイオ)、欧州 (アイルランド)、欧州 (フランクフルト)、アジアパシフィック (東京)、アジアパシフィック (シドニー)、アジアパシフィック (ムンバイ)、アジアパシフィック (シンガポール) で利用できます。

     

  • Q:既存の Amazon DynamoDB テーブルをインポートできますか?

    AWS AppSync は、テーブルのキースキーマとインデックスの推論を含む既存の DynamoDB テーブルから GraphQL スキーマを自動で生成できます。インポートが完了すると、GraphQL クエリ、ミューテーション、サブスクリプションを使用できます。コーディングは不要です。また AppSync は、GraphQL タイプから DynamoDB 属性に、非キー属性を "オートマップ" します。

  • Q:AWS AppSync でデータベースを作成できますか?

    お客様は手動で、またはコンソールを使用して GraphQL スキーマを作成できます。AWS AppSync では、自動的に Amazon DynamoDB テーブルをプロビジョニングし、適切なインデックスを付与します。さらに、データソースが "GraphQL リゾルバ" に接続されるため、お客様はアプリケーションコードとデータ構造に集中して作業できます。

AWS AppSync 料金の詳細

料金ページを見る
始める準備はできましたか?
AWS AppSync コンソールを開く
ご不明な点がおありですか?
お問い合わせ