Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added faq/assets/edge-services.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions faq/edge-services.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
meta:
title: Edge Services FAQ
description: Get answers to the most frequently asked questions about Scaleway Edge Services. Learn about compatible products, billing, key features, and more.
content:
h1: Edge Services
hero: assets/edge-services.webp
dates:
validation: 2024-07-24
category: network
---

## What is Edge Services?

Edge Services is a feature for Scaleway Load Balancers and Object Storage buckets, currently available in [Public Beta](https://www.scaleway.com/en/betas/). It provides a [caching service](/network/edge-services/how-to/configure-cache/) to improve performance by reducing load on your [origin](/network/edge-services/concepts/#origin), and a customizable and secure endpoint for accessing content via Edge Services, which can be set to a subdomain of your choice.

## Which products are compatible with Edge Services?

Edge Services is currently available for Scaleway [Object Storage buckets](/storage/object/) and Scaleway [Load Balancers](/network/load-balancer/).

## How much does Edge Services cost?

Since Edge Services is currently in Public Beta, it is free to use and not billed. Users will be warned before it goes into General Availability and becomes billable. Pricing will be based on subscription plans.

## If I customize my Edge Services endpoint with my own domain, can it serve content over HTTPS?

Yes, if you choose to [customize your Edge Services endpoint with your own subdomain](/network/edge-services/how-to/configure-custom-domain/), you are prompted to generate or upload an SSL/TLS certificate for that subdomain so that Edge Services can serve content over HTTPS. This certificate can either be a Let's Encrypt certificate generated and managed by Scaleway, or you can import your own certificate. If you import your own certificate, it will be stored in Scaleway Secret Manager, and [billed accordingly](https://www.scaleway.com/en/pricing/security-and-account/).
4 changes: 4 additions & 0 deletions menu/changelogs.json
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,10 @@
"category": "load-balancers",
"label": "Load Balancers"
},
{
"category": "edge-services",
"label": "Edge Services"
},
{
"category": "domains-and-dns",
"label": "Domains and DNS"
Expand Down
78 changes: 66 additions & 12 deletions menu/navigation.json
Original file line number Diff line number Diff line change
Expand Up @@ -3127,6 +3127,72 @@
"label": "Load Balancers",
"slug": "load-balancer"
},
{
"items": [
{
"label": "Overview",
"slug": "../edge-services"
},
{
"label": "Concepts",
"slug": "concepts"
},
{
"label": "Quickstart",
"slug": "quickstart"
},
{
"label": "FAQ",
"slug": "../../faq/edge-services"
},
{
"items": [
{
"label": "Create an Object Storage pipeline",
"slug": "create-pipeline-bucket"
},
{
"label": "Create a Load Balancer pipeline",
"slug": "create-pipeline-lb"
},
{
"label": "Configure a custom domain",
"slug": "configure-custom-domain"
},
{
"label": "Configure a cache",
"slug": "configure-cache"
},
{
"label": "Monitor with Cockpit",
"slug": "monitor-cockpit"
},
{
"label": "Delete or disable an Edge Services pipeline",
"slug": "delete-pipeline"
}
],
"label": "How to",
"slug": "how-to"
},
{
"items": [
{
"label": "SSL/TLS certificates for Edge Services",
"slug": "ssl-tls-certificate"
},
{
"label": "CNAME records for Edge Services",
"slug": "cname-record"
}
],
"label": "Additional content",
"slug": "reference-content"
}
],
"label": "Edge Services",
"slug": "edge-services"
},
{
"items": [
{
Expand Down Expand Up @@ -4102,10 +4168,6 @@
"label": "Use Object Storage with Private Networks",
"slug": "use-obj-stor-with-private-networks"
},
{
"label": "Use Object Storage with Edge Services",
"slug": "get-started-edge-services"
},
{
"label": "Delete an object",
"slug": "delete-an-object"
Expand Down Expand Up @@ -4217,14 +4279,6 @@
{
"label": "Equivalence between S3 actions and IAM permissions",
"slug": "s3-iam-permissions-equivalence"
},
{
"label": "SSL/TLS certificates for Edge Services",
"slug": "ssl-tls-certificate"
},
{
"label": "CNAME records for Edge Services",
"slug": "cname-record"
}
],
"label": "Additional Content",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions network/edge-services/concepts.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
meta:
title: Edge Services - Concepts
description: Understand Scaleway Edge Services terminology with our glossary of the core concepts underpinning this product. Learn about key features, architecture, and best practices.
content:
h1: Edge Services - Concepts
paragraph: Understand Scaleway Edge Services terminology with our glossary of the core concepts underpinning this product. Learn about key features, architecture, and best practices.
tags: edge-services edge services pipeline custom-domain cache
dates:
creation: 2024-07-24
validation: 2024-07-24
categories:
- networks
---

## Cache

The storage location where Edge Services stores copies of content that it has retrieved from a given origin. When users request content from the Edge Services endpoint, it serves content directly from the cache wherever possible, in accordance with the caching rules defined by the user. This reduces load on the origin bucket or Load Balancer/backend servers.

Note that if an object has a caching directive, the caching directive always takes precedence over any lifetime setting defined in Edge Services.

## Certificate

The SSL/TLS certificate for your subdomain to enable Edge Services to serve content over HTTPS, if you have customized your [Edge Services endpoint](#endpoint). You can choose between uploading your own certificate held in Scaleway Secret Manager, or letting Edge Services generate a fully-managed Let's Encrypt certificate.

## CNAME record

The CNAME record pointing your subdomain to the Edge Services endpoint, if you have customized your [Edge Services endpoint](#endpoint). This is necessary to ensure that traffic for your customized subdomain is correctly directed towards the Edge Services endpoint by DNS servers.

## Edge Services

Edge Services is an additional feature for Scaleway Load Balancers and Object Storage buckets, currently available in [Public Beta](https://www.scaleway.com/en/betas/). It provides a [caching service](/network/edge-services/how-to/configure-cache/) to improve performance by reducing load on your [origin](#origin), and a customizable and secure [endpoint](#endpoint) for accessing content via Edge Services, which can be set to a subdomain of your choice.

## Endpoint

The endpoint from which a given Edge Services pipeline can be accessed, e.g. `https://pipeline-id-or-bucket-name.svc.edge.scw.cloud`. When a client requests content from the Edge Services endpoint, it is served by Edge Services and its cache, rather than from the origin (Object Storage bucket or Load Balancer backend servers) directly. Edge Services automatically manages redirection from HTTP to HTTPS.

The endpoint can be customized with a user-defined subdomain, allowing you to replace the standardized endpoint with the subdomain of a domain you already own, e.g. `http://my-own-domain.com`. An associated [certificate](#certificate), and [CNAME record](#cname) will be required, in this case.

## Origin

The primary source from which a Scaleway Edge Services pipeline retrieves and caches data. An origin can consist of either:

- An [Object Storage bucket](/storage/object/how-to/create-a-bucket/), or
- A [Load Balancer](#origin-load-balancer) and frontend port that Edge Services connects to to request content, and (optionally) a specified [host](#origin-host) associated with the Load Balancer, used in the HTTP request Host Header.

## Origin host

In the case of a Load Balancer origin, the specific host for which Edge Services requests and caches data. This is an optional setting: when specified, this host (e.g. `mydomain.com`) is used in the HTTP Host Header when Edge Services requests data from the Load Balancer. If no origin host is specified, the Load Balancer's IP address is used in the Host Header.

The origin host must be associated with the origin Load Balancer / its backend servers, and only one host may be set per pipeline. If your Load Balancer is in front of multiple hosts, you can create a separate Edge Services pipeline for each. Each host will therefore get its own Edge Services endpoint and cache.

## Origin Load Balancer

The Load Balancer defined by the user as origin for a given Edge Services pipeline. The pipeline connects to this Load Balancer, on the specified frontend port to request content.

## Pipeline

An Edge Services pipeline consists of an [origin](#origin) for which Edge Services requests and [caches](#cache) content, and an [endpoint](#endpoint) from which this content is served via Edge Services. The pipeline's endpoint can be customized with a user-defined [subdomain](#subdomain) and associated [certificate](#certificate) so that Edge Services can serve content over HTTPS.

You can create one or more Edge Services pipelines for each of your Object Storage buckets or Load Balancer origins.

## Protocol

The protocol (HTTP or HTTPS) that the Edge Services pipeline should use when sending requests to an origin Load Balancer. HTTPS is recommended, but you should choose the protocol that corresponds with your Load Balancer setup.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
103 changes: 103 additions & 0 deletions network/edge-services/how-to/configure-cache.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
---
meta:
title: How to configure an Edge Services cache
description: Learn how to configure a cache for Edge Services. Enhance performance and finely control your cached objects via purging (cache invalidation).
content:
h1: How to configure an Edge Services cache
paragraph: Learn how to configure a cache for Edge Services. Enhance performance and finely control your cached objects via purging (cache invalidation).
dates:
validation: 2024-07-24
posted: 2024-07-24
tags: object-storage edge-services cdn network cache purge
categories:
- network
---

The cache feature allows you to cache your origin's content with Edge Services. This means that content can be served directly to users from Edge Services' servers, instead of from your Object Storage bucket or Load Balancer origin, enhancing performance.

You can disable and enable caching at will, as well as control the lifetime of an object in the cache. You can also purge your entire cache, or specific objects within it. A log is displayed to help you track your purge events.

## How to enable the cache

1. In the Scaleway console, navigate to the Edge Services dashboard for the Object Storage bucket or Load Balancer origin for which you want to enable caching:

<Lightbox src="scaleway-edge-services-dashboard.webp" alt="A screenshot of the Edge Services dashboard in the Scaleway console. This is a dashboard for Edge Services on an Object Storage bucket, showing links to the documentation, Scaleway Cockpit, the endpoint, cache settings and a button to disable the pipeline." />

2. In the **Cache** panel, use the <Icon name="toggle" /> icon to enable the cache.

The **Lifetime** configuration box displays. This enables you to define, in seconds, how long an object can be stored in the cache before it must be retrieved freshly from the origin (Object Storage bucket or Load Balancer).

<Lightbox src="scaleway-edge-services-cache.webp" />

<Message type="tip">
As an example, a value of 0 means that objects will not be cached, unless they have a separately-defined caching directive. Note that in any case, if an object has a caching directive, the caching directive always takes precedence over any lifetime setting defined here in Edge Services.
</Message>

3. Leave the default value of 1 hour in place, or enter another value.

The cache is now enabled.

## How to purge all objects from your cache

Purging objects clears all objects from your cache. Afterward, Edge Services will retrieve fresh copies from the origin (Object Storage bucket or Load Balancer) before it stores them again in the cache.

1. In the Scaleway console, navigate to the Edge Services dashboard for the Object Storage bucket or Load Balancer origin whose cache you want to purge:

<Lightbox src="scaleway-edge-services-dashboard.webp" alt="A screenshot of the Edge Services dashboard in the Scaleway console. This is a dashboard for Edge Services on an Object Storage bucket, showing links to the documentation, Scaleway Cockpit, the endpoint, cache settings and a button to disable the pipeline." />

2. In the **Purge cache** panel, click **Purge all**.

<Lightbox src="scaleway-edge-services-purge-cache.webp" />

A screen displays, warning you that your cache will be emptied, and Edge Services will have to retrieve objects from your origin before re-caching them.

3. Click **Purge cache** to confirm.

## How to purge specific objects from your cache

This allows you to specify the precise objects that you want to clear from the cache. Afterward, Edge Services will retrieve fresh copies from the origin (Object Storage bucket or Load Balancer) before it stores them again in the cache.

1. In the Scaleway console, navigate to the Edge Services dashboard for the Object Storage bucket or Load Balancer origin whose cache you want to purge:

<Lightbox src="scaleway-edge-services-dashboard.webp" alt="A screenshot of the Edge Services dashboard in the Scaleway console. This is a dashboard for Edge Services on an Object Storage bucket, showing links to the documentation, Scaleway Cockpit, the endpoint, cache settings and a button to disable the pipeline." />

2. In the **Purge cache** panel, click **Purge by object**.

<Lightbox src="scaleway-edge-services-purge-cache.webp" />

A screen displays prompting you to enter the path of each object you want to purge from the cache.

<Lightbox src="scaleway-edge-services-purge-object.webp" />

3. Enter the path of each object you want to purge. You can purge a maximum of 5 objects at a time.

<Message type="tip">

The path for each object should be defined from the root and must start with a slash, e.g. `/videos/my-video.mp4`.

You **cannot** purge entire directories by simply specifying the path to the directory, e.g. `/videos`. Purging objects must be done strictly object-by-object, so `/videos/my-video1.mp4`, `/videos/my-video2.mp4`, `/videos/my-video3.mp4` etc. Watch this space for updates to this feature in the future.

For example, if we imagine an Object Storage bucket containing one file at the root level called `object1.jpg`, and a subfolder at root level called `videos` containing an item called `my-video.mp4`, we would enter the object paths as follows:

- `/object1.jpg`
- `/videos/my-video.mp4`

</Message>

4. Click **Purge objects from cache**.

The specified objects are purged from your cache and you are returned to the Edge Services dashboard.

## How to disable your cache

1. In the Scaleway console, navigate to the Edge Services dashboard for the Object Storage bucket or Load Balancer origin whose cache you want to disable:

<Lightbox src="scaleway-edge-services-dashboard.webp" alt="A screenshot of the Edge Services dashboard in the Scaleway console. This is a dashboard for Edge Services on an Object Storage bucket, showing links to the documentation, Scaleway Cockpit, the endpoint, cache settings and a button to disable the pipeline." />

2. In the **Cache** panel, use the <Icon name="toggle" /> icon to disable the cache.

A pop-up displays, asking you to confirm the action.

3. Click **Disable cache**.

Your cache is purged and disabled. Edge Services will now serve content by fetching it from your origin (Object Storage bucket or Load Balancer) directly. If you reenable your cache at a later point, you will begin with an empty cache.
Loading