Upgrade to Pro — share decks privately, control downloads, hide ads and more …

jawssonic2020_AWSサービスで_JAMStackの構築をしてみた.pdf

mori-hisayuki
September 15, 2020

 jawssonic2020_AWSサービスで_JAMStackの構築をしてみた.pdf

mori-hisayuki

September 15, 2020
Tweet

More Decks by mori-hisayuki

Other Decks in Technology

Transcript

  1. Introduction Hisayuki Mori Community : JAWS-UG 名古屋, Facebook : 森

    久由生 Twitter : @hisayuki_mori Blog : https://hisa-tech.site Favorite Service : Lambda, Fargate 2
  2. JAWS-UG 名古屋支部 ◎ 現在運営メンバー10人 ◎ 内容はその月の担当者がやりたいこと ◎ 初心者向けから専門的なことまで幅広く ◦ 今年はハンズオン多め

    ◎ 最近はYoutubeにアーカイブしてます。 3 ◎ ほぼ毎月開催 ◦ 当月に大型イベントがなければ開催している ◦ 2020年は2,3月以外は今の所開催してます。 ◦ 2019年も2,4月以外は開催していた
  3. Jamstackとは? ◎ Webサイト やWeb Application を 構築するため の新しいアーキテクチャ ◦ とはいえもう数年経っている

    ◦ 提唱しているのはNetlifyのCEO ◎ JavaScript, APIs, Markup のStack ◦ ClientのJavascript ◦ BackendはAPIのみでのアクセス ◦ Build Toolで構築済みのHTML 7
  4. 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 すべてを網羅する必要はない
  5. AWSでの構成 16 GIT BUILD&SSG API DEPLOY&HOSTING&CDN REST GraphQL CLI SDK

    登場サービス多い もうちょいスマートにしたい
  6. Amplify Consoleの紹介 ◎ RemoteRepositoryの更新検知 ◦ Brunchごとにパイプラインが作れる ◎ 最初からhttps ◦ Certificate

    Managerで証明書取らなくていい ◎ カスタムドメイン設定可能 ◦ Route53の設定不要 ◎ CDNをデフォルト搭載 ◦ CloudFront不要 ◦ Deploy時にキャッシュクリア ◎ Buildごとのバージョン管理されている ◦ すぐに前バージョンへのロールバックが可能 22
  7. 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
  8. Amplify Consoleの弱いところ ◎ 通知系がちょっと弱い ◦ Build通知はあるけど、Deploy通知がデフォルトではない ◦ 通知種類がメールのみ ◉ まぁLambdaを使ったSlack通知方法は調べると出てくる

    ◎ API部分はCLIからの操作のみかな? ◦ LambdaやAppSyncもGithub Pushでdeployされるのかな? ◉ ここは自分の調査不足でなんとかなるところかもしれない ◎ 初回1年しか無料枠がない ◦ 1年過ぎたあとは従量課金 30