Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第91回 雲勉【オンライン:初心者向け】サーバレスでブログサイト開設〜Amplify Studio〜
Search
l_tanno
December 16, 2022
Technology
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第91回 雲勉【オンライン:初心者向け】サーバレスでブログサイト開設〜Amplify Studio〜
l_tanno
December 16, 2022
More Decks by l_tanno
See All by l_tanno
第100回 雲勉【オンライン:中級者向け】EKSのアップデートを安全に行う
l_tanno
1
91
第97回 雲勉【オンライン:初心者向け】Google Cloudの基礎から学んで、Compute Engineを構築できるようになろう
l_tanno
0
120
第94回 雲勉【オンライン:初心者向け】第2回24/365運用業務を支えるMSP〜クラウド運用業務に必要なもの〜
l_tanno
0
66
第89回 雲勉【オンライン:初心者向け】実践!SLI/SLO with New Relic!
l_tanno
0
170
第88回 雲勉【オンライン:中級者向け】DeepSecurity(C1WS)機能紹介 _現場から出た_にもこたえてみた
l_tanno
0
540
第87回 雲勉【オンライン:初心者向け】AWSの構築・運用でインフラエンジニアが意図せずハマった事象と対策をご紹介
l_tanno
0
110
第85回 雲勉【オンライン:初心者向け】EKSを触ってみよう 〜Kubernetes知らない人大集合〜
l_tanno
0
150
Other Decks in Technology
See All in Technology
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
19
11k
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
820
ブロックチェーン / Blockchain
ks91
PRO
0
110
EventBridge Connection
_kensh
4
600
はじめてのDatadog
kairim0
0
290
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
160
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
160
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
310
正解のないAIプロダクトをどう導くか?dodaが挑む、ユーザーの『本音』を構造化する評価設計と検証のリアル
techtekt
PRO
0
190
Unlocking the Apps
pimterry
0
250
AI Testing Talks: Challenges of Applying AI in Software Testing: From Hype to Practical Use
exactpro
PRO
1
140
Featured
See All Featured
Side Projects
sachag
455
43k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
350
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
320
Paper Plane (Part 1)
katiecoart
PRO
0
8.6k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
吉川 翔悟 2022/12/15 サーバレスでブログサイト開設 〜Amplify Studio〜
アジェンダ 2 1.ブログサービスの全体像 2.AWSサービスの概要説明 3.Amplify Studioでの構築⼿順 4. まとめ
⾃⼰紹介 3 ・所属:クラウドインテグレーション事業部 ・⼊社:2020年4⽉ 新卒⼊社 吉川 翔悟 / Yoshikawa Shogo
・業務内容:AWS設計構築運⽤ ・職種:インフラエンジニア ・趣味:サッカー観戦、ゲーム
4 1.ブログサービスの全体像
1.ブログサービスの全体像 5 ・ホスティング:S3 CloudFront ・API:App Sync サービスの全体像 ・データストア:DynamoDB ・認証:Cognito
1.ブログサービスの全体像 6 ・ホスティング:S3 CloudFront ・API:App Sync Amplify Studioで作成します ・データストア:DynamoDB ※過去の雲勉(講師は別の⽅)でAmplifyで作成するサーバレス
アプリの解説動画 雲勉@オンライン【勉強会】AWS Amplifyで始めるアプリ開発【初⼼者向け】:https://www.youtube.com/watch?v=xGqQNnQQ1W0 ・認証:Cognito
7 2. AWSサービスの説明
2. AWSサービスの説明 8 ・AWS でフルスタック アプリケーションを迅速かつ 簡単に構築できるようにする専⽤のツールと機能のセット Amplify とは ?
・アプリケーションに必要なバックエンドの構築を するためのCLIやライブラリなどがある Webサイトをホスティングする機能もある
2. AWSサービスの説明 9 ・ Amplify CLI: アプリ⽤の AWS クラウド サービスを作成、統合、
および管理するための統合ツール Amplify とは ? 主に4つのツールとサービス ・ Amplify Libraries: オープンソース クライアント ライブラリを使⽤し バックエンドと簡単にやり取りすることができる ・ Amplify Hosting: フルスタックのサーバーレス Web アプリをホスト するための git ベースのワークフローを提供 ・ Amplify Studio: フルスタックのウェブおよびモバイルアプリを 構築するためのビジュアル開発環境です。 上記AWS Amplifyで利⽤できる機能をGUIとして提供
2. AWSサービスの説明 10 ・DynamoDB、AppSync、Cognito、S3が構築可能 Amplify Studio の主な機能 バックエンドをUIベースで構築
2. AWSサービスの説明 11 ・デザインツールであるFigmaとの連携でコンポーネントコードを ⾃動で出⼒することが可能 Amplify Studio の主な機能 FigmaでUI開発
2. AWSサービスの説明 12 ・コンポーネント エディターを使⽤して、 UI コンポーネントの要素をバックエンドデータに接続させることが簡単にできる。 Amplify Studio の主な機能
簡単にUIをデータにマッピングさせることが可能 スクショ
2. AWSサービスの説明 13 ・DynamoDB、S3、ユーザなどのデータをUIで操作可能 Amplify Studio の主な機能 バックエンドのデータ管理 スクショ
2. AWSサービスの説明 14 ・Amplify Studioのアクセス権はメールアドレスで 他チームメイトにすばやく付与することができる。 Amplify Studio の主な機能 アカウントは不要
2. AWSサービスの説明 15 ・Lambda関数の作成 ・GraphQL APIの作成 ・REST APIの作成 ・Analytics(Kinesisなど) Amplify
Studio ではできない事 Amplify Studioだけでは構築できないもの ・Predictions(Translateなど) ・Interactions(チャットボット) ・Notifications Amplify CLIでの対応となる
2. AWSサービスの説明 16 ・ユースケースベースで開発できる 「カテゴリ」と呼ばれる機能単位でアプリケーションに機能を追加することができます。 ・AWSに詳しくない⽅、最速で開発に取り掛かりたい⽅ ・不要な労⼒をかけたくない⽅ etc... Amplify ユースケース
17 3.Amplify Studioでの構築⼿順
3.Amplify Studioでの構築⼿順 18 1 Amplify CLIのインストール $ sudo npm install
-g @aws-amplify/cli 事前準備 Amplify CLIのインストールおよび設定 スクショ
3.Amplify Studioでの構築⼿順 19 2 Amplify CLIの設定 $ amplify configure 2の上記コマンドでリージョン、IAM
User、 アクセスキーなどを設定する。 IAM Userを作成するときに デフォルトでアタッチされるポリシーは AdministratorAccess-Amplify 事前準備 Amplify CLIの設定 スクショ
3.Amplify Studioでの構築⼿順 20 1 reactプロジェクトを作成 $ npx create-react-app ${プロジェクト名} $
cd ${プロジェクト名} 2 Amplify プロジェクトの初期化および作成、 ライブラリのインストール $ amplify init $ npm install aws-amplify @aws-amplify/ui-react 事前準備 Amplifyのプロジェクトを作成
3.Amplify Studioでの構築⼿順 21 Amplify Studioを起動
3.Amplify Studioでの構築⼿順 22 構築の流れ 1. データモデルの作成 2. Figmaからコンポーネントの読み込み 3. 読み込んだコンポーネントの編集
4. 編集したコンポーネントをローカルにpullしapp.jsの編集 5. 3と4の繰り返し
3.Amplify Studioでの構築⼿順 23 構築の流れ 1. データモデルの作成 2. Figmaからコンポーネントの読み込み 3. 読み込んだコンポーネントの編集
4. 編集したコンポーネントをローカルにpullしapp.jsの編集 5. 3と4の繰り返し
3.Amplify Studioでの構築⼿順 24 作成するデータモデル Blog フィールド タイプ Id : ID!
title : String! content : String! contentcover : String データモデルを作成 まずブログに必要なデータモデルを作成していきます。 GraphQLの型指定スカラー型が指定できる タイプ ID String Int Float Boolean 他AWSの情報(EmailやAWSタイムスタン プなど)
3.Amplify Studioでの構築⼿順 25 AWSのコンソールで説明
3.Amplify Studioでの構築⼿順 26 ・Amplify Studioで作成したデータモ デルをもとにGraphQLのスキーマが⾃ 動で⽣成される ・⾃動でAppSyncやDynamoDBが裏で 作成され、GraphQLのAPIも⾃動で設 定される。
Amplifyでのデータモデルを作成 データモデルの作成のみで⽣成されるリソース
3.Amplify Studioでの構築⼿順 27 構築の流れ 1. データモデルの作成 2. Figmaからコンポーネントの読み込み 3. 読み込んだコンポーネントの編集
4. 編集したコンポーネントをローカルにpullしapp.jsの編集 5. 3と4の繰り返し
3.Amplify Studioでの構築⼿順 28 ・ブラウザ上でデザインを作成できるプラットフォーム ・直感的に操作が可能でノーコードで作成ができる。 Figmaの設定とコンポーネントの同期 Figmaとは 同期の仕⽅ ・⽤意したFigmaのURLをUI Libralyから読み込む
3.Amplify Studioでの構築⼿順 29 AWSのコンソールで説明
3.Amplify Studioでの構築⼿順 30 構築の流れ 1. データモデルの作成 2. Figmaからコンポーネントの読み込み 3. 読み込んだコンポーネントの編集
4. 編集したコンポーネントをローカルにpullしapp.jsの編集 5. 3と4の繰り返し
3.Amplify Studioでの構築⼿順 31 ・コンポーネント内の要素にデータのマッピングが可能。 コンポーネントの編集 コンポーネントの編集がGUIで可能 ・イベントハンドラが設定可能 イベントとしては URLに移動やページの更新、データレコードの作成更新削除が可能 ・コレクションの設定
リストとグリッド、⽅向、順序などの変更が可能 検索やページの設定も簡単に構築できる
3.Amplify Studioでの構築⼿順 32 ・データのマッピング(ブログコンテンツの表⽰) AWSのコンソールで説明 ブログで必要な要素を作成する。 ・データのコレクション(ブログ⼀覧の表⽰) ・データの作成、削除、更新(ブログコンテンツの作成、更新、削除)
3.Amplify Studioでの構築⼿順 33 構築の流れ 1. データモデルの作成 2. Figmaからコンポーネントの読み込み 3. 読み込んだコンポーネントの編集
4. 編集したコンポーネントをローカルにpullしapp.jsの編集 5. 3と4の繰り返し
3.Amplify Studioでの構築⼿順 34 AWSのコンソールで説明
3.Amplify Studioでの構築⼿順 35 ・Amplify Studioではマークダウンでの⼊⼒や表⽰のマッピングができない マークダウンでのデータマッピング ブログで必要なマークダウンの⼊⼒と表⽰。 ・formのsrc/ui-componennts/コンポーネントファイルを直接修正 ・ src/ui-componennts配下の修正はpullした際に書き換わるので、
別フォルダに移動させる
3.Amplify Studioでの構築⼿順 36 マークダウンでのデータマッピング マークダウンでの⼊⼒。 マークダウンでの表⽰。 よくわからなかった。合っているかわからない
3.Amplify Studioでの構築⼿順 37 ・ログイン⽅法の選択が可能 UserName、電話番号、Facebookなどが選択できる 認証 Cognitoの設定をする。 ・サインアップにはパスワードポリシーやメールアドレスの確認⽅法が 簡単に実装できる
3.Amplify Studioでの構築⼿順 38 AWSのコンソールで説明
3.Amplify Studioでの構築⼿順 39 ・サインインしたユーザと全てのユーザの権限をUI上で設定できる データソースへの権限 DynamoDBやS3への権限管理が簡単に設定できる。
3.Amplify Studioでの構築⼿順 40 ・各Gitリポジトリなどでデプロイ可能 Amplify Hostingでアプリをホスト Amplifyのコンソール画⾯に戻りホストする。
41 4. まとめ
4. まとめ 42 ・インフラエンジニアでもAmplify StudioとFigmaを使⽤し ノーコード、ローコードで機能を簡単に作成できた。 しかもGUIベースで 4. まとめ(感想) ・Amplify
Studioのアップデートに期待 ・Amplify、React、Figmaなど全て初挑戦だったので苦労した がコードを読みながら勉強することができた。