From cfef2ecb3b5f1e92919ddf54dbf386a17bcefc44 Mon Sep 17 00:00:00 2001 From: CHIKAMATSU Naohiro Date: Mon, 15 Jan 2024 00:53:51 +0900 Subject: [PATCH] static website distribution document --- cloudformation/.gitkeep | 0 .../static-web-site-distribution/README.md | 27 ++++++ .../s3_cloudfront.drawio | 78 ++++++++++++++++++ .../s3_cloudfront.png | Bin 0 -> 59393 bytes 4 files changed, 105 insertions(+) delete mode 100644 cloudformation/.gitkeep create mode 100644 cloudformation/static-web-site-distribution/README.md create mode 100644 cloudformation/static-web-site-distribution/s3_cloudfront.drawio create mode 100644 cloudformation/static-web-site-distribution/s3_cloudfront.png diff --git a/cloudformation/.gitkeep b/cloudformation/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/cloudformation/static-web-site-distribution/README.md b/cloudformation/static-web-site-distribution/README.md new file mode 100644 index 0000000..408f8e6 --- /dev/null +++ b/cloudformation/static-web-site-distribution/README.md @@ -0,0 +1,27 @@ +## Static Web Site Distribution With CloudFront and S3 +### Overview +The simplest way to deploy the static website is to store the content in Amazon S3 (Simple Storage Service) and distribute it using CloudFront (Content Delivery Network). + +This infrastructure configuration looks like the diagram below.   +![./s3_cloudfront.png](./s3_cloudfront.png) + +The configuration is characterized by its simplicity and the following features: + +1. Cost-effectiveness +2. Responsive performance through effective utilization of caching (Cache Distribution pattern) + +However, there are constraints. For example, if there is a functionality to rewrite a Relational Database on the client side, it cannot be accommodated with the infrastructure configuration depicted in the diagram. + + +#### Not allowed to access S3 directly +As a premise, you can host a static website using S3. In this context, a static website refers to content on individual web pages being static, although client-side scripts may be included. + +In other words, S3 content can be publicly accessible, allowing direct access to S3. However, enabling public access to S3 poses security risks and the potential for information leakage. In general, public access to S3 should be disabled. For instance, there is a risk of personal information being stolen from S3 by third parties, or the possibility of delivering compromised JavaScript containing malicious code. + +To prevent such scenarios, it is essential to appropriately configure the S3 bucket policy. + +#### Access Log +[WIP] + +#### Chache +[WIP] \ No newline at end of file diff --git a/cloudformation/static-web-site-distribution/s3_cloudfront.drawio b/cloudformation/static-web-site-distribution/s3_cloudfront.drawio new file mode 100644 index 0000000..12a3198 --- /dev/null +++ b/cloudformation/static-web-site-distribution/s3_cloudfront.drawio @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloudformation/static-web-site-distribution/s3_cloudfront.png b/cloudformation/static-web-site-distribution/s3_cloudfront.png new file mode 100644 index 0000000000000000000000000000000000000000..b74270a00bcc0d724505406815c855ba94bf9ff6 GIT binary patch literal 59393 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 Bxq|=z literal 0 HcmV?d00001