Skip to content

Commit 4577f4b

Browse files
committed
Update CFN output descriptions, link to service items, add instructions to output CLI files for easier copying.
1 parent c7baa96 commit 4577f4b

File tree

13 files changed

+106
-89
lines changed

13 files changed

+106
-89
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ The site will present *mysfits* available for adoption with some different chara
3434

3535
This sample application will use many different AWS services and features that modern applications leverage on AWS. But, learning about *what* those individual services and their features are is not the primary objective of this workshop. Instead, this workshop is meant to give you an experience of *how* developers are able to build modern applications by interacting with those features and services through the development tools that AWS provides.
3636

37+
To learn more about how to build your own **Well Architected** and modern application on AWS, please [visit here](https://aws.amazon.com/architecture/well-architected/) for additional content about following AWS best practices in your own architecture.
38+
3739
### Application Architecture
3840

3941
![Application Architecture](/images/arch-diagram.png)
31.7 KB
Loading

images/module-1/cloud9-explorer.png

4.17 KB
Loading
86.3 KB
Loading

images/module-2/cfn-complete.png

36.3 KB
Loading

module-1/README.md

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
**Time to complete:** 20 minutes
66

77
**Services used:**
8-
* AWS Cloud9
9-
* Amazon Simple Storage Service (S3)
8+
* [AWS Cloud9](https://aws.amazon.com/cloud9/)
9+
* [Amazon Simple Storage Service (S3)](https://aws.amazon.com/s3/)
1010

11-
In this module, follow the instructions to create your cloud-based IDE on AWS Cloud9 and deploy the first version of the static Mythical Mysfits website. Amazon S3 is a highly durable, highly available, and inexpensive object storage service that can serve stored objects directly via HTTP. This makes it wonderfully useful for serving static web content (html, js, css, media content, etc.) directly to web browsers for sites on the Internet. We will utilize S3 to host the content for our Mythical Mysfits website.
11+
In this module, follow the instructions to create your cloud-based IDE on [AWS Cloud9](https://aws.amazon.com/cloud9/) and deploy the first version of the static Mythical Mysfits website. [Amazon S3](https://aws.amazon.com/s3/) is a highly durable, highly available, and inexpensive object storage service that can serve stored objects directly via HTTP. This makes it wonderfully useful for serving static web content (html, js, css, media content, etc.) directly to web browsers for sites on the Internet. We will utilize S3 to host the content for our Mythical Mysfits website.
1212

1313
### Getting Started
1414

1515
#### Sign In to the AWS Console
16-
To begin, sign in to the AWS Console for the AWS account you will be using in this workshop.
16+
To begin, sign in to the [AWS Console](https://console.aws.amazon.com) for the AWS account you will be using in this workshop.
1717

1818
This web application can be deployed in any AWS region that supports all the services used in this application. The supported regions include:
1919

@@ -53,7 +53,7 @@ When the IDE has finished being created for you, you'll be presented with a welc
5353

5454
#### Cloning the Mythical Mysfits Workshop Repository
5555

56-
In the bottom panel of your new Cloud9 IDE, you will see a terminal command line terminal open and read to use. Run the following git command in the terminal to clone the necessary code to complete this tutorial:
56+
In the bottom panel of your new Cloud9 IDE, you will see a terminal command line terminal open and ready to use. Run the following git command in the terminal to clone the necessary code to complete this tutorial:
5757

5858
```
5959
git clone https://github.com/aws-samples/aws-modern-application-workshop.git
@@ -72,23 +72,36 @@ cd aws-modern-application-workshop
7272
### Creating a Static Website in Amazon S3
7373

7474
#### Create an S3 Bucket and Configure it for Website Hosting
75-
Next, we will create the infrastructure components needed for hosting a static website in Amazon S3 via the AWS CLI.
75+
Next, we will create the infrastructure components needed for hosting a static website in Amazon S3 via the [AWS CLI](https://aws.amazon.com/cli/).
7676

77-
First, create an S3 bucket, replace the name below (mythical-mysfits-bucket-name) with your own unique bucket name. Copy the name you choose and save it for later, as you will use it in several other places during this workshop:
77+
First, create an [S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html), replace the name below (mythical-mysfits-bucket-name) with your own unique bucket name. **Note: see the requirements for bucket names [here](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules).** Copy the name you choose and save it for later, as you will use it in several other places during this workshop:
7878

7979
```
80-
aws s3 mb s3://mythical-mysfits-bucket-name
80+
aws s3 mb s3://REPLACE_ME_BUCKET_NAME
8181
```
8282

83-
Now that we have created a bucket, we need to set some configuration options that enable the bucket to be used for static website hosting. This configuration enables the objects in the bucket to be requested using a registered public DNS name for the bucket, as well as direct site requests to the base path of the DNS name to a selected website homepage (index.html in most cases):
83+
Now that we have created a bucket, we need to set some configuration options that enable the bucket to be used for [static website hosting](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html). This configuration enables the objects in the bucket to be requested using a registered public DNS name for the bucket, as well as direct site requests to the base path of the DNS name to a selected website homepage (index.html in most cases):
8484

8585
```
8686
aws s3 website s3://REPLACE_ME_BUCKET_NAME --index-document index.html
8787
```
8888

8989
#### Update the S3 Bucket Policy
9090

91-
All buckets created in Amazon S3 are fully private by default. In order to be used as a public website, we need to create an S3 **Bucket Policy** that indicates objects stored within this new bucket may be publicly accessed by anyone. Bucket policies are represented as JSON documents that define the S3 *Actions* (S3 API calls) that are allowed (or not not allowed) to be performed by different *Principals* (in our case the public, or anyone). The JSON document for the necessary bucket policy is located at: `~/environment/aws-modern-application-workshop/module-1/aws-cli/bucket-policy.json`. This file includes several places that you need to change to use the new bucket name you've created (indicated with `REPLACE_ME`).
91+
All buckets created in Amazon S3 are fully private by default. In order to be used as a public website, we need to create an S3 [Bucket Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) that indicates objects stored within this new bucket may be publicly accessed by anyone. Bucket policies are represented as JSON documents that define the S3 *Actions* (S3 API calls) that are allowed (or not not allowed) to be performed by different *Principals* (in our case the public, or anyone).
92+
93+
The JSON document for the necessary bucket policy is located at: `~/environment/aws-modern-application-workshop/module-1/aws-cli/website-bucket-policy.json`. This file contains a string that needs to be replaced with the bucket name you've chosen (indicated with `REPLACE_ME_BUCKET_NAME`).
94+
95+
**Note: Throughout this workshop you will be similarly opening files that have contents which need to be replaced (all will be prefixed with `REPLACE_ME_`, to make them easy to find using CTRL-F on Windows or ⌘-F on Mac.)**
96+
97+
To **open a file** in Cloud9, use the File Explorer on the left panel and double click `bucket-policy.json`:
98+
99+
![bucket-policy-image.png](/images/module-1/bucket-policy-image.png)
100+
101+
This will open `bucket-policy.json` in the File Editor panel. Replace the string shown with your chosen bucket name used in the previous commands:
102+
103+
![replace-bucket-name.png](/images/module-1/replace-bucket-name.png)
104+
92105

93106
Execute the following CLI command to add a public bucket policy to your website:
94107

0 commit comments

Comments
 (0)