-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate static.crates.io to Fastly #62
Comments
I've updated the plan based on some lessons learned in the draft pull request for this change. In particular, the following things have changed:
|
The configuration for Fastly seems stable enough that we can start testing to gather some data. Only the alternate name in the Fastly certificate still has to be deployed to production so that we can test Once that is done, we can overwrite the DNS resolution for The final piece left to do is to set up weighted records so that we can split traffic between CloudFront and Fastly on the DNS level. For staging, we probably want to run 100% of traffic through Fastly. For production, we want to have a gradual rollout to observe performance, reliability, and cost. My suggestion is that we take this week (January 9th) to test internally. If no issues come up, let's start pushing a little bit more traffic each day (e.g. 1%) to Fastly beginning next week (January 16th). |
We've been slowly rolling out Fastly for |
Context
As laid out in our (soon-to-be-released) documentation on how we use CDNs, we want to move
static.crates.io
andstatic.rust-lang.org
to Fastly to reduce the cost of outbound traffic on AWS.static.crates.io
has been chosen since it is the distribution with the 2nd largest traffic volume. But it does not use cache invalidations or custom routing, so no implementation changes are required. This makes it the ideal candidate to start with. The distribution will be migrated as-is, without any changes in functionality or scope.Tasks
Implement Compute@Edge function
GET
andHEAD
Set up staging service
fastly_service_compute
resource with the Compute@Edge functionfastly_service_dictionary_items
static.staging.crates.io
fastly_tls_subscription
resource to enable TLSaws_route53_record
resources for ACME DNS challengefastly_tls_subscription_validation
resource to generate certificatestatic.staging.crates.io
as an alternate name to TLS subscriptionstatic.staging.crates.io
Migrate
static.staging.crates.io
domaincloudfront-static.staging.crates.io
recordSet up production service
static.crates.io
static.crates.io
as an alternate name to TLS subscriptionstatic.crates.io
Migrate
static.crates.io
cloudfront-static.crates.io
recordThe text was updated successfully, but these errors were encountered: