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

Deploying Jekyll to AWS

Deploying Jekyll to AWS

Learn how to setup AWS S3, CloudFront, and Route 53 to host blazing fast Jekyll websites.

Given at JekyllConf 2019

Matthew Loberg

September 22, 2019
Tweet

More Decks by Matthew Loberg

Other Decks in Programming

Transcript

  1. S E TU P • Create bucket • Add bucket

    policy • Add website configuration
  2. S E TU P • Create bucket • Add bucket

    policy • Add website configuration
  3. S E TU P • Create bucket • Add bucket

    policy • Add website configuration
  4. S E TU P • Create bucket • Add bucket

    policy • Add website configuration • Upload site
  5. S E TU P • Create bucket • Add bucket

    policy • Add website configuration • Upload site
  6. S E TU P • Create bucket • Add bucket

    policy • Add website configuration • Upload site
  7. A DVA N C E S E TU P •

    Create Route 53 Zone
  8. A DVA N C E S E TU P •

    Create Route 53 Zone
  9. A DVA N C E S E TU P •

    Create Route 53 Zone
  10. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate
  11. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate
  12. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate
  13. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate • Create CloudFront Distribution
  14. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate • Create CloudFront Distribution
  15. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate • Create CloudFront Distribution
  16. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate • Create CloudFront Distribution • Add Route 53 Record
  17. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate • Create CloudFront Distribution • Add Route 53 Record
  18. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate • Create CloudFront Distribution • Add Route 53 Record
  19. A DVA N C E S E TU P •

    Create Route 53 Zone • Create SSL Certificate • Create CloudFront Distribution • Add Route 53 Record
  20. D E P LOYM E N TS • Upload to

    S3 • Create CloudFront Invalidation
  21. D E P LOYM E N TS • Upload to

    S3 • Create CloudFront Invalidation
  22. D E P LOYM E N TS • Upload to

    S3 • Create CloudFront Invalidation
  23. D E P LOYM E N TS • Upload to

    S3 • Create CloudFront Invalidation • Create IAM user just for deployments
  24. D E P LOYM E N TS • Upload to

    S3 • Create CloudFront Invalidation • Create IAM user just for deployments
  25. D E P LOYM E N TS • Upload to

    S3 • Create CloudFront Invalidation • Create IAM user just for deployments • Automate with Continuous Integration (CircleCI, Travis)
  26. D E P LOYM E N TS • Upload to

    S3 • Create CloudFront Invalidation • Create IAM user just for deployments • Automate with Continuous Integration (CircleCI, Travis) https:/ /github.com/mloberg/mlo.io/blob/master/.circleci/config.yml
  27. T I P S & T R I C KS

    • Redirect www to non-www
  28. T I P S & T R I C KS

    • Redirect www to non-www
  29. T I P S & T R I C KS

    • Redirect www to non-www
  30. T I P S & T R I C KS

    • Redirect www to non-www • Add caching
  31. T I P S & T R I C KS

    • Redirect www to non-www • Add caching • Add cache headers to S3 Objects
  32. T I P S & T R I C KS

    • Redirect www to non-www • Add caching • Add cache headers to S3 Objects
  33. T I P S & T R I C KS

    • Redirect www to non-www • Add caching • Add cache headers to S3 Objects • Add long caches to images or things that never change
  34. T I P S & T R I C KS

    • Redirect www to non-www • Add caching • Add cache headers to S3 Objects • Add long caches to images or things that never change
  35. T I P S & T R I C KS

    • Redirect www to non-www • Add caching • Add cache headers to S3 Objects • Add long caches to images or things that never change • Use hashed filenames to create long caches for CSS/JS