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
jawssonic2020_AWSサービスで_JAMStackの構築をしてみた.pdf
Search
mori-hisayuki
September 15, 2020
Technology
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jawssonic2020_AWSサービスで_JAMStackの構築をしてみた.pdf
mori-hisayuki
September 15, 2020
More Decks by mori-hisayuki
See All by mori-hisayuki
Cloudflare Page を使った Webアプリケーションを構築
hisayuki
0
600
20191219_JAWS_UG_NAGOYA
hisayuki
0
34
20190717_JAWS_UG_NAGOYA.pdf
hisayuki
0
62
20190423_JP_Stripes_kobe
hisayuki
0
46
20190226_JP_StripesNagoya
hisayuki
0
67
Other Decks in Technology
See All in Technology
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
260
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
270
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
110
Goでデータパイプラインを作ろう
sansantech
PRO
1
490
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
840
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
320
MIRU 2026 チュートリアル
keisuke198619
0
970
システム思考で問題に対処する
yussak
0
320
モバイルアプリ開発概論2026
recruitengineers
PRO
6
640
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.4k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.4k
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Making Projects Easy
brettharned
120
6.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
エンジニアに許された特別な時間の終わり
watany
108
250k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1.1k
Thoughts on Productivity
jonyablonski
76
5.3k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
Become a Pro
speakerdeck
PRO
31
6.2k
Designing Powerful Visuals for Engaging Learning
tmiket
1
490
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Optimizing for Happiness
mojombo
378
71k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
420
Transcript
AWSサービスで Jamstackの構築をしてみた #jawsug #jawssonic2020
Introduction Hisayuki Mori Community : JAWS-UG 名古屋, Facebook : 森
久由生 Twitter : @hisayuki_mori Blog : https://hisa-tech.site Favorite Service : Lambda, Fargate 2
JAWS-UG 名古屋支部 ◎ 現在運営メンバー10人 ◎ 内容はその月の担当者がやりたいこと ◎ 初心者向けから専門的なことまで幅広く ◦ 今年はハンズオン多め
◎ 最近はYoutubeにアーカイブしてます。 3 ◎ ほぼ毎月開催 ◦ 当月に大型イベントがなければ開催している ◦ 2020年は2,3月以外は今の所開催してます。 ◦ 2019年も2,4月以外は開催していた
アジェンダ ◎ Jamstackとは ◎ 最初の構成 ◎ AWSでの構成 ◎ 利用サービス紹介 ◎
まとめ 4
1. Jamstackとは? 5
そもそもJamstackの基準って?
Jamstackとは? ◎ Webサイト やWeb Application を 構築するため の新しいアーキテクチャ ◦ とはいえもう数年経っている
◦ 提唱しているのはNetlifyのCEO ◎ JavaScript, APIs, Markup のStack ◦ ClientのJavascript ◦ BackendはAPIのみでのアクセス ◦ Build Toolで構築済みのHTML 7
新しいっけ・・・?
この構成、特に目新しくないですよね
Jamstackじゃない ◎ CMSなどViewの部分もServersideが処理してい る ◦ Headless CMS等のAPIでデータの送受信のみをしている場合は例外 ◎ Viewの部分がServersideに依存する MonolithicなApplication
◎ ViewをSSRで処理して表示しているApplication 10
Jamstack Best Practices Entire Project on a CDN ServerSideに依存をさせないため、 全てがCDNに配置できる状態であ
ること。 Everything Lives in Git だれがGit cloneしても動く状態であ ること。動作させるための手順があ り、Build&Local Testが可能である こと。 Modern Build Tools 新しいBuild Toolでも対応できるこ と。 Automated Builds 事前Build済みのHTMLをDeployす るため、常Build処理を自動化する ことでBuild&Deployのプロセスの負 荷を下げる。 Atomic Deploys 不整合を起こさないように、全てを Build、全てをDeploy。差分Deploy はせず、全てUploadするまで更新 はしない。 Instant Cache Invalidation Build&DeployでCDNに最新版を配 布するので、当然そのタイミングで CDNのCasheは消しましょう。 11 すべてを網羅する必要はない
2. 最初の構成 12
最初の構成 13 GIT BUILD&SSG API Function DEPLOY&HOSTING&CDN Identity
“ こいつが強い 14
3. AWSでの構成 15
AWSでの構成 16 GIT BUILD&SSG API DEPLOY&HOSTING&CDN REST GraphQL CLI SDK
登場サービス多い もうちょいスマートにしたい
AWS Cloud 17 多分こんな感じ(静的サイトのキャッシュクリア) Git push Cache clear deploy build
hook めんどい *やったことないけど
ここですごい子が現れる
“ Amplify Console 19 Console
4. 利用サービス紹介 20
4. 利用サービス紹介 21 Amplify Consoleの紹介
Amplify Consoleの紹介 ◎ RemoteRepositoryの更新検知 ◦ Brunchごとにパイプラインが作れる ◎ 最初からhttps ◦ Certificate
Managerで証明書取らなくていい ◎ カスタムドメイン設定可能 ◦ Route53の設定不要 ◎ CDNをデフォルト搭載 ◦ CloudFront不要 ◦ Deploy時にキャッシュクリア ◎ Buildごとのバージョン管理されている ◦ すぐに前バージョンへのロールバックが可能 22
“ ほぼ同じ機能のサービスを 見たことある気がする 23
Jamstackの視点では
JAMSTack Best Practices Entire Project on a CDN Amplify Console
Everything Lives in Git Code Commit でも、ConsoleはGithubのイベント拾え る Modern Build Tools ツールの問題なのでなし Automated Builds Amplify Console Atomic Deploys Amplify Console Instant Cache Invalidation Amplify Console 25
“ JAMSTack Best Practicesを 4つもクリア!! 26 Console
“ Amplify Console すごい子!!! 27 Console
“ Post Netlify!!!! 28 Console
“ とはいえ 29
Amplify Consoleの弱いところ ◎ 通知系がちょっと弱い ◦ Build通知はあるけど、Deploy通知がデフォルトではない ◦ 通知種類がメールのみ ◉ まぁLambdaを使ったSlack通知方法は調べると出てくる
◎ API部分はCLIからの操作のみかな? ◦ LambdaやAppSyncもGithub Pushでdeployされるのかな? ◉ ここは自分の調査不足でなんとかなるところかもしれない ◎ 初回1年しか無料枠がない ◦ 1年過ぎたあとは従量課金 30
現実の構成
AWSの構成 32 GIT CLI Console API REST GraphQL BUILD&SSG Console
DEPLOY&HOSTING&CDN
5. まとめ 33
まとめ ◎ Jamstackそのものは特に新しいものではない ◎ Amplify Consoleの登場で静的サイト公開が更に 楽になった ◎ なので、Amplify Consoleの登場でAWSと
Jamstackの親和性が更に高くなった ◦ Amplify Console一つでBest Practicesの6つのうち4つを網羅できる 34
Thanks! ご清聴ありがとうございました 35 24時間本当にお疲れさまでした!