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
MURAKAMI Masahiko
June 19, 2024
Technology
860
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
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
390
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
200
AWS Amplifyをもっと便利に使うための取り組み/amplify-tools-and-contributions
fossamagna
1
170
Amazon Verified Permissions実践入門 〜Cedar活用とAppSync導入事例/Practical Introduction to Amazon Verified Permissions
fossamagna
2
410
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
1
950
AWS Amplify Gen2向けのVSCode拡張を作って公開してみた話/lts-techday-2024
fossamagna
0
64
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
1.1k
みんな本当に AWS Amplify を知っている?/do-you-really-know-aws-amplify
fossamagna
0
210
Other Decks in Technology
See All in Technology
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
480
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
380
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
0
350
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1k
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
570
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
210
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
250
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
150
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
200
VPCセキュリティ対応の最新事情
nagisa53
2
350
NYC Summit 2026 におけるAmazon Bedrock AgentCore のアップデート
ren8k
3
280
PLaMo 3.0 Primeの構造化出力サポート
pfn
PRO
0
140
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
470
Git: the NoSQL Database
bkeepers
PRO
432
67k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.2k
Typedesign – Prime Four
hannesfritz
42
3.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
230
RailsConf 2023
tenderlove
30
1.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
BBQ
matthewcrist
89
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を使いましょう! まとめ