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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
360
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
Rancherの紹介&Update情報(RancherJP Online Meetup #09)
yoshiyuki_kono
0
140
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
800
MCP Appsを作ってみよう
iwamot
PRO
4
270
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
370
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.2k
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.8k
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
30
22k
AIにフローを作らせようとして挫折した話
hamatsutaichi
0
240
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
130
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
270
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
140
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
0
210
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
410
エンジニアに許された特別な時間の終わり
watany
107
250k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
320
Everyday Curiosity
cassininazir
0
230
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
We Are The Robots
honzajavorek
0
240
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
The Spectacular Lies of Maps
axbom
PRO
1
790
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
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を使いましょう! まとめ