The course is part of these learning paths
AWS Data Services
One of the core building blocks of Infrastructure as a Service (IaaS) is that of storage, and AWS provides a wide range of storage services that allow you to architect the correct solution for your needs. Understanding what each of these services is and what they have been designed and developed for, gives you the knowledge to implement best practices ensuring your data is stored, transmitted and backed up in the most efficient and scalable way. This course will focus on each of the storage services provided by AWS and will explain what the service is, its key features and when and why you might use the service within your own environment.
The objectives of this course are to provide:
- An overview and introduction to the different AWS storage services
- An understanding of how to transfer data into and out of AWS
- The knowledge to confidently select the most appropriate storage service for your needs
This course is designed as an introduction to the AWS storage services and methods of storing data. As a result, this course is suitable for:
- Those who are starting out their AWS journey to understand the various services that exist and their use case
- Storage engineers responsible for maintaining and storing data within the enterprise
- Security engineers who secure and safeguard data within AWS
- Those who are looking to begin their certification journey with either the AWS Cloud Practitioner or one of the 3 Associate level certifications
This is an entry-level course to AWS storage services and so no prior knowledge of these services are required, however, a basic understanding of Cloud Computing and awareness of AWS would be beneficial but not essential.
If you have thoughts or suggestions for this course, please contact Cloud Academy at firstname.lastname@example.org.
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
Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data centre and network infrastructure design, to cloud architecture and implementation.
To date, Stuart has created 50+ courses relating to Cloud, most within the AWS category with a heavy focus on security and compliance
He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.
In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.
Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.