The course is part of this learning path
AWS Data Services
To be prepared for the AWS Certified Cloud Practitioner Exam, this course will enable you to demonstrate Amazon Simple Storage Service (S3), Amazon Glacier, Amazon Elastic Block Store (EBS) and Amazon CloudFront storage solutions, and help you identify when to apply AWS solutions to common business scenarios.
This course covers a range of different services, including:
- Amazon Simple Storage Service (S3)
- Amazon Elastic Block Storage (EBS)
- Amazon Glacier
- Amazon RDS
- Amazon DynamoDB, Elasticache and Redshift
- Amazon CloudFront
- AWS Import/Export Disk
- AWS Import/Export Snowball
- AWS Storage Gateway
By the end of this course, you should be able to:
- Describe the basic functions that each storage service performs within a cloud solution
- Recognize basic components and features of each storage service
- Identify which storage service would be most appropriate to a general use case
- Understand how each service utilizes the benefits of cloud computing, such as scalability or elasticity
This course is designed for:
- Anyone preparing for the AWS Certified Cloud Practitioner
- Managers, sales professionals and other non-technical roles
Before taking this course, you should have a general understanding of basic cloud computing concepts.
If you have thoughts or suggestions for this course, please contact Cloud Academy at email@example.com.
Hello and welcome to this lecture, where I'll be looking at the Amazon CloudFront service, and what storage capabilities that this service offers.
Whereas all the services we have discussed so far look at storage from a perspective of selecting where you want to source your data to reside, Amazon CloudFront is a little different. Amazon CloudFront is a content delivering network service, which essentially provides a means of distributing your source data of your web traffic closer to the end user requesting the content via AWS edge locations as cached data. As this data is cached, after a set period, this cached data will expire and so AWS CloudFront doesn't provide the durability of your data. Instead, it distributes the source data which reside on durable storage, such as Amazon S3.
AWS edge locations are sites deployed in major cities and highly populated areas across the globe. While edge locations are not used to deploy your main infrastructure, such as EC2 instances or EBS storage, they are used by AWS services such as AWS CloudFront to cache data and reduce latency for end user access. For example, you may have your website hosted on EC2 instances or S3 within the Ohio region, with an associated CloudFront distribution. When a user accesses your website from Europe, they would then be redirected to their closest edge location in Europe, where cached data could be read of your website. This significantly reduces latency.
CloudFront uses distributions to control which source data it needs to redistribute and to where. These distributions can be configured as one of two different delivery methods, via a web distribution or an RTMP distribution. The web distribution can be used to distribute both static and dynamic content, in addition to using both the HTTP and HTTPS protocol. If you need to add, remove or update objects, or provide live stream functionality on your website, then the web distribution will be able to provide this functionality for you. The distribution uses an origin to define where the source data is coming from, which can either be a web server, perhaps an EC2 instance or an Amazon S3 bucket.
The RTMP option should be used if your focus is to distribute streaming media with the Adobe Flash media service RTMP protocol. The benefit of using RTMP distribution is that your end user can start viewing the media before the complete file has been downloaded from the edge location. The source data for an RTMP distribution can only exist within an S3 bucket, and not an EC2 web server.
When configuring your distributions, you will be required to enter your origin information, essentially where the distribution is going to get the data to distribute across edge locations. You will also be required to select a host of different caching behavior options, defining how you want the data at the edge location to be cached via various methods and policies. Lastly, you will define the distribution settings themselves, and this will look at which edge locations you want your data to be distributed to, which can either be US, Canada and Europe, US, Canada, Europe and Asia, or all edge locations for the best performance.
You can also define if you want your distribution to be associated to a web application firewall access controlist for additional security and web application protection. For more information on AWS WAF, please see the following course. In addition to using a web application firewall access controlist, you can also implement additional encryption security by specifying an SSL certificate that must be used with a distribution.
Once your distribution has configured, you simply enable the distribution for it to be created. When content from your website is accessed, the end user will be directed to their closest edge location in terms of latency, to see if the content is cached by CloudFront at that edge location. If the content is there, the user will access the content from the edge location instead of the origin, therefore reducing latency. If the content is not there, or the cache has expired for that content at the edge location, then CloudFront will request the content from the source origin again. This content will then be used to maintain a fresh cache for any future request until it again expires.
The cost for using the CloudFront is primarily based on data transfer costs and HTTP requests. For detailed information on the pricing for different regions, it's best to visit the following pricing page. This table shows the pricing matrix for both data transfer and HTTP requests across different locations. CloudFront also charges for other features if they are implemented within your CloudFront distributions, which are all priced differently against different thresholds. Some of these features include field-level encryption, invalidation requests, and dedicated IP custom SSL. If you are looking to use these features, then it's best to visit the CloudFront pricing page for additional information and costs.
About the Author
Andrew is an AWS certified professional who is passionate about helping others learn how to use and gain benefit from AWS technologies. Andrew has worked for AWS and for AWS technology partners Ooyala and Adobe. His favorite Amazon leadership principle is "Customer Obsession" as everything AWS starts with the customer. Passions around work are cycling and surfing, and having a laugh about the lessons learnt trying to launch two daughters and a few start ups.