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
Amplify Gen2がGAされたので試してみた
Search
KMiura
June 20, 2024
Technology
0
120
Amplify Gen2がGAされたので試してみた
2024.06.20 Kobe Engineer SakeBash #3 with HACK.BAR
KMiura
June 20, 2024
Tweet
Share
More Decks by KMiura
See All by KMiura
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
150
Is it wrong to use a web framework with Lambda?
miura55
0
110
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた
miura55
0
120
AWS×IoTについて語り合う会
miura55
0
84
クラウドを活用して家電をハックしてみた
miura55
0
81
Amplify Gen2でLambda構築してみた
miura55
0
110
Amplify Gen2でLambda構築してみた
miura55
1
760
VS CodeとVimが好きなエンジニアが考えた最強のエディタ
miura55
0
250
オープンソースのロボットソフトウェア「ROS」で地図作成を試してみた
miura55
0
340
Other Decks in Technology
See All in Technology
RAGの性能を評価しよう
kurahara
1
270
Dual level of task scheduling for VM workloads
ennael
PRO
0
160
10Xでのデータ基盤の変遷とこれから: データマネジメントのリアル 〜BtoB企業3社の歩みとこれから〜
10xinc
6
1.2k
【shownet.conf_】AI技術とUX監視の応用でShowNetの基盤を支えるモニタリングシステム
shownet
PRO
0
250
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
12k
【shownet.conf_】ShowNet 2024 ~ Inter * Network ~
shownet
PRO
0
360
【shownet.conf_】ネットワークテストの最適化と利便性の追求
shownet
PRO
0
220
Strict Concurrencyにしたらdeinitでクラッシュする話
0si43
0
120
All your memory are belong to… whom?
ennael
PRO
0
390
可視化がやりたくてMIERUNEに転職した話 〜“思考のための道具”とコンピューターによる新たな表現〜 / MIERUNE JCT - Tokyo 2024
sorami
2
450
XP matsuri 2024 - 銀河英雄伝説に学ぶ
kawaguti
PRO
3
440
ドメインと向き合う - 旅行予約編
hidenorigoto
4
500
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
227
52k
What's in a price? How to price your products and services
michaelherold
243
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Build your cross-platform service in a week with App Engine
jlugia
228
18k
Making Projects Easy
brettharned
114
5.8k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
The Cult of Friendly URLs
andyhume
76
6k
Building Your Own Lightsaber
phodgson
101
6k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Transcript
Amplify Gen2がGAされたので試してみた KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • Acall株式会社 Facility Experience 事業部FXプロダクトチーム所属 (2024/4
中途入社) • バックエンドエンジニア • 名古屋在住 @k_miura_io koki.miura05
Amplify Gen2 がGA🎉
そもそもAWS Amplifyって何? • ウェブアプリケーションやモバイルアプリの構築に必要なバックエンドを提供して いるAWSのmBaaS(Moblie Backend as a Service) •
DB、認証などのバックエンドをすべてよしなにAWSで構築してくれて、開発者は フロントエンドの開発に集中できる • AWSの各種サービスに接続するための各種フレームワーク向けのライブラリも 提供されている 実は新卒時代の会社でテック ブログを書いてた→
サポートしている言語・フレームワーク React Next.js Vue Angular JavaScript フロントエンド モバイル React Native
Flutter Android Swift
Gen2でのアップデート • ローカル開発用のサンドボックス環境構築 • バックエンドはすべてTypeScriptで定義 • デプロイはCDKベース • git pushをトリガーにしたビルド、テスト、デプロイに対応
個人的にGen1のここがイマイチ • バックエンドのリソース追加をCLIでやらないといけない • リソースを変更したときの差分がわかりにくい(変更してないはずの箇 所に差分が出る) • Amplify CLI用に認証情報を追加しないと使えないのが手間
Gen2ではクリアになっている • バックエンドのリソース追加をCLIでやらないといけない →TypeScriptを使って更新ができる • Amplify CLI用に認証情報を追加しないと使えないのが手間 →AWS CLIを使うときに設定した認証情報がそのまま使えそう(そもそも Sandbox以外でAWSの認証情報が必要なくなったっぽい)
• リソースを変更したときの差分がわかりにくい(変更してないはずの箇所に差分が 出る) →コードベースで差分が明確になった(Gitで差分確認すればOK)
公式サンプルもある • Pub/Subを使用したマルチプレイの アプリ • 他のユーザーのカーソルの動きをリ アルタイムで確認できる • アプリケーション内には認証機能の 追加など、オリジナルからアップ
デートについても解説されている https://aws.amazon.com/jp/blogs/news/ amplify-gen2-ga/
DEMO
ローカル開発用のSandbox環境 • ローカルでの開発用にバックエンドとして Sandbox環境が構築できる • 「npx ampx sandbox」と叩くだけ • 設定情報はSandbox環境を構築したときに
生成されるJsonファイル (amplify_outputs.json)を参照する
デプロイをする時 • ソースコードのレポジトリを 指定することでデプロイが できる • CLIでAmplifyのプロジェクト を用意して、レポジトリにコ ミットすることでCI/CDが実 行されるようになる
本番環境のデプロイ • デプロイと同時に本番用のバックエンド 定義amplify_outputs.jsonが生成される • JSONを手元にダウンロードして再コミッ トをすることで本番用のバックエンドが つかえる →フロントエンドとバックエンドをまと めてコミットすると事故るので注意
• AWSのSDKを使うような実装が含まれ ている場合は認証コンポーネントの追 加をお忘れなく(地味にハマった…)
まとめ • Amplify Gen2を使うことでバックエンドのデプロイがCDKベースになっ て(個人的に)直感的に定義できると思った • ローカルデバッグが結構アツい! • やはりTypeScript、TypeScriptはすべてを解決する
END