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
220
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
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
1.1k
Amazon Rekognitionを使ったインターホンハック
miura55
0
80
Pythonでルンバをハックしてみた
miura55
0
160
あなたの知らないクラフトビールの世界
miura55
0
350
Storage Browser for Amazon S3を触ってみた + α
miura55
0
220
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
210
あのボタンでつながるSORACOM
miura55
0
140
Postman Flowsで作るAPI連携LINE Bot
miura55
0
380
Lambdaと共に歩んだAWS
miura55
3
840
Other Decks in Technology
See All in Technology
SQLAlchemy の select(User).where(User.id =="123") を理解してみる/sqlalchemy deep dive
3l4l5
3
310
初めてのDatabricks Apps開発
taka_aki
1
260
Linux カーネルが支えるコンテナの仕組み / LF Japan Community Days 2025 Osaka
tenforward
1
120
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
120
頭部ふわふわ浄酔器
uyupun
0
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.3k
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
260
AIエージェント入門 〜基礎からMCP・A2Aまで〜
shukob
1
170
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
380
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
170
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
170
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Speed Design
sergeychernyshev
32
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Statistics for Hackers
jakevdp
799
220k
Visualization
eitanlees
149
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Building Applications with DynamoDB
mza
96
6.7k
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