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
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2k
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.7k
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
260
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
190
Dynamic Workersについて
yusukebe
2
610
Rubyで音を視る
ydah
1
100
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
2.7k
AIにフローを作らせようとして挫折した話
hamatsutaichi
0
210
ブロックチェーン / Blockchain
ks91
PRO
0
110
Cloud Run のアップデート 触ってみる&紹介
gre212
0
320
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
8.2k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Automating Front-end Workflow
addyosmani
1370
210k
The Curse of the Amulet
leimatthew05
1
13k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Utilizing Notion as your number one productivity tool
mfonobong
4
320
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Mobile First: as difficult as doing things right
swwweet
225
10k
エンジニアに許された特別な時間の終わり
watany
107
250k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
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など全て初挑戦だったので苦労した がコードを読みながら勉強することができた。