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の 新機能と実践的な使用例 AWS Amplify Gen 2 Fes...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
MURAKAMI Masahiko
June 19, 2024
Technology
850
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amplify Gen2の 新機能と実践的な使用例 AWS Amplify Gen 2 Festival in Japan/New features and practical use cases in Amplify Gen2
MURAKAMI Masahiko
June 19, 2024
More Decks by MURAKAMI Masahiko
See All by MURAKAMI Masahiko
AWS Amplifyをもっと便利に使うための取り組み/amplify-tools-and-contributions
fossamagna
1
150
Amazon Verified Permissions実践入門 〜Cedar活用とAppSync導入事例/Practical Introduction to Amazon Verified Permissions
fossamagna
2
370
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
1
900
AWS Amplify Gen2向けのVSCode拡張を作って公開してみた話/lts-techday-2024
fossamagna
0
49
CDKアプリとしてのAmplify Gen2 - @aws-amplify/backendのアーキテクチャにみるCDKベストプラクティス -
fossamagna
3
3.7k
Amplify Gen2を 拡張してみよう JAWS-UG北陸新幹線 ( 福井開催 ) 2024-04-06/Let's extend Amplify Gen2
fossamagna
0
1k
みんな本当に AWS Amplify を知っている?/do-you-really-know-aws-amplify
fossamagna
0
200
Amplify OSSにコントリビュートしてAmplify Badgeを手に入れよう!/contribute-to-amplify-oss-and-get-an-amplify-badge
fossamagna
0
630
Using custom function template with AWS Amplify
fossamagna
1
580
Other Decks in Technology
See All in Technology
Snowflakeと仲良くなる第一歩
coco_se
4
460
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
970
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
670
入門!AWS Blocks
ysuzuki
1
110
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
160
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
970
自律型AIエージェントは何を破壊するのか
kojira
0
160
脆弱性対応、どこで線を引くか
rymiyamoto
1
380
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
100
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.1k
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
380
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
300
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.7k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
Six Lessons from altMBA
skipperchong
29
4.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
240
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
420
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Transcript
Amplify Gen2の 新機能と実践的な使用例 AWS Amplify Gen 2 Festival in Japan
2024-06-19 株式会社永和システムマネジメント 村上雅彦 (a.k.a @fossamagna)
村上 雅彦 株式会社永和システムマネジメント Amplify Japan User Group 運営メンバー AWS Community
Builder (Front-End Web & Mobile since 2022) GitHub: https://github.com/fossamagna X(旧Twitter): https://x.com/fossamagna 自己紹介
• AWS CDKをベースとする次世代のAmplifyのバックエン ド構築ツール • TypeScriptによるバックエンド定義を提供 • 開発者毎の独立したsandbox環境を提供 • GitのブランチとAWS環境を1:1でマッピング
Amplify Gen2の機能
• Amplify Gen2のSandbox環境 • Amplify Gen2のCDKカスタムリソース Amplify Gen2の使用例を紹介します
• 開発者毎の独立した sandbox環境を提供 • npx ampx sandboxコマン ド一発で環境構築完了 • hot
swapデプロイ対応で 迅速にデプロイ可能 Amplify Gen2 sandbox environments https://docs.amplify.aws/react/how-amplify-works/concepts/#faster-local-development
• sandbox環境はとっても便利 • でも、実際に利用して困った点も あった • 困った時にどう対応したかを紹 介 Amplify Gen2
sandbox environments
sandbox環境が共有されてしまう問題 • VSCodeのdevcontainerを利用した時に発生 • 全員のsandbox環境の名前が同じになってしまう Amplify Gen2 sandbox environmentsで困ったこと、その1 https://docs.amplify.aws/react/how-amplify-works/concepts/#faster-local-development
問題の原因: • devcontainer上のユーザー名が全員同じだったためサンドボックス 環境も同じ名前になり共有されてしまった • サンドボックス名は amplify-<app-name>-<$(whoami)>-sandbox 対応: • npx
ampx sandboxコマンドの--identifierオプションでホストマシン 側のユーザー名を指定して開発者毎に別々の名前になるようにした Amplify Gen2 sandbox environmentsで困ったこと、その1 ※名前付きサンドボックス環境 https://docs.amplify.aws/react/deploy-and-host/sandbox-environments/features/#work-with-multiple-named-sandboxes
デプロイされたAWSリソース探すの大変問題 Amplify Gen2 sandbox environmentsで困ったこと、その2 https://docs.amplify.aws/react/deploy-and-host/sandbox-environments/setup/#manage-sandbox-environments • Amplifyの管理コンソールではsandbox環境は1行で表示されるだけで、sandbox内 のAWSリソースは確認できない。
デプロイされたAWSリソース探すの大変問題 Amplify Gen2 sandbox environmentsで困ったこと、その2 • 例えば、AppSyncのAPIも名前が同じで探しづらい。ランダム値を含むエンドポイント URLを手掛かりにして探すしかない。
対応:sandboxのAWSリソースを確認できるVSCode拡張を作成! Amplify Gen2 sandbox environmentsで困ったこと、その2 • 自分のsandbox環境のAWSリソー スにだけをツリー表示 • リソースを選択してブラウザでAWS
マネージメントコンソール可能 • https://marketplace.visualstu dio.com/items?itemName=fo ssamagna.amplify-backend-v scode&ssr=false#overview
Amplify Gen2の CDKカスタムリソース
• Amplify Gen2のバックエンドとして auth, data, function, storageが 提供されている • Amplify
Gen2はAWS CDKベース なので任意のCDK Constructを利 用してカスタマイズ可能 ◦ https://docs.amplify.aws/ge n2/build-a-backend/add-aw s-services Amplify Gen2はCDKアプリ
• Amplify Gen2のfunctionは Node.jsランタイムのみサポート • CDKを利用して別ランタイムをデプロ イすることも可能 • ただし、Amplify Consoleからデプ
ロイしようとすると失敗する • Amplify Consoleではdockerイ メージをビルドできない。 // amplify/custom/docker/resource.ts export class DockerImageLambda extends Construct { constructor(scope: Construct, id: string, props: Props) { new lambda.DockerImageFunction(this, 'DockerImageFunction', { code: lambda.DockerImageCode.fromImageAsset('image-handler'), }); } } // amplify/backend.ts new DockerImageLambda(backend.createStack('Docker'); , 'Docker', {}); LambdaでNode.js以外を利用する
• Amplify Gen2は任意のCI/CDサービスからデプロイす ることが可能 • バックエンドはdockerのイメージがビルドできる環境で行 い、Amplify ConsoleでフロントエンドをAmplify Hostingにデプロイするという連携が可能 •
今回はバックエンドのデプロイにAWS Codepipelineを 利用した カスタムパイプライン https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/custom-pipelines/
カスタムパイプライン https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/custom-pipelines/
• sandbox環境でより迅速な開発が可能になった • Amplify Gen2でCDKベースになりカスタマイズしすくなった • カスタムパイプラインを利用するとDockerイメージのビルドにも対応でき る • カスタムパイプラインにより、チームに合わせたデプロイのワークフローを
組むこともできる • みなさんもAmplify Gen2を使いましょう! まとめ