Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Amplify Gen 2で社内システムをReplaceする
Search
Atsuki Nakai
August 24, 2024
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amplify Gen 2で社内システムをReplaceする
KyotoLT 第31回
の発表資料です。
Atsuki Nakai
August 24, 2024
More Decks by Atsuki Nakai
See All by Atsuki Nakai
Cursor SDK × PptxGenJSで作るプレゼン資料生成エージェント
malvaceae
0
91
Other Decks in Technology
See All in Technology
React改造してみた
tsukina_7mochi
0
110
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
180
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
170
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
320
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
960
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
190
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
720
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Designing for Performance
lara
612
70k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
GitHub's CSS Performance
jonrohan
1033
470k
Thoughts on Productivity
jonyablonski
76
5.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Navigating Weather and Climate Data
rabernat
0
560
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
4 Signs Your Business is Dying
shpigford
187
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Transcript
© SEEDS Co., Ltd. All rights reserved. Amplify Gen 2で
社内システムをReplaceする 株式会社シーズ 中井 惇葵
© SEEDS Co., Ltd. All rights reserved. 仕事 Webアプリのサーバーサイド開発 (PHP,
TypeScript, Python) 活動 2023 Japan AWS Jr. Champions 好きなAWSサービス AWS CloudFormation AWS Amplify 株式会社シーズ システム開発事業部 中井 惇葵 Nakai Atsuki 自己紹介 2
© SEEDS Co., Ltd. All rights reserved. 3 こんな社内システムがありました
© SEEDS Co., Ltd. All rights reserved. ・AWSアカウントの情報を一元的に管理できるツール ・2021年11月リリース AWS
Dashboard 4 機能 ・AWSアカウント管理 ・ユーザー認証 ・IP制限
© SEEDS Co., Ltd. All rights reserved. 5
© SEEDS Co., Ltd. All rights reserved. ・インフラ・バックエンドの管理が煩雑 ・CFnテンプレートにPythonで記述されたAPIのコードを埋め込んでデプロイしている ・APIのコードが一つのファイル
(api.py) にすべて記載されている ・開発用環境の構築が面倒 ・CI/CDが存在しない 課題点 6
© SEEDS Co., Ltd. All rights reserved. 7 Amplify Gen
2
© SEEDS Co., Ltd. All rights reserved. ・2024年5月にGA! ・コードファーストでフルスタックアプリ開発が可能 ・CDKベースとなった
(Gen 1ではCLIベースだった) ・開発者ごとのサンドボックス環境 が容易に構築可能 ・ホットスワップでリソースの変更を即デプロイ Amplify Gen 2 8
© SEEDS Co., Ltd. All rights reserved. ・TypeScriptで各リソースを定義する ・基本のディレクトリ構成は右枠の通り ・定義したいリソースごとにディレクトリを切り、
resource.ts ファイルを追加する 例) Cognitoに関するリソースを追加する場 合は、auth/resource.ts を作成する ├── amplify/ │ ├── auth/ │ │ └── resource.ts // Cognitoに関するリソースを定義 │ ├── data/ │ │ └── resource.ts // AppSyncに関するリソースを定義 │ ├── storage/ │ │ └── resource.ts // S3に関するリソースを定義 │ ├── backend.ts // バックエンド全体を定義 │ ├── package.json │ └── tsconfig.json ├── node_modules/ ├── .gitignore ├── package-lock.json ├── package.json └── tsconfig.json コードファーストでフルスタックアプリ開発が可能 9
© SEEDS Co., Ltd. All rights reserved. $ npx ampx
sandbox Amplify Sandbox Identifier: hogehoge Stack: amplify-awsdashboard-hogehoge-sandbox-abcdefghij To specify a different sandbox identifier, use --identifier ✨ Synthesis time: 0.04s … 開発者ごとのサンドボックス環境が容易に構築可能 ・npx ampx sandbox コマンドの実行で、開発者ごとのサンドボックス環境が構築される ・リソースの変更を検知し、自動でデプロイされる ・ホットスワップ機能により、高速にデプロイ可能 10
© SEEDS Co., Ltd. All rights reserved. ・認証方法や外部IDプロバイダーの設定を記述すること により、Cognitoのリソースが作成される ・AppSyncやS3に対するアクセス制御に利用する
認証 (Cognito) 11 auth/resource.ts
© SEEDS Co., Ltd. All rights reserved. API (AppSync) ・モデルのスキーマを定義することにより、対応
するAppSyncとDynamoDBのリソースが作成さ れる ・アクセス制御を細かく指定可能で、認証済み ユーザーには閲覧のみ、データの所有者には すべての権限を与えるなどが可能 ・リゾルバーを追加することで、データソースに 対する独自の処理を実装できる 12 data/resource.ts
© SEEDS Co., Ltd. All rights reserved. ・アプリのホスティングとCI/CDに Amplify Hostingを利用。
・GitHubと連携し、git pushのタイミ ングで自動デプロイが可能。 Amplify Hosting 13
© SEEDS Co., Ltd. All rights reserved. 気になるところ ・より細かなアクセス制御が必要な場合はリゾルバーを定義する必要がありそう ・isPublic属性がTrueの場合のみ全ユーザーに公開するなど
・DynamoDBのテーブルがモデルごとに作成される ・シングルテーブルとマルチテーブル、どちらの設計にするかは場合による (参考) ・アクセスコスト削減の観点だと、シングルテーブル ・キャパシティ制御やモニタリングの観点で言えばマルチテーブル ・Amplify HostingにWAFを付けたい ・11月のリリースを目標に開発が進んでいるらしい (参考) 14
© SEEDS Co., Ltd. All rights reserved. まとめ 15
© SEEDS Co., Ltd. All rights reserved. ・Amplifyめっちゃ便利! 煩雑なインフラ・バックエンドから解放される ・CDKに触れたことがあれば、かなり取っ付きやすい印象
・GAされたばかりのサービスなので、今後さらに便利になりそう まとめ 16
© SEEDS Co., Ltd. All rights reserved. 17 ありがとうございました 株式会社シーズ
〒600-8815 京都市下京区中堂寺粟田町93番地 京都リサーチパーク6号館321
[email protected]
https://www.seeds-std.co.jp/ 担当: システム開発事業部 中井 惇葵
[email protected]