[FWM306] AWS AppSync を使用した GraphQL API の構築のワークショップに参加してきました #AWSreInvent

[FWM306] AWS AppSync を使用した GraphQL API の構築のワークショップに参加してきました #AWSreInvent

Clock Icon2024.12.17

製造ビジネステクノロジー部の田中孝明です。

AWS re:Invent 2024 の現地で AWS AppSync を使用した GraphQL API の構築のワークショップに参加してきたのでレポートします。

ワークショップ

内容

Screenshot 2024-12-17 at 13.38.40

ワークショップで作る本屋のアプリケーションの構成です。

  • GraphQL API データソースとリゾルバー を AWS AppSync に構築
  • Backend は Amazon Aurora
  • API のトークン取得は Amazon Cognito を利用
  • AWS CDK で構築

今回から Cloud 9 ではなく VS Code Server を利用したワークショップになっていました。

AWS AppSync と Amazon Aurora の構築と認証

GraphQL のスキーマを設計。主に用意された CDK のコードを触りながらデプロイしていきます。
GraphQL API を構築し、名前を指定します。
Amazon Aurora の構築までは最初のステップになります。

Screenshot 2024-12-17 at 13.53.21

認証されたユーザーにアクセスを許可するために Amazon Cognito の認証モードの Stack をデプロイ。

Screenshot 2024-12-17 at 13.59.24

AWS AppSync の動作確認

サブスクリプションを使ってアプリケーションのライブ更新・プッシュ通知などを実装。今回は WebSocket を使って AWS AppSync のサブスクリプションがどのように機能するのか試しました。

まずは onCreateBook のサブスクリプションを AWS AppSync のコンソールから確認。

Screenshot 2024-12-17 at 14.11.19

次にデータソースについて。既存の Book に 2 番目のデータソースを追加。書籍レビューを取得できるようにする HTTP データソースをセットアップ。今回は HTTP データソースでしたが、他にも RDB や AWS Lambda や Amazon Bedrock についても紹介されていました。

次に AWS AppSync リゾルバーについて。書籍レビューを取得するための新しいリゾルバーの追加を CDK でデプロイできるようにします。リゾルバーは、GraphQL とデータソース間のコネクターで、受信した GraphQL リクエストをデータソースの命令に変換する方法と、データソースからの応答を GraphQL 応答に変換する方法を AWS AppSync に指示します。

Screenshot 2024-12-17 at 14.23.26

AWS Amplify での Hosting

ここまで構築されたアプリケーションを AWS Amplify で Hosting し、ブラウザからも確認できるようにします。

Screenshot 2024-12-17 at 14.27.49

本のレビューが作成できるところまで試しました。

Screenshot 2024-12-17 at 14.29.27

モニタリング

最後のセクションでは Amazon CloudWatch での監視と AWS X-ray での可観測性を試しました。

Screenshot 2024-12-17 at 14.31.24

まとめ

データソースは限られていましたが、GraphQL を使ったアプリケーションの監視と可観測性を含めた構築の流れを一通り試すことができます。結構飛ばしながら進めたのですがワークショップの間のドキュメントでデータソースの種類など丁寧に説明されていたので三時間くらいかけてじっくりやるのが良さそうなワークショップです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.