From 28c935f8011d46a8dbae5f02979e864bb72ce19f Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 11:59:58 +0100 Subject: [PATCH 01/14] docs(faq): add faq to products --- menu/navigation.json | 68 ++-- pages/account/faq.mdx | 155 +++++++++ pages/apple-silicon/faq.mdx | 49 +++ pages/audit-trail/faq.mdx | 35 ++ pages/billing/faq.mdx | 182 ++++++++++ pages/block-storage/faq.mdx | 88 +++++ pages/cockpit/faq.mdx | 100 ++++++ pages/container-registry/faq.mdx | 39 +++ pages/data-lab/faq.mdx | 69 ++++ pages/dedibox-scaleway/faq.mdx | 129 +++++++ pages/dedibox/faq.mdx | 156 +++++++++ pages/domains-and-dns/faq.mdx | 119 +++++++ pages/edge-services/faq.mdx | 33 ++ pages/elastic-metal/faq.mdx | 202 +++++++++++ pages/environmental-footprint/faq.mdx | 23 ++ pages/generative-apis/faq.mdx | 71 ++++ pages/iam/faq.mdx | 52 +++ pages/instances/faq.mdx | 326 ++++++++++++++++++ pages/iot-hub/faq.mdx | 92 +++++ pages/ipam/faq.mdx | 29 ++ pages/key-manager/faq.mdx | 39 +++ pages/kubernetes/faq.mdx | 96 ++++++ pages/load-balancer/faq.mdx | 81 +++++ .../faq.mdx | 148 ++++++++ pages/managed-databases-for-redis/faq.mdx | 104 ++++++ pages/managed-inference/faq.mdx | 78 +++++ pages/messaging/faq.mdx | 46 +++ pages/object-storage/faq.mdx | 286 +++++++++++++++ pages/public-gateways/faq.mdx | 52 +++ pages/secret-manager/faq.mdx | 42 +++ pages/serverless-containers/faq.mdx | 238 +++++++++++++ pages/serverless-functions/faq.mdx | 263 ++++++++++++++ pages/serverless-jobs/faq.mdx | 185 ++++++++++ pages/serverless-sql-databases/faq.mdx | 60 ++++ pages/transactional-email/faq.mdx | 90 +++++ pages/vpc/faq.mdx | 56 +++ 36 files changed, 3847 insertions(+), 34 deletions(-) create mode 100644 pages/account/faq.mdx create mode 100644 pages/apple-silicon/faq.mdx create mode 100644 pages/audit-trail/faq.mdx create mode 100644 pages/billing/faq.mdx create mode 100644 pages/block-storage/faq.mdx create mode 100644 pages/cockpit/faq.mdx create mode 100644 pages/container-registry/faq.mdx create mode 100644 pages/data-lab/faq.mdx create mode 100644 pages/dedibox-scaleway/faq.mdx create mode 100644 pages/dedibox/faq.mdx create mode 100644 pages/domains-and-dns/faq.mdx create mode 100644 pages/edge-services/faq.mdx create mode 100644 pages/elastic-metal/faq.mdx create mode 100644 pages/environmental-footprint/faq.mdx create mode 100644 pages/generative-apis/faq.mdx create mode 100644 pages/iam/faq.mdx create mode 100644 pages/instances/faq.mdx create mode 100644 pages/iot-hub/faq.mdx create mode 100644 pages/ipam/faq.mdx create mode 100644 pages/key-manager/faq.mdx create mode 100644 pages/kubernetes/faq.mdx create mode 100644 pages/load-balancer/faq.mdx create mode 100644 pages/managed-databases-for-postgresql-and-mysql/faq.mdx create mode 100644 pages/managed-databases-for-redis/faq.mdx create mode 100644 pages/managed-inference/faq.mdx create mode 100644 pages/messaging/faq.mdx create mode 100644 pages/object-storage/faq.mdx create mode 100644 pages/public-gateways/faq.mdx create mode 100644 pages/secret-manager/faq.mdx create mode 100644 pages/serverless-containers/faq.mdx create mode 100644 pages/serverless-functions/faq.mdx create mode 100644 pages/serverless-jobs/faq.mdx create mode 100644 pages/serverless-sql-databases/faq.mdx create mode 100644 pages/transactional-email/faq.mdx create mode 100644 pages/vpc/faq.mdx diff --git a/menu/navigation.json b/menu/navigation.json index 1ab2948eef..3bf91eb1c3 100644 --- a/menu/navigation.json +++ b/menu/navigation.json @@ -20,7 +20,7 @@ }, { "label": "FAQ", - "slug": "../faq/account" + "slug": "faq" }, { "items": [ @@ -166,7 +166,7 @@ }, { "label": "FAQ", - "slug": "../faq/billing" + "slug": "faq" }, { "items": [ @@ -351,7 +351,7 @@ }, { "label": "FAQ", - "slug": "../faq/iam" + "slug": "faq" }, { "items": [ @@ -489,7 +489,7 @@ }, { "label": "FAQ", - "slug": "../faq/audit-trail" + "slug": "faq" }, { "items": [ @@ -555,7 +555,7 @@ }, { "label": "FAQ", - "slug": "../faq/secret-manager" + "slug": "faq" }, { "items": [ @@ -647,7 +647,7 @@ }, { "label": "FAQ", - "slug": "../faq/key-manager" + "slug": "faq" }, { "items": [ @@ -754,7 +754,7 @@ }, { "label": "FAQ", - "slug": "../faq/environmental-footprint" + "slug": "faq" }, { "items": [ @@ -1085,7 +1085,7 @@ }, { "label": "FAQ", - "slug": "../faq/apple-silicon" + "slug": "faq" }, { "items": [ @@ -1199,7 +1199,7 @@ }, { "label": "FAQ", - "slug": "../faq/elastic-metal" + "slug": "faq" }, { "items": [ @@ -1401,7 +1401,7 @@ }, { "label": "FAQ", - "slug": "../faq/dedibox" + "slug": "faq" }, { "items": [ @@ -1512,7 +1512,7 @@ }, { "label": "FAQ", - "slug": "../faq/instances" + "slug": "faq" }, { "items": [ @@ -1955,7 +1955,7 @@ }, { "label": "FAQ", - "slug": "../faq/kubernetes" + "slug": "faq" }, { "items": [ @@ -2185,7 +2185,7 @@ }, { "label": "FAQ", - "slug": "../faq/containerregistry" + "slug": "faq" }, { "items": [ @@ -2371,7 +2371,7 @@ }, { "label": "FAQ", - "slug": "../faq/databases-for-postgresql-and-mysql" + "slug": "faq" }, { "items": [ @@ -2581,7 +2581,7 @@ }, { "label": "FAQ", - "slug": "../faq/databases-for-redis" + "slug": "faq" }, { "items": [ @@ -2734,7 +2734,7 @@ }, { "label": "FAQ", - "slug": "../faq/transactional-email" + "slug": "faq" }, { "items": [ @@ -2876,7 +2876,7 @@ }, { "label": "FAQ", - "slug": "../faq/iothub" + "slug": "faq" }, { "items": [ @@ -3174,7 +3174,7 @@ }, { "label": "FAQ", - "slug": "../faq/data-lab" + "slug": "faq" }, { "items": [ @@ -3231,7 +3231,7 @@ }, { "label": "FAQ", - "slug": "../faq/vpc" + "slug": "faq" }, { "items": [ @@ -3357,7 +3357,7 @@ }, { "label": "FAQ", - "slug": "../faq/ipam" + "slug": "faq" }, { "items": [ @@ -3421,7 +3421,7 @@ }, { "label": "FAQ", - "slug": "../faq/public-gateways" + "slug": "faq" }, { "items": [ @@ -3501,7 +3501,7 @@ }, { "label": "FAQ", - "slug": "../faq/loadbalancer" + "slug": "faq" }, { "items": [ @@ -3651,7 +3651,7 @@ }, { "label": "FAQ", - "slug": "../faq/edge-services" + "slug": "faq" }, { "items": [ @@ -3733,7 +3733,7 @@ }, { "label": "FAQ", - "slug": "../faq/domains-and-dns" + "slug": "faq" }, { "items": [ @@ -3858,7 +3858,7 @@ }, { "label": "FAQ", - "slug": "../faq/cockpit" + "slug": "faq" }, { "items": [ @@ -4003,7 +4003,7 @@ }, { "label": "FAQ", - "slug": "../faq/serverless-functions" + "slug": "faq" }, { "items": [ @@ -4197,7 +4197,7 @@ }, { "label": "FAQ", - "slug": "../faq/serverless-containers" + "slug": "faq" }, { "items": [ @@ -4371,7 +4371,7 @@ }, { "label": "FAQ", - "slug": "../faq/serverless-jobs" + "slug": "faq" }, { "items": [ @@ -4485,7 +4485,7 @@ }, { "label": "FAQ", - "slug": "../faq/messaging-and-queuing" + "slug": "faq" }, { "items": [ @@ -4613,7 +4613,7 @@ }, { "label": "FAQ", - "slug": "../faq/serverless-sql-databases" + "slug": "faq" }, { "items": [ @@ -4746,7 +4746,7 @@ }, { "label": "FAQ", - "slug": "../faq/objectstorage" + "slug": "faq" }, { "items": [ @@ -4984,7 +4984,7 @@ }, { "label": "FAQ", - "slug": "../faq/blockstorage" + "slug": "faq" }, { "items": [ @@ -5373,7 +5373,7 @@ }, { "label": "FAQ", - "slug": "../faq/dedibox" + "slug": "faq" }, { "items": [ @@ -5475,7 +5475,7 @@ }, { "label": "FAQ", - "slug": "../faq/dedibox" + "slug": "faq" }, { "items": [ diff --git a/pages/account/faq.mdx b/pages/account/faq.mdx new file mode 100644 index 0000000000..55ace8ecd5 --- /dev/null +++ b/pages/account/faq.mdx @@ -0,0 +1,155 @@ +--- +meta: + title: Account FAQ + description: Get answers to your most common account-related questions. +content: + h1: Account +dates: + validation: 2025-03-11 +category: console +productIcon: AccountExperienceProductIcon +--- +## Account access and security + +### My account is locked. What do I do? +If your account is locked, [contact our support team](https://console.scaleway.com/support/tickets/create) to learn the reason for the blockage and discover how to regain access. + +### I've been invited to an Organization, but can’t see any resources +When you create a Scaleway account after being invited to join a specific Organization, a personal Organization is automatically created for you. + +If you only want to work on the Project you have been invited to, you can switch Organizations and Projects using the drop-down menu on the console dashboard. + +### Can I reopen a closed account? +Yes, you can [reopen a closed account](/account/how-to/close-account/#how-to-reopen-your-account). However, a closed account's resources are permanently deleted, and you cannot retrieve them. + +### How can I report spam content that I received? +You can report spam easily by installing the Signal Spam plugin, which is available for web browsers, email clients, and iOS devices. The plugin, represented by an owl-shaped button, allows you to flag unwanted emails or malicious URLs (such as phishing or scams) directly from your inbox. + +When you report spam, your information is processed in real-time and shared with authorized entities that can take appropriate actions, such as identifying spammers, enforcing legal measures, and blacklisting harmful URLs. While Signal Spam does not filter emails or act as an antivirus, your reports help improve security measures and contribute to a safer online environment. + +To get started, install the [plugin](https://www.signal-spam.fr/en/nos-modules/) (available for Firefox, Chrome, Safari, and Opera browsers and Mac Mail, Outlook, and Thunderbird mail clients) or follow the official reporting path at [Signal Spam](https://www.signal-spam.fr/en/parcours-signalant/) for further support. + +## Account management + +### Can I change my Organization’s country? +If you need to change your Organization country and region, you must [create a support ticket](https://console.scaleway.com/support/tickets/create). + +To make the process faster, when creating your ticket, inform us of your Organization’s new address, including: street address, city, postal code, region, and country. + +### How do I delete my Organization? +[Closing your account](/account/how-to/close-account/#how-to-close-your-account) permanently deletes your Organization, along with its servers, resources, services, and backups. + + + We recommend that you delete all resources before closing your account. Otherwise, the remaining resources will be billed for usage before their manual deletion, which can take up to 10 days. + + +## I would like to delete my personal data +Refer to the [How to delete your account and personal data](/account/how-to/close-account/) documentation. + + + Once you request the deletion of your account and personal data, you will no longer be able to access your account or invoices. The request will take at least 72 hours to be processed. You must make sure all your bills are paid, and that you have not used any resources since the beginning of the current calendar month. + + +### Where can I find my Organization ID? +You can find your Organization ID by accessing the [Settings](https://console.scaleway.com/organization/settings) page of your Organization dashboard. + +In the first section, **Organization Information**, you will find the ID and a shortcut to copy it, if necessary. + +### How do I change my email address? +To change your email address: + +1. On the [Scaleway console](https://console.scaleway.com), go to your [profile](https://console.scaleway.com/account/profile). +2. Under the section **User information**, click **Edit profile**. +3. Enter a new address under **Email address**, then click **Confirm changes** to save your modification. +4. Confirm your new email address by clicking the link sent to your inbox. + +## Project and resource management + +### Can I move a Project to another account? +At this moment, it is not possible to move a Project from one account to another. + +### I have created a resource in the wrong Project. Can I move it? +At this moment, it is not possible to move a resource from one Project to another. +If you need to move a resource, you must delete it and create it again in the right Project. + +### How can I get more quotas? +You can get more quotas by adding and verifying your [payment method](/billing/how-to/add-payment-method/) and [identity](/account/how-to/verify-identity/). + +If you have already completed these two steps and still need an increase in quotas, contact our [support team](https://console.scaleway.com/support/tickets/create) and inform them which product you need more quotas for. + +### I don’t seem to have access to my Organization's resources +If you do not have access to certain Organization resources, you might not have the necessary [IAM](/iam/concepts/#iam) **permission set**. + +[Read the documentation on permission sets](/iam/reference-content/permission-sets/)​ to learn more about the different access levels. + +Contact an Organization owner or a member with the necessary permissions to request rights to the resources you require access to. + +## Support + + +### What is my current support plan? +You can find your support plan on [the support plan page within the Scaleway console](https://console.scaleway.com/support/plans). The free Basic support plan is included for all Scaleway customers automatically. + +### How can I change my current support plan? +You can [change your support plan](/account/how-to/configure-support-plans/) on the support plan page via the Scaleway console. + +### How frequently can I change my plan? +You can switch plans once a month. + +### I would like to upgrade my plan to get faster responses. Once I upgrade, how soon will I receive the benefits of my new plan? +When you change your plan, the upgrade is applied immediately. + +### If I upgrade my support plan in the middle of the month, how will I be billed? +You will be billed on a pro rata basis. For example, if you switch from the Silver plan to the Gold plan on the 20th of the month, you will be billed from the first to the 19th for the Silver plan. Starting from the 20th until the end of the month, you will be charged for the Gold plan. + +### How does the Gold plan pricing work? +For the Gold plan, we will charge you whichever is greater, either €499 (excluding taxes) or 3% of your net spend. For example: + + - If your net monthly spend is €15,000, then 3% of €15,000 = €450. In this case, €450 is less than €499, so you will pay the fixed price at €499. + - If your net monthly spend is €17.000, then 3% of €17.000 = €510. In this case €510 is higher than €499, so you will pay the price of €510 for the month. + +### Which language does the support team speak? +Our support team can assist you in English and French, via ticket and/or phone, depending on your support plan level. + +### How do I create a support ticket? +You can create and track your support tickets from the Scaleway console. [Follow this how to](/account/how-to/open-a-support-ticket/) for more details. + +### How do I report abuse or suspected abuse coming from the Scaleway network? +To report abuse or suspicion of abuse from our network, open a new abuse report via [abuse.scaleway.com](https://abuse.scaleway.com). Include as many details as possible in your report such as logs, header, URL and any information you might find relevant in your report. + + More information on how to report abuse can be found in [Scaleway’s Abuse notice](https://www.scaleway.com/en/abuse-notice/). + + +### I am a Bronze plan subscriber. Can I keep my old plan? +Your plan remains unchanged until January 1, 2023. Past this date, the Bronze plan will be removed from our pages, and you will automatically be moved to the Silver plan. If you do not wish to be subscribed to the Silver plan, you can downgrade your support plan to Basic. + +### What will be included in my future Silver plan? + +| | New Silver Plan | +:--: | :--: | +| Pricing | €59/month excluding taxes | +| Dedicated assistance | Mon-Fri from 9 AM to 6 PM | +| Guaranteed response time | \< 1 hour | +| Team support | Dedicated Premium Team | +| Custom Onboarding | - | +| Quarterly technical review | - | +| On demand architecture review | - | + +### I subscribed to the Silver Plan before October 1. Can I keep it unchanged? + +Your plan remains unchanged until January 1st, 2023. Past this date, the new modalities of the Silver plan will apply. + +### What changes with the new Silver plan? +| | Old Silver Plan | New Silver Plan | +| ------------ | ------------------- | ------ | +| Pricing | €59/month excluding taxes | €59/month excluding taxes | +| Dedicated assistance | Hotline 24/7 | Mon-Fri from 9 AM to 6 PM | +| Guaranteed response time | \< 20 minutes | \< 1 hour | +| Team support | Technical Account Manager | Dedicated Premium Team | +| Custom Onboarding | - | - | +| Quarterly technical review | - | - | +| On demand architecture review | - | - | + +### How frequently can I benefit from an architecture review? + +You can benefit from an architecture review every 6 months (maximum). Architecture reviews are available only after the third month of subscription to the Gold Plan. If you would like to benefit from an architecture review right away after subscribing, you can reach out to your Customer Success Manager or [contact the support team](/account/how-to/open-a-support-ticket/). \ No newline at end of file diff --git a/pages/apple-silicon/faq.mdx b/pages/apple-silicon/faq.mdx new file mode 100644 index 0000000000..ce9c06866a --- /dev/null +++ b/pages/apple-silicon/faq.mdx @@ -0,0 +1,49 @@ +--- +meta: + title: Apple silicon FAQ + description: Discover how to use Apple silicon for application development. +content: + h1: Apple silicon +dates: + validation: 2025-03-11 +category: bare-metal +productIcon: AppleSiliconProductIcon +--- + +## What is the minimum allocation period for an Apple Silicon Mac mini? +The minimum lease period for Apple Silicon-as-a-Service is 24 hours due to license constraints. A Mac mini can only be deleted after a minimum allocation period of 24 hours. + +## How many public IP addresses can I assign to a Mac mini? +Each Mac mini can have one IPv4 address and one IPv6 subnet (`/128`). + +## How can I reinstall my Mac mini? +To reinstall your Mac mini, navigate to the [Scaleway console](https://console.scaleway.com/), then go to the **Apple Silicon** page. +From there, select the server you wish to reinstall and locate the **Reinstall** button. +Click it, and you will be prompted to choose the macOS version for the reinstallation process. +Once selected, the reinstallation will commence automatically. + +## How can I back up my Mac mini? +You can back up your Mac mini using a backup solution of your choice. Examples include: +- [Restic](/tutorials/restic-s3-backup/) for command-line backups. +- [Arq Backup](/tutorials/arqbackup-pc-mac/) for graphical interface backups. + +Both solutions allow you to store backups on our [Object Storage](/object-storage/quickstart/). + +## What is preinstalled on the Mac mini? +When you rent a Mac mini, it comes with a bare environment. The pre-installed tools include: +- The latest Xcode version compatible with the OS +- MacPorts for package management +- `fail2ban` for VNC access filtering +- `scw-agent`, a daemon maintained by Scaleway to provide essential integration services such as updating your ssh keys. + +## What operations are unsupported? +Certain operations are restricted by default MDM configuration profiles: +- You don't have access to the physical machine, thus no access to macOS recovery. +- Certain admin actions, like system Time Machine restoration and boot system policies, are not possible. + +## Do I pay for my Mac mini when I am not using it? +Yes, you pay for your Mac mini as long as it is assigned to your account. You must explicitly delete it in the console or via the CLI to stop charges. For deletion instructions, see [How to delete Mac mini](/apple-silicon/how-to/delete-mac-mini/). + +## Are Mac minis compatible with Private Networks? +Yes, you can now activate the Private Networks feature on your Mac mini, and attach it to a Private Network so that it can securely communicate with other Scaleway resources. For full details, see the [Mac mini Private Networks documentation](/apple-silicon/how-to/use-private-networks/). + diff --git a/pages/audit-trail/faq.mdx b/pages/audit-trail/faq.mdx new file mode 100644 index 0000000000..ae417e336a --- /dev/null +++ b/pages/audit-trail/faq.mdx @@ -0,0 +1,35 @@ +--- +meta: + title: Audit Trail FAQ + description: Get answers on using Scaleway's Audit Trail to monitor events, enhance security, and track activities across your resources +content: + h1: Audit Trail +productIcon: AuditTrailProductIcon +dates: + validation: 2024-11-28 +category: identity-and-access-management +--- + +## What is Audit Trail? + +Audit Trail is a tool that holds a record of events and changes performed within a Scaleway Organization. + +## Why do I need Audit Trail? + +Audit Trail helps you ensure accountability and security by recording who did what and when within your Scaleway Organization. It tracks activity across all your resources (identity of the principal, date of activity, source IP address, API method used, and status of the request). + +You can use Audit Trail for troubleshooting, compliance verification, and analysis in the event of a breach. + +## How am I billed for using Audit Trail? + +Audit Trail is free of charge. + +## Which Scaleway products are integrated with Audit Trail? + +During Beta, only Secret Manager is integrated with Audit Trail. Refer to the [dedicated documentation](/audit-trail/reference-content/resource-integration-with-adt/) to find out more about product integration with Audit Trail. + +## Where are my Audit Trail events stored? + +Audit Trail events are stored in the same region where the activity occurred. This means that if an event takes place in a specific region, it will be saved and accessible in that same region. + +Audit Trail is not available for the Poland - Warsaw region. \ No newline at end of file diff --git a/pages/billing/faq.mdx b/pages/billing/faq.mdx new file mode 100644 index 0000000000..045b18efce --- /dev/null +++ b/pages/billing/faq.mdx @@ -0,0 +1,182 @@ +--- +meta: + title: Billing FAQ + description: Discover billing methods, plans, and pricing for Scaleway products. Learn about invoicing details, billing events, pro-rata billing, invoice statuses, payment methods, and managing your billing efficiently. +content: + h1: Billing +dates: + validation: 2025-02-17 +category: console +productIcon: BillingProductIcon +--- +## Billing and invoicing + +### How am I billed for Scaleway services? +All Public Cloud services are based on the "pay as you go" model, which means that you only pay for what you use. + +Your monthly invoice is calculated at the end of each month and based on your hourly resource usage during the month. + + + Some of our products are invoiced separately. + + +For example: +The Stardust1-s indicated at €0,0025 excl/hour can be split up as follows: +- €0.00198/hour for the IP +- €0.0004/hour for the 10 GB of Local Storage +- €0.00012/hour for the instance + +For more information, refer to our dedicated [pricing page](https://www.scaleway.com/en/pricing/). + +### When does the billing of an Instance start and stop? +The final price of your Instance is calculated according to the characteristics of your resource. Each of these resources is billed separately for a minimum of 60 minutes. + +Each uninterrupted period between a start and a stop billing event will be considered a unique resource. It is the number of these unique resources noted within a month that are displayed in the consumption table of your invoice. + +Below is a detailed list of what is considered start and stop billing events for each resource class: + + | Resource type | Billing Starts | Billing Stops | Comments | + |-----------------------|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | Compute Instances | The moment you click the **Power On** button (when your Instance is already powered off). | The moment the Instance is **Powered Off**. | The Instance is not billed during its shutdown process. A hard reboot will keep the ongoing resource running. | + | Elastic Metal servers | The moment the server is **created**. | The moment the server is **deleted**. | When an Elastic Metal server is powered off, the physical machine remains allocated to the user's account, meaning the resource continues to be billed. | + | Apple silicon | The moment the Mac mini is **created**. | The moment the Mac mini is **deleted**. | Due to license constraints, the minimum lease for Apple silicon-as-a-Service is 24 hours. As a result, **a Mac mini can only be deleted after a minimum allocation period of 24 hours**. When a Mac mini is powered off, the physical machine remains allocated to the user's account, meaning the resource continues to be billed. | + | Flexible IP address | The moment you reserve an IP. | The moment you cancel a reservation. | This class of IP is billed as long as you keep the reservation open. You will be billed whether you are effectively using the IP or not. | + | Dynamic IP address | When a dynamic IP is associated with a running Compute Instance. | When a dynamic IP is detached from a running Compute Instance which has just been shut down | | + | Volume storage | Once a volume has been created. | Once a volume has been deleted. | | + | Snapshot storage | Once a snapshot has been created. | Once a snapshot has been deleted. | | + +### What does pro-rata billing for Dedibox and Web Hosting services mean? +You are billed pro-rata for the initial month of a subscription. This means the charge is adjusted to reflect the portion of the first month you used the service. +Starting from the second month onward, you are billed in full at the beginning of each month, covering the entire upcoming billing period in advance. +This billing model ensures that you pay for the service based on your actual usage for the first month and then in advance for subsequent months. + +### How to read my invoice? +Refer to the [Reading an invoice](/billing/additional-content/reading-an-invoice/) documentation page for a detailed description of your invoices. + +### When are invoices issued? +Invoices are issued each month based on the resource consumption of the previous month. +Our reference billing period is the definition of a calendar month in the Coordinated Universal Time (UTC) time zone. +The automatic payment of invoices occurs in the first few days of a month, once the invoice is issued and is processed by using the preferred payment method of your account. + +### How can I manage my billing? +You can manage your billing from the [billing section](https://console.scaleway.com/billing/overview) of the Scaleway console. Your recent invoices as well as the consumption report for the current month are available for download. +Alternatively, you can retrieve your consumption information and download your invoices using the [API](https://www.scaleway.com/en/developers/api/billing/). + +### What does the status of my invoice mean? +The status of an invoice can be: +- **Draft** - Refers to the invoice for the current calendar month. The billing period has not yet finished, so the invoice is not finalized and is subject to change. +- **Stopped** - Refers to invoices where the billing period (calendar month) has ended, but the invoice is not yet issued. +- **Issued** - Refers to a final invoice awaiting payment. It has a unique number and is non-repudiable. The invoice charges for the resources consumed over the corresponding billing period. +- **Paid** - Refers to a fully paid invoice. No further action is required. +- **Incomplete** - Refers to invoices where the user has provided incorrect billing details or payment information, or elements of this information are missing. The user must update this information as soon as possible to avoid having their account deleted. +- **Outdated** - Refers to invoices where there has been a change in billing information, for example, a discount has been applied, or the client has amended their billing details. An updated invoice will be issued soon. +- **Voided** - Refers to invoices with an amount of €0 before any discounts are applied. No further action is required. +- **No due** - Refers to an invoice that does not require payment from the user. The invoice has been issued, but the amount due is €0 or has been waived, and no further action is required from the user. + +### How long do I have to pay my invoice before my resources get locked? +After your invoice is issued, you have ten days to pay it. If you fail to settle your invoice within this period, your account will be suspended, and your resources will become inaccessible. You will have another ten days to pay your invoice before your resources are deleted. + +### Why have I been billed for resources that are deactivated or powered off? +If you were billed for resources that have been correctly stopped, please [contact our support team](https://console.scaleway.com/support/tickets/create), providing the name of the product and resource, and the date of deactivation. + +### I deleted my account, but still received an invoice. Why? +Scaleway invoices are calculated at the end of each month, so you may receive a final invoice the month after closing your account. That corresponds to your outstanding consumption for your final month of activity. + +## Payments and payment methods + +### Which payment methods does Scaleway accept? +We accept Visa, MasterCard, CB, UnionPay, American Express, and SEPA. Virtual and pre-paid credit cards are not accepted. Note that you must add a credit card to your account before setting up a SEPA mandate. + +### How can I pay my invoice? +We automatically initiate one payment transaction from your preferred payment method at the start of each new month. Once an invoice is issued, you have 10 days to regularize it (see section 6.3 of our Terms of Service). As a reminder, the due date of payment is displayed on each invoice once issued. + +If the automatic payment fails, you will be notified by mail of payment failure and invited to initiate a new transaction from your account. + +If after several manual attempts you cannot manage to trigger a successful transaction, you may add another credit card. Keep in mind to make this card the active card and re-initiate a payment transaction. + + + Failed SEPA payments can only be regularized by credit or debit card payment. + + + + If you are unable to settle your invoice after the due date, your account is going to be suspended and your resources will be unreachable. You will then have another ten days to regularize your invoice before your resources are deleted. + + +### Can I use a virtual or prepaid card as a payment method? +No. Virtual or prepaid cards are **not** accepted as payment methods. When using a credit card, ensure you are using a physical card, protected by 3D secure. + +### Can I pay my invoice using a different payment method? +Unpaid invoices have to be paid with a credit card. You can [add new credit cards](/billing/how-to/add-payment-method/) to your account. + +### How can I obtain a SEPA Mandate? +Refer to the [How to add a payment method](/billing/how-to/add-payment-method#how-to-add-a-sepa-mandate) documentation page for a complete guide on how to add a SEPA mandate. + +### My credit card validation code expired. What should I do? +If your validation code expires, please [contact our support team](https://console.scaleway.com/support/tickets/create) to request a new code. + +### I tried to add a credit card but received the message 'Card already registered' +A credit card can only be registered once across all Organizations. If you receive this message, make sure you do not have the same card already registered to another Scaleway account. + +If you only have one payment method and need to use it on more than one account, [contact our support team](https://console.scaleway.com/support/tickets/create) to request an individual verification. + +### I added a physical credit card, but it was declined. Why? +If your credit card complies with the payment requirements but still was declined, please [contact our support team](https://console.scaleway.com/support/tickets/create) for assistance. + +### I added a credit card but didn’t receive the validation code. What do I do? +It usually takes up to 24 hours to receive the validation code. + +### Why can’t I delete my credit card? +You must always have a valid credit card registered to your account. If you have only one credit card registered, it will not be possible to delete it from your account, even if you use a SEPA debit as payment method. + +It is also not possible to remove a credit card from your account if you have one or more outstanding invoices. If that is the case, make sure you have paid any issued invoice(s) and have no consumption in the current calendar month, and retry. + +If your case does not match the situations above and you still cannot remove your credit card, [contact our support team](https://console.scaleway.com/support/tickets/create) for a manual verification. + +### Can I extend an expired voucher code? +No, voucher codes cannot be extended. They have a limited validity period. + +## Account and billing management + +### How can I add a billing contact to my account? +The billing contact is an additional contact linked to your account which will receive your monthly invoices. This can be useful if invoices in your Organization are handled by another department. +You can add a billing contact directly from the User Account section of your Scaleway console. + +1. Log into your Scaleway console. +2. On the Organization drop-down menu, click **Billing**. The billing section displays. +3. Enter the new billing contact e-mail address. +4. Click **Save**. + + The billing contact is only an administrative contact. It can not be used to connect to the Scaleway console. + + +### How can I change the country or region registered to my account? +It is not possible to edit your country and region directly from the Scaleway console. Please [contact our support team](https://console.scaleway.com/support/tickets/create) if you need to change this information. + +Be prepared to inform us of your new address, including country, region, city, postal code, and street address. Our team will then proceed to update your account details. + +## VAT and taxes + +### Do the prices shown on the website include EU VAT? +Prices announced on our website exclude all taxes. + +Because we are a European company, we are required to charge VAT on all orders made by European individual customers (B2C). +The appropriate VAT rate is automatically applied to your invoice, depending on your fiscal residence. Just make sure the administrative details on your profile, such as postal address, recipient name, and phone number are in order. +No other additional taxes, but European VAT is collected. + +If you are not located in one of the 27 member states of the European Union, no other tax will be added to your invoice, per application of EU laws. +European B2B customers (excluding French B2B customers) are exempted from VAT, as long as they provide a registered VAT number. Just add your VAT registry number to your profile, and your invoice will be updated accordingly. + +### Do I have to provide a VAT number? +If you do not provide a valid VAT number, you will be considered an individual customer (B2C), and the local rate will be applied. + +### How can I remove or update my VAT number? +It is impossible to edit your VAT number once a value has been set. [Contact our support team](https://console.scaleway.com/support/tickets/create) if you need to update it. + +## Savings plans and discounts + +### Why is my Savings Plan charge lower than expected? +When you commit to an amount and purchase a Savings Plan, you receive a monthly discount based on your committed rate and the duration of your plan. If you find that the rate you pay monthly is smaller than the committed rate, this is because your discount was applied. Refer to the [Understanding Savings Plan](/billing/additional-content/understanding-savings-plans/) documentation page for more information. + +### Why am I incurring charges while my Savings Plan utilization is less than 100%? +When you purchase a Savings Plan, you commit to a monthly rate in resource consumption. This means that even if you do not consume enough resources, you are still billed for the full committed rate with discounts. +Refer to the [Understanding Savings Plan](/billing/additional-content/understanding-savings-plans/) documentation page for more information. \ No newline at end of file diff --git a/pages/block-storage/faq.mdx b/pages/block-storage/faq.mdx new file mode 100644 index 0000000000..b761f97d34 --- /dev/null +++ b/pages/block-storage/faq.mdx @@ -0,0 +1,88 @@ +--- +meta: + title: Block Storage FAQ + description: Explore Scaleway Block Storage with our comprehensive FAQ covering performance, persistence, and more. Learn how Block Storage compares to Local Storage and its compatibility with Scaleway resources. +content: + h1: Block Storage +dates: + validation: 2025-03-03 +category: storage +productIcon: BlockStorageProductIcon +--- + +## Why should I use Block Storage instead of Local Storage? + +The size of Local Storage depends on your Instance type. With today's configurations, the maximum Local Storage available is 600 GB. + +Block Storage allows you to create bigger volumes and those volumes are persistent which means that they can live without being attached to an Instance. + +| | **Block Storage** | **Local Storage** | +|--------------------|:---------------------------------:|:--------------------------------------------------------------------------------------------------------------:| +| **Availability** | High | HV dependant (needs physical intervention to retrieve storage and data if HV dies) | +| **Redundancy** | High (replica 3) | Low (RAID 5 - 5 disks) | +| **Persistency** | Yes | Semi-persistent (a snapshot of the volume is uploaded and downloaded each time the Instance is powered off/on) | +| **Latency** | Average | Local NVMe | +| **Volume size** | Max 10 TB/volume | Up to 600 GB (GP1-XL) | + +## What is the difference between Block Storage volume types? + +| Volume type | IOPS | Underlying hardware | Latency | Max volume size | Recommended use cases | Availability & resilience | +|-----------------------------------|----------|--------------------------------|---------------------|----------------------|-------------------------|----------------------------| +| `b_ssd` (Block Storage 5K legacy) | 5,000 | Legacy SSDs | High | Up to 10 TB | General-purpose workloads that do not demand high IOPS or low latency | Data is replicated three times across multiple disks for high availability and integrity | +| `sbs_5k` (Block Low Latency 5K) | 5,000 | Modern NVMe disks | Low | 5 GB to 10 TB | Development environments, web servers, and applications needing consistent performance | 99.99% SLA, triple-replicated data to safeguard against hardware failures | +| `sbs_15k` (Block Low Latency 15K) | 15,000 | Modern NVMe disks | Very low | 5 GB to 10 TB | High-performance databases, transactional applications, and I/O-intensive workloads | 99.99% SLA, triple-replicated data to safeguard against hardware failures | + +You can attach a maximum of 16 volumes (including the mandatory boot volume) to a single Instance. + + + Refer to the [dedicated documentation](/block-storage/reference-content/differences-between-5kiops-volumes/) for more information on the differences between Block Storage 5K legacy volumes and Block Storage Low Latency 5K volumes. + + +## What are the performances expected from a block volume? + +Block Storage offers 5,000 input/output operations per second (IOPS) through powerful SSDs. +However, this performance is subject to fluctuation during peak load periods. + +## What is the behavior of the block volume when an Instance is stopped, deleted, or crashed? + +A block volume is persistent which means that it can live without being attached to an Instance. Nevertheless, when an Instance is deleted, the following can be expected: + +- When the Instance is deleted via the Scaleway console, you will be asked if you want the distant block volumes to be deleted as well or not. +- When deleting an Instance via the `API`, all the attached volumes (local and Block Storage) are deleted. So if you want to keep your local volumes, you must use the archive action instead of the terminate action. +- If you want to keep Block Storage volumes, you must detach them before you issue the terminate call. + +## How many volumes can be attached? + +A virtual Instance can bear up to 16 volumes, including the mandatory local volume. +Therefore, the maximum number of blocks that can be attached to an Instance is 15. + +## What is the maximum size of a block volume? + +The maximum size of a block volume is 10 TB. + +## How is the Block Storage fee calculated? + +The Block Storage billing scheme is not the same as for Object Storage. You are billed by the hour based on the size of the volume and not the data that is actually stored on it. Just like a local drive, you can select the size of the volume directly from the Scaleway console or the API. + +## What other Scaleway resources are compatible with Block Storage? + +Block Storage volumes are compatible with [Scaleway Instances](/instances/), [Managed Dabatase for PostgreSQL and MySQL](/managed-databases-for-postgresql-and-mysql/), and [Kubernetes](/kubernetes/) Kapsule clusters. + +## How can I convert a Block Storage legacy volume into a Block Storage Low Latency volume? + + + +Although there is no direct way to change the storage class of a volume while preserving its ID, you can still convert a Block Storage legacy volume (along with its data) into a Block Storage Low Latency volume using the snapshot export/import features as a temporary solution. This allows you to transition a Block Storage legacy (`b_ssd`) snapshot into a Block Storage Low Latency (`sbs_5k` or `sbs_15k`) snapshot and then turn the snapshot into a Block Storage Low Latency volume. + + + The process below requires manual intervention and **does not preserve the original volume's ID**. + While this approach allows you to transition to a Block Storage Low Latency volume, it is only a workaround. + + +1. [Create a snapshot of your Block Storage legacy volume](/instances/how-to/create-a-snapshot/). +2. [Export the snapshot](/instances/api-cli/snapshot-import-export-feature/#exporting-snapshots). +3. [Import the snapshot into a new Low Latency volume](https://www.scaleway.com/en/developers/api/block/#path-snapshot-import-a-snapshot-from-a-scaleway-object-storage-bucket). + +Find out how to [migrate your Block Storage volumes and snapshots](/instances/how-to/migrate-volumes-snapshots-to-sbs/) from the Instance API to the Block Storage API. + +Find out about the [advantages of migrating the management of your volumes and snapshots](/block-storage/reference-content/advantages-migrating-to-sbs) from the Instance API to the Block Storage API. diff --git a/pages/cockpit/faq.mdx b/pages/cockpit/faq.mdx new file mode 100644 index 0000000000..fc1c6b1deb --- /dev/null +++ b/pages/cockpit/faq.mdx @@ -0,0 +1,100 @@ +--- +meta: + title: Cockpit FAQ + description: Discover Scaleway's Cockpit +content: + h1: Cockpit +dates: + validation: 2024-11-25 +category: observability +productIcon: CockpitProductIcon +--- + + + +## What is Cockpit? + +Cockpit is a monitoring and alerting solution designed for multi-source observability. Cockpit allows you to collect, store, and analyze metrics and logs from your infrastructure and applications, giving you insights into your system's performance and behavior. +Cockpits are scoped per [Project](/organizations-and-projects/concepts/#project). + +## How does Cockpit integrate with other Scaleway products? + +Cockpit integrates seamlessly with Scaleway’s ecosystem. It provides pre-built dashboards in Grafana, and alerts to monitor other Scaleway resources' performance. + +Refer to the [dedicated documentation page](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit) for the whole list of Scaleway resources integrated with Cockpit. + +## How am I billed for using Cockpit with my Scaleway data? + +Using Cockpit with your Scaleway data is free of charge. + +During the beta phase of the retention period edition feature, the retention period you set for your data - whether from [Scaleway resources integrated with Cockpit](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit) or custom data - will be free of charge. + +Additional costs apply for sending custom data to Cockpit. This means that you will be billed for sending **data from Scaleway resources that are not integrated with Cockpit**, or data from any other external resources. + +## How am I billed for using Cockpit with custom data? + +Custom data is any data that is external to Scaleway, or **data from Scaleway resources not integrated with Cockpit**. Refer to the [dedicated documentation page](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit) to find out which resources are integrated with Cockpit. + +During the beta of the retention period edition feature, the retention period you set for your custom data is free of charge. + +You will not be charged for **querying** custom data. + +Data ingestion is billed as follows: + +- Custom metrics are billed €0.15 per million samples of metrics ingested, per month. +- Custom logs are billed €0.35 per GB ingested, per month. +- Custom traces are billed €0.35 per GB ingested, per month. + +Scaleway applies volume discounts to bill custom metrics. This means that the monthly pricing for custom metrics will be calculated in levels. **Scaleway applies six levels of volume discounts.** + +| Levels | Range | Monthly pricing with volume discounts | +|--------------|----------------------------------------------|------------------------------------------| +| Level one | From 0 to 10 billion custom metrics | €0.15 per million samples | +| Level two | From 10 to 25 billion custom metrics | €0.13 per million samples | +| Level three | From 25 to 50 billion custom metrics | €0.12 per million samples | +| Level four | From 50 to 100 billion custom metrics | €0.11 per million samples | +| Level five | From 100 to 200 billion custom metrics | €0.10 per million samples | +| Level six | From 200 billion custom metrics and beyond | €0.08 per million samples | + + +Here is an example of how you would be billed for **sending 52 billion custom metrics samples per month**: + +Here is an example of how you would be billed for sending 52 billion custom metrics samples per month: +- 10 billion samples at €0.15 per million samples: €1.500 +- 15 billion samples at €0.13 per million samples: €1.950 +- 25 billion samples at €0.12 per million samples: €3.000 +- 2 billion samples at €0.11 per million samples: €220 + +**Total:** €6.650 per month with volume discounts instead of €7.800 without volume discounts. + +## Why are Cockpit pricing plans being deprecated? + +From January 1st 2025, Cockpit is transitioning away from fixed pricing plans to offer you more flexibility and granularity for managing data [retention](/cockpit/concepts/#retention). + +This change allows you to tailor retention settings to your specific needs. We hope to enhance your experience by providing more customizable options without immediate cost impact, as changing data retention period will be free during Beta. + +Find out [how to change data retention period](/cockpit/how-to/change-data-retention/) in the dedicated documentation. + +## How do I send my own data to my Cockpit? + +If you have set up an agent, you can send your data using our [dedicated documentation](/cockpit/how-to/send-metrics-logs-to-cockpit/). + + +If you have not set up an agent, check out our [documentation](/cockpit/how-to/send-metrics-with-grafana-alloy/) to find out how to +configure the Grafana Alloy agent, push your data, and visualize it in Grafana. + +## Which Scaleway products are integrated into Cockpit? + +Find out which Scaleway products are integrated into Cockpit in our [capabilities and limits documentation page](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit). + +Refer to our [documentation on understanding Cockpit usage and pricing](/cockpit/reference-content/understanding-cockpit-usage/) for more information on how to reduce extra costs. + + + Sending metrics and logs for Scaleway resources or personal data using an external path is a billable feature. In addition, any data that you push yourself is billed, even if you send data from Scaleway products. Refer to the [product pricing](https://www.scaleway.com/en/pricing/?tags=available,managedservices-observability-cockpit) for more information. + + +## Will my dashboards be impacted by the Cockpit regionalization? + +Soon, a new version of Cockpit will be released. In this version, the concept of **regionalization** will be introduced to offer you more flexibility and resilience for seamless monitoring. + +If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. diff --git a/pages/container-registry/faq.mdx b/pages/container-registry/faq.mdx new file mode 100644 index 0000000000..00cdacd7ae --- /dev/null +++ b/pages/container-registry/faq.mdx @@ -0,0 +1,39 @@ +--- +meta: + title: Container Registry FAQ + description: Discover Scaleway Container Registry. +content: + h1: Container Registry +dates: + validation: 2025-02-11 +category: containers +productIcon: RegistryProductIcon +--- + +## What is Scaleway Container Registry? + +Scaleway Container Registry is a fully managed mutualized Container Registry, designed to facilitate storing, managing, and deploying container images. It simplifies the development-to-production workflow as there is no need to operate its own Container Registry or worry about the underlying infrastructure. +You can store any docker container image on the Namespace and it is possible to set the visibility of each image towards your needs. It can either be private or public. +The Service is currently available in our `nl-ams` (Amsterdam, The Netherlands), `fr-par` (Paris, France), and `pl-waw` (Poland, Warsaw) Availability Zones. + +## How am I billed for Scaleway Container Registry? + +Scaleway Container Registry is billed based on stored images size, and outgoing data transfer. + +| | Stored Images | Outgoing data transfer | Incoming data transfert | +|----------------|-----------------|--------------------------------------------------|-------------------------| +| Private images | €0.027/GB/month | Inter-regional: €0.033/GB - Intra-regional: free | Free | +| Public images | Free up to 75GB | Inter-regional: free - Intra-regional: free | Free | + + +- Inter-regional traffic: AMS ↔ PAR, WAW ↔ PAR, or AMS ↔ WAW +- Intra-regional traffic: PAR ↔ PAR, WAW ↔ WAW, or AMS ↔ AMS + + +## Why do I get a message that the namespace is not available? + +Each namespace has a unique name in each Availability Zone. If the namespace's name is already taken, it will no longer be available. + +## Can I store multiple versions of an image? + +Yes, Scaleway Container Registry supports versioning and you can store as many versions of an image as you want. \ No newline at end of file diff --git a/pages/data-lab/faq.mdx b/pages/data-lab/faq.mdx new file mode 100644 index 0000000000..deed008c88 --- /dev/null +++ b/pages/data-lab/faq.mdx @@ -0,0 +1,69 @@ +--- +meta: + title: Distributed Data Lab FAQ + description: Discover Scaleway Distributed Data Lab powered by Apache Spark, and how to use it. +content: + h1: Distributed Data Lab +dates: + validation: 2025-02-18 +category: managed-services +productIcon: DistributedDataLabProductIcon +--- + +## General + +### What workloads is Distributed Data Lab suited for? + +Distributed Data Lab supports a range of workloads, including: + +- Complex analytics. +- Machine learning tasks. +- High-speed operations on large datasets. + +It offers scalable CPU and GPU instances with flexible node limits, and robust Apache Spark library support. + +### What is Apache Spark? + +Apache Spark is an open-source unified analytics engine designed for large-scale data processing. It provides an interface for programming entire clusters with implicit data parallelism and fault tolerance. Spark offers high-level APIs in Java, Scala, Python, and R, and an optimized engine that supports general execution graphs. + +### How does Apache Spark work? + +Apache Spark processes data in memory, which allows it to perform tasks up to 100 times faster than traditional disk-based processing frameworks like [Hadoop MapReduce](https://fr.wikipedia.org/wiki/MapReduce). It uses Resilient Distributed Datasets (RDDs) to store data across multiple nodes in a cluster and perform parallel operations on this data. + +### How am I billed for Distributed Data Lab? + +Distributed Data Lab is billed based on two factors: +- the main node configuration selected +- the worker node configuration selected, and the number of worker nodes in the cluster + +## Clusters + +### Can I upscale or downscale a Distributed Data Lab? + +Yes, you can upscale a Data Lab cluster to distribute your workloads across more worker nodes for faster processing. You can also scale it down to zero to reduce costs, while retaining your configuration and context. + +You can still access the notebook of a Data Lab cluster with zero worker nodes, but you cannot perform any calculations. You can resume the activity of your cluster by provisioning at least one worker node. + +### Can I run a Distributed Data Lab using GPUs? + +Yes, you can run your cluster on either CPUs or GPUs. Scaleway leverages Nvidia's [RAPIDS Accelerator For Apache Spark](https://www.nvidia.com/en-gb/deep-learning-ai/software/rapids/), an open-source suite of software libraries and APIs to execute end-to-end data science and analytics pipelines entirely on GPUs. This technology allows for significant acceleration of data processing tasks compared to CPU-based processing. + +## Storage + +### What data source options are available? + +Data Lab natively integrates with Scaleway Object Storage for reading and writing data, making it easy to process data directly from your buckets. Your buckets are accessible using the Scaleway console, or any other Amazon S3-compatible CLI tool. + +### Can I connect to S3 buckets from other cloud providers? + +Currently, connections are limited to Scaleway's Object Storage environment. + +## Notebook + +### What notebook is included with Dedicated Data Labs? + +The service provides a JupyterLab notebook running on a dedicated CPU instance, fully integrated with the Apache Spark cluster for seamless data processing and calculations. + +### Can I connect my local JupyterLab to the Data Lab? + +Remote connections to a Data Lab cluster are currently not supported. diff --git a/pages/dedibox-scaleway/faq.mdx b/pages/dedibox-scaleway/faq.mdx new file mode 100644 index 0000000000..47e9aa4cd2 --- /dev/null +++ b/pages/dedibox-scaleway/faq.mdx @@ -0,0 +1,129 @@ +--- +meta: + title: Dedibox in the Scaleway console FAQ + description: Discover how to link your Dedibox servers to your Scaleway account. +content: + h1: Dedibox in the Scaleway console +dates: + validation: 2024-12-19 +category: bare-metal +productIcon: DedicatedServerProductIcon +--- + +## Account linking process + +### What is the account linking process for? + +The linking process is available to help you link your Dedibox (Online.net) and Scaleway accounts. Once the process is complete, you will be able to manage your Dedibox servers and associated services from both the [Scaleway](https://console.scaleway.com/) and [Online](https://console.online.net) consoles. + + + Linking your account is not possible, if you have + * a Web Hosting product + * a domain product + * a Dedirack product + * PayPal as a payment method + * outsourced services or if you are outsourcing your services + + +### What happens during the account linking process? + +During the process, your Dedibox account is linked to your Scaleway account so that you can find all your Dedibox servers in the [new console](https://console.scaleway.com). +If you are new to Scaleway, the process allows you to create a Scaleway account from your Dedibox information. You can then find all your Dedibox servers in the Scaleway console and enjoy a new experience. + +### What are the time constraints for linking accounts? + +Accounts are linked at the user's request. You can launch the process at any time from the link provided in the email invitation. + +### Is account linking free? + +Yes. The link of your Dedibox account to the Scaleway console is completely free of charge. + +### How long does the account linking process take? + +The account linking process takes about 5 minutes. This is the time required to review all of your account information. + +### To which Scaleway Organization can I link my Dedibox? + +If you already have a Scaleway account, you must be the Owner of the [Organization](/iam/concepts/#organization) you would like to link your Dedibox account to. You should also make sure that this Organization is based in the same country as your Dedibox account. If it is not the case, you should either create a new account, or [contact our support team](/account/how-to/open-a-support-ticket/) to change the country. + +## Functional coverage and console usage + +### What is the current functional coverage of Dedibox in the Scaleway console? + +| CATEGORIES | FEATURES | DESCRIPTION | AVAILABILITY | +|------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------|--------------| +| **SERVER MANAGEMENT** | Server list | Access the list of all your Dedibox servers | Available | +| | Server overview | Access information about one of your Dedibox servers (inc. network, service level & options, back-up, customization, logs) | Available | +| | Server actions | Perform actions on your Dedibox servers (inc. installation, KVM access, reboot, reboot in rescue, RAID configuration) | Available | +| | Server order | Order new Dedibox servers | Available | +| **NETWORK MANAGEMENT** | IPv6 | Order and configure your IPv6 block (inc. /56 & /64 subnets configuration) | Available | +| | Failover IP | Order and configure your failover IP addresses. Edit your failover IP assignation. | Available | +| | RPN | Create, list and manage all your RPN groups (V1 and V2) | Available | +| **BILLING** | Payment method Management (SEPA, CB) | Manage your Scaleway payment methods (SEPA, CB) in one single place | Available | +| | Invoice consultation | Consult your invoices for your Dedibox servers or services | Available | +| | Payment management | Pay for your Scaleway products with one default payment method | Available | + +### Will the new console replace the current one? + +Some operations are not yet available in the Scaleway console, but you will soon be able to do everything you need. In the meantime, the Dedibox console and all the Dedibox server management features remain available after the account link. + +### Can I still use the Dedibox console after the upgrade? + +Yes, you can continue to use the Dedibox console to manage all other Online.net services, as well as your Dedibox servers. + +### When exactly will the Dedibox console (console.online.net) stop being available? + +The current Dedibox console will remain accessible. + +## Billing and payment information + +### What impact will linking accounts have on my billing? + +You will continue to receive separate invoices for each type of product, one for Scaleway Dedibox and one for Scaleway Cloud products. However, all invoices will be paid using the same payment method. + +Therefore, once you complete the linking process, verify whether the default payment method defined in the Scaleway console is the one you want to use to pay all your future invoices (Scaleway and Dedibox). + +### Where can I find my Dedibox invoices, following the linking of my accounts? + +You will be able to find all your invoices in the Billing section of the Scaleway console (old Dedibox invoices as well as all new invoices). + +### Following the linking of my accounts, will I find my Dedibox payment methods in the Scaleway console? + +All your active Dedibox payment methods will be migrated to the new console during the linking process so that you will be able to manage them from the Scaleway console instead of the Dedibox console. You must choose a unique default payment method for your Scaleway services, which will be used to pay all your invoices (Scaleway Cloud and Scaleway Dedibox). + +The definition of your default payment method follows these rules: + * If you have SEPA as your preferred payment method in either your Dedibox or Scaleway Cloud account, this SEPA then becomes the default payment method for both your Scaleway Cloud and Scaleway Dedibox invoices. + * If you do not have a SEPA as your preferred payment method in either account, the preferred payment method of credit card remains the same for both Scaleway Cloud and Scaleway Dedibox invoices. + * If you use different credit cards for Dedibox and Scaleway Cloud, the card registered with Scaleway Cloud becomes the default payment method for both Scaleway Cloud and Scaleway Dedibox invoices. + + + Once account linking has been completed, you can modify your payment method in the [billing section](https://console.scaleway.com/billing/payment) of the Scaleway console. All existing default payment methods will be transferred to your linked account. + + +### What information is synchronized between the two consoles? + +We will synchronize your personal information (first name, last name, email address, phone number) and billing information (address, company name - if any, VAT number - if any, billing contact) between Scaleway and Dedibox. Once linked, you will be able to edit this information from the Scaleway console only. + + + Once you have linked your account, you can edit your payment information from the Scaleway console only. You will not be able to edit the payment information from the Dedibox console anymore. + + +## Future login and API + +### Will I have a single login in the future? + +In the future, you may only need to use your Scaleway login information to connect to the Scaleway console and manage all your Scaleway products. + +### Will the current Dedibox API system continue to work? + +Yes, the API system is not impacted by account linking. + +## Promotions and support + +### What are the terms of the voucher offered for the migration? + +The first customers to follow the linking process will be granted a discount of €100. This discount is directly applied to the Scaleway account and is valid for six months following the linking process. It is available on Scaleway cloud services ordered through the Scaleway console and does not include Dedibox and Elastic Metal products. + +### Who can I ask if I have further questions? + +Find us on the [#dedibox-in-scaleway-console](https://scaleway-community.slack.com/archives/C03FZ1QQFAN) channel on [Slack](https://scaleway-community.slack.com/join/shared_invite/zt-19uuwgo5h-bofWNwE~jijt70lQkziQxg#/shared-invite/email/). \ No newline at end of file diff --git a/pages/dedibox/faq.mdx b/pages/dedibox/faq.mdx new file mode 100644 index 0000000000..ab1a0fca40 --- /dev/null +++ b/pages/dedibox/faq.mdx @@ -0,0 +1,156 @@ +--- +meta: + title: Dedibox FAQ + description: Discover Scaleway Dedibox dedicated servers. +content: + h1: Dedibox +dates: + validation: 2025-03-03 +category: bare-metal +productIcon: DediboxProductIcon +--- + +## Dedibox dedicated servers + +### Which dedicated server should I choose? +We offer five ranges of Dedibox servers: **Start**, **Pro**, **Core**, **Store**, and **GPU**. Check the [Dedibox website](https://www.scaleway.com/en/dedibox/) to find detailed information on their specifications and discover the one that best fits your needs. + +### How long does it take to deliver my dedicated server? +The delivery of Dedibox dedicated servers is ultra-fast: 2 minutes on average. Next, choose your operating system in our library or install your ISO image directly. Any configuration displayed on our website is available in stock for instant delivery. + +### Where are the Dedibox dedicated servers hosted? +All Dedibox servers and associated services are hosted in our Paris & Amsterdam data centers. We also have a Warsaw data center. + +### Is my data secure? +Scaleway does not have access to your data; however, you are responsible for your backups and the redundancy systems to be put in place to ensure continuity of service even in the event of hardware failure. + +### I need help, who can I talk to? +When choosing your servers for your use case, you can contact our solution advisors [here](https://www.scaleway.com/en/contact/). For technical assistance on the configuration and use of your servers, our experts are at your disposal. + +### What is your policy regarding IP addresses? +Public IPv4 addresses have become a rare and expensive resource. Each dedicated server is provided with a public IPv4 address at no extra cost. Additional addresses are available for an additional charge with the “IP Failover” option. + +### How is the price of my server calculated? +Our prices are updated daily based on demand, available stocks, and component and energy market prices. Some components, such as RAM memory and SSD disks, have high volatility. Do not worry, the price at the time of order is guaranteed for the first 12 months of your subscription. + +### How long is my server contract? +Your server operates on a monthly contract, with the billing cycle running from the first to the last day of each month. When placing an order, you will be billed pro rata for the current month, unless you pay via SEPA direct debit. In that case, your first invoice will be issued during your first complete month and include both the pro rata amount for the current month and the full amount for the following month. + + If you chose a commitment period during server creation, your contract will have a fixed duration of 12 or 36 months, depending on your selected option. + + +### What are Dedibox commitment plans? +A commitment plan allows you to commit to keeping your Dedibox for a period of 12 or 36 months. By choosing a commitment period, you benefit from lower monthly rent for your server and free setup, depending on the plan you choose. + +### Can I benefit from a commitment plan on a server I'm already renting? +No, commitment plans are available only for new subscriptions. + +### Will my server options also benefit from the discount? +No, the discount applies only to the Dedibox server. + +### Is there an automatic renewal of the commitment? +Yes, by default, your commitment is renewed automatically at the end of the commitment period. You can disable the automatic renewal in your server's options. + +### At the end of the commitment, what will the price for my Dedibox be? +At the end of the commitment, you will pay the standard price at the time of the subscription. Your commitment discount will no longer apply. + +### Can I terminate a Dedibox during the commitment period? +You can request termination at any time, but it will only be effective after the end of the commitment period. You will retain access to your server until the commitment period ends. + +### Can I change the commitment period? +No, the commitment period cannot be changed after the subscription. + +### Are there commitment plans for Elastic Metal or Dedibox VPS? +No, commitment plans are only available for eligible Dedibox dedicated servers. + +### How much does a Windows Server license cost? + +Windows Server 2019 and 2022 licenses are billed monthly (no prorating) based on the following factors: +- Number of physical CPUs +- Number of cores per CPU +- Operating System version: Standard or Datacenter + +**Important:** +Starting **February 1, 2025**, the price of Windows licenses for new and existing Dedibox customers will increase due to a price adjustment from Microsoft. + +Below is a comparison of the current and updated pricing for Windows licenses on Dedibox servers: + +| **License Type** | **Current Price per Core** | **New Price per Core (Feb 1, 2025)** | +|----------------------------|----------------------------|--------------------------------------| +| Windows Server Standard | €2.75 /month | €3.15 /month | +| Windows Server Datacenter | €17.88 /month | €21.00 /month | + +## Dedibox VPS + +### What is a Dedibox VPS? +A Dedibox VPS (Virtual Private Servers) is a virtualized server that provides users with the power and flexibility of a dedicated server within a shared hosting environment, offering full control at a fraction of the cost. + +### How does a Dedibox VPS work? +A Dedibox VPS works by partitioning a physical server into multiple isolated virtual environments, each functioning as an independent server with its own resources and configurations. + +### What are the benefits of using a Dedibox VPS? +* Enhanced reliability and performance compared to traditional shared hosting environments. +* Full root access and control over server configurations to tailor your environment to your needs. +* Each Dedibox VPS is an isolated environment for enhanced protection of your data and applications. + +### Who should use a Dedibox VPS? +Dedibox VPS are suitable for individuals, businesses, and developers seeking greater control, customization, and performance than traditional shared hosting can provide. +They are ideal for hosting websites, web applications, development environments, and more. + +### What ranges of Dedibox VPS are available? +Currently, we offer two ranges of Dedibox VPS: + * **Dedibox VPS START**: Ideal for smaller projects and development, offering 1 to 16 vCores, 1 to 32 GB RAM, and SATA SSD storage ranging from 10 GB to 320 GB. + * **Dedibox VPS PRO**: Designed for production workloads, with 1 to 16 vCores, 1 to 16 GB RAM, and NVMe storage ranging from 20 GB to 640 GB. + +### What are the available locations for Dedibox VPS? +Dedibox VPS are available in 60+ different locations worldwide, allowing you to deploy a Dedibox VPS as close as geographically possible to your user base. + +### What operating systems can I run on a Dedibox VPS? +We support various Linux distributions such as Ubuntu, CentOS, and Debian, providing flexibility for your specific requirements. + +### How do I manage my Dedibox VPS? +You can manage your Dedibox VPS from the Dedibox console for administrative tasks such as restarting or reinstalling. For advanced users who prefer command-line interaction, you have full access as the root user via SSH. + +### Is my Dedibox VPS compatible with the Dedibox ecosystem? +No, a Dedibox VPS is a standalone product and not compatible with the Dedibox ecosystem (RPN, Failovers IPs, Dedibackup, RPN-SAN, etc.). + +### Does my Dedibox VPS use shared resources or dedicated resources? +Dedibox VPS provide an isolated environment in which you can access shared resources of the host system. + +### Does my Dedibox VPS come with unlimited traffic? +Yes, but the bandwidth will be throttled beyond a certain amount of traffic (fair use). +The amount of unthrottled bandwidth included with the VPS depends on the server configuration. + +* DEDIBOX VPS START +| Product | Bandwidth (Mbps) | Fair use traffic (TB) | Throttle Mbps | +|-------------------------|---------------------|------------------|-------------------| +| VPS-START-XS | 100 | 1 TB | 2 | +| VPS-START-S | 150 | 2 TB | 2 | +| VPS-START-M | 200 | 3 TB | 5 | +| VPS-START-L | 300 | 4 TB | 5 | +| VPS-START-XL | 500 | 6 TB | 10 | +| VPS-START-XXL | 750 | 8 TB | 10 | + +* DEDIBOX VPS PRO +| Product | Bandwidth (Mbps) | Fair use traffic (TB) | Throttle Mbps | +|-------------------------|---------------------|------------------|-------------------| +| VPS-PRO-XS | 200 | 3 TB | 10 | +| VPS-PRO-S | 300 | 4 TB | 10 | +| VPS-PRO-M | 400 | 5 TB | 10 | +| VPS-PRO-L | 600 | 10 TB | 10 | +| VPS-PRO-XL | 800 | 15 TB | 10 | +| VPS-PRO-XXL | 1000 | 20 TB | 10 | + + +### What happens when I exceed my fair-use traffic? + +Your monthly fair-use traffic allowance includes all incoming and outgoing data. Each plan comes with a specified monthly data allocation. +If you exceed this limit, your connection speed will be reduced for the remainder of the billing cycle, in accordance with your plan's terms. +The speed of your connection will return to normal at the start of the next billing cycle when your data allocation resets. + +### How secure is a Dedibox VPS? +Each Dedibox VPS is isolated from other virtual servers on the same host, ensuring security. However, best security practices, including regular updates, strong passwords, and firewall configurations, are essential to enhance security further. + +### Are IP addresses for Dedibox VPS assigned statically? +IP addresses for Dedibox VPS are generally assigned statically. However, in rare cases, such as maintenance or replacement of a faulty host node, we may perform IP migrations, which can result in a change of IP address. +You can find your updated IP address in the Dedibox console. Please note that we do not currently notify users of such changes. You can contact our [support team](https://console.online.net/en/assistance/ticket) if you experience any issues. \ No newline at end of file diff --git a/pages/domains-and-dns/faq.mdx b/pages/domains-and-dns/faq.mdx new file mode 100644 index 0000000000..4116116c3d --- /dev/null +++ b/pages/domains-and-dns/faq.mdx @@ -0,0 +1,119 @@ +--- +meta: + title: Domains and DNS FAQ + description: From understanding DNS features to managing domain ownership, explore everything you need to know about domains and DNS zones with Domains and DNS. +content: + h1: Domains and DNS +tags: dns domain transfer extension +dates: + validation: 2024-12-19 +category: network +productIcon: DomainsProductIcon +--- + +## What is the DNS feature? + +Domain Name System (DNS) is a domain name management service that allows you to avoid browsing the internet only by IP. It provides human management of addressable resources on the internet. It is possible to create zones and records to manage a subdomain (e.g. `test.mydomain.com`) or specific configurations such as the MX of your mailbox. + +## What are the prerequisites to register a Domain name? + +To register a domain name you need: + +- a valid email address to make sure your information is updated during the whole period of registration +- a valid debit or credit card + +## Which rights are associated with the owner of a domain? + +The owner of a domain can update all the technical and administrative parameters referring to their domain name. You must [contact the support team](https://console.scaleway.com/support/tickets/create) if you want to modify the contacts you have entered. + +## What are the responsibilities of the domain name holders? + +The domain name holders must: + +- comply with the terms and conditions posted by their registrar, including applicable policies from their registrar, the registry, and ICANN +- review their registrar's current registration agreement, along with any updates +- assume sole responsibility for the registration and use of their domain name +- provide accurate information for publication in directories such as `WHOIS` and promptly update this to reflect any changes +- respond to inquiries from their registrar within fifteen (15) days, and keep their registrar account data and payment information up-to-date + +## Can I edit my domain name once it has been registered? + +It is not possible to change the domain name once the registration has been carried out. However, you can make a new registration with another domain name. + +## How long is the registration of a domain name valid for? + +Your registration is valid for a minimum of one year. You can reserve certain extensions for up to 10 years. + +## What do I do if the domain name I want to register is not available? + +If a domain name is unavailable, you can test a light variation of the desired name. You can also add a letter or a number. If you still encounter any issues, you can contact the [support team](https://console.scaleway.com/support/tickets). + +## Is domain renewal automatic? + +No. You must renew your domain name before the end of its validity period. +If you enable the [auto-renew feature](/domains-and-dns/how-to/configure-autorenew/), your domain name will be automatically renewed. + + + You will be notified by email 60 days before your domain name expires. Your domain name will then switch to the `late renew` status. + + +## Why has my current registrar opposed my request for a change of domain name registrar? + +The reasons for refusal are generally the following: + +- the domain name is locked with the status `client transfer prohibited`: the applicant forgot to remove the padlock from the registrar before requesting the transfer of the domain name + +- the domain name was registered for less than 60 days + +- the domain name was the subject of a previous transfer for less than 60 days + +- the domain name has expired + +- the domain name is the subject of a dispute in progress (UDRP procedure, for example) + +- the owner notified their refusal to transfer the domain name to another registrar + +## How long does a domain name transfer take? + +A domain name transfer usually takes from 1 to 10 days. However, a domain name transfer can take longer. + +## Are there transfer limitations? + +All domains registered through [BookMyName](https://www.bookmyname.com/) or [Online](https://console.online.net/en/login) cannot yet be transferred to Scaleway Domains and DNS. + +## What are the requirements to use EU, FR, and NL extensions? + +To be able to use the `.eu` extension, you need to be a citizen of a country in the European Union. + +To be able to use the `.fr` extension, you need to have an address in the European Economic Area and/or Switzerland. + +To be able to use the `.nl` extension, you need to fill in the **legal form** and **legal form registration number** fields. In addition, the technical and administrative contacts **must be a natural person**. + +## Why are some domain extensions more expensive than others? + +Due to a significant increase in domain pricing across various registrars, Scaleway domains will also experience a price increase. + +Find out more about pricing increases in the [Scaleway changelog](/changelog/?product=domains-and-dns). + + +## Why was my domain registration refused? + +Your domain registration may have been be refused if you do not meet the conditions set by the registry. + +For instance, if your extension is `.fr` you must have an address in the European Economic Area and/or Switzerland otherwise, your domain registration will be declined. + +## Is it possible to automate the management of DNS service records? + +Yes, the DNS service can be automated with the [Domains and DNS API](https://www.scaleway.com/en/developers/api/domains-and-dns/). It is possible to use the API in a CI/CD environment to create test environments, for example. + +## Is the DNS service IPv6 compatible? + +Yes, the DNS service is compatible with IPv6. + +## What are Scaleway's DNS name servers? + +Scaleway's DNS servers are: + +- `ns0.dom.scw.cloud` + +- `ns1.dom.scw.cloud` \ No newline at end of file diff --git a/pages/edge-services/faq.mdx b/pages/edge-services/faq.mdx new file mode 100644 index 0000000000..1848c47200 --- /dev/null +++ b/pages/edge-services/faq.mdx @@ -0,0 +1,33 @@ +--- +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 +dates: + validation: 2025-02-04 +category: network +productIcon: EdgeServicesProductIcon +--- + +## What is Edge Services? + +Edge Services is a feature for Scaleway Load Balancers and Object Storage buckets. Creating Edge Services [pipelines](/edge-services/concepts/#pipeline) towards your Load Balancers or Object Storage buckets provides: +-A [caching service](/edge-services/how-to/configure-cache/) to improve performance by reducing load on your [origin](/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 and secured with an SSL/TLS certificate. + + + +## Which products are compatible with Edge Services? + +Edge Services is currently available for Scaleway [Object Storage buckets](/object-storage/) and Scaleway [Load Balancers](/load-balancer/). + +## How much does Edge Services cost? + +On November 1st 2024, Edge Services transitioned from Public Beta to General Availability, and became billable. Pricing is based on [monthly subscription plans](https://www.scaleway.com/en/pricing/network/#edge-services): three plans are available, each allowing a fixed number of pipelines, and a certain amount of egress cache data. Any consumption that exceeds the limits of the plan is charged at an additional rate. + +Find out more about how Edge Service subscription plans and billing works on our [Understanding Edge Services pricing](/edge-services/reference-content/understanding-pricing/) page. + +## 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](/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/). \ No newline at end of file diff --git a/pages/elastic-metal/faq.mdx b/pages/elastic-metal/faq.mdx new file mode 100644 index 0000000000..425b3d9013 --- /dev/null +++ b/pages/elastic-metal/faq.mdx @@ -0,0 +1,202 @@ +--- +meta: + title: Elastic Metal FAQ + description: Explore Scaleway Elastic Metal servers, pioneering 100% cloud bare metal solutions. Learn about billing, server ranges, installation guides, and more. +content: + h1: Elastic Metal +hero: assets/elasticmetal.webp +dates: + validation: 2024-12-19 +category: bare-metal +productIcon: ElasticMetalProductIcon +--- + +## General information + +### What are Elastic Metal servers? + +An Elastic Metal server is a 100%-dedicated machine without a hypervisor, available in a cloud ecosystem. + +With Elastic Metal, you get full control of the resources and applications installed on the server, for maximum performance and security. + +Several operating systems are available for [automatic installation from the console](/elastic-metal/how-to/install-server/). + +### What is the difference between an Elastic Metal server and a Dedibox dedicated server? + +Dedibox is our historical dedicated server range, available only with monthly billing. + +Elastic Metal is an improved and more flexible offer, giving all the same features with flexible hourly billing, cloud integration, and more. + +### What are the differences between the available Elastic Metal server ranges? + +We provide several ranges of Elastic Metal servers, each designed to meet the requirements of your different workloads: + + * **Aluminium**: Fully dedicated Elastic Metal servers with native cloud integration, at the best price. + * **Beryllium**: Powerful, balanced, and reliable servers for production-grade applications. + * **Lithium**: Designed with huge Local Storage to store, back up, and protect your data. + * **Iridium**: Powerful dedicated servers designed to handle high-workload applications. + +### Which regions and Availability Zones offer Elastic Metal servers? + +Elastic Metal servers are available in the following regions and Availability Zones: + +* Amsterdam, The Netherlands (`AMS-1` and `AMS-2`) +* Paris, France (`PAR-1` and `PAR-2`) +* Warsaw, Poland (`WAW-2` and `WAW-3`) + +## Billing and pricing + +### How am I billed for Elastic Metal servers? + +You can choose hourly or monthly billing. +In both cases, you will receive an invoice at the end of each month corresponding to your resource consumption for that period, calculated based on the number of hours allocated to your account and your billing choice. + +To benefit from more advantageous monthly pricing, you will pay a one-time commitment fee equivalent to one month of subscription. In addition, if you rent an Elastic Metal server for more than 12 months, you will be rewarded with Scaleway credits equivalent to your commitment fee. + +### Which Elastic Metal billing option should I choose, hourly or monthly? + +An hourly-billed dedicated server allows you to take advantage of both the flexibility of the public cloud and the power of a dedicated server. This can be ideal for use during periods of peak activity or one-off events. + +If you need a powerful server on a frequent and continual basis, you may find that monthly billing is more suitable for you. In this case, you will get a more advantageous price, while still benefiting from full integration with our public cloud to manage sporadic exceptional workloads or peak periods. + + + You must [create](/elastic-metal/how-to/create-server/) and [reinstall](/elastic-metal/how-to/reinstall-server/) a new Elastic Metal server to switch from monthly to hourly billing, and vice versa. + + +### What is the loyalty reward and how do I use it? + +The loyalty reward is a cloud service voucher in the sum of the commitment fees paid at the time of your Elastic Metal server purchase. + +You are entitled to it if you have a monthly Elastic Metal server that is up and running for 12 consecutive months without termination. You have the right to one voucher per physical server, and it can be used for all Scaleway Cloud products, apart from Elastic Metal servers and their associated options. + +The loyalty reward voucher is valid for six months and automatically added to your Scaleway account. [Learn more about how to get and use a loyalty reward](/elastic-metal/how-to/get-use-loyalty-reward/). + +### Can I get a refund of the commitment fees after 12 months of keeping the server? + +It is not possible to get a cash refund of the engagement fees. + +### How much does a Windows Server license cost? + +Windows Server 2019 and 2022 licenses are billed monthly (no prorating) based on the following factors: +- Number of physical CPUs +- Number of cores per CPU +- Operating System version: Standard or Datacenter + +**Important:** +Starting **February 1, 2025**, the price of Windows licenses for new and existing Elastic Metal customers will increase due to a price adjustment from Microsoft. + +Below is a comparison of the current and updated pricing for Windows licenses on Elastic Metal servers: + +| **License Type** | **Current Price per Core** | **New Price per Core (Feb 1, 2025)** | +|----------------------------|----------------------------|--------------------------------------| +| Windows Server Standard | €2.75 /month | €3.15 /month | +| Windows Server Datacenter | €17.88 /month | €21.00 /month | + + + Licenses are billed monthly, even if your Elastic Metal server is billed on an hourly or monthly basis. + + +## Technical questions + +### How long does it take to boot an Elastic Metal server? + +An Elastic Metal server is delivered to your account within a few minutes. You can then launch the server installation, which can take up to one hour. + +### Which OSes can be installed on Elastic Metal servers? + +We provide a range of Linux and Windows Server distributions for automatic installation from the Scaleway console. + +### Can I adjust the bandwidth for my Elastic Metal Server? + +Yes, you have the flexibility to modify the bandwidth available for your Elastic Metal server according to your requirements. +Each Elastic Metal dedicated server comes with an allocated bandwidth allowance. However, you can easily increase or decrease this bandwidth through your Scaleway console at any time. + +Scaleway offers high-performance bandwidth options of up to 25Gbps per server, all of which include unlimited traffic. +For step-by-step instructions on how to modify the available bandwidth for your Elastic Metal server, refer to our documentation on [how to modify the available bandwidth for an Elastic Metal server](/elastic-metal/how-to/adjust-available-bandwidth/). + + + The maximum available bandwidth for each Elastic Metal server is determined by the physical conditions of the network card installed, as specified in the offer description. + + +### How can I reinstall an Elastic Metal server? + +You can reinstall an Elastic Metal server with a few clicks at any time, [directly from your Scaleway console](/elastic-metal/how-to/install-server/). + +### How do I back up an Elastic Metal server? + +Elastic Metal servers must be backed up differently from Instances, which have the snapshot feature. + +The first level is to back up your Elastic Metal server's data and configuration. This can be done by exporting it to an [Object Storage bucket](/object-storage/quickstart/). You can check our tutorial on [backing up servers to Object Storage](/tutorials/backup-dedicated-server-s3-duplicity/) for more information. + +The security and redundancy of your data can also be ensured by a cluster configuration of your application. + +If you need a backup system, you can refer to the documentation for your OS, such as the [information on snapshots](https://wiki.ubuntu.com/Lvm). + +### Can I change the BIOS settings or update the firmware of an Elastic Metal server? + +Users are not allowed to change the BIOS settings of Elastic Metal servers, as modifications may lead to system malfunction and data unavailability. + +Firmware updates are managed by Scaleway. If your Elastic Metal server requires a firmware upgrade, it will be installed automatically upon reboot of the server. + +### What happens to the data stored on the disks when I delete the server? + +After deletion, all data present on the disks of an Elastic Metal server is wiped using a secure algorithm. + +Make sure to back up your data before deleting a server, as it cannot be recovered once the disks are wiped. + +### How many flexible IPs can I have per Elastic Metal server? + +You can have up to 64 [flexible IPs](/elastic-metal/how-to/order-flexible-ip/) per Elastic Metal server. + +### Can I move flexible IPs between my Elastic Metal servers and Instances? + +It is not currently possible to move your flexible IPs between different products. Each set of flexible IPs you hold is independent and usable only with the specific product. An Instance's flexible IPs cannot be attached to an Elastic Metal server and vice versa. + +### Can I have IPv6 connectivity for my Elastic Metal servers? + +Yes, you can order flexible IPv6 for your Elastic Metal server. These can be attributed to any of your Elastic Metal servers in the same way as flexible IPv4s. + +Each failover IP consists of a `/64` IPv6 subnet (18,446,744,073,709,551,616 IPv6s). + + + When you configure the reverse DNS of a failover IPv6, the configuration is applied only to the first IP of each block (`XXXX:0`). + + +### Do you provide an IPv6 address by default with Elastic Metal? + +Yes, Elastic Metal servers are delivered with an IPv6 address (/128) pre-configured. + +### Can I attach Block Storage volumes to my Elastic Metal server? + +Elastic Metal is not currently compatible with Block Storage, but this functionality is planned for the future. + +## Windows Server specific questions + +### Is Windows available on Elastic Metal? + +Yes. Monthly Windows licenses are available, in French only, for Elastic Metal servers. + +You must order a server from the list of Elastic Metal servers compatible with Microsoft Windows Server. Then you can choose the version of Windows Server to install in one click from our console. + + +### Why are there different versions of Microsoft Windows Server? + +Windows Server license comes in 2 versions, Standard and Datacenter, each at a different price. The availability of certain features, such as roles, depends on the version you choose. + +You can find more information about the various features and limitations of each version on the [Microsoft website](https://learn.microsoft.com/en-us/windows-server/get-started/editions-comparison-windows-server-2019?tabs=full-comparison). + + +### Can I transfer the monthly license to another server? + +Licenses delivered with an Elastic Metal server are only valid on Scaleway's Elastic Metal servers, and cannot be recovered for external use. + +Each Windows installation implies the invoicing of a new license, except when reinstalling an Elastic Metal server where it was already previously installed. + +### How can I install Hyper-V on Windows Server? + +After installing the OS, you can manually enable Hyper-V roles from the Roles and Features Wizard. + +### How many virtual machines can I install under Hyper-V? + +Hyper-V is a hypervisor for hosting virtual machines. The Standard version of Microsoft Server allows you to install 2 virtual machines per host (per Elastic Metal server). The number of virtual machines (VM) on the Datacenter version is unlimited. + diff --git a/pages/environmental-footprint/faq.mdx b/pages/environmental-footprint/faq.mdx new file mode 100644 index 0000000000..ba1fe07ad3 --- /dev/null +++ b/pages/environmental-footprint/faq.mdx @@ -0,0 +1,23 @@ +--- +meta: + title: Environmental Footprint FAQ + description: Get answers to the most frequently asked questions about Scaleway Environmental Footprint calculator. +content: + h1: Environmental Footprint +dates: + validation: 2025-01-29 +category: environmental-footprint +productIcon: EnvironmentalFootprintCalculatorProductIcon +--- + +## How is my environmental footprint calculated? + +Our calculation methodology was developed in collaboration with the green IT specialist consultancy firm [IJO](https://ijo.tech/index.html), ensuring a rigorous and expert-validated approach to assessing environmental impact accurately and transparently. + +Our methodology is based on the ADEME (French Government Agency for Ecological Transition) [Product Category Rules (PCR) for Datacenter and Cloud services](https://librairie.ademe.fr/produire-autremenqt6105-methodological-standard-for-the-environmental-assessment-of-datacenter-it-hosting-services-and-cloud-services.html), which provide a standardized framework for calculating and reporting the environmental impact of data centers and cloud services. These rules are designed to ensure consistency, transparency, and comparability in the assessment of environmental footprints across the industry. + +Refer to the [environmental footprint calculation breakdown](/environmental-footprint/additional-content/environmental-footprint-calculator) for a detailed report of how our calculations are made and what data is used. + +## Why does my environmental impact data vary over time? + +Your environmental impact data may change due to updates in the energy mix of data center locations, adjustments to PUE, or enhancements in our calculation methodology. These updates ensure that your reports reflect the most accurate and up-to-date information, enhancing transparency and trust in our reporting system. \ No newline at end of file diff --git a/pages/generative-apis/faq.mdx b/pages/generative-apis/faq.mdx new file mode 100644 index 0000000000..c24f8ff94f --- /dev/null +++ b/pages/generative-apis/faq.mdx @@ -0,0 +1,71 @@ +--- +meta: + title: Generative APIs FAQ + description: Get answers to the most frequently asked questions about Scaleway Generative APIs. +content: + h1: Generative APIs +dates: + validation: 2025-02-12 +category: ai-data +productIcon: GenerativeApiProductIcon +--- + +### What are Scaleway Generative APIs? +Scaleway's Generative APIs provide access to pre-configured, serverless endpoints of leading AI models, hosted in European data centers. This allows you to integrate advanced AI capabilities into your applications without managing underlying infrastructure. + +## Which models are supported by Generative APIs? +Our Generative APIs support a range of popular models, including: +- Chat / Text Generation models: Refer to our dedicated [documentation](/generative-apis/reference-content/supported-models/#chat-models) for a list of supported chat models. +- Vision models: Refer to our dedicated [documentation](/generative-apis/reference-content/supported-models/#vision-models) for a list of supported vision models. +- Embedding models: Refer to our dedicated [documentation](/generative-apis/reference-content/supported-models/#embedding-models) for a list of supported embedding models. + +## How does the free tier work? +The free tier allows you to process up to 1,000,000 tokens without incurring any costs. After reaching this limit, you will be charged per million tokens processed. Free tier usage is calculated by adding all input and output tokens consumed from all models used. +For more information, refer to our [pricing page](https://www.scaleway.com/en/pricing/model-as-a-service/#generative-apis). + +## How can I monitor my token consumption? +You can see your token consumption in [Scaleway Cockpit](/cockpit/). You can access it from the Scaleway console under the [Metrics tab](https://console.scaleway.com/generative-api/metrics). +Note that: +- Cockpits are isolated by Projects, hence you first need to select the right project in the Scaleway console before accessing Cockpit to see your token consumption for this Project (you can see the `project_id` in the Cockpit URL: `https://{project_id}.dashboard.obs.fr-par.scw.cloud/`. +- Cockpit graphs can take up to 1 hour to update token consumption, see [Troubleshooting](https://www.scaleway.com/en/docs/generative-apis/troubleshooting/fixing-common-issues/#tokens-consumption-is-not-displayed-in-cockpit-metrics) for further details. + +## Can I configure a maximum billing threshold? +Currently, you cannot configure a specific threshold after which your usage will blocked. However: +- You can [configure billing alerts](/billing/how-to/use-billing-alerts/) to ensure you are warned when you hit specific budget thresholds. +- Your total billing remains limited by the amount of tokens you can consume within [rate limits](/generative-apis/reference-content/rate-limits/). +- If you want to ensure fixed billing, you can use [Managed Inference](https://www.scaleway.com/en/inference/), which provides the same set of OpenAI-compatible APIs and a wider range of models. + +## How can I access and use the Generative APIs? +Access is open to all Scaleway customers. You can start by using the Generative APIs Playground in the Scaleway console to experiment with different models. For integration into applications, you can use the OpenAI-compatible APIs provided by Scaleway. Detailed instructions are available in our [Quickstart guide](/generative-apis/quickstart/). + +## Where are the inference servers located? +All models are currently hosted in a secure data center located in Paris, France, operated by [OPCORE](https://www.opcore.com/). This ensures low latency for European users and compliance with European data privacy regulations. + +## Where can I find the privacy policy regarding Generative APIs? +You can find the privacy policy applicable to all use of Generative APIs [here](/generative-apis/reference-content/data-privacy/). + +## Can I use OpenAI libraries and APIs with Scaleway's Generative APIs? +Yes, Scaleway's Generative APIs are designed to be compatible with OpenAI libraries and SDKs, including the OpenAI Python client library and LangChain SDKs. This allows for seamless integration with existing workflows. + +## What is the difference between Generative APIs and Managed Inference? +- **Generative APIs**: A serverless service providing access to pre-configured AI models via API, billed per token usage. +- **Managed Inference**: Allows deployment of curated or custom models with chosen quantization and instances, offering predictable throughput and enhanced security features like private network isolation and access control. Managed Inference is billed by hourly usage, whether provisioned capacity is receiving traffic or not. + +## How do I get started with Generative APIs? +To get started, explore the [Generative APIs Playground](/generative-apis/quickstart/#start-with-the-generative-apis-playground) in the Scaleway console. For application integration, refer to our [Quickstart guide](/generative-apis/quickstart/), which provides step-by-step instructions on accessing, configuring, and using a Generative APIs endpoint. + +## Are there any rate limits for API usage? +Yes, API rate limits define the maximum number of requests a user can make within a specific time frame to ensure fair access and resource allocation between users. If you require increased rate limits (by a factor from 2 to 5 times), you can request them by [creating a ticket](https://console.scaleway.com/support/tickets/create). If you require even higher rate limits, especially to absorb infrequent peak loads, we recommend using [Managed Inference](https://console.scaleway.com/inference/deployments) instead with dedicated provisioned capacity. +Refer to our dedicated [documentation](/generative-apis/reference-content/rate-limits/) for more information on rate limits. + +## What is the model lifecycle for Generative APIs? +Scaleway is dedicated to updating and offering the latest versions of generative AI models, ensuring improvements in capabilities, accuracy, and safety. As new versions of models are introduced, you can explore them through the Scaleway console. Learn more in our dedicated [documentation](/generative-apis/reference-content/model-lifecycle/). + +## What are the SLAs applicable to Generative APIs? +We are currently working on defining our SLAs for Generative APIs. We will provide more information on this topic soon. + +## What are the performance guarantees (vs Managed Inference)? +We are currently working on defining our performance guarantees for Generative APIs. We will provide more information on this topic soon. + +## Do model licenses apply when using Generative APIs? +Yes, you need to comply with model licenses when using Generative APIs. Applicable licenses are available for [each model in our documentation](/generative-apis/reference-content/supported-models/#vision-models) and in Console Playground. diff --git a/pages/iam/faq.mdx b/pages/iam/faq.mdx new file mode 100644 index 0000000000..1ac9f59bf7 --- /dev/null +++ b/pages/iam/faq.mdx @@ -0,0 +1,52 @@ +--- +meta: + title: Identity and Access Management FAQ + description: Discover Scaleway's Identity and Access Management system. +content: + h1: Identity and Access Management +dates: + validation: 2024-09-24 +category: identity-and-access-management +productIcon: IamProductIcon +--- + +## Why do I need Identity and Access Management (IAM) features? +Securing access to your Scaleway account and resources is essential. Not all users, programs, and scripts should have access to all aspects of your Organization. There are many risks that can affect your Organization: credentials can get leaked, or obtained through malicious activity, and some undesired actions may be performed accidentally. + +IAM enables you to reduce these risks, and ensures that users in your Organization have access only to the resources they need. + +## Do I have to pay for IAM? +No. IAM is free and available to all Scaleway users. + +## Can I manage access at the resource level? +With IAM you can manage access for each Scaleway product, but at the Project level only. Some products implement their own access with the possibility to manage access at the resource level, such as SSH keys for Elastic Metal, Instances, and Apple silicon. + +## Which products work with IAM? +IAM enables you to manage access control to all Scaleway products. + +You may decide yourself whether to leave these automatically-created IAM applications and policies in place, [edit the policies](/iam/how-to/manage-policies/) to change permissions as required, or [generate new API keys for individual users](/iam/how-to/create-api-keys/) to define rights per-user via the creation of [new policies](/iam/how-to/create-policy/) for those users. + +## What are applications, and why do I need them? +Applications represent the identity of non-human users (such as a CI pipeline, a custom script, or a Terraform/OpenTofu provider). They are used to attach permissions and API keys to these operations - without being linked to specific users and their own rights. + +## Why do I have to select a preferred Project for Object Storage when I create an API key? +Due to limitations on the Object Storage API, API keys cannot perform Object Storage actions on several projects at the same time. Whenever you generate an API key that will be used on Object Storage, you must specify a preferred project where the API key will be able to perform actions. For more information, refer to the [Using IAM API keys with Object Storage](/iam/api-cli/using-api-key-object-storage/) documentation page. + +## Why and how should I rotate API keys? +API keys are credentials that grant access to resources in Scaleway Organizations. It is good practice to change your credentials on a regular basis to reduce the risk of security breaches. +To change your API key, you can generate a new one for your user and/or application and delete the old API key. + +## How many API keys can I create? +Each Organization can have up to 100 API keys. + +## How many IAM applications can I create? +Each Organization can have up to 100 IAM applications. + +## How many IAM groups can I create? +Each Organization can have up to 50 IAM groups. + +## How many IAM policies can I create? +Each Organization can have up to 50 IAM policies. + +## How many users can my Organization have? +Each Organization can have up to 50 users. \ No newline at end of file diff --git a/pages/instances/faq.mdx b/pages/instances/faq.mdx new file mode 100644 index 0000000000..1c88aa53be --- /dev/null +++ b/pages/instances/faq.mdx @@ -0,0 +1,326 @@ +--- +meta: + title: Instances FAQ + description: Discover Scaleway Instances and learn the difference between images and snapshots. +content: + h1: Instances +tags: instances, pricing, scaleway +dates: + validation: 2024-09-16 +category: compute +productIcon: InstanceProductIcon +--- + +## First steps + +### How can I create an image? + +You must [create at least one snapshot](/instances/how-to/create-a-snapshot/) before creating an image. + +See the documentation on [creating an image from scratch](/instances/how-to/create-image-from-snapshot/). + + +### What is ImageHub? + +Scaleway’s ImageHub is a catalog of system images that allow you to deploy, manage, and scale your favorite applications in seconds using image templates. + + +### What is a Marketplace image? + +A Marketplace is an online store that offers applications and services either built on or integrated with Scaleway’s offerings. + +Scaleway Marketplace provides information related to Instance images through variants named “local-images”. This information can include the Instance zone and identification, along with constraints regarding the applicable Instance types. + +When you want to create an Instance using an image in the Instance [API](https://www.scaleway.com/en/developers/api/instance/), you need to specify the local-image UUID matching the zone and Instance type constraints you fetch from the marketplace API. + +Use the [Marketplace API](https://www.scaleway.com/en/developers/api/marketplace/) to find the UUID of the image you want to use. Alternatively, you can use this CLI command: + + ``` + scw marketplace image get label=image_name + ``` + +Replace `image_name` with the name of your image or distribution, e.g.: `ubuntu_focal` or `debian_stretch`. + + +## Billing + +### How am I billed for my compute Instances? + +Instances are billed on a pay-as-you-go basis, and their prices are made up of three parts: + +* Instance price, +* Storage price (local or block), +* Flexible IP price. + +You can change the storage type and flexible IP after the Instance creation, which may affect the monthly billing. + + +### What are the prices for Instances? + + + * Prices indicated below do not include storage or IP. + * *All regions refer to `PAR1`, `PAR2`, `AMS1`, `AMS2`, `AMS3`, `WAW1`, `WAW2`, and `WAW3`. Some ranges might not be available in some of these regions. Check the [Instances availability guide](/account/reference-content/products-availability/) to discover where each Instance type is available. + * PAR3 prices are shown separately. + + +**Learning Instances** + +| Range | Price for all regions* | Price for PAR3 | +|-------------------|------------------------|-------------------| +| STARDUST1-S | €0.0046/hour | Not available | + +**Cost-Optimized Instances** + +| Range | Price for all regions* | Price for PAR3 | +|-------------------|------------------------|-------------------| +| COPARM1-2C-8G | €0.0426/hour | Not available | +| COPARM1-4C-16G | €0.0857/hour | Not available | +| COPARM1-8C-32G | €0.1724/hour | Not available | +| COPARM1-16C-64G | €0.3454/hour | Not available | +| COPARM1-32C-128G | €0.6935/hour | Not available | +| PRO2-XXS | €0.055/hour | €0.082/hour | +| PRO2-XS | €0.11/hour | €0.164/hour | +| PRO2-S | €0.219/hour | €0.329/hour | +| PRO2-M | €0.438/hour | €0.658/hour | +| PRO2-L | €0.877/hour | €1.315/hour | +| PLAY2-PICO | €0.014/hour | Not available | +| PLAY2-NANO | €0.027/hour | Not available | +| PLAY2-MICRO | €0.054/hour | Not available | +| GP1-XS | €0.1016/hour | Not available | +| GP1-S | €0.2042/hour | Not available | +| GP1-M | €0.4064/hour | Not available | +| GP1-L | €0.7894/hour | Not available | +| GP1-XL | €1.6714/hour | Not available | +| DEV1-S | €0.0137/hour | Not available | +| DEV1-M | €0.0256/hour | Not available | +| DEV1-L | €0.0495/hour | Not available | +| DEV1-XL | €0.0731/hour | Not available | + +**Production-Optimized Instances** + +| Range | Price for all regions* | Price for PAR3 | +|-------------------|------------------------|-------------------| +| POP2-2C-8G | €0.0735/hour | €0.1103/hour | +| POP2-4C-16G | €0.147/hour | €0.2205/hour | +| POP2-8C-32G | €0.29/hour | €0.435/hour | +| POP2-16C-64G | €0.59/hour | €0.885/hour | +| POP2-32C-128G | €1.18/hour | €1.77/hour | +| POP2-64C-256G | €2.35/hour | €3.525/hour | +| ENT1-XXS | €0.0735/hour | €0.11/hour | +| ENT1-XS | €0.147/hour | €0.221/hour | +| ENT1-S | €0.29/hour | €0.44/hour | +| ENT1-M | €0.59/hour | €0.88/hour | +| ENT1-L | €1.18/hour | €1.76/hour | +| ENT1-XL | €2.35/hour | €3.53/hour | +| ENT1-2XL | €3.53/hour | €5.29/hour | + +**Production-Optimized Instances with Windows Server operating system** + +| Range | Price for all regions* | Price for PAR3 | +|-------------------|------------------------|-------------------| +| POP2-2C-8G-WIN | €0.1823/hour | Not available | +| POP2-4C-16G-WIN | €0.3637/hour | Not available | +| POP2-8C-32G-WIN | €0.7233/hour | Not available | +| POP2-16C-64G-WIN | €1.4567/hour | Not available | +| POP2-32C-128-WIN | €2.9133/hour | Not available | + +**Workload-Optimized Instances** + +| Range | Price for all regions* | Price for PAR3 | +|-------------------|------------------------|-------------------| +| POP2-HM-2C-16G | €0.103/hour | €0.1545/hour | +| POP2-HM-4C-32G | €0.206/hour | €0.309/hour | +| POP2-HM-8C-64G | €0.412/hour | €0.618/hour | +| POP2-HM-16C-128G | €0.824/hour | €1.236/hour | +| POP2-HM-32C-256G | €1.648/hour | €2.472/hour | +| POP2-HM-64C-512G | €3.296/hour | €4.944/hour | +| POP2-HC-2C-4G | €0.0532/hour | €0.0798/hour | +| POP2-HC-4C-8G | €0.1064/hour | €0.1596/hour | +| POP2-HC-8C-16G | €0.2128/hour | €0.3192/hour | +| POP2-HC-16C-32G | €0.4256/hour | €0.6384/hour | +| POP2-HC-32C-64G | €0.8512/hour | €1.2768/hour | +| POP2-HC-64C-128G | €1.7024/hour | €2.5536/hour | +| POP2-HN-3 | €0.2554/hour | €0.3831/hour | +| POP2-HC-5 | €0.4524/hour | €0.6786/hour | +| POP2-HC-10 | €0.7264/hour | €1.0896/hour | + +**GPU Instances** + +| Range | Available in | Price | +|-------------------|------------------------|-------------------| +| H100-1-80G | PAR2, WAW2 | €2.52/hour¹ | +| H100-2-80G | PAR2, WAW2 | €5.04/hour¹ | +| L40S-1-48G | PAR2 | €1.40/hour¹ | +| L40S-2-48G | PAR2 | €2.80/hour¹ | +| L40S-4-48G | PAR2 | €5.60/hour¹ | +| L40S-8-48G | PAR2 | €11.20/hour¹ | +| L4-1-24G | PAR2, WAW2 | €0.75/hour¹ | +| L4-2-24G | PAR2, WAW2 | €1.50/hour¹ | +| L4-4-24G | PAR2, WAW2 | €3.00/hour¹ | +| L4-8-24G | PAR2, WAW2 | €6.00/hour¹ | +| RENDER-S | PAR1, PAR2 | €1.2426/hour | +| GPU-3070-S | PAR2 | €0.98/hour | + +¹= Billed per minute. + + + `PLAY2-PICO` and `DEV1-S` Instances are not available for [Kubernetes Kapsule](/kubernetes/quickstart/) due to RAM constraints. + + + +### What are the storage prices for Instances? + +| Product | All regions* | PAR3 | +|-------------------|------------------------|-------------------| +| Local Storage | €0.000044 GB/hour | Not available | +| Local snapshot | €0.000044 GB/hour | Not available | +| Block Storage | €0.000118 GB/hour | €0.000177 GB/hour | +| Block snapshot | €0.000044 GB/hour | €0.000066 GB/hour | + +*All regions include `PAR1`, `PAR2`, `AMS1`, `AMS2`, `AMS3`, `WAW1`, `WAW2`, and `WAW3`. `PAR3` prices are shown separately. + + +### How much does a flexible IP cost? + +Each Instance’s flexible IPv4 costs €0.004/hour, excl. VAT. + + +## Requirements and configurations + +### What is the minimum volume size my Instance can have? + +Your **system volume** must be at least 10 GB (125 GB for a GPU OS). + + +### What are the benefits of Dedicated Resources? + +Dedicated Resources give you a more stable experience for compute-demanding workloads, offering benefits such as: +* No “noisy neighbors”, +* No “burst effects”, +* Optimization for demanding and specific needs. + + +### Which options are available to power off my Instance? + +You can choose between four options when powering off your Instance: +* **Hard reboot**: Your Instance performs an electrical reboot and its data is kept on the Local Storage. We recommend always rebooting your Instance from the OS to avoid data corruption. +* **Power off**: All local volume data is transferred to a volume store, and your physical node is released back to the pool of available machines. The process duration depends on the amount of data archived. +* **Terminate**: Your Instance and its volumes are permanently deleted, but the attached flexible IP is preserved. +* **Standby**: Your Instance is stopped, but its data remains in the Local Storage. The Instance is still allocated to your account and can be restarted anytime. + + + The **standby mode** is charged as a running Instance. To avoid being billed for an unused Instance, power it off and ensure no IPs or allocated storage are left in use. + + + +### Why do I have to specify the CPU architecture when creating an image from a volume? + +ARM and x86-based Instances use a different instruction set, which requires specifying the architecture of the platform when creating an image from a volume. + +An ARM CPU uses a Reduced Instruction Set Computing [RISC](https://en.wikipedia.org/wiki/Reduced_instruction_set_computer) architecture, while an x86 CPU uses a Complex Instruction Set Computing [CISC](https://en.wikipedia.org/wiki/Complex_instruction_set_computer) architecture. + + +### Can I reach my Instance using a DNS hostname instead of its IP address? + +Yes, each Instance has two DNS hostnames associated with it: + +* A **public DNS hostname**: `.pub.instances.scw.cloud` +* A **private DNS hostname**: `.priv.instances.scw.cloud` + +Both are automatically updated when the Instance moves to another hypervisor, also changing its IPv6 and private IPv4. You can either use these hostnames directly or configure a [CNAME record](/dedibox-dns/concepts/#resource-records) linking to it. + + +### Can I migrate from a first-generation DEV1 Instance to a PLAY2 Instance? + +Yes. Refer to the [changing the commercial type of an Instance](/instances/api-cli/migrating-instances/) documentation. + + +### Can I migrate from my first-generation GP1 Instance to a PRO2 Instance? + +Yes. Refer to the [changing the commercial type of an Instance](/instances/api-cli/migrating-instances/) documentation. + + +### Can I boot my Instance from a Block Storage volume? + +Yes. When creating an Instance, you can select Block Storage as a system volume type. This allows you to reboot Instances from the block volume on which your OS is stored. + +You can also add a Block volume after creating an Instance and [choosing it as the boot volume](/instances/how-to/use-boot-modes/#how-to-change-the-boot-volume). + + +## Offers and availability + +### Which Linux distributions are available? + +We provide a wide range of [Linux distributions](https://www.scaleway.com/en/imagehub/) and InstantApps for Instances. + +You are free to bootstrap your own distribution. + + +### Which Linux distributions are available for Enterprise Instances? + +We provide a wide range of different Linux distributions and InstantApps for Instances. Refer to [Scaleway Instance OS images and InstantApps](/instances/reference-content/images-and-instantapps/) for a complete list of all available OSes and InstantApps. + +### What are the differences between ENT1 and POP2 Instances? + +Both ENT1 and POP2 Instance types share the following features: +- Identical hardware specifications +- Dedicated vCPU allocation +- Same pricing structure +- Accelerated booting process + +POP2 Instances provide CPU- and memory-optimized variants tailored to suit your workload requirements more effectively. The primary distinction between ENT1 and POP2 lies in [AMD Secure Encrypted Virtualization (SEV)](https://www.amd.com/fr/developer/sev.html), which is disabled for POP2 Instances. +By choosing POP2 Instances, you gain access to the latest features, such as the potential for live migration of Instances in the future, ensuring that your infrastructure remains aligned with evolving demands and technological advancements. +We recommend choosing POP2 Instances for most general workloads unless your specific workload requires features unique to ENT1 Instances. + +### Where are my Instances located? + +Scaleway offers different Instance ranges in all regions: Paris (France), Amsterdam (Netherlands), and Warsaw (Poland). + +Check the [Instances availability guide](/account/reference-content/products-availability/) to discover where each Instance type is available. + + +### What makes FR-PAR-2 a sustainable Region? + +`FR-PAR-2` is our sustainable and environmentally efficient Availability Zone (AZ) in Paris. + +This Region is entirely powered by renewable (hydraulic) energy. It also has an energetic footprint 30-40% lower than traditional data centers, thanks to the fact that it does not require air conditioning. Learn more about [our environmental commitment](https://www.scaleway.com/en/environmental-leadership/). + +## Network + +### Which Instances support IP Mobility? + +All ranges are compatible except for Instances using the “bootscript” feature, which has [reached its end of life (EOL)](/instances/troubleshooting/bootscript-eol/). + +### Can I enable “Routed IP” on my bootscript Instance? + +Instances using a bootscript are not compatible with Routed IPs. As the bootscript feature has reached its end of life (EOL), refer to [this tutorial](/instances/troubleshooting/bootscript-eol/) for migration instructions. + +### Can I revert the migration to “Routed IP”? + +No, the migration is permanent. + +### Will my Instance retain its public IPv4 after migration? + +Yes, your existing flexible public IPv4 will be converted to a routed one and will remain unchanged after migration. + +### Will my Instance retain its public IPv6 after migration? + +No, you will receive a new IPv6 after migration. + +### Will my Instance retain its private IPv4 after migration? + +No, the Scaleway private IP will be removed after the migration. + +### Will my Instance retain its VPC private IPv4 after migration? + +Yes, your VPC configuration will remain intact after migrating to a routed public IPv4. + +### Can a resource with a routed IP communicate with a resource with a NAT IP? + +Yes, they can communicate with each other using their public IPs. + +### Are there any limitations on IP autoconfiguration with the routed IP feature? + +Currently, additional routed IPv6 addresses do not autoconfigure on CentOS 7, 8, 9, Alma 8, 9, Rocky 8, 9 after migration. +Additional routed IPv4 and IPv6 addresses are not autoconfigured post-migration on Ubuntu 20.04 Focal. However, the primary IPv6 continues to be configured via SLAAC. These limitations are currently being addressed. +For detailed migration steps, refer to our [migration guide](/instances/how-to/migrate-routed-ips/). If you encounter connectivity issues with Ubuntu Focal Instances having multiple public IPs, consult our [troubleshooting guide](/instances/troubleshooting/fix-unreachable-focal-with-two-public-ips/). diff --git a/pages/iot-hub/faq.mdx b/pages/iot-hub/faq.mdx new file mode 100644 index 0000000000..b1c4e5ee79 --- /dev/null +++ b/pages/iot-hub/faq.mdx @@ -0,0 +1,92 @@ +--- +meta: + title: IoT Hub FAQ + description: Discover IoT Hub. +content: + h1: IoT Hub +dates: + validation: 2024-09-19 +category: managed-services +productIcon: IotProductIcon +--- + +## What is IoT Hub? + +IoT Hub is an IoT Platform as a service, it sits between connected devices and business-specific software. +Connected devices is the common name for all devices able to communicate over the internet (via Wi-Fi or 4G for instance). Connected devices are everywhere and can be used in a very broad range of applications. They can be smartphones, doorbells, light bulbs, refrigerators, cars, or TVs. Even a web browser can act as a connected device. + +[MQTT](https://mqtt.org/) is a lightweight and standardized publish/subscribe messaging transport protocol, designed for low-power usage, minimized data packets, and efficient distribution of information to one or many receivers. MQTT supports secure communication using TLS, and it is often used in IoT use cases. +All kinds of connected devices supporting the MQTT protocol can be connected to IoT Hub. MQTT through WebSockets is also supported. There is no limitation to specific vendors. +To learn more about what is a **Hub**, what is a **Device** and what is a **Route**, head over to our dedicated pages: + +* [Scaleway IoT Hub Overview](/iot-hub/quickstart/) +* [Hub](/iot-hub/reference-content/hubs/) +* [Device](/iot-hub/concepts/#device) +* [Route](/iot-hub/concepts/#routes) + +IoT Hub is only available at PAR1 (Paris, France) for the moment, other regions are planned. + +## What are the differences between the IoT Hub offers? + +There are two categories of IoT Hub offers: + +- **Stateful** provides full MQTT protocol support. +- **Stateless** provides a subset of MQTT protocol, generally speaking, the broker will not store any data on your behalf. This excludes the following MQTT messages: `Publish QoS 2`, `Subscribe QoS 1-2`, and `Retained messages`. `Persistent sessions` are also disabled. + +The following plans are currently available: + +- **Shared Plan (stateless)**: Devices are connected to a virtual broker that runs on a broker that is shared with other customers. Isolation is provided natively through the virtual broker mechanism. +- **Dedicated Plan (stateful)**: The broker is provided with dedicated CPU and memory resources, and you can use them as you wish. There is no limitation in the usage of the broker, everything is dedicated to you. +- **High Availability Plan (stateful)**: Two dedicated brokers, connected together, are provided to avoid service interruption if one of them fails. + +Each IoT Hub can be fully configured both from the management console, and a powerful [REST-API](https://www.scaleway.com/en/developers/api/iot/). + +## How secure is Scaleway IoT? +Scaleway IoT was designed with security in mind. Therefore, we implemented mutual authenticated TLS as the default authentication method. Each device needs its certificate+key pair to connect to the hub. +For devices not supporting secure connections, it is possible to also enable plaintext and server-only TLS authentication. + +## Can you detail what messages are? +MQTT is a Publish/Subscribe protocol (more info on the MQTT protocol here). +A message is the base unit for data transmission, it mainly contains: + +- a **topic**: the message information type identifier, such as fr/paris/weather. Devices that have subscribed to a topic will receive any message published to this topic. +- a **payload**: the actual data to be transmitted. Can be anything (temperature, image, notification, …) in any format (binary, xml, json, yaml, …) + +The Hub will provide an endpoint to connect the devices to and supports the following protocols: + +- `MQTTs`: `MQTT` over `TLS`, port `8883` +- `MQTT`: Plaintext `MQTT`, port `1883` +- `WSs-MQTT`: `MQTT` over Websocket over `TLS`, port `443` +- `WS-MQTT`: `MQTT` over Websocket, port `80`` + +The certificate authority for the TLS endpoints can be downloaded directly from the management console on your IoT Hub overview page. Note that TLS endpoints support both server-only and mutual authentication. + +## What is a Device ID and a Client ID? +A Device ID is a unique identifier for a device, in the format of a UUIDv4. It is used in calls to the IoT API to designate a specific device. +It must also be used as the MQTT Client Identifier field during connection. +If your software doesn't have a setting for Client ID, you can use the Device ID in the Username field instead. If no Device ID is found in the client ID field, but it is present in the Username field, the one used in the Username field will be used as the Client ID. + +## My software/library limits MQTT client ID to 23 characters, what should I do? +MQTT's specifications state The Server MUST allow ClientIds which are between 1 and 23 UTF-8 encoded bytes in length and The Server MAY allow ClientId's that contain more than 23 encoded bytes. Certain software/libraries restrict MQTT client ID field to 23 characters **maximum**. + +If you fall into this situation, you can type your Device ID in the MQTT Username field. If no valid Device ID is found in the MQTT client ID field, but one is found in the MQTT Username field, the one found in the Username field will be used as the client ID. + +## What is Deny/Allow insecure connection? + +Each Device has 2 different levels of security: + +- **Deny insecure connection**: in this mode, the only way for a Device to connect to a Hub is to use TLS with mutual authentication. +This is the strongest security setting, but it means the Device has to use a TLS certificate+key pair to connect and must know the Hub's certificate. +- **Allow insecure connection**: in this mode, a Device can connect using TLS with mutual authentication as before, but can also connect with TLS with server-side authentication only, and with no TLS at all. +This is the weakest security setting, but it is more flexible as the Device does not necessarily need to use certificates. + +## Why I do not receive any messages when subscribing to $SYS on "shared" Hubs? +When creating a “shared” Hub, your Devices connect to the same message broker as other customer's Devices. Getting a global view of the broker's activity (through `$SYS` topic subtree) is thus not relevant. + +On a dedicated or High-Availability Hub, you are the only customer on the message brokers, you can access this topic subtree. + +## How are messages billed? +Any MQTT message between the Hub and a Device will be billed. If the message is bigger than 4 kB, then each 4 kB chunk of the message will be counted billed as one message. For example, a 9 kB message will be billed as 3 messages. + +## What is the maximum message size? +The maximum size for a message is 4 MB. \ No newline at end of file diff --git a/pages/ipam/faq.mdx b/pages/ipam/faq.mdx new file mode 100644 index 0000000000..dc9f54b74f --- /dev/null +++ b/pages/ipam/faq.mdx @@ -0,0 +1,29 @@ +--- +meta: + title: IPAM + description: Discover Scaleway IPAM. +content: + h1: IPAM +dates: + validation: 2024-03-12 +category: network +productIcon: IpamProductIcon +--- + +## What is IPAM? + +**IP** **A**ddress **M**anager (IPAM) is Scaleway's tool for planning, tracking, and managing the IP address space of Scaleway products. It acts as a single source of truth for the IP addresses of Scaleway resources. Managed products, such as Databases and Load Balancer, are fully integrated into IPAM, and Private Networks' [DHCP server](/vpc/concepts/#dhcp) uses IPAM to assign private, static IP addresses to attached resources. + +## What can I do with IPAM? + +The public rollout of IPAM functionality is being carried out gradually. IPAM is now in General Availability, offering several different functionalities in the [Scaleway console](https://console.scaleway.com/ipam/), including viewing, tagging and filtering all your [private IP addresses](/ipam/concepts/#private-ip-address). You can also [reserve](/ipam/how-to/reserve-ip/) a private IP on one of your Private Networks and use it to attach a specified resource to the network. + +Management of public (flexible) IP addresses with IPAM is planned for the future. + +## Can I use a reserved private IP to attach any kind of managed resource to a Private Network? + +Currently, the Scaleway console only supports attachment with a reserved IP for Instances, Load Balancers, Public Gateways, and Elastic Metal servers. Support for Managed Databases will be coming soon. + +## Can I use a reserved private IP with a virtual machine hosted on my Elastic Metal server? + +Yes, this functionality is now available via the Scaleway console and API. See [how to reserve a private IP address with an attached MAC address](/ipam/how-to/reserve-ip/#how-to-reserve-a-private-ip-address-with-an-attached-mac-address). \ No newline at end of file diff --git a/pages/key-manager/faq.mdx b/pages/key-manager/faq.mdx new file mode 100644 index 0000000000..2f07b96fa6 --- /dev/null +++ b/pages/key-manager/faq.mdx @@ -0,0 +1,39 @@ +--- +meta: + title: Key Manager FAQ + description: Explore Scaleway Key Manager with our comprehensive FAQ covering security, key types, and more. +content: + h1: Key Manager +dates: + validation: 2025-02-06 +category: identity-and-access-management +productIcon: KmsProductIcon +--- + +## Why should you use Scaleway Key Manager? + +Key Manager helps organizations achieve secure key management by handling low-level and error-prone cryptographic details for you. + +## What features does Scaleway Key Manager include? + +Scaleway Key Manager allows you to create, manage, and use cryptographic keys in a centralized and secure service. All your cryptographic operations can be delegated to Key Manager, which in turn ensures the security and availability of your keys. + +## Which management methods can I use with Key Manager? + +Read our [dedicated documentation](/key-manager/reference-content/understanding-key-manager/#management-methods-you-can-use-with-key-manager) to find out about the management methods Key Manager provides. + +## Which cryptographic operations does Key Manager support? + +Key Manager supports the three following cryptographic operations: + +- [Encryption](/key-manager/concepts/#encryption) +- [Decryption](/key-manager/concepts/#decryption) +- [Data encryption key](/key-manager/concepts/#data-encryption-key-dek) generation + +## Which algorithms and key usage does Key Manager support? + + + +Keys with a [key usage](/key-manager/concepts/#key-usage) set to `symmetric_encryption` are **used to encrypt and decrypt data**. + +Refer to our [dedicated documentation](/key-manager/reference-content/understanding-key-manager/) to find out more about Key Manager. diff --git a/pages/kubernetes/faq.mdx b/pages/kubernetes/faq.mdx new file mode 100644 index 0000000000..d487230db6 --- /dev/null +++ b/pages/kubernetes/faq.mdx @@ -0,0 +1,96 @@ +--- +meta: + title: Kubernetes FAQ + description: Discover Scaleway Kubernetes Kapsule and Kosmos - a managed Kubernetes service. +content: + h1: Kubernetes +dates: + validation: 2024-09-16 +category: containers +productIcon: KubernetesProductIcon +--- + +## Kubernetes basics + +### What is Kubernetes? + +Kubernetes is an open-source platform that enables developers to manage their containerized applications. +With Scaleway, you can choose between Kubernetes Kapsule and Kosmos, and profit from a managed environment for creating, configuring, and running clusters of pre-configured machines. + +### What is a managed Kubernetes service? + +In the context of Scaleway, a managed Kubernetes service refers to the Kapsule and Kosmos products, with Scaleway handling the management and maintenance of the Kubernetes control plane, along with all the crucial core components required for the proper operation of the Kubernetes cluster. +For more information, refer to the [managed Kubernetes service definition](/kubernetes/reference-content/managed-kubernetes-service-definition/). + +### What is the difference between Kubernetes Kapsule and Kosmos? + +The primary difference between them is that **Kapsule** clusters are composed solely of Scaleway Instances. +On the other hand, a **Kosmos** cluster is a managed multi-cloud Kubernetes engine that allows you to connect Instances and virtual or dedicated servers from any cloud provider to a single managed Control-Plane. +For more information, refer to our dedicated documentation [Understanding differences between the Kapsule and Kosmos managed Kubernetes services](/kubernetes/reference-content/understanding-differences-kapsule-kosmos/). + +## Billing and pricing + +### How much am I billed for one cluster? + +The price of the service will depend on the resources you allocate to your cluster, such as the number and type of nodes, the use of load balancers and persistent volumes. +Nodes are billed at the same price as the underlying Compute Instances. +The Kubernetes control plane is provided without additional costs. + +### How much am I billed if I have enabled the autoscaling feature? + +If you enable autoscaling, you will be able to define a minimum and a maximum number of machines that are available for your pool. +If the workload of your infrastructure is low, only the minimum number of machines will be running. If the load grows, additional machines are started automatically up to the maximum number of machines in the pool, to handle the workload on your application. In case of a decreased load, these additional machines will be stopped automatically. + +## Cluster configuration + +### Can I change the type of my cluster after creation (Kapsule to Kosmos, shared to dedicated, etc.)? + +The `SetClusterType` API call allows you to edit your cluster's control plane from shared to dedicated offers and inversely. Keep in mind, however, that certain conversions are not possible. +For example, moving your workloads from Kapsule to Kosmos or from Kosmos to Kapsule, is not possible. You will need to create a new cluster. Refer to the [API documentation](https://www.scaleway.com/en/developers/api/kubernetes/#path-clusters-change-the-cluster-type) for more information. + +### Can I choose the type of control plane for my cluster? + +Scaleway provides a range of mutualized or dedicated Kubernetes control planes for your cluster. During the creation of a Kubernetes Kapsule or Kubernetes Kosmos cluster, you can select the type of control plane that best fits the needs of your workload. +The pricing for the control plane depends on whether you choose a mutualized or dedicated environment, and further varies based on the specific dedicated resources you select. All dedicated control plane environments come with hourly billing and with a minimum commitment period of 30 calendar days. + +### Can I change the offer of my cluster's control plane? + +You can change the type of your cluster's control plane during its lifetime to a larger or smaller one to suit its workloads. However, keep in mind that control plane migration is tied to some conditions: +* Dedicated control plane environments come with a commitment to keep the environment for at least 30 calendar days. +* Upgrading to any higher tier restarts the 30 days of commitment. +* Downgrading a cluster's control plane is not possible during an active commitment period. +* No commitment extensions are applied for downgrades after the commitment period. Once the commitment period is completed, migrating to a lower tier is possible from the console. + + Migrating to a lower tier impacts several key features: the RAM resources allocated to your control plane are reduced, the maximum number of nodes is throttled, and in the case of a mutualized control plane, the SLA is revoked. + + +### Why do I have to keep my dedicated control plane for at least 30 calendar days? + +The control plane in Kubernetes serves as the central command hub that coordinates various activities within the cluster. It includes vital components like the API server, etcd, scheduler, and controller manager, responsible for essential tasks such as resource allocation, scheduling, health monitoring, and scalability. Frequent modification of the control plane configuration can lead to unintended consequences, compatibility issues, and potential service disruptions, adversely affecting the overall reliability of the cluster. +By opting for a dedicated environment, you commit to maintaining the dedicated control plane for a minimum period of 30 consecutive days to ensure stability and reliability of your cluster. + +## Technical questions + +### How can I have data persistence on my cluster? + +Kapsule is a managed Kubernetes engine. By definition, the nodes of your clusters can be deleted, replaced, or restarted if the applications running on it require it or if a node suddenly stops responding. It means that Kubernetes clusters' nodes are to be considered stateless. +If you require a stateful application, you can use [Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/). +The storageClass for Scaleway Block Storage volumes is set by default, so it does not need to be specified. +For more information, refer to the Kubernetes Kapsule product documentation on [GitHub](https://github.com/scaleway/scaleway-csi/tree/master/examples/kubernetes). + +### What can I do if my system volume is running out of space? + +To ensure sufficient space for storing default system files and configurations, we recommend a system volume disk capacity of at least 20 GB. While this amount is generally sufficient for small workloads, it is advisable to have a capacity of 100 GB to comfortably store images and system logs in many cases. +If you run out of space on your immutable system volume disk, you can create another pool and use the **Advanced Options** button to set your desired system volume type and size. +Depending on the type of node selected for your pool, one or two types of volume are available: +* **Local Storage**: Your system is stored locally on the hypervisor of your node. +* **Block Storage**: A remote storage option where your system is stored on a centralized and resilient cluster. + +### What is the service 'kapsule-agent' running on my nodes? + +`kapsule-agent` is a software developed internally at Scaleway. It is used to assist in managing nodes lifecycles. Its primary function is to set up the network during the initial boot, and toggle the SSH server on or off based on a k8s label of each node. + +### How do I connect to my nodes using SSH? + +By default, an SSH server is installed and configured on the nodes of your Kubernetes Kapsule cluster. To ensure the correct behavior of your cluster, it is not recommended to perform actions directly on the nodes. SSH access is provided for debugging only and all actions and configurations should be done using Kubernetes (from the Scaleway console, `kubectl` command, or Scaleway Kapsule `APIs`). +To improve the security of your Kapsule cluster, you can disable this SSH server on your nodes by following the documentation on [how to enable or disable SSH on Kubernetes Kapsule nodes](/kubernetes/how-to/enable-disable-ssh/). \ No newline at end of file diff --git a/pages/load-balancer/faq.mdx b/pages/load-balancer/faq.mdx new file mode 100644 index 0000000000..084cb38e57 --- /dev/null +++ b/pages/load-balancer/faq.mdx @@ -0,0 +1,81 @@ +--- +meta: + title: Load Balancer FAQ + description: Discover Scaleway Load Balancer and find the answers to all your questions about flexible IP addresses, IPv6, multi-cloud offers and more. +content: + h1: Load Balancer +dates: + validation: 2024-09-25 +category: network +productIcon: LbProductIcon +--- + +## What is a Load Balancer? + +Load Balancers are highly available and fully managed Instances, configured to distribute workload across a set of backend servers. They ensure the scaling of applications while securing their continuous availability. Load Balancers are therefore commonly used to improve the performance and reliability of websites, applications, databases, and other services. +Scaleway Load Balancer monitors the availability of your backend servers via health checks. If it detects that a server is down, it rebalances the load between the rest of the servers, making your applications highly available for users. + +A Load Balancer can be used as frontend for any Instance type, even if it is not a Scaleway resource, thanks to the [multi-cloud feature](/faq/loadbalancer/#what-is-the-difference-between-multi-cloud-and-non-multi-cloud-offers). + +## Can I use Load Balancers with other products? + +Yes: Check out our documentation on: +- [Using a Load Balancer to expose a Kubernetes Kapsule](/kubernetes/reference-content/kubernetes-load-balancer/). +- [Setting up caching for your Load Balancer via Edge Services](/edge-services/quickstart/) + +## What is a flexible IP address? + +By default, each [public](/load-balancer/concepts/#accessibility) Load Balancer is created automatically with a flexible IPv4 address. This is a public IP that can be held in your account even after you delete your Load Balancer. You can optionally also add an IPv6 address. + +Your frontend listens to your Load Balancer's public flexible IP address. In case of a failure of the Load Balancer, a replica Load Balancer is immediately spawned and deployed, and the IP address is automatically rerouted to this replica. This is done automatically, by the Load Balancer control subsystems. + +When you delete a Load Balancer, you can choose to keep its flexible IP(s) in your account, to reuse later with a new Load Balancer. These flexible IPs are not compatible with other Scaleway products (e.g. Instances, Elastic Metal servers, Public Gateways): each resource has its own set of flexible IPs. + +## Can I have more than one flexible IP address for a Load Balancer? + +Each Load Balancer can have one public IPv4 address and one public IPv6 address. Currently, it is not possible to assign more than one of each type of IP to a given Load Balancer. + +## Do Load Balancers support external IPv6 connections? + +Yes, Load Balancer supports both IPv4 and IPv6 addresses at the frontend. IPv6 can also be used to communicate between the Load Balancer and your backend servers. + +## Is there a failover system for Load Balancers? + +Yes. If your Load Balancer fails, a deployment script automatically executes, spawning and deploying a replica Load Balancer Instance. Your Load Balancer's flexible IP address is automatically rerouted to this replica Instance. +If you want to know more about the failover system, read [our article about strengthening our Load Balancer failover mechanism](https://www.scaleway.com/en/blog/strengthening-our-load-balancer-failover-mechanism/). + +## Do backend servers require a public IP address? + +No, this is not necessary. Your Load Balancer can reach your backend servers via their private IP addresses on a Private Network, as long as the Load Balancer and servers are all in the same region. + +## What is the difference between multi-cloud and non multi-cloud offers? + +Multi-cloud means that you can backend servers that are neither Instances, nor Elastic Metal servers, nor Dedibox dedicated servers. These can be services from other cloud platforms such as Amazon Web Services, Digital Ocean, Google Cloud, Microsoft Azure or OVH, but also on-premises servers hosted in a third-party data center. + +Unlike the multi-cloud offers, non-multi-cloud offers allow you to add only backend servers part of the Scaleway ecosystems which include Instances, Elastic Metal servers, and Dedibox dedicated servers. + +To take advantage of multi-cloud, you must choose a compatible Load Balancer offer type when creating your Load Balancer, or [resize](/load-balancer/how-to/resize-lb/) to such an offer afterwards. + +## What are the communication protocols currently supported? + +All protocols based on `TCP` are supported. This includes `database`, `HTTP`, `LDAP`, `IMAP` and so on. You can also specify `HTTP` to benefit from support and features that are exclusive to this protocol. + +## Is it possible to add security to restrict access to a URL or port on the Load Balancer? + +Yes, you can restrict the use of a `TCP` port or `HTTP` URL using ACLs. Find more information in our [ACL documentation](/load-balancer/how-to/create-manage-acls/). + +## What is a route? + +Once you have created one or more Load Balancers, you can create routes. Routes indicate how to direct incoming connections to certain backends based on various parameters such as IP addresses, path, host, etc. You can choose the frontend to which the rule should apply, and the backend it should direct to. Routes can be based on **Server Name Indication** (SNI) for TCP Load Balancers, or the **HTTP Host header** for HTTP Load Balancers. Check out our [dedicated documentation](/load-balancer/how-to/create-manage-routes/) for more information. + +## Can I add multiple backends to a frontend? + +Yes, this is possible using routes. When you create a frontend, you must select a "default" backend, to which it forwards traffic when the request doesn't match any configured route. But via the **routes** tab for your frontend in the Scaleway console, you can create routes to different backends from the same frontend. Routes are currently supported based on the value of the `Host` header of incoming HTTP requests for HTTP backends, or on SNI for TCP backends. + +## What is a health check? + +A health check is one of the core concepts for a well-functioning Load Balancer. It is a predefined request which periodically checks whether the server is in a healthy state or an unhealthy state. Only servers that respond correctly to the health check receive client requests. When the Load Balancer determines that an Instance is unhealthy, it stops routing requests to that Instance. Currently, our Load Balancer supports `TCP` and `TCP-based` health checks such as `HTTP(S)`, `LDAP`, `REDIS`, etc. [Find out more about health checks](/load-balancer/reference-content/configuring-health-checks/). + +## Can I set up a caching service for my load balanced application? + +Yes, this is possible with Scaleway's [Edge Services](/edge-services/) product, currently in Public Beta. By creating an Edge Services pipeline for your Load Balancer, you can access Edge Services caching service reduce load on your origin. \ No newline at end of file diff --git a/pages/managed-databases-for-postgresql-and-mysql/faq.mdx b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx new file mode 100644 index 0000000000..7cc22eef42 --- /dev/null +++ b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx @@ -0,0 +1,148 @@ +--- +meta: + title: Managed Database for PostgreSQL and MySQL FAQ + description: Discover Scaleway Managed Databases and how to access them for PostgreSQL and MySQL. +content: + h1: Managed Database for PostgreSQL and MySQL +dates: + validation: 2025-01-29 +category: managed-databases +productIcon: PostgresqlMysqlProductIcon +--- + +## What is Scaleway Managed Database for PostgreSQL and MySQL? + +Scaleway Managed Database for PostgreSQL and MySQL provides fully-managed relational Database Instances, supporting the database engines PostgreSQL and MySQL. + +The product lets you focus on development, rather than administration or configuration. It comes with high-availability mode, data replication, and automatic backups. + +In comparison to traditional database management, which requires customers to provision their infrastructure and resources to manage their databases, Scaleway Database offers users access to a Database Instance without needing to set up the hardware or configure the software. Scaleway handles the provisioning, manages the configuration, and provides useful features, such as High Availability, automated backup, user management, and more. + +## How can I access my Database Instance once it is provisioned? + +On the details page of your Database Instance, the IP address and your Instance's port are shown: + + + +It is possible to connect to your Database Instance from any application using the IP address and port shown in the **Endpoint** section and the login/password of any valid database user. This can be managed from the “users” tab. + +**PostgreSQL** + +To access your PostgreSQL Database Instance, use the psql command-line tool with the following command: +```psql -h $IP -p $PORT -U $YOUR_USER -d $DATABASE_NAME``` +You will have to enter your password to establish the connection. The default `$DATABASE_NAME` to be used is `rdb`. + +**MySQL** + +You can access your MySQL Database Instance with the following command: + +```mysql -h $IP --port $PORT -p -u $USERNAME``` +You will be prompted to enter your password to log in. + +## How can I manage my databases? + +You can [create a MySQL database](/classic-hosting/how-to/create-mysql-database/), [manage your MySQL database with phpMyAdmin](/classic-hosting/how-to/manage-mysql-database-phpmyadmin/) or [delete your MySQL database](/classic-hosting/how-to/delete-mysql-database/). You can also [create](/classic-hosting/how-to/create-postgresql-database/), [manage](/classic-hosting/how-to/manage-postgresql-database-adminer/) or [delete](/classic-hosting/how-to/delete-postgresql-database/) PostgreSQL databases. + +See our documentation on [upgrading a Database for PostgreSQL](/tutorials/upgrade-managed-postgresql-database/). + +## How do I import data into a Scaleway Database? + +**PostgreSQL** + +To import data into your Managed Database for PostgreSQL, export your data using the `pg_dump` command: + +```pg_dump -h OLD_DB_IP -p OLD_DB_PORT -U OLD_DB_USERNAME -F c -b -v -f "/usr/local/backup/database.backup" DATABASE_NAME``` + +Once the data is exported, import the database using the pg_restore command: + +```pg_restore -h INSTANCE_IP -p INSTANCE_PORT -U USERNAME -d DATABASE_NAME -v "/usr/local/backup/database.backup"``` + +The different parameters used in the commands represent the following values: + +`-h` (--host): IP address of the host +`-p` (--port): Port number of the host +`-U` (--username): PostgreSQL user +`-F` (--format): Format +`c:` c just after a -F means that the format is the binary format specific to PostgreSQL +`-b` (--blobs): Specifies the binary string type +`-v` (--verbose) +`-f` (--file): Specifies the file name + +**MySQL** + +If you want to import your existing database into a Managed Database for MySQL, start by exporting your data using the command `mysqldump`: + +```mysqldump -u username -p old_database > backup.sql``` +Then import the backup into your Scaleway Databases for `MySQL`: + +```mysql -u username -p new_database < backup.sql``` + +## Which PostgreSQL extensions are available? + +Refer to our dedicated [PostgreSQL extentions reference page](/managed-databases-for-postgresql-and-mysql/reference-content/postgresql-extensions) for a list of all available extensions and more details about each one. + +## How do I back up my database? + +If the automatic backup feature is enabled, new backups will be created according to your backup schedule, which can be set on the Overview tab of your Database Instance dashboard. Your Database Instance remains available during backup, but there might be a performance impact and some actions may not be available. + +Automatic backups are enabled by default. It is possible to disable them at any time in the backup settings of your Database Instance. + +It is also possible to launch manual backups by clicking on the **Create a backup** button in the **Backups** tab. + +## Are my active and standby database nodes in a high-availability cluster hosted in the same data center? + +In a high-availability cluster, active and hot standby nodes are indeed located in the same data center but in two separate racks. +The idea is to offer the best performance to our users by reducing latency between active and hot standby nodes, as we use a sync replication process between the nodes. + +## What is the Private Networks feature for Database Instances? + +[Private Networks](/public-gateways/quickstart/) allow you to enhance the security of your system architecture by isolating it from the internet. + +This feature introduces a significant change in the architecture of Scaleway's Databases: when using Private Networks, your application connects directly to your Database nodes, without going through a Load Balancer. +This improves performance by reducing the latency between your nodes. It also increases the security of your databases, since Instances in your Private Network can connect directly to your Database Instance, without passing through the public internet. + +You can create new Database Instances to attach to your Private Network or attach existing Database Instances. + +## How many Private Networks can I attach? + +Currently, you can connect one Private Network to each Database Instance. + +## How is the Database's private failover IP managed? + +The virtual IPv4 used to expose the Database Instance service is automatically routed to the newly promoted node and announced within 10s to the neighboring Compute Instances. + +## Can I remove the Load Balancer endpoint from my Database Instance? + +You can remove the Load Balancer endpoint from your Database Instance and expose it only using a Private Network endpoint. + +## Can I limit the IPs allowed to reach my Database Instance on a Private Network? + +It is not possible to limit access to a Database Instance on a Private Network. We recommend that you create a dedicated Private Network for your Database Instances and add only the relevant middleware application Instances to this Private Network. + +## Can I add an IPv6 to my Database Instance? + +IPv6 is not supported on Database Instances. + +## Can I assign a Database virtual IP with DHCP? + +Database Instances supports IP provisioning using IPAM. With this mode, a private IPv4 will be automatically reserved and assigned to your Database Instance when using a Private Network endpoint. + +## Can I use the second node on a High Available Managed Database Instance? + +No, the second node created when you activate the HA on your Managed Database Instance is a hot standby. This node allows a fast failover in case of issues on the primary node. + +You can use the [Read Replica feature](/managed-databases-for-postgresql-and-mysql/how-to/create-read-replica/). + +## If my main node becomes unavailable, is my Read Replica automatically promoted to the main node? + +No. To promote a Read Replica to the main node, follow the [How to promote a Read Replica](/managed-databases-for-postgresql-and-mysql/how-to/manage-read-replica/#how-to-promote-a-read-replica) procedure. + +## Why is my number of active backups/snapshots exceeding the quota? + +When [autobackup](/managed-databases-for-postgresql-and-mysql/how-to/enable-autobackup), or autosnapshot, is enabled for your local or Block volumes, regular quota limitations for backups and snapshots do not apply. + +Quotas exist to protect Scaleway from abuse, and to protect your Scaleway resources from the unlikely event of malicious behavior by users in your Organization. + +When it comes to automatic data preservation, however, Scaleway prioritizes the resilience of your data. Therefore, if a Database Instance has autobackup set up, even if the quota is exceeded, the backup or snapshot will still be automatically created. + +You can monitor your [quotas](https://console.scaleway.com/organization/quotas), backups and snapshots via the Scaleway console or the API. \ No newline at end of file diff --git a/pages/managed-databases-for-redis/faq.mdx b/pages/managed-databases-for-redis/faq.mdx new file mode 100644 index 0000000000..a173722fda --- /dev/null +++ b/pages/managed-databases-for-redis/faq.mdx @@ -0,0 +1,104 @@ +--- +meta: + title: Managed Database for Redis™ FAQ + description: Discover Scaleway Managed Databases and how to access it for Redis™. +content: + h1: Managed Database for Redis™ +dates: + validation: 2025-02-11 +category: managed-databases +productIcon: RedisProductIcon +--- + +## What is Scaleway Managed Database for Redis™ + +Managed Database for Redis™* is a low-latency caching solution. It allows you to easily set up a secure cache and lighten the load on your main database. +Based on the in-memory data storage, Managed Database for Redis™ improves your application response time and helps you provide a better experience to your users. +Using Managed Database for Redis™ as a cache optimizes the speed of your requests as copies of the most frequently used data are stored in memory, making them accessible in milliseconds. [Learn more about Managed Database for Redis™](/managed-databases-for-redis/how-to/create-a-database-for-redis/). + +## Why is it ideal for Cache usage? + +Based on the **Re**mote **Di**ctionary **S**erver technology, Scaleway Managed Database for Redis™ stores your data in the RAM of the underlying machine rather than on a disk (SSD/HDD). +In other words, for each request to read, insert, or update data in a database, this can be executed using data available in the fastest and closest storage of your compute resource, the memory. +Traditional databases like MySQL or PostgreSQL store data on a disk which inevitably introduces IOPs and results in latency on each operation. Redis™ is known for delivering millisecond response time and high performance for millions of requests per second to empower demanding workloads. +The combination of powerful in-memory data storage such as Redis™ and managing the resources set-up, securitization, scaling, and maintenance makes Scaleway Managed Database for Redis™ a handy solution to improve the usability of your application. +One of the most common ways to implement cache is storing frequently accessed data in Redis™ (therefore in memory) and serving your application's request. +If data is unavailable in memory, it can always be retrieved from the primary database. Below is a simplified schema explaining this process. + + + +## How can I access my Managed Database for Redis™ once it is provisioned? + +You can connect to your Managed Database for Redis™ using the IP address(es) and port(s) available on the details page of your Redis™ Database Instance next to the title **Endpoints**. +- There are as many `IP:port` endpoints as nodes in your cluster (one if standalone). +- If you are in cluster mode (3 nodes or more), you have to use a cluster-specific connector cable to connect to multiple endpoints. + + + +## What is the Private Networks feature for Redis™ Database Instances? + +[Private Networks](/public-gateways/quickstart/) allow you to increase the security of your databases since Instances in your Private Networks can directly be connected to your Redis™ Database Instance without passing through the public internet. + +In standalone mode, you can attach Private Networks to your Redis™ Database Instances at the creation level or add a Private Networks endpoint to your existing Redis™ Database Instance from the console. + + + When you select cluster mode, Private Networks can only be selected and configured upon creating the Redis™ Database Instance. Once the cluster has been completed, it is impossible to attach it to a Private Network or to edit the configuration of an existing one. If you want to switch to a public network you must create a new Redis™ Database Instance. + + +## How many Private Networks can I attach? + +Currently, you can connect one Private Network to each Redis™ Database Instance in the Scaleway console. For standalone Instances, you can attach multiple Private Networks via the CLI or the API only. + +## How is the Redis™ Database's failover IP managed? + +The Redis™ controller knows the cluster topology and automatically routes requests to a healthy node. In case of unavailability of one of the cluster nodes, no downtime is to be expected. + +## What is the logic behind the cluster mode? + +A Redis cluster contains a minimum of 3 nodes and up to 6 nodes. Each node contains a source and a replica. +The cluster nodes use hash partitioning to split the keyspace into 16,384 key slots. Each source of the cluster is responsible for a subset of those slots. +Each replica copies the data of one of the sources. For example, on a three-node Redis™ Database Instance cluster, three Instances host each a source and a replica of one of the other nodes' sources. +If one of the sources fails, the remaining nodes hold a vote and elect the replica that will be promoted as the new source. +When the failing source rejoins the cluster, it automatically becomes a replica. It begins to copy the data of the source of another node. + +You can scale your cluster horizontally up to six nodes. Below is an example of a configuration for a three-node cluster: + +* Instance A contains hash slots from 0 to 5,500 +* Instance B contains hash slots from 5,501 to 11,000 +* Instance C contains hash slots from 11,001 to 16,383 + +Each of the three Instances acts as a primary node and replicates one of the others as a secondary node. + +## What are the differences between Redis™ node classes? + +Two node classes are available for Managed Database for Redis: **Development** and **Production**. + +Development nodes are suitable for Proofs of Concept (PoCs) and tests. Production-class nodes are ideal for more demanding workloads. + +Refer to the image below to see which node types belong to which node class. + + + +## What's the difference between High Availability (HA) and Cluster mode? + +A Redis™ cluster contains a minimum of 3 nodes and up to 6 nodes. Each node contains a source and a replica. +The cluster nodes use hash partitioning to split the keyspace into key slots. Each replica copies the data of a specific source and can be reassigned to replicate another source or be elected as a source node if needed. +This is much better for scaling as the operation is spread across multiple nodes instead of having a single entry point. + + + +Two-node High Availability configurations are available with Redis™ Database Instances. This configuration type allows you to create a standby node, with an up-to-date replica of the database. If the main node fails for any reason, the standby can take over requests, reducing downtime. + +The HA standby node is linked to the main node, using asynchronous replication. Asynchronous replication allows you to maintain good performance. + +## Can I change the username and password of my Database Instance's default user? + +Yes. You can change the default username and password anytime via the Scaleway API or the CLI. + +Refer to the [Managing the default user's username and password](/managed-databases-for-redis/api-cli/managing-username-and-password/) documentation page to learn how. + +For more information, refer to the [Understanding default user permissions](/managed-databases-for-redis/reference-content/default-user-permissions/) documentation page. + + +
+* Redis is a trademark of Redis Labs Ltd. Any rights therein are reserved to Redis Labs Ltd. Any use by Scaleway is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and Scaleway. \ No newline at end of file diff --git a/pages/managed-inference/faq.mdx b/pages/managed-inference/faq.mdx new file mode 100644 index 0000000000..03594e72ba --- /dev/null +++ b/pages/managed-inference/faq.mdx @@ -0,0 +1,78 @@ +--- + +meta: + title: Managed Inference FAQ + description: Get answers to the most frequently asked questions about Scaleway Managed Inference. +content: + h1: Managed Inference +dates: + validation: 2025-02-12 +category: ai-data +productIcon: InferenceProductIcon +--- + +## What is Scaleway Managed Inference? +Scaleway's Managed Inference is a fully managed service that allows you to deploy, run, and scale AI models in a dedicated environment. +It provides optimized infrastructure, customizable deployment options, and secure access controls to meet the needs of enterprises and developers looking for high-performance inference solutions. + +## Where are the inference servers located? +All models are currently hosted in a secure data center located in Paris, France, operated by [OPCORE](https://www.opcore.com/). This ensures low latency for European users and compliance with European data privacy regulations. + +## What is the difference between Managed Inference and Generative APIs? +- **Managed Inference**: Allows deployment of curated or custom models with chosen quantization and instances, offering predictable throughput and enhanced security features like private network isolation and access control. Managed Inference is billed by hourly usage, whether provisioned capacity is receiving traffic or not. +- **Generative APIs**: A serverless service providing access to pre-configured AI models via API, billed per token usage. + +## Where can I find information regarding the data, privacy, and security policies applied to Scaleway's AI services? +You can find detailed information regarding the policies applied to Scaleway's AI services in our [Data, privacy, and security for Scaleway's AI services](/managed-inference/reference-content/data-privacy-security-scaleway-ai-services/) documentation. + +## Is Managed Inference compatible with Open AI APIs? +Managed Inference aims to achieve seamless compatibility with OpenAI APIs. Find detailed information in the [Scaleway Managed Inference as drop-in replacement for the OpenAI APIs](/managed-inference/reference-content/openai-compatibility/) documentation. + +## What are the SLAs applicable to Managed Inference? +We are currently working on defining our SLAs for Managed Inference. We will provide more information on this topic soon. + +## What are the performance guarantees (vs. Generative APIs)? +Managed Inference provides dedicated resources, ensuring predictable performance and lower latency compared to Generative APIs, which are a shared, serverless offering optimized for infrequent traffic with moderate peak loads. Managed Inference is ideal for workloads that require consistent response times, high availability, custom hardware configurations or generate extreme peak loads during a narrow period of time. +Compared to Generative APIs, no usage quota is applied to the number of tokens per second generated, since the output is limited by the GPU Instances size and number of your Managed Inference Deployment. + +## How can I monitor performance? +Managed Inference metrics and logs are available in [Scaleway Cockpit](https://console.scaleway.com/cockpit/overview). You can follow your deployment metrics in realtime, such as tokens throughput, requests latency, GPU power usage and GPU VRAM usage. + +## What types of models can I deploy with Managed Inference? +You can deploy a variety of models, including: +* Large language models (LLMs) +* Image processing models +* Audio recognition models +* Custom AI models (through API only yet) +Managed Inference supports both open-source models and your own uploaded proprietary models. + +## How do I deploy a model using Managed Inference? +Deployment is done through Scaleway's [console](https://console.scaleway.com/inference/deployments) or [API](https://www.scaleway.com/en/developers/api/inference/). You can choose a model from Scaleway’s selection or import your own directly from Hugging Face's repositories, configure [Instance types](/gpu/reference-content/choosing-gpu-instance-type/), set up networking options, and start inference with minimal setup. + +## Can I fine-tune or retrain my models within Managed Inference? +Managed Inference is primarily designed for deploying and running inference workloads. If you need to fine-tune or retrain models, you may need to use a separate training environment, such as [Scaleway’s GPU Instances](/gpu/quickstart/), and then deploy the trained model in Managed Inference. + +## What Instance types are available for inference? +Managed Inference offers different Instance types optimized for various workloads from Scaleway's [GPU Instances](/gpu/reference-content/choosing-gpu-instance-type/) range. +You can select the Instance type based on your model’s computational needs and compatibility. + +## How is Managed Inference billed? +Billing is based on the Instance type and usage duration. Unlike [Generative APIs](/generative-apis/quickstart/), which are billed per token, Managed Inference provides predictable costs based on the allocated infrastructure. +Pricing details can be found on the [Scaleway pricing page](https://www.scaleway.com/en/pricing/model-as-a-service/#managed-inference). + +## Can I run inference on private models? +Yes, Managed Inference allows you to deploy private models with access control settings. You can restrict access to specific users, teams, or networks. + +## Does Managed Inference support model quantization? +Yes, Scaleway Managed Inference supports model [quantization](/managed-inference/concepts/#quantization) to optimize performance and reduce inference latency. You can select different quantization options depending on your accuracy and efficiency requirements. + +## Is Managed Inference suitable for real-time applications? +Yes, Managed Inference is designed for low-latency, high-throughput applications, making it suitable for real-time use cases such as chatbots, recommendation systems, fraud detection, and live video processing. + +## Can I use Managed Inference with other Scaleway services? +Absolutely. Managed Inference integrates seamlessly with other Scaleway services, such as [Object Storage](/object-storage/quickstart/) for model hosting, [Kubernetes](/kubernetes/quickstart/) for containerized applications, and [Scaleway IAM](/iam/quickstart/) for access management. + +## Do model licenses apply when using Managed Inference? +Yes, model licenses need to be complied with when using Managed Inference. Applicable licenses are available for [each model in our documentation](/managed-inference/reference-content/). +- For models provided in the Scaleway catalog, you need to accept licenses (including potential EULA) before creating any Managed Inference deployment. +- For custom models you choose to import on Scaleway, you are responsible for complying with model licenses (as with any software you choose to install on a GPU Instance for example). diff --git a/pages/messaging/faq.mdx b/pages/messaging/faq.mdx new file mode 100644 index 0000000000..ac227136be --- /dev/null +++ b/pages/messaging/faq.mdx @@ -0,0 +1,46 @@ +--- +meta: + title: NATS, Queues, and Topics and Events FAQ + description: Discover Scaleway NATS, Queues, and Topics and Events, and get answers to common questions about the different protocols available, compatibility with various services, and billing. +content: + h1: Messaging and Queuing +dates: + validation: 2024-12-04 +category: serverless +productIcon: NatsProductIcon +--- + +## What is NATS, Queues, and Topics and Events? + +These are three distinct managed message broker tools offered by Scaleway, based on the NATS, SQS and SNS protocols respectively. Previously, these products were grouped together as 'Messaging and Queuing', but have now become three separate products in their own right. + +## What are NATS, SNS and SQS? + +NATS, SNS and SQS are all messaging protocols used by the Scaleway NATS, Queues, and Topics and Events products. You can find out more about these protocols, and other essential concepts, on our dedicated [concepts page](/messaging/concepts/). + +## Is the Scaleway Queues gateway compatible with my application, framework or tool? + +We currently implement the API endpoints listed [here](/messaging/reference-content/sqs-support/), which makes Scaleway Queues compatible with the AWS SDK as well as many other tools and frameworks including KEDA and Symfony. Note that you need to specify both Regions and URL to ensure compatibility. + +## Does Scaleway Topics and Events support all SNS features? + +The following subscriber types are supported: +- HTTP/S clients +- Serverless Functions and Containers +- Scaleway Queues queues + +For more details on supported and unsupported Topics and Events features, see our [dedicated page](/messaging/reference-content/sns-support/). + +## Can I configure Scaleway NATS via Terraform/OpenTofu? + +Yes, check out our [tutorial](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider) on how to configure Scaleway NATS with the Terraform/OpenTofu [NATS Jetstream provider](https://registry.terraform.io/providers/nats-io/jetstream/latest/docs). + +## How are NATS, Queues, and Topics and Events billed? + +Billing is based on: + +- For NATS: [Stream volume](/messaging/concepts/#stream-volume) (the total sum of each message's size going through the stream) and [stream persistence](/messaging/concepts/#stream-persistence) (the total amount of data stored * duration) +- For Queues: [Queue volume](/messaging/concepts/#queue-volume) (the total sum of each message's size going through the queue) +- For Topics and Events : [Topic Volume](/messaging/concepts/#queue-volume)(the total sum of each message's size going out from the topic to the subscriptions) + +For full pricing details, see our [dedicated pricing page](https://www.scaleway.com/en/pricing/). \ No newline at end of file diff --git a/pages/object-storage/faq.mdx b/pages/object-storage/faq.mdx new file mode 100644 index 0000000000..111cecaff8 --- /dev/null +++ b/pages/object-storage/faq.mdx @@ -0,0 +1,286 @@ +--- +meta: + title: Object Storage FAQ + description: Discover Scaleway Object Storage. +content: + h1: Object Storage +tags: storage cdn object-storage +dates: + validation: 2024-09-23 +category: storage +productIcon: ObjectStorageProductIcon +--- + +## What is Object Storage? + +Object Storage is a service based on the Amazon S3 protocol. It allows you to store any kind of object (documents, images, videos, etc.). + +Scaleway provides an integrated UI in the [console](https://console.scaleway.com) for convenience. As browsing infinite storage through the web requires some technical trade-offs, some actions are limited in the console for Object Storage: + +- batch deletion is limited to 1000 objects. +- empty files are not reported as empty folders. + +We provide an Amazon S3-compatible API for programmatic access or usage with any compatible software. Therefore, we recommend using dedicated tools such as `s3cmd` to manage large data sets. + +## How am I billed for Object Storage? + +| Type of consumption | Price | +|:-----------------------:|:--------------------------------------:| +| Standard (Multi-AZ) | €0.00002/GB/hour ~€0.0146/GB/month | +| One Zone - IA | €0,0000165/GB/hour ~€0.012/GB/month | +| Requests | Included | +| Ingress | Included | +| Bucket websites feature | Free | +| Egress fees* | 75 GB free every month, then €0.01/GB | + +\* Egress fees include external outgoing data transfer and inter-region data transfers (PAR\<->AMS / PAR\<->WAW / AMS \<-> WAW). Intra-regional data transfers are free of charge. + +Refer to our [Cold Storage FAQ](/faq/objectstorage/#cold-storage) for more information on Scaleway Glacier billing. + + + Chia farming on Scaleway Object Storage that occurs without prior authorization will be billed at €0.08 per GB. [Read our blog post to learn more](https://www.scaleway.com/en/blog/scaleway-and-chia/). + + +## How can I benefit from the Object Storage free trial? + +As a new user, you benefit from 750 GB of free [Multi-AZ class storage](/object-storage/concepts/#storage-class) for buckets in your Organization, across all [regions](/object-storage/concepts/#region-and-availability-zone), for 90 days. + +If you exceed 750 GB of Multi-AZ storage during the free trial period, you will only be billed for the excess data. + +You can activate your free trial period from the Object Storage section of the [Scaleway console](https://console.scaleway.com). Once it is activated, **you cannot deactivate it** to resume it at a later time. + +At the end of the 90-day trial period, you will be billed for regular Object Storage pricing. + + +To be eligible for this offer, you must have never used the Standard Multi-AZ class before November, 30th 2023, 23:59:59. + + +## How can I monitor my Object Storage consumption? + +You can monitor your Object Storage metrics and logs using [Scaleway Cockpit](/cockpit/quickstart/). Cockpit is available in all [regions](/object-storage/concepts/#region-and-availability-zone) for Object Storage. Refer to our dedicated [documentation](/object-storage/how-to/monitor-consumption/) for more information. + +## Is there a limitation in the bucket name? + +Bucket names must be unique and comply with the following: + +- Must not contain uppercase characters or underscores. +- Must not be formatted as an IP address. +- Can contain lowercase letters, numbers, and hyphens. +- Can contain a set of the 63 alphabetic characters, a to z, and the 10 Arabic numerals, 0 to 9. + +For buckets with a name containing a dot (.), users must use the canonical path. The subdomain form, for instance, `https://my.bucket.s3.nl-ams.scw.cloud` will not work as the SSL certificate `*.s3.nl-ams.scw.cloud` is not recursive. + +In addition, when using buckets with Secure Sockets Layer (SSL), the SSL wildcard certificate only matches buckets that do not contain periods. Therefore, avoid using bucket names with multiple dots, as it will have an impact on accessing your bucket via HTTPS. Use **dashes** in your bucket names instead. + +Bucket names are unique in our whole platform. This means **if a bucket exists already in one region, the name cannot be reused in another**. +The `“Bucket already exists”` error message is triggered when the name you intended to use for your bucket is already reserved by another user (or yourself). + + + When deleting a bucket, its name becomes available again. Anybody can reuse it on a first-come, first-served principle. + + +## Can I use Object Storage as a CDN? + +The Object Storage product delivers content for your applications and users from a single point in the region of your choice. +Our platform is designed to deliver very high performance, up to 100 Gbit/sec per bucket per region without performance loss. + +If you want to deliver your content to several geographic locations with minimal latency, you can use Scaleway's [Edge Services](/object-storage/how-to/get-started-edge-services/) directly from your bucket. + +## Can I access my files via HTTPS? + +Yes, you can access your files via HTTPS by creating a public link from the Scaleway console. Follow the [How to access my files via HTTPS](/object-storage/how-to/access-objects-via-https/) documentation to do so. + +## Can I change HTTP headers during upload? + +Yes, you can change HTTP headers with tools such as `s3cmd`, but only `Cache-control` or headers prefixed by `x-amz-meta`. + +To replace metadata using the `AWS CLI`, you can use the command below: +``` +aws s3 cp s3://BUCKET/ s3://BUCKET/ --recursive --acl public-read --metadata-directive REPLACE --cache-control public,max-age=31536000 +``` + +## Can I make an object public? + +Yes. All objects are private by default, but you can change their visibility to public any time. Follow the [How to manage object visibility](/object-storage/how-to/manage-object-visibility/) documentation to do so. + +## How can I upload large objects? + +Object Storage supports multipart upload. We recommend uploading by chunks, with a limit of 1000 chunks. + +The following technical specifications apply to multipart uploads: + +- 1 to 1000 parts per object +- 5 MB to 5 GB per part (except for the last one) +- Each object stores up to 5 TB + +For more information, refer to the [documentation](/object-storage/api-cli/multipart-uploads/). + +## Does my bucket remain available after deletion? + +If your bucket has been deleted from the Scaleway console, our teams may, as a last option, be able to retrieve its data the same day it is deleted (excluding weekends). +Nevertheless, this measure applies on a case-by-case basis and is not guaranteed. Contact Scaleway's support team if you need to recover data from a deleted bucket within this time frame. + +If your bucket has been deleted via the API, it is deleted instantly. + +## Does Object Storage provide read-after-write consistency? + +Yes. Scaleway Object Storage provides `read-after-write` consistency for `PUT` and `DELETE` requests of objects in buckets in all regions. This applies to writes of new objects as well as requests overwriting existing objects and to DELETEs. + +`Read-after-write` consistency guarantees that changes are immediately visible (reading data) right after making those changes (writing data), meaning that a newly-created object will be visible immediately, without any delay. +Scaleway Object Storage stores data across multiple storage systems to achieve high availability. Any read (`GET` or `LIST`) request initiated after a successful `PUT` request will immediately return the data written by the `PUT` request. + +Examples: +- You upload a new object into your bucket and request a listing of the objects in it: The new object will be visible in the list. +- You delete an existing object in your bucket and try to immediately read it. Object Storage will not return any data as the object has been deleted. + +## Will closing my web browser after requesting to delete a bucket stop the deletion process? + +No. After you click the button to delete a bucket in the Scaleway console, the request is processed in our backend, and does not depend on your web browser. For more information on how to delete a bucket, refer to the [dedicated documentation](/object-storage/how-to/delete-a-bucket/). + +## Can I create a bucket with the same name as a previously deleted one? + +Yes. If you have deleted a bucket via the Scaleway console, you can create a new one with the same name after a delay of 24 hours. + +## Is there a quota limit for Object Storage? + +Each Scaleway Project can use up to 250 TB of Object Storage resources. If you wish to increase your Object Storage quota, [contact Scaleway's support team](https://console.scaleway.com/support). + +### Object Storage classes + +## What are the Object Storage classes offered by Scaleway? + +Scaleway offers three storage classes: + +- `Standard (Multi-AZ)`: your data is secured by distributing it across three different [Availability Zones (AZ)](/object-storage/concepts/#region-and-availability-zone). In the event of a complete data center failure in an AZ, we are still able to rebuild your data and make it accessible. This is the system we call Multi-AZ (one data center per AZ, three AZs per region). The Standard class is available in [all regions](/object-storage/concepts/#region-and-availability-zone). + +- `One Zone - Infrequent Access`: your data is stored across three different racks in a single [Availability Zone (AZ)](/object-storage/concepts/#region-and-availability-zone). This storage class is best suited for secondary backups and recreatable data. The One Zone - IA class is available in [all regions](/object-storage/concepts/#region-and-availability-zone). + +- `Glacier`: your data is archived and must be restored before being used. The Glacier storage class is only available in `fr-par` and `nl-ams` [regions](/object-storage/concepts/#region-and-availability-zone). Refer to our [Cold storage FAQ](/faq/objectstorage/#cold-storage) for more information. + +## What happens when Multi-AZ is launched in a region? + +When Multi-AZ is launched in a region, all existing objects are converted to the One Zone - IA class, which is equivalent to the old `Standard` class. + +New objects created after the Multi-AZ launch can have the `Standard (Multi-AZ)`, `One Zone - IA`, or the `Glacier` class assigned. + +## Will these new storage classes affect how I use my buckets? + +No, any objects you upload into your buckets are added as Standard class objects by default, just as before. If you want to transfer your objects to One Zone - IA or Glacier you can do so manually or set up [lifecycle rules](/object-storage/api-cli/lifecycle-rules-api/). + +## I do not want to use the new Standard (Multi-AZ) class. Can I still use the old class? + +No, you cannot use the old `Standard` class. You must use the [One Zone - IA class](/object-storage/concepts/#storage-class), which has the same behavior as the old Standard class. + +## Can I create a lifecycle rule to restore objects from Glacier class to One Zone - IA? + +No, because restoring an object can only be done from Glacier to Standard class. Transition lifecycle rules can only be configured in the "top-down" direction. + +This means that you can transfer objects from Standard class to One Zone - IA and Glacier, but not from the last two to Standard. You can transfer objects from One Zone - IA to Glacier, but not restore objects from Glacier to One Zone - IA. The same applies when you make server-side copies. + + + +## Do the new storage classes impact Scaleway Glacier? + +No, the rules for using Glacier class remain the same and your data is still hosted in DC4. Refer to our [Cold storage FAQ](/faq/objectstorage/#cold-storage) for more information on Scaleway Glacier. + +## Can I migrate my existing data to the new Multi-AZ Standard class? + +Yes, you simply need to [edit the storage class](/object-storage/how-to/edit-storage-class/) of your objects. + +### Cold storage + +## What is the cold storage Glacier class? + +The cold storage `Glacier` class of Object Storage gets its name in opposition to “hot data”. Hot data is the type that is frequently accessed. Cold storage is accessed less frequently and does not require fast access like hot data. + +## How am I billed for Glacier cold storage? + + + Starting from November 6th 2023, restore operations from Glacier are billed at €0.009/GB. Restore operations started before this date will not be billed. + + +Scaleway Glacier is billed based on two parameters: + +- Data storage: €0.00000348/GB/hour (approx. €0.002/GB/month) +- Restore to Standard class: €0.009/GB + +Transferring objects from `Standard` or `One Zone - IA` to `Glacier` is free. + +## When should I use Glacier class instead of Standard class? + +Scaleway Glacier is engineered for use cases that can be described as “deep archiving”. It is a durable Object Storage class designed for data archiving, for example, legal documents or long-term backups that do not require immediate access. + + + We recommend you use Glacier to store average-sized files (larger than 1 MB), as opposed to several small files. + + +Standard class is ideal for storing frequently accessed data and files, such as static assets, on-demand content such as streaming, Content Delivery Networks (CDN) or work related documents. + +## I have started the restoration of an object, why is it not available instantaneously? + +An object stored in Glacier class is listed but cannot be downloaded instantly. It needs to be restored to Standard class first. +We recommend that you use Glacier to archive data that you may need only once or twice within a decade. + + + The time it takes to restore an object depends on the size of the object and if [multipart](/object-storage/concepts/#multipart-uploads) is configured. It can take anywhere from a few minutes to 24 hours for restore to start (for objects larger than 1 MB). + Unfortunately, we are unable to provide estimates of how long data retrieval takes for each use case. + + To facilitate restoration and ensure the fast restitution of your data, we recommend you use average-sized files (larger than 1 MB). + + +Find out [how to restore an object from Glacier](/object-storage/how-to/restore-an-object-from-glacier/) on our dedicated page. + +## Can I upload an object directly to Glacier? + +Yes, you can select the storage class (`Standard`, `One Zone IA`, or `GLACIER`) when uploading objects using the Scaleway console. It is also possible to do so using the API. For more information, refer to our [dedicated documentation](/object-storage/how-to/edit-storage-class/). + +## Why are Glacier objects stored in Paris DC4? Is it accessible from buckets in all locations? + +Our Paris underground databunker (DC4) provides an increased layer of security by being 25 meters deep below the surface in a bunker where the Glacier storage class cluster is available. +This storage cluster is available from any bucket in Paris and Amsterdam and all objects can change the storage class to Glacier. + + + It is not yet possible to transfer files to Glacier in Warsaw, Poland. + + +## When are lifecycle management rules applied? + +The expiration & transition rules are implemented every day at midnight UTC, but the actual action might take between one minute and twenty-four hours* after implementation. + +For example, a user wants to configure a lifecycle rule that moves an object after two days to Glacier: + +- lifecycle rules are checked every day at midnight. +- the user uploaded a file on April 6th, at 2:00 pm UTC. +- the rule is triggered on April 8th, at 11:59 pm UTC. +- the application of the rule can take up to 24 hours +⇒ the object will be transferred to Glacier no later than 11:59 pm UTC on April 9th. + + + When a lifecycle rule is set for a very large amount of objects (several hundreds of thousands) simultaneously, the rule can take longer to be applied. + + +## How do I encrypt my data? + +For increased security, we recommend you encrypt your data before sending it to Scaleway Glacier. +Encryption should be done on the client side to guarantee that there is no evidence of your private key stored on the cluster. +Data can be encrypted using third-party solutions, like [GPG](https://gnupg.org/). It is possible to automate your backups, and encrypt them using a solution like [Duplicity](https://wiki.debian.org/Duplicity) or [Rclone crypt](https://rclone.org/crypt/). + +## Can I manage my storage and archiving constraints related to the GDPR with Scaleway Glacier? + +The GDPR requires that the life span of data be defined in two distinct cases: + +- the deletion of data after a certain period of time +- the archiving of data that must legally be kept + +Lifecycle management features meet both of these requirements by allowing you to set a timeframe beyond which your data is archived or deleted. + +## What is the maximum data volume and object size supported by Scaleway Glacier? + +There is no maximum data size, Glacier accepts an unlimited number of objects up to 5 TB each. +Large objects can be uploaded using [multipart uploads](/object-storage/api-cli/multipart-uploads/). + +## Can I change the storage class of an entire bucket from Standard to Glacier? + +Yes, a best practice is to create a [lifecycle rule](/object-storage/how-to/manage-lifecycle-rules/) targeting all objects in the bucket, or using a filter with an empty prefix. +In this case, all files contained within the selected bucket will have their storage class altered automatically on the dates stipulated by you. +However, due to some restrictions on Amazon's S3 protocol, a lifecycle rule cannot be created to modify the storage class from Glacier to Standard. \ No newline at end of file diff --git a/pages/public-gateways/faq.mdx b/pages/public-gateways/faq.mdx new file mode 100644 index 0000000000..d426af6ecc --- /dev/null +++ b/pages/public-gateways/faq.mdx @@ -0,0 +1,52 @@ +--- +meta: + title: Public Gateways FAQ + description: Discover Scaleway Public Gateways and get answers to all your questions about IP addressing, bandwidth, regionalization and more. +content: + h1: Public Gateways +dates: + validation: 2024-09-25 +category: network +productIcon: PublicGatewayProductIcon +--- + +## What is a Public Gateway? + +Public Gateways sit at the border of Private Networks. They provide services to deal with traffic entering and exiting the network (NAT), and SSH bastion. A Public Gateway can be attached to up to 8 Private Networks, and up to 50 Public Gateways are supported per [Organization](/organizations-and-projects/concepts/#organization). + +The Public Gateway can be configured through the console or the [API](https://www.scaleway.com/en/developers/api/public-gateway/). + +## Does the Public Gateway require a public IPv4 address? + +No. A public IPv4 address (aka. flexible IP) must be assigned to the Public Gateway at creation time, but you can detach it and delete it afterward if you do not require it to be publically accessible. + +## Can my Instances and other resources access the internet via a Public Gateway without a public IP address? + +Yes. The Public Gateway can advertize itself as the [default route to the internet](/public-gateways/concepts/#default-route) over the Private Network it is attached to, so that Instances and other resources on the same Private Network, can access the internet via the gateway. +Moreover, the Public Gateway supports [static NAT](/public-gateways/how-to/configure-a-public-gateway/#how-to-review-and-configure-nat) (aka. port forwarding), so that ingress traffic from the public internet can reach Instances on the Private Network. This works by mapping pre-defined ports of the public IP address of the gateway to specific ports and IP addresses on the Private Network. + +## What happened to static leases (DHCP reservations) when DHCP moved from the Public Gateway to Private Networks? + +On 12 July 2023, DHCP functionality moved from Public Gateways to Private Networks. See our [dedicated migration documentation](/vpc/reference-content/vpc-migration/) for full details. + +Pre-existing static leases created via the Public Gateway were fully migrated and still work for your attached resources on a Private Network. Manual static lease configuration is still available via the API and other developer tools, but is no longer available via the Scaleway console. We recommend that you use [Scaleway IPAM](/ipam/) to reserve private IP addresses on specific Private Networks, which you can then use when attaching resources. + +## Why is my Public Gateway labelled as Legacy? + +**Legacy** Public Gateways use a [workaround](/vpc/reference-content/vpc-migration/#public-gateways-and-vpc) to ensure compatiblity with Scaleway's IPAM (**I** **P** **A**ddress **M**anagement) tool. IPAM acts as a single source of truth for the IP addresses of Scaleway resources + +Your gateway is probably a legacy gateway if you created it prior to 17 October 2023. These gateways will continue to function, but are not natively integrated with IPAM, and you cannot take advantage of features such as IP management via Scaleway [IPAM](/ipam/), or fully-isolated Kubernetes Kapsules. You should create a new gateway if you want to benefit from such features. + +## Do I need a Public Gateway for each Availability Zone (AZ)? + +VPC and Private Networks are both [regional](/public-gateways/concepts/#region-and-availability-zone), meaning they span all AZs across a given region. Even though Public Gateways are zoned and not regional, one Public Gateway attached to a regional Private Network is functionally enough, and will cover the whole region. That is to say a Public Gateway created in PAR-1 can serve Instances in PAR-2 and PAR-3, as long as they are all attached to the same PAR-region Private Network. + +## How can I achieve truly High Availability (HA) networking when the Public Gateway is a zoned resource? + +Notwithstanding the answer to the previous question, if you have a single Public Gateway in, for example, PAR-1, serving resources from other AZs on the same Private Network and there is an outage in the PAR-1 zone, the gateway will not be able to serve the resources from other unaffected AZs. We are working to improve and develop our Public Gateway product to counteract this. + +In the meantime, if this is a concern, you could consider attaching several Public Gateways from different AZs to a single Private Network, each advertising a default route to the internet. As long as you are using a recent kernel (e.g. Ubuntu Jammy, Debian bookworm), the traffic will be spread across the different gateways. In the case of an outage in one AZ, you will only lose the gateway in that zone, and the others will continue to serve traffic. + +## I need more than 1Gbps bandwidth for my Public Gateway, what can I do? + +We have introduced a `VPC-GW-L` offer with 3Gbps bandwidth, and a `VPC-GW-XL` offer with 10Gbps of bandwidth, to accommodate customers with this type of need. For pricing details, see our [dedicated page](https://www.scaleway.com/en/pricing/network/). You can upgrade your existing Public Gateway to one of these new offers via the [Public Gateways API](https://www.scaleway.com/en/developers/api/public-gateway/#path-gateways-upgrade-a-public-gateway-to-the-latest-version-andor-to-a-different-commercial-offer-type) or the [Scaleway console](/public-gateways/how-to/upgrade-public-gateway/). \ No newline at end of file diff --git a/pages/secret-manager/faq.mdx b/pages/secret-manager/faq.mdx new file mode 100644 index 0000000000..eb958957a7 --- /dev/null +++ b/pages/secret-manager/faq.mdx @@ -0,0 +1,42 @@ +--- +meta: + title: Secret Manager FAQ + description: Explore Scaleway Secret Manager with our comprehensive FAQ covering security, secret types, and more. +content: + h1: Secret Manager +dates: + validation: 2024-09-23 +category: identity-and-access-management +productIcon: SecretManagerProductIcon +--- + +## Why should you use Scaleway Secret Manager? + +Scaleway Secret Manager is a secret management service that allows you to secure access to your applications, services and IT resources. The service makes it easy to manage credentials, API keys and other secrets throughout their lifecycle. You can use Secret Manager to handle the secrets used to access Scaleway products, third-party resources, or on-premises services. + +## What types of secrets can I manage with Secret Manager? + +You can manage different types of secrets, such as identifiers for databases, SaaS applications, third-party API keys, SSH keys, or certificates. Secret Manager also allows you to store your secrets in JSON format. The maximum size of a secret is 64 KB. + +## How can my applications access these secrets? + +To access the secrets stored in Secret Manager, you must create an Identity and Access Management (IAM) policy for your application. Then, you can replace the plain text secrets with code to retrieve the stored secrets through the Secret Manager API. For more information, see the [related documentation](/secret-manager/quickstart/). + +## In which regions is Secret Manager available? + +The Secret Manager service is deployed in all Scaleway regions: PAR, WAW and AMS. Stored secrets are replicated in different zones within a region. + +## How does Secret Manager guarantee the security of my secrets? + +Secret Manager allows you to control access to secrets through IAM policies. When you retrieve a secret, Secret Manager decrypts it and transmits it securely via TLS to your local environment. At no point does the service write or cache secrets in plain text on permanent storage. + +## How does Secret Manager encrypt my secrets? + +Secret Manager uses envelope encryption (AES-256 encryption algorithm) to encrypt your secrets with an internal key management service. +To understand the secrets encryption process, refer to our [related documentation](/secret-manager/reference-content/data-encryption-with-secret-manager/). + +## How is Scaleway Secret Manager billed? + +At the end of the month, you are billed for the number of secret versions stored and API requests made on the service. +A secret version is billed if it is in an enabled or disabled state. +If, for example, you have used a secret version for five days, you will only be billed for the five days and not for the whole month. Find out more about pricing on our [dedicated page](https://www.scaleway.com/en/pricing/?tags=available). diff --git a/pages/serverless-containers/faq.mdx b/pages/serverless-containers/faq.mdx new file mode 100644 index 0000000000..33b885af57 --- /dev/null +++ b/pages/serverless-containers/faq.mdx @@ -0,0 +1,238 @@ +--- +meta: + title: Serverless Containers FAQ + description: Discover Serverless Containers and Serverless architecture. +content: + h1: Serverless Containers +dates: + validation: 2024-09-24 +category: serverless +productIcon: ContainersProductIcon +--- + +## Overview + +### What is serverless computing, and how does it differ from traditional cloud hosting? + +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. + +### Why consider using Serverless Containers, Functions, or Jobs for my projects? + +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. + +### Can I run any application on Serverless Containers? + +Yes. Because Serverless Containers supports any containerized application, you can choose the language, runtime, and framework that best suits your needs. As long as it can run in a container and respond to HTTP requests, Serverless Containers can host it. + +### What are the cost benefits of using serverless services like Serverless Containers? + +With serverless, you only pay for the computing resources you use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. + +### Are applications deployed on Serverless Containers stateless? + +Yes, all applications deployed on Serverless Containers are stateless. This means the server does not store any state about the client session. Instead, the session data is stored on the client and passed to the server as needed. + + +## Billing + +### How am I billed for Serverless Containers? + +#### Principles + +Serverless Containers are billed on a pay-as-you-go basis, strictly on resource consumption (Memory and CPU). + +* **Memory consumption:** The memory consumption is obtained by multiplying the memory tier chosen by the container run duration. +* **vCPU consumption:** The vCPU consumption is obtained by multiplying the vCPU tier chosen by the container run duration. +* **Ephemeral storage:** Is free of charge, the maximum value of ephemeral storage depends on the memory value. + + + +#### Prices + +* **Memory consumption:** €0.10 per 100 000 GB-s, and we provide a **400 000 GB-s free tier** per account and per month. + + | Memory | Price per second | + |--------- |------------------ | + | 128 MB | €0.000000125 | + | 256 MB | €0.00000025 | + | 512 MB | €0.0000005 | + | 1024 MB | €0.000001 | + | 2048 MB | €0.000002 | + | 3072 MB | €0.000003 | + | 4096 MB | €0.000004 | + +* **vCPU consumption:** €1.00 per 100 000 vCPU-s, and we provide a **200 000 vCPU-s free tier** per account per month. + + | CPU | Price per second | + |------------ |------------------ | + | 0.07 vCPU | €0.0000007 | + | 0.14 vCPU | €0.0000014 | + | 0.28 vCPU | €0.0000028 | + | 0.56 vCPU | €0.0000056 | + | 1.12 vCPU | €0.0000112 | + +#### Example + +| Criteria | Value | +|--------------------------- |-------------- | +| Monthly duration | 30 000 000 s | +| Amount of memory allocated | 128 MB | +| Amount of vCPU allocated | 70 mvCPU | +| Free tier | Yes | + +##### Price calculation + +* **Memory consumption** + * *Allocated Memory conversion:* 128 MB = 0.125 GB + * *Resource consumption:* 30 000 000 s * 0.125 GB = 3 750 000 GB-s + * *Free tier:* 400 000 GB-s + * *Billed resources:* 3 750 000 - 400 000 = 3 350 000 GB-s + * *Cost:* 3 350 000 * €0.0000010 = **€3.35** +* **vCPU consumption** + * *Allocated vCPU conversion:* 70mvCPU = 0.070 vCPU + * *Resource consumption:* 30 000 000 s * 0.070 vCPU = 2 100 000 vCPU-s + * *Free tier:* 200 000 vCPU-s + * *Billed resources:* 2 100 000 - 200 000 = 1 900 000 vCPU-s + * *Cost:* 1 900 000 * €0.0000100 = **€19.00** + +**Monthly Cost: €22.35** + +## Resources and performance + +### Can I upgrade Serverless Container resources (vCPU and RAM) at any time? + +Yes, Serverless Containers resources can be changed at any time without causing downtime - see the previous question for full details. + +### How does scaling work in these serverless services? + +Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases - more requests or events - the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. + +### Can updates of Serverless Containers cause downtime? + +No, deploying a new version of your Serverless Container generates a **rolling update**. This means that a new version of the service is gradually +rolled out to your users without downtime. Here is how it works: + +* When a new version of your container is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. +* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. +* The old version is decommissioned once the new version is fully serving traffic. + +This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. + +### Can I migrate existing applications to Serverless Containers? + +Yes. Many traditional applications can be containerized and deployed to Serverless Containers. This makes it easier to modernize legacy systems without a complete rewrite. By moving to a serverless platform, you gain automatic scaling, reduced operational overhead, and a simpler infrastructure management experience. + +### How can I select the right resources (vCPU/RAM/ephemeral storage) for Serverless Containers ? + +Insufficient vCPU, RAM or ephemeral storage can lead to containers going to error status. Make sure to provision enough resources for your container. + +We recommend you set high values, [use metrics to monitor](/serverless-containers/how-to/monitor-container/) the resource usage of your container, then adjust the values accordingly. + +### How can I reduce the cold-starts of Serverless Containers ? + +* **Optimize the startup**: Cold-starts can be affected by loading a large number of dependencies and opening several resources at startup. +Ensure that your code avoids heavy computations or long-running initialization at startup and optimize the number of loaded libraries. + +* **Keep your container warm**: You can use CRON triggers at certain intervals to keep your container warm or set the min-scale parameter to `1` when required. + +* **Increase resources**: Adding more vCPU and RAM can help to significantly reduce the cold-starts of your container. + +* **Use sandbox v2**: We recommend you use sandbox v2 (advanced settings) to reduce cold starts. + +### What are the limitations of Serverless Containers? + +Refer to our dedicated page about [Serverless Containers limitations and configuration restrictions](/serverless-containers/reference-content/containers-limitations/) for more information. + +### Why does my container have an instance running after deployment, even with min-scale 0? + +Currently, a new container instance will always start after each deployment, even if there is no traffic and the minimum +scale is set to 0. This behavior is not configurable at this time. + +## Usage + +### How can I deploy my containers? + +There are several ways to deploy containers. Refer to the [dedicated documentation](/serverless-containers/reference-content/deploy-container/) to determine the best method for your use case. + +### How do I integrate my serverless solutions with other Scaleway services? + +Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/messaging/concepts/#queues) and [Topics and Events](/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases-for-postgresql-and-mysql/) or [Serverless databases](/serverless-sql-databases/). [Serverless Jobs](/serverless-jobs/) can pull data from [Object Storage](/object-storage/), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. + +### Where should I host my container images for deployment ? + + + +### How can I copy an image from an external registry to Scaleway Container Registry? + +You can copy an image from an external registry using the Docker CLI, or open source third-party tools such as [Skopeo](https://github.com/containers/skopeo). Refer to the [dedicated documentation](/serverless-containers/api-cli/migrate-external-image-to-scaleway-registry/) for more information. + +### How do Serverless Containers health checks work ? + +A Serverless Container is set to `ready` once the specified port is correctly bound to the container, and will start receiving traffic. If your application needs to perform some tasks before receiving traffic (e.g. connect to a database), it is important to run them before binding to the port (starting the webserver). +For now, the `HEALTHCHECK` Docker directive has no impact on container readiness. In the future, the health check will be customizable for your applications. + +## Network and storage + +### Can I whitelist the IPs of my containers? + +Serverless Containers does not yet support Private Networks. However, you can use the Scaleway IP ranges defined at [https://www.scaleway.com/en/peering/](https://www.scaleway.com/en/peering/) on Managed Databases and other products that allow IP filtering. + +### Which protocols are supported by Serverless Containers? + +Serverless Containers use the **http1** protocol by default, but some services (e.g., gRPC) only support `http2`. + +Protocol switching is available in the Console under the `Advanced options` section in the `Deployment` tab. + +### Why does my gRPC container not respond? + +Containers use **http1** by default, yet the gRPC protocol requires `http2`. You can upgrade the protocol to `http2` (`h2c`). + +### How can I configure access to a Private Network or Virtual Private Cloud (VPC)? + +Scaleway Serverless Containers does not currently support Scaleway VPC or Private Networks, though this feature is under development. + +To add network restrictions on your resource, refer to the [list of prefixes used at Scaleway](https://www.scaleway.com/en/peering/). Serverless resources do not have dedicated or predictable IP addresses. + +### Can I connect to my container using SSH? + +No, it is not possible to connect to Serverless Containers using SSH. Serverless Containers is a fully managed, and stateless compute environment that does not provide direct access to the underlying infrastructure due to several features, such as autoscaling. + +For monitoring and debugging purposes, you can inspect your container, and interact with it using [Scaleway Cockpit](/serverless-containers/how-to/monitor-container/). + +### How can I attach Block Storage to a Serverless Container? + +Scaleway Serverless Containers do not currently support attaching Block Storage. These containers are designed to be +stateless, meaning they do not retain data between invocations. For persistent storage, we recommend using external +solutions like Scaleway Object Storage. + +### How can I store data in my Serverless resource? + +Serverless resources are by default [stateless](/serverless-containers/concepts/#stateless), local storage is ephemeral. + +For certain use cases, such as saving analysis results or exporting data, it can be important to have permanent storage to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: + +#### Databases + +* [Serverless Databases](/serverless-sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. +* [Managed MySQL / PostgreSQL](/managed-databases-for-postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* [Managed Database for Redis®](/managed-databases-for-redis/): Fully managed Redis®* in seconds. +* [Managed MongoDB®](/managed-mongodb-databases/): Get the best of MongoDB® and Scaleway in one database. + +#### Storage + +* [Object Storage](/object-storage/): Multi-AZ resilient object storage service ensuring high availability for your data. +* [Scaleway Glacier](/object-storage/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. + + +Explore all Scaleway products in the console and select the right product for your use case. + +Further integrations are also possible even if not listed above, for example, [Secret Manager](/secret-manager/) can help you to store information that requires versioning. + + +### Can I use Serverless Containers with Edge Services? + +You cannot use Serverless Containers with Edge Services because there are no native integrations between the two products yet. + +### Can I use the IP address of a Serverless Function? + +By design, it is not possible to guarantee static IPs on Serverless compute resources. diff --git a/pages/serverless-functions/faq.mdx b/pages/serverless-functions/faq.mdx new file mode 100644 index 0000000000..724883638c --- /dev/null +++ b/pages/serverless-functions/faq.mdx @@ -0,0 +1,263 @@ +--- +meta: + title: Serverless Functions FAQ + description: Discover Serverless Functions and Serverless architecture. +content: + h1: Serverless Functions +dates: + validation: 2024-10-03 +category: serverless +productIcon: FunctionsProductIcon +--- + +## Overview + +### What is serverless computing, and how does it differ from traditional cloud hosting? + +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. + +### Why consider using Serverless Containers, Functions, or Jobs for my projects? + +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. + +### What are the cost benefits of using serverless services like Serverless Containers and Serverless Functions? + +With serverless, you only pay for the computing resources you use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. + +## Billing + +### How am I billed for Serverless Functions? + +#### Principle + +Serverless Functions is billed on a pay-as-you-go basis. Three components are taken into account: + +* **Monthly request number:** each time your function is invoked we increase a counter. + +* **Resource consumption:** this component is obtained by multiplying the memory tiers chosen by the duration of each function invocation. + +* **Resources provision:** in order to mitigate cold start, users can choose to keep some function instances warm (by filing the minimum scale value). We then charge for the provisioned resources similarly to the Resources consumption component. + +The scheme below illustrates our billing model: + + + +#### Pricing + +* **Monthly requests:** **€0.15 per million requests**, and we offer **1M free requests** per account per month. + +* **Resources consumption:** **€1.20 per 100 000 GB-s**, and we provide **400 000 GB-s free tiers** per account and per month. + +| Memory provisioned | Cost per second | +|---------------------|-----------------| +| 128 MB | €0.0000015 | +| 256 MB | €0.0000030 | +| 512 MB | €0.0000060 | +| 1024 MB | €0.0000120 | +| 2048 MB | €0.0000240 | +| 3072 MB | €0.0000360 | +| 4096 MB | €0.0000480 | + +* **Resources provision:** €0.36 per 100 000 GB-s + +| Memory provisioned | Cost per second | +|---------------------|-----------------| +| 128 MB | €0.00000045 | +| 256 MB | €0.0000009 | +| 512 MB | €0.0000018 | +| 1024 MB | €0.0000036 | +| 2048 MB | €0.0000072 | +| 3072 MB | €0.0000108 | +| 4096 MB | €0.0000144 | + +#### Examples + +##### Example 1: Without resources provisioning + +| Criteria | Value | +|-------------------------------|-------------| +| Number of requests | 30 000 000 | +| Average request duration | 1 s | +| Allocated resources (memory) | 128 MB | +| Free tier | Yes | +| Provision/minimum instances | 0 | + +* **Resources consumption** + * *Service usage duration:* 30 000 000 Requests x 1 s = 30 000 000 seconds used + * *Memory conversion:* 128 MB = 0.125 GB + * *Resources consumed:* 30 000 000 s x 0.125 GB = 3 750 000 GB-s + * *Free tier:* 400 000 GB-s + * *Resourced billed:* 3 750 000 - 400 000 = 3 350 000 GB-s + * *Cost:* 3 350 000 x €0.0000120 = **€40.20** + +* **Requests:** + * *Free tier:* 1 000 000 requests + * *Billed requests:* 30 000 000 - 1 000 000 = 29 000 000 Requests + * *Cost:* 29 000 000 x €0.00000015 = **€4.35** + +**Total monthly cost: €44.55** + +##### Example 2: With resources provisioning + +| Criteria | Value | +|-------------------------------|-------------| +| Number of requests | 30 000 000 | +| Average request duration | 1 s | +| Allocated resources (memory) | 128 MB | +| Free tier | Yes | +| Provision/minimum instances | 1 | + +* **Resources consumption** + * *Service usage duration:* 30 000 000 Requests x 1 s = 30 000 000 seconds used + * *Memory conversion:* 128 MB = 0.125 GB + * *Resources consumed:* 30 000 000 s x 0.125 GB = 3 750 000 GB-s + * *Free tier:* 400 000 GB-s + * *Resourced billed:* 3 750 000 - 400 000 = 3 350 000 GB-s + * *Cost:* 3 350 000 x €0.0000120 = **€40.20** + +* **Provisioned functions consumption:** + * *Provisioned duration:* 1 month = 2 592 000 seconds, with one minimum instance → 2 592 000 seconds used + * *Provisioned resources consumed:* 2 592 000 x 0.125 GB = 324 000 GB-s + * *Cost:* 324 000 x €0.0000036 = **€1.17** + +* **Requests:** + * *Free tier:* 1 000 000 requests + * *Billed requests:* 30 000 000 - 1 000 000 = 29 000 000 Requests + * *Cost:* 29 000 000 x €0.00000015 = **€4.35** + +**Total monthly cost: €45.72** + +## Resources and performance + +### How to select the right resources (vCPU/RAM) for Serverless Functions ? + +Insufficient vCPU and RAM resources can lead to functions going to error status. Make sure to provision enough resources for your function. + +We recommend you set high values, [use metrics to monitor](/serverless-functions/how-to/monitor-function/) the resource usage of your function, then adjust the value accordingly. + +### How does scaling work in these serverless services? + +Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases - more requests or events - the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. + +### Can I upgrade Serverless Function resources (vCPU and RAM) at any time? + +Yes, Serverless Functions resources can be changed at any time without causing downtime, see the previous question for full details. + +### Does updating a Serverless Function cause downtime? + +No, deploying a new version of your Serverless Function generates a **rolling update**. This means that a new version of the service is gradually +rolled out to your users without downtime. Here is how it works: + +* When a new version of your function is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. +* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. +* The old version is decommissioned once the new version is fully serving traffic. + +This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to them. + +### How to reduce cold-start of Serverless Functions? + +* **Optimize the startup**: Cold-start can be affected by a loading a large number of dependencies and opening lot of resources at startup. +Ensure that your code avoids heavy computations or long-running initialization at startup and optimize the number of loaded libraries. + +* **Keep your function warm**: You can use CRON triggers at certain intervals to keep your function warm or set the min-scale parameter to one when required. + +* **Increase resources**: Adding more vCPU and RAM can help to significantly reduce the cold-starts of your function. + +* **Use sandbox v2**: We recommend using sandbox v2 (advanced settings) to reduce cold start. + +### What are the limitations of Serverless Functions? + +Refer to our dedicated page about [Serverless Functions limitations and configuration restrictions](/serverless-functions/reference-content/functions-limitations/) for more information. + +### What runtimes are available on Serverless Functions? + +Serverless Functions enables you to deploy functions using popular languages: `Go`, `Node`, `Python`, `PHP`, and `Rust`. + +Refer to our dedicated page about [Serverless Functions Runtimes Lifecycle](/serverless-functions/reference-content/functions-runtimes/) + +### Why does my function have an instance running after deployment, even with min-scale 0? + +Currently, a new function instance will always start after each deployment, even if there is no traffic and the minimum +scale is set to `0`. This behavior is not configurable at this time. + +## Usage + +### How can I deploy my functions? + +There are [several ways to deploy Serverless Functions](/serverless-functions/reference-content/deploy-function/), to accommodate a broad range of use cases. + +### How do I integrate my serverless solutions with other Scaleway services? + +Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/messaging/concepts/#queues) and [Topics and Events](/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases-for-postgresql-and-mysql/) or [Serverless databases](/serverless-sql-databases/). [Serverless Jobs](/serverless-jobs/) can pull data from [Object Storage](/object-storage/), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. + +### How can I check build errors? + +Some Serverless runtimes (ex: `Go`, `Rust`) will compile your code in order to make your function executable. +Compilation can fail if errors are present in the code, for example syntax errors and missing libraries. + +Build errors are sent to the Observability platform on Scaleway Cockpit. + +In the `Serverless Functions Logs` dashboard, you will then be able to read information about your log build outputs, if errors occurred during compilation. + +### How can I test my functions locally? + + Scaleway provides libraries to run your functions locally, for debugging, profiling, and testing purposes. Refer to the [dedicated documentation](/serverless-functions/reference-content/local-testing/) for more information. + +### Where can I find some advanced code examples for functions? + +Check out our [serverless-examples repository](https://github.com/scaleway/serverless-examples) for real world projects. + +### How to migrate runtimes? + +There are no constraints when changing a function runtime, you simply need to choose the runtime version you want. +Upgrading a runtime is highly recommended in case of deprecation, and for runtimes that have reached end-of-support or end-of-life. See the [functions runtimes lifecycle documentation](/serverless-functions/reference-content/functions-runtimes/) for more information. + +## Network and storage + +### How can I configure access to a Private Network or Virtual Private Cloud (VPC)? + +Scaleway Serverless Functions does not currently support Scaleway VPC or Private Networks, though this feature is under development. + +To add network restrictions on your resource, consult the [list of prefixes used at Scaleway](https://www.scaleway.com/en/peering/). Note that Serverless resources do not have dedicated or predictable IP addresses. + +### Can I allow to list the IPs of my functions? + +Serverless Functions does not yet support Private Networks. However, you can use the Scaleway IP ranges defined at [https://www.scaleway.com/en/peering/](https://www.scaleway.com/en/peering/) on Managed Databases and other products that allow IP filtering. + +### Can I use Serverless Functions with Edge Services? + +You cannot use Serverless Functions with Edge Services because there are no native integrations between the two products yet. + +### Can I use the IP address of a Serverless Function? + +By design, it is not possible to guarantee static IPs on Serverless Compute resources. + +### How can I attach Block Storage to a Serverless Function? + +Scaleway Serverless Functions do not currently support attaching Block Storage. These functions are designed to be +stateless, meaning they do not retain data between invocations. For persistent storage, we recommend using external +solutions like Scaleway Object Storage. + +### How can I store data in my Serverless resource? + +Serverless resources are by default [stateless](/serverless-functions/concepts/#stateless), local storage is ephemeral. + +For some use cases, such as saving analysis results, exporting data etc., it can be important to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: + +#### Databases + +* [Serverless Databases](/serverless-sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. +* [Managed MySQL / PostgreSQL](/managed-databases-for-postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* [Managed Database for Redis®](/managed-databases-for-redis/): Fully managed Redis®* in seconds. +* [Managed MongoDB®](/managed-mongodb-databases/): Get the best of MongoDB® and Scaleway in one database. + +#### Storage + +* [Object Storage](/object-storage/): Multi-AZ resilient object storage service ensuring high availability for your data. +* [Scaleway Glacier](/object-storage/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. + + +Explore all Scaleway products in the console and select the right product for your use case. + +Some products are not listed but for example, on specific use cases Secret Manager can help you to store information that requires versioning. + diff --git a/pages/serverless-jobs/faq.mdx b/pages/serverless-jobs/faq.mdx new file mode 100644 index 0000000000..7b8d7795e2 --- /dev/null +++ b/pages/serverless-jobs/faq.mdx @@ -0,0 +1,185 @@ +--- +meta: + title: Serverless Jobs FAQ + description: Discover Scaleway's Serverless Jobs +content: + h1: Serverless Jobs +dates: + validation: 2024-10-03 +category: serverless +productIcon: ServerlessJobsProductIcon +--- + +## Overview + +### What is Serverless Jobs, and when should I use it? + +Serverless Jobs allows you to run large-scale batch processing and computational workloads in a fully managed environment. If you have tasks like data processing, machine learning training jobs, simulations, or large-scale analytics that can be parallelized, Serverless Jobs helps you orchestrate and manage those workloads seamlessly. + +### What types of workloads are best suited for Serverless Jobs? + +Serverless Jobs is ideal for tasks such as data processing, analysis and various computational operations that can be executed in a non-interactive batch mode. You can execute short and long-running jobs. + +### What is serverless computing, and how does it differ from traditional cloud hosting? + +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. + +### Why consider using Serverless Containers, Functions, or Jobs for my projects? + +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. + +## Billing + +### How am I billed for Serverless Jobs? + +#### Principles + +Serverless Jobs are billed on a pay-as-you-go basis, strictly on resource consumption (Memory and CPU). + +* **Memory consumption:** The memory consumption is obtained by multiplying the memory tier chosen by the job run duration. +* **vCPU consumption:** The vCPU consumption is obtained by multiplying the vCPU tier chosen by the job run duration. +* **Ephemeral storage:** Is free of charge, the maximum value of ephemeral storage depends on the memory value. + +#### Prices + +* **Memory consumption:** €0.10 per 100 000 GB-s, and we provide a **400 000 GB-s free tier** per account and per month. + + | Memory | Price per second | + |--------- |------------------ | + | 128 MB | €0.000000125 | + | 256 MB | €0.00000025 | + | 512 MB | €0.0000005 | + | 1024 MB | €0.000001 | + | 2048 MB | €0.000002 | + | 3072 MB | €0.000003 | + | 4096 MB | €0.000004 | + +* **vCPU consumption:** €1.00 per 100 000 vCPU-s, and we provide a **200 000 vCPU-s free tier** per account per month. + + | CPU | Price per second | + |------------ |------------------ | + | 0.07 vCPU | €0.0000007 | + | 0.14 vCPU | €0.0000014 | + | 0.28 vCPU | €0.0000028 | + | 0.56 vCPU | €0.0000056 | + | 1.12 vCPU | €0.0000112 | + +#### Example + +| Criteria | Value | +|--------------------------- |------------------| +| Monthly duration | 432 000 s (120h) | +| Amount of memory allocated | 2048 MB | +| Amount of vCPU allocated | 1120 mvCPU | +| Free tier | Yes | + +##### Price calculation + +* **Memory consumption** + * *Allocated Memory conversion:* 2048 MB = 2 GB + * *Resource consumption:* 432 000 s * 2 GB = 864 000 GB-s + * *Free tier:* 400 000 GB-s + * *Billed resources:* 864 000 - 400 000 = 464 000 GB-s + * *Cost:* 464 000 * €0.0000010 = **€0.47** +* **vCPU consumption** + * *Allocated vCPU conversion:* 1120 mvCPU = 1.12 vCPU + * *Resource consumption:* 432 000 s * 1.12 vCPU = 483 840 vCPU-s + * *Free tier:* 200 000 vCPU-s + * *Billed resources:* 483 840 - 200 000 = 283 840 vCPU-s + * *Cost:* 283 840 * €0.0000100 = **€2.84** + +**Monthly Cost: €3,31** + +## Resources and performance + +### How do I integrate my serverless solutions with other Scaleway services? + +Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/messaging/concepts/#queues) and [Topics and Events](/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases-for-postgresql-and-mysql/) or [Serverless databases](/serverless-sql-databases/). [Serverless Jobs](/serverless-jobs/) can pull data from [Object Storage](/object-storage/), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. + +### Can I update Serverless Jobs resources (vCPU and RAM) at any time? + +Yes, resources of your Job Definition can be updated at any time. + +Ongoing job runs will keep using the resources defined when they started. + +## Usage + +### How can I monitor the activity of my Serverless Jobs? + +Serverless Jobs are integrated with [Cockpit](/cockpit/quickstart/), Scaleway's Observability service. Cockpit allows you to [see all the logs and metrics associated with your job runs](/serverless-jobs/concepts/#job-run). Additionally, each job run has a status that provides you with real-time information on your job's execution. + +### Can I cancel or modify a Serverless Job after it has started? + +An ongoing Serverless Job can be interrupted during its execution from the **Job runs** section of a job's **Overview** tab. Refer to the [dedicated documentation](/serverless-jobs/how-to/stop-job/) for more information. + +### How can I automate the deployment and management of Scaleway Serverless Jobs? + +Scaleway Serverless Jobs is part of the Scaleway ecosystem, it can therefore be driven using the [Scaleway CLI](/scaleway-cli/quickstart/), the [Scaleway API](https://www.scaleway.com/en/developers/api/), and other [developer tools](https://www.scaleway.com/en/developers/). Our serverless ecosystem offers a lot of possibilities with event-driven architectures, and integrations with more products of the Scaleway ecosystem are under active development. + +### Can I run multiple Serverless Jobs at the same time? + +When starting a job, you can use contextual options to define the number of jobs to execute at the same time. Refer to the [dedicated documentation](/serverless-jobs/how-to/run-job/#how-to-run-a-job-with-contextual-options) for more information. + +### Where should I host my jobs images for deployment? + + + +### How can I copy an image from an external registry to Scaleway Container Registry? + +You can copy an image from an external registry by [logging in to the Scaleway Container Registry](/container-registry/how-to/connect-docker-cli/) using the Docker CLI, and by copying the image as shown below: + +```sh +docker pull alpine:latest +docker tag alpine:latest rg.fr-par.scw.cloud/example/alpine:latest +docker push rg.fr-par.scw.cloud/example/alpine:latest +``` + +Alternatively, you can use tools such as [Skopeo](https://github.com/containers/skopeo) to copy the image: + +```sh +skopeo login rg.fr-par.scw.cloud -u nologin -p $SCW_SECRET_KEY +skopeo copy --override-os linux docker://docker.io/alpine:latest docker://rg.fr-par.scw.cloud/example/alpine:latest +``` + +### Can I securely use sensitive information with Serverless Jobs? + +Yes, you can use sensitive data such as API secret keys, passwords, TLS/SSL certificates, or tokens. Serverless Jobs seamlessly integrates with [Secret Manager](/secret-manager/), which allows you to securely reference sensitive information within your jobs. Refer to the [dedicated documentation](/serverless-jobs/how-to/reference-secret-in-job/) for more information. + +## Network and storage + +### How can I configure access to a Private Network or Virtual Private Cloud (VPC)? + +Scaleway Serverless Jobs does not currently support Scaleway VPC or Private Networks, though this feature is under development. + +To add network restrictions on your resource, consult the [list of prefixes used at Scaleway](https://www.scaleway.com/en/peering/). Serverless resources do not have dedicated or predictable IP addresses. + +### Can I connect to my job using SSH? + +No, it is not possible to connect to Serverless Jobs using SSH. Serverless Jobs is a fully managed, and stateless compute environment that does not provide direct access to the underlying infrastructure. + +For monitoring and debugging purposes, you can inspect your job, and interact with it using [Scaleway Cockpit](/serverless-jobs/how-to/monitor-job/). + +To inject specific commands into a job run, you can add a [startup command](/serverless-jobs/concepts/#startup-command) to a job. + +### How can I store data in my Serverless resource? + +Serverless resources are by default [stateless](/serverless-functions/concepts/#stateless), local storage is ephemeral. + +For some use cases, such as saving analysis results, exporting data etc., it can be important to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: + +#### Databases + +* [Serverless Databases](/serverless-sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. +* [Managed MySQL / PostgreSQL](/managed-databases-for-postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* [Managed MongoDB®](/managed-mongodb-databases/): Get the best of MongoDB® and Scaleway in one database. + +#### Storage + +* [Object Storage](/object-storage/): Multi-AZ resilient object storage service ensuring high availability for your data. +* [Scaleway Glacier](/object-storage/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. + + +Explore all Scaleway products in the console and select the right product for your use case. + +Some products are not listed but for example, on specific use cases Secret Manager can help you to store information that requires versioning. + \ No newline at end of file diff --git a/pages/serverless-sql-databases/faq.mdx b/pages/serverless-sql-databases/faq.mdx new file mode 100644 index 0000000000..b58f70b129 --- /dev/null +++ b/pages/serverless-sql-databases/faq.mdx @@ -0,0 +1,60 @@ +--- +meta: + title: Serverless SQL Databases FAQ + description: Discover Scaleway's Serverless SQL Databases +content: + h1: Serverless SQL Databases +dates: + validation: 2024-10-10 +category: serverless +productIcon: ServerlessDbProductIcon +--- + +## How am I billed for Serverless SQL Databases? + +You are billed both for the compute resources provisioned and the storage used. You can see the cost estimate in the Database creation wizard. + + - **Compute**: You are billed based on compute resources (vCPU and RAM) provisioned to handle your workload. Provisioned resources evolve according to the [autoscaling](/serverless-sql-databases/reference-content/serverless-sql-databases-overview/#autoscaling) parameter, and stay between the minimum and maximum thresholds defined for your database. For each vCPU provisioned, 4 GB of RAM will be allocated. + + - **Storage**: You are billed for the storage consumed by your database. Storage price is based on the size of your database (in GB) and includes 7 days of automated backups at no additional costs. Storage is always billed even if your database is in an active state or idle state. + + + You will not be billed if your database is configured with 0 vCPU as a minimum and is in **idle** status. + + +## How am I billed for database backups? + +The 7 days of backups are free. Backup creation and restore operations are considered regular database activity (including the automatic daily backups), so you will be billed according to the resources consumed during the restore operation. + +For example, if the restore operation lasts one hour, you will be billed for one hour of RAM and vCPU usage. + +Backup creation and restore operation duration depend on several factors, such as the total storage used, and index number and size. + +Backup and restore operations for databases that are less than 10 GB usually last a couple of minutes, but they can take longer if you rely heavily on indexes or constraints, or other time-consuming restore operations. + +## What are the differences between Serverless SQL Databases and PostgreSQL databases? + +Serverless SQL Database is compatible with most PostgreSQL-compatible clients and tools. Due to connection pooling support, some minor features are disabled or will not work as expected. Refer to the [Known differences](/serverless-sql-databases/reference-content/known-differences/) for more information. + +## How many simultaneous connections can my database receive? + +Serverless SQL Database handles connection pooling seamlessly. The number of maximum simultaneous connections will scale with CPU and RAM. Refer to the [Serverless SQL Databases overview](/serverless-sql-databases/reference-content/serverless-sql-databases-overview/) for more information on technical specifications. + +Refer to [How am I billed?](/faq/serverless-sql-databases/#how-am-i-billed-for-serverless-sql-databases) for more information. + +## Is there any latency linked to scaling or cold starts? + +Scaling an active database or waking up an idle database will be seamless for clients connected to the database as the connections will be maintained, but queries performed during these operations may experience a few seconds of delay. + +You can avoid cold starts by provisioning a minimum of 1 vCPU or more. + +## What features are not supported during the beta? + +The following features are currently not supported and will be implemented at a later time: + + - Manual backups (you can still perform manual backups using SQL queries or via SQL administration tools such as pgAdmin) + - Several SQL commands detailed in the [Known differences with default PostgreSQL](/serverless-sql-databases/reference-content/known-differences/) documentation + +## Which PostgreSQL extensions are available? + +Refer to our dedicated [PostgreSQL extentions reference page](/serverless-sql-databases/reference-content/supported-postgresql-extensions/) for a list of all available extensions and more details about each one. \ No newline at end of file diff --git a/pages/transactional-email/faq.mdx b/pages/transactional-email/faq.mdx new file mode 100644 index 0000000000..16769de0b5 --- /dev/null +++ b/pages/transactional-email/faq.mdx @@ -0,0 +1,90 @@ +--- +meta: + title: Transactional Email FAQ + description: Discover Scaleway's Transactional Email +content: + h1: Transactional Email + paragraph: Discover Scaleway's Transactional Email +dates: + validation: 2024-10-01 +category: managed-services +productIcon: TransactionalEmailProductIcon +--- + +## What is Transactional Email? + +Scaleway's Transactional Email service is a fully managed solution dedicated to sending transactional emails. With Transactional Email, you can send your emails via the API or SMTP, add and verify a sending domain, configure SPF and DKIM authentication, and monitor emails via the [Scaleway console](https://console.scaleway.com/). + +## What are transactional emails? + +A transactional email is a type of automated, non-promotional email triggered by interactions with a website or an application, e.g. account creation, password modification, new order, payment status, etc. Unlike marketing emails, transactional emails are usually expected by customers and thus, have a much higher open rate than marketing emails. + +## Can I use your platform to send my marketing emails? + +Scaleway's Transactional Email platform is dedicated to sending transactional emails only. You cannot use Transactional Email to send marketing emails. [Read our anti-spam policy](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf) for more information. + +## How can I configure DNS records to send emails? + +You need to [add SPF and DKIM records](/transactional-email/how-to/add-spf-dkim-records-to-your-domain/) to be able to send emails. Find out [how to set up your DNS records for other DNS providers](/tutorials/set-up-spf-dkim-for-dns-providers/). + +## How do I know if my domain is valid for sending emails? + +After configuring your SPF and DKIM records, you must launch a verification of the domain either via [the console](https://console.scaleway.com/transactional-email/domains) in the **DNS verification** tab, or the [API](https://www.scaleway.com/en/developers/api/transactional-email/#path-domains-display-spf-and-dkim-records-status-and-potential-errors). You will then receive an email informing you whether your domain was validated or if there are errors to fix so it can be validated. + +## Do I have to set up an MX record for better email deliverability? + +Setting up an [MX record](/transactional-email/concepts#mx-record) is highly recommended to ensure your email deliverability. Find out [how to add an MX record to your domain](/transactional-email/how-to/add-mx-record-to-your-domain/#how-to-add-your-own-mx-record). You can also [use Scaleway's blackhole MX](/transactional-email/how-to/add-mx-record-to-your-domain/#how-to-add-scaleways-mx-record) if you do not have your own MX. + +## What happens to automatically configured DNS records when I delete a domain in the Transactional Email service? + +When a domain is removed from Scalway's Transactional Email platform, [autoconfigured DNS records](/transactional-email/how-to/autoconfigure-domain/) are not automatically deleted in the Domains & DNS section. You must manually delete or modify these records if you no longer use the domain to send emails. Verifying the associated DNS records is recommended to ensure they are correctly configured or removed. + +## What is the impact on the Transactional Email service if a DNS zone is deleted in Scaleway Domains & DNS? + +If a DNS zone is deleted while [autoconfig is enabled](/transactional-email/how-to/autoconfigure-domain/), the DNS records will be added to the parent zone. This ensures that the domain remains validated on the Transactional Email platform, allowing continued service use without interruption. + +## What are the limitations and restrictions when using Transactional Email? + +Find out about [limits and quotas](/transactional-email/reference-content/tem-capabilities-and-limits/) available for Transactional Email. If you want to increase your quota beyond the values shown on this page, [contact our support team](https://console.scaleway.com/support/create). + +## How is Scaleway's Transactional Email service billed? + +At the end of the month, you are billed for the number of emails you sent. +If the number of emails you have sent exceeds the number of emails included in your offer, you will be billed for the excess emails. For example, if you use the free tier of 300 emails per month, and you end up sending 305 emails, you will only be billed for five emails out of the 305 you have sent. +Check out our [dedicated page](https://www.scaleway.com/en/pricing/?tags=managedservices-transactionalemail-transactionalemail) for more information about Transactional Email's pricing. + +## Can I unblock an address that was automatically added to a TEM blocklist before the 48-hour period ends? +Yes, you can manually unblock any address, even if it is still under the temporary block period. You can unblock up to five addresses every 24 hours. + +## What happens if an address on a TEM blocklist becomes valid again? +You can manually unblock the address. Before doing so, ensure that the initial cause of the bounce has been resolved to prevent further issues. + +## Can I remove addresses from the blocklist? +Yes, all blocked addresses can be unblocked via the interface. If you manually added an address, you have full control over when and if it is removed from the blocklist. + +## What are the main benefits of the Scale plan? +The Scale plan provides advanced control over email deliverability through a dedicated IP, detailed performance tracking, and advanced webhook management. It is ideal for businesses with high email-sending volume requirements. + +## What is the difference between a dedicated IP and a shared IP? +A dedicated IP is used exclusively by a single user, allowing for better control over sending reputation. A shared IP is shared among multiple users, which can impact deliverability based on the practices of other senders. + +## What happens if my dedicated IP is blacklisted? +TEM can assist in identifying the problem and recommending corrective actions, but the final resolution depends on your sending practices. Therefore, it is essential to follow [best practices for deliverability](/transactional-email/reference-content/understanding-tem-reputation-score/#best-practices-for-domain-reputation-and-deliverability) to avoid this type of situation. + +## Can I use both a dedicated IP and a shared IP on the same project? +No, a project using a dedicated IP cannot send emails via a shared IP. If you want to use a shared IP, you must create a separate project. + +Refer to the [Understanding managed dedicated IPs](/transactional-email/reference-content/tem-dedicated-ip) documentation page for more information. + +## Does a dedicated IP include both IPv4 and IPv6? +Yes, each dedicated IP provided with the Scale plan includes both an IPv4 and an IPv6 address. This ensures better compatibility with different email providers and optimizes the deliverability of sent emails. + +Refer to the [Understanding managed dedicated IPs](/transactional-email/reference-content/tem-dedicated-ip) documentation page for more information. + +## Can I add a new dedicated IP to my Organization? +If you want to add a new dedicated IP to your Organization, you must create a new Scaleway Project with the Scale plan or contact support to review your request. + +Refer to the [Understanding managed dedicated IPs](/transactional-email/reference-content/tem-dedicated-ip) documentation page for more information. + +## Does Scaleway have an anti-spam policy? +Yes. You can find Scaleway's official Transactional Email anti-spam policy in the [contracts](https://www.scaleway.com/en/contracts/) section of the Scaleway website. \ No newline at end of file diff --git a/pages/vpc/faq.mdx b/pages/vpc/faq.mdx new file mode 100644 index 0000000000..f5f7687375 --- /dev/null +++ b/pages/vpc/faq.mdx @@ -0,0 +1,56 @@ +--- +meta: + title: Private Networks FAQ + description: Discover Scaleway Private Networks, and find answers to all your questions about attaching resources, how IP addressing works, and other configuration details. +content: + h1: Private Networks +dates: + validation: 2024-09-25 +category: network +productIcon: PrivateNetworkProductIcon +--- + +## What are Private Networks? + +Private Networks are a managed cloud service allowing you to create layer 2 ethernet-switched domains. + +These domains can also be called virtual LAN (VLAN). They are virtual but completely private local networks that securely connect your Scaleway resources without necessarily exposing them publicly. Scaleway resources including Instances, Elastic Metal servers, Load Balancers, and Databases are all compatible with Private Networks. + +## What's the difference between Private Networks and VPC? + +Scaleway VPC offers layer 3 network isolation, while layer 2 Private Networks are created inside a given VPC. See the VPC FAQ for [more information](/faq/vpc/). + +## Can I connect multiple Private Networks to the same Scaleway resource? + +Yes, you can configure multiple Private Networks on the same Scaleway resource. For example, you can connect up to 8 Private Networks to the same Instance. A virtual network interface is created for each Private Network the Instance is attached to. For Elastic Metal, some additional configuration is required: check out our documentation on [configuring the network interface](/elastic-metal/how-to/use-private-networks/#how-to-configure-the-network-interface-on-your-elastic-metal-server-for-private-networks). + +You can configure: +- Up to 8 Private Networks per Scaleway resource +- Up to 255 Private Networks per Organization +- Up to 512 Scaleway resources per Private Network + +## Do I have to restart a Scaleway resource after adding Private Networks? + +No, Private Network interfaces will appear on your resources without any reboot. + +## Does Private Network support IPv6? + +Yes, when you create a Private Network both an IPv4 and an IPv6 CIDR block are defined. The IPv6 CIDR block is defined automatically and "invisibly" by default at the time of creating the Private Network. It cannot be modified either at the time of creation, or afterward. + +It is a `/64 block`, guaranteed to be unique within the VPC and not overlapping with any of your other Private Networks. Resources that support private IPv6 addressing, e.g. Instances, can then acquire an IPv6 address when they join the Private Network. + +## Do resources in a Private Network require a public IPv4 address? + +No, they do not require a public IPv4 address. + +## Can resources in a Private Network access the internet without a public IPv4 address? + +Yes. You can attach a [Public Gateway](/public-gateways/how-to/create-a-public-gateway/) to your Private Network to provide internet access to your Instances, Elastic Metal servers, and other attached Scaleway resources. + +## Do non-IP protocols work over Private Networks? + +Technically, any ethernet payload should work over Private Networks. However, only IPv4 and IPv6 are officially supported. If you have real use cases for other protocols, let us know by reaching us on the [Scaleway Community Slack](https://scaleway-community.slack.com/). + +## Do Private Networks support IP autoconfiguration? + +Yes, DHCP is an inbuilt function of Private Networks and provides IP autoconfiguration for your attached resources. Alternatively, you can use Scaleway IPAM to [reserve specific IP addresses](/ipam/how-to/reserve-ip/) on a Private Network and use these to attach resources. \ No newline at end of file From 91a1f05f8b59cc17f4a9bc4d5168c56d21d0b276 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 14:27:43 +0100 Subject: [PATCH 02/14] feat(faq): update faq --- faq/account.mdx | 85 ----- faq/apple-silicon.mdx | 49 --- faq/assets/scaleway-switch-organization.webp | Bin 58118 -> 0 bytes faq/audit-trail.mdx | 35 -- faq/billing.mdx | 182 ---------- faq/blockstorage.mdx | 88 ----- faq/cockpit.mdx | 100 ------ faq/containerregistry.mdx | 39 --- faq/data-lab.mdx | 69 ---- faq/databases-for-postgresql-and-mysql.mdx | 148 -------- faq/databases-for-redis.mdx | 104 ------ faq/dedibox-in-scaleway-console.mdx | 129 ------- faq/dedibox.mdx | 156 --------- faq/domains-and-dns.mdx | 119 ------- faq/edge-services.mdx | 33 -- faq/elastic-metal.mdx | 202 ----------- faq/environmental-footprint.mdx | 23 -- faq/generative-apis.mdx | 71 ---- faq/iam.mdx | 52 --- faq/index.mdx | 283 ++++++++++++++- faq/instances.mdx | 326 ------------------ faq/iothub.mdx | 92 ----- faq/ipam.mdx | 29 -- faq/key-manager.mdx | 39 --- faq/kubernetes.mdx | 96 ------ faq/loadbalancer.mdx | 81 ----- faq/managed-inference.mdx | 78 ----- faq/messaging-and-queuing.mdx | 46 --- faq/objectstorage.mdx | 286 --------------- faq/private-networks.mdx | 56 --- faq/public-gateways.mdx | 52 --- faq/secret-manager.mdx | 42 --- faq/serverless-containers.mdx | 238 ------------- faq/serverless-functions.mdx | 263 -------------- faq/serverless-jobs.mdx | 185 ---------- faq/serverless-sql-databases.mdx | 60 ---- faq/support.mdx | 78 ----- faq/transactional-email.mdx | 90 ----- faq/vpc.mdx | 79 ----- menu/navigation.json | 8 + .../assets/scaleway-Billing-FaaS-1-DEF.webp | Bin .../assets/scaleway-Billing-FaaS-2-DEF.webp | Bin .../scaleway-edge-services-pipeline copy.webp | Bin .../assets/scaleway-endpoints-redis.webp | Bin .../assets/scaleway-redis-cluster.webp | Bin .../assets/scaleway-redis-node-types.webp | Bin .../assets/scaleway-redis-standalone.webp | Bin .../assets/scaleway-schema-redis.webp | Bin .../assets/scaleway-caas-billing-1.webp | Bin .../assets/scaleway-caas-billing-2.webp | Bin .../vpc/assets/scaleway-vpc-pn-diag copy.webp | Bin pages/vpc/faq.mdx | 98 +++++- 52 files changed, 374 insertions(+), 3915 deletions(-) delete mode 100644 faq/account.mdx delete mode 100644 faq/apple-silicon.mdx delete mode 100644 faq/assets/scaleway-switch-organization.webp delete mode 100644 faq/audit-trail.mdx delete mode 100644 faq/billing.mdx delete mode 100644 faq/blockstorage.mdx delete mode 100644 faq/cockpit.mdx delete mode 100644 faq/containerregistry.mdx delete mode 100644 faq/data-lab.mdx delete mode 100644 faq/databases-for-postgresql-and-mysql.mdx delete mode 100644 faq/databases-for-redis.mdx delete mode 100644 faq/dedibox-in-scaleway-console.mdx delete mode 100644 faq/dedibox.mdx delete mode 100644 faq/domains-and-dns.mdx delete mode 100644 faq/edge-services.mdx delete mode 100644 faq/elastic-metal.mdx delete mode 100644 faq/environmental-footprint.mdx delete mode 100644 faq/generative-apis.mdx delete mode 100644 faq/iam.mdx delete mode 100644 faq/instances.mdx delete mode 100644 faq/iothub.mdx delete mode 100644 faq/ipam.mdx delete mode 100644 faq/key-manager.mdx delete mode 100644 faq/kubernetes.mdx delete mode 100644 faq/loadbalancer.mdx delete mode 100644 faq/managed-inference.mdx delete mode 100644 faq/messaging-and-queuing.mdx delete mode 100644 faq/objectstorage.mdx delete mode 100644 faq/private-networks.mdx delete mode 100644 faq/public-gateways.mdx delete mode 100644 faq/secret-manager.mdx delete mode 100644 faq/serverless-containers.mdx delete mode 100644 faq/serverless-functions.mdx delete mode 100644 faq/serverless-jobs.mdx delete mode 100644 faq/serverless-sql-databases.mdx delete mode 100644 faq/support.mdx delete mode 100644 faq/transactional-email.mdx delete mode 100644 faq/vpc.mdx rename {faq => pages/billing}/assets/scaleway-Billing-FaaS-1-DEF.webp (100%) rename {faq => pages/billing}/assets/scaleway-Billing-FaaS-2-DEF.webp (100%) rename faq/assets/scaleway-edge-services-pipeline.webp => pages/edge-services/assets/scaleway-edge-services-pipeline copy.webp (100%) rename {faq => pages/managed-databases-for-redis}/assets/scaleway-endpoints-redis.webp (100%) rename {faq => pages/managed-databases-for-redis}/assets/scaleway-redis-cluster.webp (100%) rename {faq => pages/managed-databases-for-redis}/assets/scaleway-redis-node-types.webp (100%) rename {faq => pages/managed-databases-for-redis}/assets/scaleway-redis-standalone.webp (100%) rename {faq => pages/managed-databases-for-redis}/assets/scaleway-schema-redis.webp (100%) rename {faq => pages/serverless-containers}/assets/scaleway-caas-billing-1.webp (100%) rename {faq => pages/serverless-containers}/assets/scaleway-caas-billing-2.webp (100%) rename faq/assets/scaleway-vpc-pn-diag.webp => pages/vpc/assets/scaleway-vpc-pn-diag copy.webp (100%) diff --git a/faq/account.mdx b/faq/account.mdx deleted file mode 100644 index c7d9d8b37e..0000000000 --- a/faq/account.mdx +++ /dev/null @@ -1,85 +0,0 @@ ---- -meta: - title: Account FAQ - description: Get answers to your most common account-related questions. -content: - h1: Account -dates: - validation: 2025-03-11 -category: console -productIcon: AccountExperienceProductIcon ---- -## Account access and security - -### My account is locked. What do I do? -If your account is locked, [contact our support team](https://console.scaleway.com/support/tickets/create) to learn the reason for the blockage and discover how to regain access. - -### I've been invited to an Organization, but can’t see any resources -When you create a Scaleway account after being invited to join a specific Organization, a personal Organization is automatically created for you. - -If you only want to work on the Project you have been invited to, you can switch Organizations and Projects using the drop-down menu on the console dashboard. - -### Can I reopen a closed account? -Yes, you can [reopen a closed account](/account/how-to/close-account/#how-to-reopen-your-account). However, a closed account's resources are permanently deleted, and you cannot retrieve them. - -### How can I report spam content that I received? -You can report spam easily by installing the Signal Spam plugin, which is available for web browsers, email clients, and iOS devices. The plugin, represented by an owl-shaped button, allows you to flag unwanted emails or malicious URLs (such as phishing or scams) directly from your inbox. - -When you report spam, your information is processed in real-time and shared with authorized entities that can take appropriate actions, such as identifying spammers, enforcing legal measures, and blacklisting harmful URLs. While Signal Spam does not filter emails or act as an antivirus, your reports help improve security measures and contribute to a safer online environment. - -To get started, install the [plugin](https://www.signal-spam.fr/en/nos-modules/) (available for Firefox, Chrome, Safari, and Opera browsers and Mac Mail, Outlook, and Thunderbird mail clients) or follow the official reporting path at [Signal Spam](https://www.signal-spam.fr/en/parcours-signalant/) for further support. - -## Account management - -### Can I change my Organization’s country? -If you need to change your Organization country and region, you must [create a support ticket](https://console.scaleway.com/support/tickets/create). - -To make the process faster, when creating your ticket, inform us of your Organization’s new address, including: street address, city, postal code, region, and country. - -### How do I delete my Organization? -[Closing your account](/account/how-to/close-account/#how-to-close-your-account) permanently deletes your Organization, along with its servers, resources, services, and backups. - - - We recommend that you delete all resources before closing your account. Otherwise, the remaining resources will be billed for usage before their manual deletion, which can take up to 10 days. - - -## I would like to delete my personal data -Refer to the [How to delete your account and personal data](/account/how-to/close-account/) documentation. - - - Once you request the deletion of your account and personal data, you will no longer be able to access your account or invoices. The request will take at least 72 hours to be processed. You must make sure all your bills are paid, and that you have not used any resources since the beginning of the current calendar month. - - -### Where can I find my Organization ID? -You can find your Organization ID by accessing the [Settings](https://console.scaleway.com/organization/settings) page of your Organization dashboard. - -In the first section, **Organization Information**, you will find the ID and a shortcut to copy it, if necessary. - -### How do I change my email address? -To change your email address: - -1. On the [Scaleway console](https://console.scaleway.com), go to your [profile](https://console.scaleway.com/account/profile). -2. Under the section **User information**, click **Edit profile**. -3. Enter a new address under **Email address**, then click **Confirm changes** to save your modification. -4. Confirm your new email address by clicking the link sent to your inbox. - -## Project and resource management - -### Can I move a Project to another account? -At this moment, it is not possible to move a Project from one account to another. - -### I have created a resource in the wrong Project. Can I move it? -At this moment, it is not possible to move a resource from one Project to another. -If you need to move a resource, you must delete it and create it again in the right Project. - -### How can I get more quotas? -You can get more quotas by adding and verifying your [payment method](/billing/how-to/add-payment-method/) and [identity](/account/how-to/verify-identity/). - -If you have already completed these two steps and still need an increase in quotas, contact our [support team](https://console.scaleway.com/support/tickets/create) and inform them which product you need more quotas for. - -## I don’t seem to have access to my Organization's resources -If you do not have access to certain Organization resources, you might not have the necessary [IAM](/iam/concepts/#iam) **permission set**. - -[Read the documentation on permission sets](/iam/reference-content/permission-sets/)​ to learn more about the different access levels. - -Contact an Organization owner or a member with the necessary permissions to request rights to the resources you require access to. \ No newline at end of file diff --git a/faq/apple-silicon.mdx b/faq/apple-silicon.mdx deleted file mode 100644 index ce9c06866a..0000000000 --- a/faq/apple-silicon.mdx +++ /dev/null @@ -1,49 +0,0 @@ ---- -meta: - title: Apple silicon FAQ - description: Discover how to use Apple silicon for application development. -content: - h1: Apple silicon -dates: - validation: 2025-03-11 -category: bare-metal -productIcon: AppleSiliconProductIcon ---- - -## What is the minimum allocation period for an Apple Silicon Mac mini? -The minimum lease period for Apple Silicon-as-a-Service is 24 hours due to license constraints. A Mac mini can only be deleted after a minimum allocation period of 24 hours. - -## How many public IP addresses can I assign to a Mac mini? -Each Mac mini can have one IPv4 address and one IPv6 subnet (`/128`). - -## How can I reinstall my Mac mini? -To reinstall your Mac mini, navigate to the [Scaleway console](https://console.scaleway.com/), then go to the **Apple Silicon** page. -From there, select the server you wish to reinstall and locate the **Reinstall** button. -Click it, and you will be prompted to choose the macOS version for the reinstallation process. -Once selected, the reinstallation will commence automatically. - -## How can I back up my Mac mini? -You can back up your Mac mini using a backup solution of your choice. Examples include: -- [Restic](/tutorials/restic-s3-backup/) for command-line backups. -- [Arq Backup](/tutorials/arqbackup-pc-mac/) for graphical interface backups. - -Both solutions allow you to store backups on our [Object Storage](/object-storage/quickstart/). - -## What is preinstalled on the Mac mini? -When you rent a Mac mini, it comes with a bare environment. The pre-installed tools include: -- The latest Xcode version compatible with the OS -- MacPorts for package management -- `fail2ban` for VNC access filtering -- `scw-agent`, a daemon maintained by Scaleway to provide essential integration services such as updating your ssh keys. - -## What operations are unsupported? -Certain operations are restricted by default MDM configuration profiles: -- You don't have access to the physical machine, thus no access to macOS recovery. -- Certain admin actions, like system Time Machine restoration and boot system policies, are not possible. - -## Do I pay for my Mac mini when I am not using it? -Yes, you pay for your Mac mini as long as it is assigned to your account. You must explicitly delete it in the console or via the CLI to stop charges. For deletion instructions, see [How to delete Mac mini](/apple-silicon/how-to/delete-mac-mini/). - -## Are Mac minis compatible with Private Networks? -Yes, you can now activate the Private Networks feature on your Mac mini, and attach it to a Private Network so that it can securely communicate with other Scaleway resources. For full details, see the [Mac mini Private Networks documentation](/apple-silicon/how-to/use-private-networks/). - diff --git a/faq/assets/scaleway-switch-organization.webp b/faq/assets/scaleway-switch-organization.webp deleted file mode 100644 index d62ca572e26804f56c6f70cd969bce16c9194346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58118 zcmcG$1yo$w)-7BFcXxLu!6mp$aCdii4;oy826uNSxF%?DcXuba)PwH6-)*~nzyH1Q zSB=`W*k_M(&bGPcn(I&s5~8Bd8vuZ+h@hN`9ETbV001C*`5?jqOu+yWLPB!=ATNIc zK>A-xuy+7}wT+X5f|wwYnz{xN}dGX=-*pDb06^m>003*@-*seJFXI{r05pvLyYAm(VyEw*|I6vXUdlHnCIG-iApiic z4gjEz0RS+XzZ`oh{=>Zyy&S@Oxi8z7w<*91U<@DvNC0dAh5&{aiwW=!zzAS_nPDQN zbpQZq3p^c!1_{;-j5qy5wsd|TM-4Hv1S%40sHqLG$xK(?f{oY6ls&q6vKc~V<-4xJ z?MHu~2?uRQ>71KbNS^i{;ONi&f^5;}Ll?*nnLy}!zKfon z!iUVq)kE(Ypc+u<2>mJUp)jMe1bFIm!z1D&4b*(-I+=bRy)Imyy&k>QZP49q=kI9r zDFOnIZGrEBz~|^d+e_ee2k;^K<0cSzwfD4ntNHu`=y_wg2>Wta*A5Z*yz0&Lr19MH z40|oMhB@e?38a4Nd0f3;J#Wu^=KQI<#n%E%0*XA{Tpw=wJjtT2q(5Ok0e|Y0_>ewW z-ytppq*Rcd-es-N(od)&;cYxGqpiiI=!B4suyi36Pv%p86 zN4|wjU%tJLtqzN)MW0sS;q&G*<;j;upE932VACz~QxNdSv*BV75D3f+AZ*hG0-qjv zgM~ianwz`6mK=-uTdCaYq%8QUdOG-|bBcG5&pv#aqq~=XYuHIWR}E`_#TJT#?%fBU zu{kj9k&nJBJRU$80gK z1ezEGYy3?~SwFRFr2<H3_CWgA4?C_ytnG{%BpLr(*hBW6Wd-zUWkZbN@=X0|4) za30cBhXWfQ3=8L7h->hlJAnrGJsFR}t9|hK{Pr;>c9F{Yia``z7hc~GhM&qO5i8hC zZM0=Ia1llNDeX)Uw`M58O<4Oo#(lz$@3ns5Mp+)gp)=

fR5NP#L{EJ0-dN`Jrw7 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

l{GaOeAy2Om#$>V1A(cJy5l^5h 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 Q00000000000000009` - Some of our products are invoiced separately. - - -For example: -The Stardust1-s indicated at €0,0025 excl/hour can be split up as follows: -- €0.00198/hour for the IP -- €0.0004/hour for the 10 GB of Local Storage -- €0.00012/hour for the instance - -For more information, refer to our dedicated [pricing page](https://www.scaleway.com/en/pricing/). - -### When does the billing of an Instance start and stop? -The final price of your Instance is calculated according to the characteristics of your resource. Each of these resources is billed separately for a minimum of 60 minutes. - -Each uninterrupted period between a start and a stop billing event will be considered a unique resource. It is the number of these unique resources noted within a month that are displayed in the consumption table of your invoice. - -Below is a detailed list of what is considered start and stop billing events for each resource class: - - | Resource type | Billing Starts | Billing Stops | Comments | - |-----------------------|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| - | Compute Instances | The moment you click the **Power On** button (when your Instance is already powered off). | The moment the Instance is **Powered Off**. | The Instance is not billed during its shutdown process. A hard reboot will keep the ongoing resource running. | - | Elastic Metal servers | The moment the server is **created**. | The moment the server is **deleted**. | When an Elastic Metal server is powered off, the physical machine remains allocated to the user's account, meaning the resource continues to be billed. | - | Apple silicon | The moment the Mac mini is **created**. | The moment the Mac mini is **deleted**. | Due to license constraints, the minimum lease for Apple silicon-as-a-Service is 24 hours. As a result, **a Mac mini can only be deleted after a minimum allocation period of 24 hours**. When a Mac mini is powered off, the physical machine remains allocated to the user's account, meaning the resource continues to be billed. | - | Flexible IP address | The moment you reserve an IP. | The moment you cancel a reservation. | This class of IP is billed as long as you keep the reservation open. You will be billed whether you are effectively using the IP or not. | - | Dynamic IP address | When a dynamic IP is associated with a running Compute Instance. | When a dynamic IP is detached from a running Compute Instance which has just been shut down | | - | Volume storage | Once a volume has been created. | Once a volume has been deleted. | | - | Snapshot storage | Once a snapshot has been created. | Once a snapshot has been deleted. | | - -### What does pro-rata billing for Dedibox and Web Hosting services mean? -You are billed pro-rata for the initial month of a subscription. This means the charge is adjusted to reflect the portion of the first month you used the service. -Starting from the second month onward, you are billed in full at the beginning of each month, covering the entire upcoming billing period in advance. -This billing model ensures that you pay for the service based on your actual usage for the first month and then in advance for subsequent months. - -### How to read my invoice? -Refer to the [Reading an invoice](/billing/additional-content/reading-an-invoice/) documentation page for a detailed description of your invoices. - -### When are invoices issued? -Invoices are issued each month based on the resource consumption of the previous month. -Our reference billing period is the definition of a calendar month in the Coordinated Universal Time (UTC) time zone. -The automatic payment of invoices occurs in the first few days of a month, once the invoice is issued and is processed by using the preferred payment method of your account. - -### How can I manage my billing? -You can manage your billing from the [billing section](https://console.scaleway.com/billing/overview) of the Scaleway console. Your recent invoices as well as the consumption report for the current month are available for download. -Alternatively, you can retrieve your consumption information and download your invoices using the [API](https://www.scaleway.com/en/developers/api/billing/). - -### What does the status of my invoice mean? -The status of an invoice can be: -- **Draft** - Refers to the invoice for the current calendar month. The billing period has not yet finished, so the invoice is not finalized and is subject to change. -- **Stopped** - Refers to invoices where the billing period (calendar month) has ended, but the invoice is not yet issued. -- **Issued** - Refers to a final invoice awaiting payment. It has a unique number and is non-repudiable. The invoice charges for the resources consumed over the corresponding billing period. -- **Paid** - Refers to a fully paid invoice. No further action is required. -- **Incomplete** - Refers to invoices where the user has provided incorrect billing details or payment information, or elements of this information are missing. The user must update this information as soon as possible to avoid having their account deleted. -- **Outdated** - Refers to invoices where there has been a change in billing information, for example, a discount has been applied, or the client has amended their billing details. An updated invoice will be issued soon. -- **Voided** - Refers to invoices with an amount of €0 before any discounts are applied. No further action is required. -- **No due** - Refers to an invoice that does not require payment from the user. The invoice has been issued, but the amount due is €0 or has been waived, and no further action is required from the user. - -### How long do I have to pay my invoice before my resources get locked? -After your invoice is issued, you have ten days to pay it. If you fail to settle your invoice within this period, your account will be suspended, and your resources will become inaccessible. You will have another ten days to pay your invoice before your resources are deleted. - -### Why have I been billed for resources that are deactivated or powered off? -If you were billed for resources that have been correctly stopped, please [contact our support team](https://console.scaleway.com/support/tickets/create), providing the name of the product and resource, and the date of deactivation. - -### I deleted my account, but still received an invoice. Why? -Scaleway invoices are calculated at the end of each month, so you may receive a final invoice the month after closing your account. That corresponds to your outstanding consumption for your final month of activity. - -## Payments and payment methods - -### Which payment methods does Scaleway accept? -We accept Visa, MasterCard, CB, UnionPay, American Express, and SEPA. Virtual and pre-paid credit cards are not accepted. Note that you must add a credit card to your account before setting up a SEPA mandate. - -### How can I pay my invoice? -We automatically initiate one payment transaction from your preferred payment method at the start of each new month. Once an invoice is issued, you have 10 days to regularize it (see section 6.3 of our Terms of Service). As a reminder, the due date of payment is displayed on each invoice once issued. - -If the automatic payment fails, you will be notified by mail of payment failure and invited to initiate a new transaction from your account. - -If after several manual attempts you cannot manage to trigger a successful transaction, you may add another credit card. Keep in mind to make this card the active card and re-initiate a payment transaction. - - - Failed SEPA payments can only be regularized by credit or debit card payment. - - - - If you are unable to settle your invoice after the due date, your account is going to be suspended and your resources will be unreachable. You will then have another ten days to regularize your invoice before your resources are deleted. - - -### Can I use a virtual or prepaid card as a payment method? -No. Virtual or prepaid cards are **not** accepted as payment methods. When using a credit card, ensure you are using a physical card, protected by 3D secure. - -### Can I pay my invoice using a different payment method? -Unpaid invoices have to be paid with a credit card. You can [add new credit cards](/billing/how-to/add-payment-method/) to your account. - -### How can I obtain a SEPA Mandate? -Refer to the [How to add a payment method](/billing/how-to/add-payment-method#how-to-add-a-sepa-mandate) documentation page for a complete guide on how to add a SEPA mandate. - -### My credit card validation code expired. What should I do? -If your validation code expires, please [contact our support team](https://console.scaleway.com/support/tickets/create) to request a new code. - -### I tried to add a credit card but received the message 'Card already registered' -A credit card can only be registered once across all Organizations. If you receive this message, make sure you do not have the same card already registered to another Scaleway account. - -If you only have one payment method and need to use it on more than one account, [contact our support team](https://console.scaleway.com/support/tickets/create) to request an individual verification. - -### I added a physical credit card, but it was declined. Why? -If your credit card complies with the payment requirements but still was declined, please [contact our support team](https://console.scaleway.com/support/tickets/create) for assistance. - -### I added a credit card but didn’t receive the validation code. What do I do? -It usually takes up to 24 hours to receive the validation code. - -### Why can’t I delete my credit card? -You must always have a valid credit card registered to your account. If you have only one credit card registered, it will not be possible to delete it from your account, even if you use a SEPA debit as payment method. - -It is also not possible to remove a credit card from your account if you have one or more outstanding invoices. If that is the case, make sure you have paid any issued invoice(s) and have no consumption in the current calendar month, and retry. - -If your case does not match the situations above and you still cannot remove your credit card, [contact our support team](https://console.scaleway.com/support/tickets/create) for a manual verification. - -### Can I extend an expired voucher code? -No, voucher codes cannot be extended. They have a limited validity period. - -## Account and billing management - -### How can I add a billing contact to my account? -The billing contact is an additional contact linked to your account which will receive your monthly invoices. This can be useful if invoices in your Organization are handled by another department. -You can add a billing contact directly from the User Account section of your Scaleway console. - -1. Log into your Scaleway console. -2. On the Organization drop-down menu, click **Billing**. The billing section displays. -3. Enter the new billing contact e-mail address. -4. Click **Save**. - - The billing contact is only an administrative contact. It can not be used to connect to the Scaleway console. - - -### How can I change the country or region registered to my account? -It is not possible to edit your country and region directly from the Scaleway console. Please [contact our support team](https://console.scaleway.com/support/tickets/create) if you need to change this information. - -Be prepared to inform us of your new address, including country, region, city, postal code, and street address. Our team will then proceed to update your account details. - -## VAT and taxes - -### Do the prices shown on the website include EU VAT? -Prices announced on our website exclude all taxes. - -Because we are a European company, we are required to charge VAT on all orders made by European individual customers (B2C). -The appropriate VAT rate is automatically applied to your invoice, depending on your fiscal residence. Just make sure the administrative details on your profile, such as postal address, recipient name, and phone number are in order. -No other additional taxes, but European VAT is collected. - -If you are not located in one of the 27 member states of the European Union, no other tax will be added to your invoice, per application of EU laws. -European B2B customers (excluding French B2B customers) are exempted from VAT, as long as they provide a registered VAT number. Just add your VAT registry number to your profile, and your invoice will be updated accordingly. - -### Do I have to provide a VAT number? -If you do not provide a valid VAT number, you will be considered an individual customer (B2C), and the local rate will be applied. - -### How can I remove or update my VAT number? -It is impossible to edit your VAT number once a value has been set. [Contact our support team](https://console.scaleway.com/support/tickets/create) if you need to update it. - -## Savings plans and discounts - -### Why is my Savings Plan charge lower than expected? -When you commit to an amount and purchase a Savings Plan, you receive a monthly discount based on your committed rate and the duration of your plan. If you find that the rate you pay monthly is smaller than the committed rate, this is because your discount was applied. Refer to the [Understanding Savings Plan](/billing/additional-content/understanding-savings-plans/) documentation page for more information. - -### Why am I incurring charges while my Savings Plan utilization is less than 100%? -When you purchase a Savings Plan, you commit to a monthly rate in resource consumption. This means that even if you do not consume enough resources, you are still billed for the full committed rate with discounts. -Refer to the [Understanding Savings Plan](/billing/additional-content/understanding-savings-plans/) documentation page for more information. \ No newline at end of file diff --git a/faq/blockstorage.mdx b/faq/blockstorage.mdx deleted file mode 100644 index b761f97d34..0000000000 --- a/faq/blockstorage.mdx +++ /dev/null @@ -1,88 +0,0 @@ ---- -meta: - title: Block Storage FAQ - description: Explore Scaleway Block Storage with our comprehensive FAQ covering performance, persistence, and more. Learn how Block Storage compares to Local Storage and its compatibility with Scaleway resources. -content: - h1: Block Storage -dates: - validation: 2025-03-03 -category: storage -productIcon: BlockStorageProductIcon ---- - -## Why should I use Block Storage instead of Local Storage? - -The size of Local Storage depends on your Instance type. With today's configurations, the maximum Local Storage available is 600 GB. - -Block Storage allows you to create bigger volumes and those volumes are persistent which means that they can live without being attached to an Instance. - -| | **Block Storage** | **Local Storage** | -|--------------------|:---------------------------------:|:--------------------------------------------------------------------------------------------------------------:| -| **Availability** | High | HV dependant (needs physical intervention to retrieve storage and data if HV dies) | -| **Redundancy** | High (replica 3) | Low (RAID 5 - 5 disks) | -| **Persistency** | Yes | Semi-persistent (a snapshot of the volume is uploaded and downloaded each time the Instance is powered off/on) | -| **Latency** | Average | Local NVMe | -| **Volume size** | Max 10 TB/volume | Up to 600 GB (GP1-XL) | - -## What is the difference between Block Storage volume types? - -| Volume type | IOPS | Underlying hardware | Latency | Max volume size | Recommended use cases | Availability & resilience | -|-----------------------------------|----------|--------------------------------|---------------------|----------------------|-------------------------|----------------------------| -| `b_ssd` (Block Storage 5K legacy) | 5,000 | Legacy SSDs | High | Up to 10 TB | General-purpose workloads that do not demand high IOPS or low latency | Data is replicated three times across multiple disks for high availability and integrity | -| `sbs_5k` (Block Low Latency 5K) | 5,000 | Modern NVMe disks | Low | 5 GB to 10 TB | Development environments, web servers, and applications needing consistent performance | 99.99% SLA, triple-replicated data to safeguard against hardware failures | -| `sbs_15k` (Block Low Latency 15K) | 15,000 | Modern NVMe disks | Very low | 5 GB to 10 TB | High-performance databases, transactional applications, and I/O-intensive workloads | 99.99% SLA, triple-replicated data to safeguard against hardware failures | - -You can attach a maximum of 16 volumes (including the mandatory boot volume) to a single Instance. - - - Refer to the [dedicated documentation](/block-storage/reference-content/differences-between-5kiops-volumes/) for more information on the differences between Block Storage 5K legacy volumes and Block Storage Low Latency 5K volumes. - - -## What are the performances expected from a block volume? - -Block Storage offers 5,000 input/output operations per second (IOPS) through powerful SSDs. -However, this performance is subject to fluctuation during peak load periods. - -## What is the behavior of the block volume when an Instance is stopped, deleted, or crashed? - -A block volume is persistent which means that it can live without being attached to an Instance. Nevertheless, when an Instance is deleted, the following can be expected: - -- When the Instance is deleted via the Scaleway console, you will be asked if you want the distant block volumes to be deleted as well or not. -- When deleting an Instance via the `API`, all the attached volumes (local and Block Storage) are deleted. So if you want to keep your local volumes, you must use the archive action instead of the terminate action. -- If you want to keep Block Storage volumes, you must detach them before you issue the terminate call. - -## How many volumes can be attached? - -A virtual Instance can bear up to 16 volumes, including the mandatory local volume. -Therefore, the maximum number of blocks that can be attached to an Instance is 15. - -## What is the maximum size of a block volume? - -The maximum size of a block volume is 10 TB. - -## How is the Block Storage fee calculated? - -The Block Storage billing scheme is not the same as for Object Storage. You are billed by the hour based on the size of the volume and not the data that is actually stored on it. Just like a local drive, you can select the size of the volume directly from the Scaleway console or the API. - -## What other Scaleway resources are compatible with Block Storage? - -Block Storage volumes are compatible with [Scaleway Instances](/instances/), [Managed Dabatase for PostgreSQL and MySQL](/managed-databases-for-postgresql-and-mysql/), and [Kubernetes](/kubernetes/) Kapsule clusters. - -## How can I convert a Block Storage legacy volume into a Block Storage Low Latency volume? - - - -Although there is no direct way to change the storage class of a volume while preserving its ID, you can still convert a Block Storage legacy volume (along with its data) into a Block Storage Low Latency volume using the snapshot export/import features as a temporary solution. This allows you to transition a Block Storage legacy (`b_ssd`) snapshot into a Block Storage Low Latency (`sbs_5k` or `sbs_15k`) snapshot and then turn the snapshot into a Block Storage Low Latency volume. - - - The process below requires manual intervention and **does not preserve the original volume's ID**. - While this approach allows you to transition to a Block Storage Low Latency volume, it is only a workaround. - - -1. [Create a snapshot of your Block Storage legacy volume](/instances/how-to/create-a-snapshot/). -2. [Export the snapshot](/instances/api-cli/snapshot-import-export-feature/#exporting-snapshots). -3. [Import the snapshot into a new Low Latency volume](https://www.scaleway.com/en/developers/api/block/#path-snapshot-import-a-snapshot-from-a-scaleway-object-storage-bucket). - -Find out how to [migrate your Block Storage volumes and snapshots](/instances/how-to/migrate-volumes-snapshots-to-sbs/) from the Instance API to the Block Storage API. - -Find out about the [advantages of migrating the management of your volumes and snapshots](/block-storage/reference-content/advantages-migrating-to-sbs) from the Instance API to the Block Storage API. diff --git a/faq/cockpit.mdx b/faq/cockpit.mdx deleted file mode 100644 index fc1c6b1deb..0000000000 --- a/faq/cockpit.mdx +++ /dev/null @@ -1,100 +0,0 @@ ---- -meta: - title: Cockpit FAQ - description: Discover Scaleway's Cockpit -content: - h1: Cockpit -dates: - validation: 2024-11-25 -category: observability -productIcon: CockpitProductIcon ---- - - - -## What is Cockpit? - -Cockpit is a monitoring and alerting solution designed for multi-source observability. Cockpit allows you to collect, store, and analyze metrics and logs from your infrastructure and applications, giving you insights into your system's performance and behavior. -Cockpits are scoped per [Project](/organizations-and-projects/concepts/#project). - -## How does Cockpit integrate with other Scaleway products? - -Cockpit integrates seamlessly with Scaleway’s ecosystem. It provides pre-built dashboards in Grafana, and alerts to monitor other Scaleway resources' performance. - -Refer to the [dedicated documentation page](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit) for the whole list of Scaleway resources integrated with Cockpit. - -## How am I billed for using Cockpit with my Scaleway data? - -Using Cockpit with your Scaleway data is free of charge. - -During the beta phase of the retention period edition feature, the retention period you set for your data - whether from [Scaleway resources integrated with Cockpit](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit) or custom data - will be free of charge. - -Additional costs apply for sending custom data to Cockpit. This means that you will be billed for sending **data from Scaleway resources that are not integrated with Cockpit**, or data from any other external resources. - -## How am I billed for using Cockpit with custom data? - -Custom data is any data that is external to Scaleway, or **data from Scaleway resources not integrated with Cockpit**. Refer to the [dedicated documentation page](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit) to find out which resources are integrated with Cockpit. - -During the beta of the retention period edition feature, the retention period you set for your custom data is free of charge. - -You will not be charged for **querying** custom data. - -Data ingestion is billed as follows: - -- Custom metrics are billed €0.15 per million samples of metrics ingested, per month. -- Custom logs are billed €0.35 per GB ingested, per month. -- Custom traces are billed €0.35 per GB ingested, per month. - -Scaleway applies volume discounts to bill custom metrics. This means that the monthly pricing for custom metrics will be calculated in levels. **Scaleway applies six levels of volume discounts.** - -| Levels | Range | Monthly pricing with volume discounts | -|--------------|----------------------------------------------|------------------------------------------| -| Level one | From 0 to 10 billion custom metrics | €0.15 per million samples | -| Level two | From 10 to 25 billion custom metrics | €0.13 per million samples | -| Level three | From 25 to 50 billion custom metrics | €0.12 per million samples | -| Level four | From 50 to 100 billion custom metrics | €0.11 per million samples | -| Level five | From 100 to 200 billion custom metrics | €0.10 per million samples | -| Level six | From 200 billion custom metrics and beyond | €0.08 per million samples | - - -Here is an example of how you would be billed for **sending 52 billion custom metrics samples per month**: - -Here is an example of how you would be billed for sending 52 billion custom metrics samples per month: -- 10 billion samples at €0.15 per million samples: €1.500 -- 15 billion samples at €0.13 per million samples: €1.950 -- 25 billion samples at €0.12 per million samples: €3.000 -- 2 billion samples at €0.11 per million samples: €220 - -**Total:** €6.650 per month with volume discounts instead of €7.800 without volume discounts. - -## Why are Cockpit pricing plans being deprecated? - -From January 1st 2025, Cockpit is transitioning away from fixed pricing plans to offer you more flexibility and granularity for managing data [retention](/cockpit/concepts/#retention). - -This change allows you to tailor retention settings to your specific needs. We hope to enhance your experience by providing more customizable options without immediate cost impact, as changing data retention period will be free during Beta. - -Find out [how to change data retention period](/cockpit/how-to/change-data-retention/) in the dedicated documentation. - -## How do I send my own data to my Cockpit? - -If you have set up an agent, you can send your data using our [dedicated documentation](/cockpit/how-to/send-metrics-logs-to-cockpit/). - - -If you have not set up an agent, check out our [documentation](/cockpit/how-to/send-metrics-with-grafana-alloy/) to find out how to -configure the Grafana Alloy agent, push your data, and visualize it in Grafana. - -## Which Scaleway products are integrated into Cockpit? - -Find out which Scaleway products are integrated into Cockpit in our [capabilities and limits documentation page](/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit). - -Refer to our [documentation on understanding Cockpit usage and pricing](/cockpit/reference-content/understanding-cockpit-usage/) for more information on how to reduce extra costs. - - - Sending metrics and logs for Scaleway resources or personal data using an external path is a billable feature. In addition, any data that you push yourself is billed, even if you send data from Scaleway products. Refer to the [product pricing](https://www.scaleway.com/en/pricing/?tags=available,managedservices-observability-cockpit) for more information. - - -## Will my dashboards be impacted by the Cockpit regionalization? - -Soon, a new version of Cockpit will be released. In this version, the concept of **regionalization** will be introduced to offer you more flexibility and resilience for seamless monitoring. - -If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. diff --git a/faq/containerregistry.mdx b/faq/containerregistry.mdx deleted file mode 100644 index 00cdacd7ae..0000000000 --- a/faq/containerregistry.mdx +++ /dev/null @@ -1,39 +0,0 @@ ---- -meta: - title: Container Registry FAQ - description: Discover Scaleway Container Registry. -content: - h1: Container Registry -dates: - validation: 2025-02-11 -category: containers -productIcon: RegistryProductIcon ---- - -## What is Scaleway Container Registry? - -Scaleway Container Registry is a fully managed mutualized Container Registry, designed to facilitate storing, managing, and deploying container images. It simplifies the development-to-production workflow as there is no need to operate its own Container Registry or worry about the underlying infrastructure. -You can store any docker container image on the Namespace and it is possible to set the visibility of each image towards your needs. It can either be private or public. -The Service is currently available in our `nl-ams` (Amsterdam, The Netherlands), `fr-par` (Paris, France), and `pl-waw` (Poland, Warsaw) Availability Zones. - -## How am I billed for Scaleway Container Registry? - -Scaleway Container Registry is billed based on stored images size, and outgoing data transfer. - -| | Stored Images | Outgoing data transfer | Incoming data transfert | -|----------------|-----------------|--------------------------------------------------|-------------------------| -| Private images | €0.027/GB/month | Inter-regional: €0.033/GB - Intra-regional: free | Free | -| Public images | Free up to 75GB | Inter-regional: free - Intra-regional: free | Free | - - -- Inter-regional traffic: AMS ↔ PAR, WAW ↔ PAR, or AMS ↔ WAW -- Intra-regional traffic: PAR ↔ PAR, WAW ↔ WAW, or AMS ↔ AMS - - -## Why do I get a message that the namespace is not available? - -Each namespace has a unique name in each Availability Zone. If the namespace's name is already taken, it will no longer be available. - -## Can I store multiple versions of an image? - -Yes, Scaleway Container Registry supports versioning and you can store as many versions of an image as you want. \ No newline at end of file diff --git a/faq/data-lab.mdx b/faq/data-lab.mdx deleted file mode 100644 index deed008c88..0000000000 --- a/faq/data-lab.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -meta: - title: Distributed Data Lab FAQ - description: Discover Scaleway Distributed Data Lab powered by Apache Spark, and how to use it. -content: - h1: Distributed Data Lab -dates: - validation: 2025-02-18 -category: managed-services -productIcon: DistributedDataLabProductIcon ---- - -## General - -### What workloads is Distributed Data Lab suited for? - -Distributed Data Lab supports a range of workloads, including: - -- Complex analytics. -- Machine learning tasks. -- High-speed operations on large datasets. - -It offers scalable CPU and GPU instances with flexible node limits, and robust Apache Spark library support. - -### What is Apache Spark? - -Apache Spark is an open-source unified analytics engine designed for large-scale data processing. It provides an interface for programming entire clusters with implicit data parallelism and fault tolerance. Spark offers high-level APIs in Java, Scala, Python, and R, and an optimized engine that supports general execution graphs. - -### How does Apache Spark work? - -Apache Spark processes data in memory, which allows it to perform tasks up to 100 times faster than traditional disk-based processing frameworks like [Hadoop MapReduce](https://fr.wikipedia.org/wiki/MapReduce). It uses Resilient Distributed Datasets (RDDs) to store data across multiple nodes in a cluster and perform parallel operations on this data. - -### How am I billed for Distributed Data Lab? - -Distributed Data Lab is billed based on two factors: -- the main node configuration selected -- the worker node configuration selected, and the number of worker nodes in the cluster - -## Clusters - -### Can I upscale or downscale a Distributed Data Lab? - -Yes, you can upscale a Data Lab cluster to distribute your workloads across more worker nodes for faster processing. You can also scale it down to zero to reduce costs, while retaining your configuration and context. - -You can still access the notebook of a Data Lab cluster with zero worker nodes, but you cannot perform any calculations. You can resume the activity of your cluster by provisioning at least one worker node. - -### Can I run a Distributed Data Lab using GPUs? - -Yes, you can run your cluster on either CPUs or GPUs. Scaleway leverages Nvidia's [RAPIDS Accelerator For Apache Spark](https://www.nvidia.com/en-gb/deep-learning-ai/software/rapids/), an open-source suite of software libraries and APIs to execute end-to-end data science and analytics pipelines entirely on GPUs. This technology allows for significant acceleration of data processing tasks compared to CPU-based processing. - -## Storage - -### What data source options are available? - -Data Lab natively integrates with Scaleway Object Storage for reading and writing data, making it easy to process data directly from your buckets. Your buckets are accessible using the Scaleway console, or any other Amazon S3-compatible CLI tool. - -### Can I connect to S3 buckets from other cloud providers? - -Currently, connections are limited to Scaleway's Object Storage environment. - -## Notebook - -### What notebook is included with Dedicated Data Labs? - -The service provides a JupyterLab notebook running on a dedicated CPU instance, fully integrated with the Apache Spark cluster for seamless data processing and calculations. - -### Can I connect my local JupyterLab to the Data Lab? - -Remote connections to a Data Lab cluster are currently not supported. diff --git a/faq/databases-for-postgresql-and-mysql.mdx b/faq/databases-for-postgresql-and-mysql.mdx deleted file mode 100644 index 7cc22eef42..0000000000 --- a/faq/databases-for-postgresql-and-mysql.mdx +++ /dev/null @@ -1,148 +0,0 @@ ---- -meta: - title: Managed Database for PostgreSQL and MySQL FAQ - description: Discover Scaleway Managed Databases and how to access them for PostgreSQL and MySQL. -content: - h1: Managed Database for PostgreSQL and MySQL -dates: - validation: 2025-01-29 -category: managed-databases -productIcon: PostgresqlMysqlProductIcon ---- - -## What is Scaleway Managed Database for PostgreSQL and MySQL? - -Scaleway Managed Database for PostgreSQL and MySQL provides fully-managed relational Database Instances, supporting the database engines PostgreSQL and MySQL. - -The product lets you focus on development, rather than administration or configuration. It comes with high-availability mode, data replication, and automatic backups. - -In comparison to traditional database management, which requires customers to provision their infrastructure and resources to manage their databases, Scaleway Database offers users access to a Database Instance without needing to set up the hardware or configure the software. Scaleway handles the provisioning, manages the configuration, and provides useful features, such as High Availability, automated backup, user management, and more. - -## How can I access my Database Instance once it is provisioned? - -On the details page of your Database Instance, the IP address and your Instance's port are shown: - - - -It is possible to connect to your Database Instance from any application using the IP address and port shown in the **Endpoint** section and the login/password of any valid database user. This can be managed from the “users” tab. - -**PostgreSQL** - -To access your PostgreSQL Database Instance, use the psql command-line tool with the following command: -```psql -h $IP -p $PORT -U $YOUR_USER -d $DATABASE_NAME``` -You will have to enter your password to establish the connection. The default `$DATABASE_NAME` to be used is `rdb`. - -**MySQL** - -You can access your MySQL Database Instance with the following command: - -```mysql -h $IP --port $PORT -p -u $USERNAME``` -You will be prompted to enter your password to log in. - -## How can I manage my databases? - -You can [create a MySQL database](/classic-hosting/how-to/create-mysql-database/), [manage your MySQL database with phpMyAdmin](/classic-hosting/how-to/manage-mysql-database-phpmyadmin/) or [delete your MySQL database](/classic-hosting/how-to/delete-mysql-database/). You can also [create](/classic-hosting/how-to/create-postgresql-database/), [manage](/classic-hosting/how-to/manage-postgresql-database-adminer/) or [delete](/classic-hosting/how-to/delete-postgresql-database/) PostgreSQL databases. - -See our documentation on [upgrading a Database for PostgreSQL](/tutorials/upgrade-managed-postgresql-database/). - -## How do I import data into a Scaleway Database? - -**PostgreSQL** - -To import data into your Managed Database for PostgreSQL, export your data using the `pg_dump` command: - -```pg_dump -h OLD_DB_IP -p OLD_DB_PORT -U OLD_DB_USERNAME -F c -b -v -f "/usr/local/backup/database.backup" DATABASE_NAME``` - -Once the data is exported, import the database using the pg_restore command: - -```pg_restore -h INSTANCE_IP -p INSTANCE_PORT -U USERNAME -d DATABASE_NAME -v "/usr/local/backup/database.backup"``` - -The different parameters used in the commands represent the following values: - -`-h` (--host): IP address of the host -`-p` (--port): Port number of the host -`-U` (--username): PostgreSQL user -`-F` (--format): Format -`c:` c just after a -F means that the format is the binary format specific to PostgreSQL -`-b` (--blobs): Specifies the binary string type -`-v` (--verbose) -`-f` (--file): Specifies the file name - -**MySQL** - -If you want to import your existing database into a Managed Database for MySQL, start by exporting your data using the command `mysqldump`: - -```mysqldump -u username -p old_database > backup.sql``` -Then import the backup into your Scaleway Databases for `MySQL`: - -```mysql -u username -p new_database < backup.sql``` - -## Which PostgreSQL extensions are available? - -Refer to our dedicated [PostgreSQL extentions reference page](/managed-databases-for-postgresql-and-mysql/reference-content/postgresql-extensions) for a list of all available extensions and more details about each one. - -## How do I back up my database? - -If the automatic backup feature is enabled, new backups will be created according to your backup schedule, which can be set on the Overview tab of your Database Instance dashboard. Your Database Instance remains available during backup, but there might be a performance impact and some actions may not be available. - -Automatic backups are enabled by default. It is possible to disable them at any time in the backup settings of your Database Instance. - -It is also possible to launch manual backups by clicking on the **Create a backup** button in the **Backups** tab. - -## Are my active and standby database nodes in a high-availability cluster hosted in the same data center? - -In a high-availability cluster, active and hot standby nodes are indeed located in the same data center but in two separate racks. -The idea is to offer the best performance to our users by reducing latency between active and hot standby nodes, as we use a sync replication process between the nodes. - -## What is the Private Networks feature for Database Instances? - -[Private Networks](/public-gateways/quickstart/) allow you to enhance the security of your system architecture by isolating it from the internet. - -This feature introduces a significant change in the architecture of Scaleway's Databases: when using Private Networks, your application connects directly to your Database nodes, without going through a Load Balancer. -This improves performance by reducing the latency between your nodes. It also increases the security of your databases, since Instances in your Private Network can connect directly to your Database Instance, without passing through the public internet. - -You can create new Database Instances to attach to your Private Network or attach existing Database Instances. - -## How many Private Networks can I attach? - -Currently, you can connect one Private Network to each Database Instance. - -## How is the Database's private failover IP managed? - -The virtual IPv4 used to expose the Database Instance service is automatically routed to the newly promoted node and announced within 10s to the neighboring Compute Instances. - -## Can I remove the Load Balancer endpoint from my Database Instance? - -You can remove the Load Balancer endpoint from your Database Instance and expose it only using a Private Network endpoint. - -## Can I limit the IPs allowed to reach my Database Instance on a Private Network? - -It is not possible to limit access to a Database Instance on a Private Network. We recommend that you create a dedicated Private Network for your Database Instances and add only the relevant middleware application Instances to this Private Network. - -## Can I add an IPv6 to my Database Instance? - -IPv6 is not supported on Database Instances. - -## Can I assign a Database virtual IP with DHCP? - -Database Instances supports IP provisioning using IPAM. With this mode, a private IPv4 will be automatically reserved and assigned to your Database Instance when using a Private Network endpoint. - -## Can I use the second node on a High Available Managed Database Instance? - -No, the second node created when you activate the HA on your Managed Database Instance is a hot standby. This node allows a fast failover in case of issues on the primary node. - -You can use the [Read Replica feature](/managed-databases-for-postgresql-and-mysql/how-to/create-read-replica/). - -## If my main node becomes unavailable, is my Read Replica automatically promoted to the main node? - -No. To promote a Read Replica to the main node, follow the [How to promote a Read Replica](/managed-databases-for-postgresql-and-mysql/how-to/manage-read-replica/#how-to-promote-a-read-replica) procedure. - -## Why is my number of active backups/snapshots exceeding the quota? - -When [autobackup](/managed-databases-for-postgresql-and-mysql/how-to/enable-autobackup), or autosnapshot, is enabled for your local or Block volumes, regular quota limitations for backups and snapshots do not apply. - -Quotas exist to protect Scaleway from abuse, and to protect your Scaleway resources from the unlikely event of malicious behavior by users in your Organization. - -When it comes to automatic data preservation, however, Scaleway prioritizes the resilience of your data. Therefore, if a Database Instance has autobackup set up, even if the quota is exceeded, the backup or snapshot will still be automatically created. - -You can monitor your [quotas](https://console.scaleway.com/organization/quotas), backups and snapshots via the Scaleway console or the API. \ No newline at end of file diff --git a/faq/databases-for-redis.mdx b/faq/databases-for-redis.mdx deleted file mode 100644 index a173722fda..0000000000 --- a/faq/databases-for-redis.mdx +++ /dev/null @@ -1,104 +0,0 @@ ---- -meta: - title: Managed Database for Redis™ FAQ - description: Discover Scaleway Managed Databases and how to access it for Redis™. -content: - h1: Managed Database for Redis™ -dates: - validation: 2025-02-11 -category: managed-databases -productIcon: RedisProductIcon ---- - -## What is Scaleway Managed Database for Redis™ - -Managed Database for Redis™* is a low-latency caching solution. It allows you to easily set up a secure cache and lighten the load on your main database. -Based on the in-memory data storage, Managed Database for Redis™ improves your application response time and helps you provide a better experience to your users. -Using Managed Database for Redis™ as a cache optimizes the speed of your requests as copies of the most frequently used data are stored in memory, making them accessible in milliseconds. [Learn more about Managed Database for Redis™](/managed-databases-for-redis/how-to/create-a-database-for-redis/). - -## Why is it ideal for Cache usage? - -Based on the **Re**mote **Di**ctionary **S**erver technology, Scaleway Managed Database for Redis™ stores your data in the RAM of the underlying machine rather than on a disk (SSD/HDD). -In other words, for each request to read, insert, or update data in a database, this can be executed using data available in the fastest and closest storage of your compute resource, the memory. -Traditional databases like MySQL or PostgreSQL store data on a disk which inevitably introduces IOPs and results in latency on each operation. Redis™ is known for delivering millisecond response time and high performance for millions of requests per second to empower demanding workloads. -The combination of powerful in-memory data storage such as Redis™ and managing the resources set-up, securitization, scaling, and maintenance makes Scaleway Managed Database for Redis™ a handy solution to improve the usability of your application. -One of the most common ways to implement cache is storing frequently accessed data in Redis™ (therefore in memory) and serving your application's request. -If data is unavailable in memory, it can always be retrieved from the primary database. Below is a simplified schema explaining this process. - - - -## How can I access my Managed Database for Redis™ once it is provisioned? - -You can connect to your Managed Database for Redis™ using the IP address(es) and port(s) available on the details page of your Redis™ Database Instance next to the title **Endpoints**. -- There are as many `IP:port` endpoints as nodes in your cluster (one if standalone). -- If you are in cluster mode (3 nodes or more), you have to use a cluster-specific connector cable to connect to multiple endpoints. - - - -## What is the Private Networks feature for Redis™ Database Instances? - -[Private Networks](/public-gateways/quickstart/) allow you to increase the security of your databases since Instances in your Private Networks can directly be connected to your Redis™ Database Instance without passing through the public internet. - -In standalone mode, you can attach Private Networks to your Redis™ Database Instances at the creation level or add a Private Networks endpoint to your existing Redis™ Database Instance from the console. - - - When you select cluster mode, Private Networks can only be selected and configured upon creating the Redis™ Database Instance. Once the cluster has been completed, it is impossible to attach it to a Private Network or to edit the configuration of an existing one. If you want to switch to a public network you must create a new Redis™ Database Instance. - - -## How many Private Networks can I attach? - -Currently, you can connect one Private Network to each Redis™ Database Instance in the Scaleway console. For standalone Instances, you can attach multiple Private Networks via the CLI or the API only. - -## How is the Redis™ Database's failover IP managed? - -The Redis™ controller knows the cluster topology and automatically routes requests to a healthy node. In case of unavailability of one of the cluster nodes, no downtime is to be expected. - -## What is the logic behind the cluster mode? - -A Redis cluster contains a minimum of 3 nodes and up to 6 nodes. Each node contains a source and a replica. -The cluster nodes use hash partitioning to split the keyspace into 16,384 key slots. Each source of the cluster is responsible for a subset of those slots. -Each replica copies the data of one of the sources. For example, on a three-node Redis™ Database Instance cluster, three Instances host each a source and a replica of one of the other nodes' sources. -If one of the sources fails, the remaining nodes hold a vote and elect the replica that will be promoted as the new source. -When the failing source rejoins the cluster, it automatically becomes a replica. It begins to copy the data of the source of another node. - -You can scale your cluster horizontally up to six nodes. Below is an example of a configuration for a three-node cluster: - -* Instance A contains hash slots from 0 to 5,500 -* Instance B contains hash slots from 5,501 to 11,000 -* Instance C contains hash slots from 11,001 to 16,383 - -Each of the three Instances acts as a primary node and replicates one of the others as a secondary node. - -## What are the differences between Redis™ node classes? - -Two node classes are available for Managed Database for Redis: **Development** and **Production**. - -Development nodes are suitable for Proofs of Concept (PoCs) and tests. Production-class nodes are ideal for more demanding workloads. - -Refer to the image below to see which node types belong to which node class. - - - -## What's the difference between High Availability (HA) and Cluster mode? - -A Redis™ cluster contains a minimum of 3 nodes and up to 6 nodes. Each node contains a source and a replica. -The cluster nodes use hash partitioning to split the keyspace into key slots. Each replica copies the data of a specific source and can be reassigned to replicate another source or be elected as a source node if needed. -This is much better for scaling as the operation is spread across multiple nodes instead of having a single entry point. - - - -Two-node High Availability configurations are available with Redis™ Database Instances. This configuration type allows you to create a standby node, with an up-to-date replica of the database. If the main node fails for any reason, the standby can take over requests, reducing downtime. - -The HA standby node is linked to the main node, using asynchronous replication. Asynchronous replication allows you to maintain good performance. - -## Can I change the username and password of my Database Instance's default user? - -Yes. You can change the default username and password anytime via the Scaleway API or the CLI. - -Refer to the [Managing the default user's username and password](/managed-databases-for-redis/api-cli/managing-username-and-password/) documentation page to learn how. - -For more information, refer to the [Understanding default user permissions](/managed-databases-for-redis/reference-content/default-user-permissions/) documentation page. - - -
-* Redis is a trademark of Redis Labs Ltd. Any rights therein are reserved to Redis Labs Ltd. Any use by Scaleway is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and Scaleway. \ No newline at end of file diff --git a/faq/dedibox-in-scaleway-console.mdx b/faq/dedibox-in-scaleway-console.mdx deleted file mode 100644 index 47e9aa4cd2..0000000000 --- a/faq/dedibox-in-scaleway-console.mdx +++ /dev/null @@ -1,129 +0,0 @@ ---- -meta: - title: Dedibox in the Scaleway console FAQ - description: Discover how to link your Dedibox servers to your Scaleway account. -content: - h1: Dedibox in the Scaleway console -dates: - validation: 2024-12-19 -category: bare-metal -productIcon: DedicatedServerProductIcon ---- - -## Account linking process - -### What is the account linking process for? - -The linking process is available to help you link your Dedibox (Online.net) and Scaleway accounts. Once the process is complete, you will be able to manage your Dedibox servers and associated services from both the [Scaleway](https://console.scaleway.com/) and [Online](https://console.online.net) consoles. - - - Linking your account is not possible, if you have - * a Web Hosting product - * a domain product - * a Dedirack product - * PayPal as a payment method - * outsourced services or if you are outsourcing your services - - -### What happens during the account linking process? - -During the process, your Dedibox account is linked to your Scaleway account so that you can find all your Dedibox servers in the [new console](https://console.scaleway.com). -If you are new to Scaleway, the process allows you to create a Scaleway account from your Dedibox information. You can then find all your Dedibox servers in the Scaleway console and enjoy a new experience. - -### What are the time constraints for linking accounts? - -Accounts are linked at the user's request. You can launch the process at any time from the link provided in the email invitation. - -### Is account linking free? - -Yes. The link of your Dedibox account to the Scaleway console is completely free of charge. - -### How long does the account linking process take? - -The account linking process takes about 5 minutes. This is the time required to review all of your account information. - -### To which Scaleway Organization can I link my Dedibox? - -If you already have a Scaleway account, you must be the Owner of the [Organization](/iam/concepts/#organization) you would like to link your Dedibox account to. You should also make sure that this Organization is based in the same country as your Dedibox account. If it is not the case, you should either create a new account, or [contact our support team](/account/how-to/open-a-support-ticket/) to change the country. - -## Functional coverage and console usage - -### What is the current functional coverage of Dedibox in the Scaleway console? - -| CATEGORIES | FEATURES | DESCRIPTION | AVAILABILITY | -|------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------|--------------| -| **SERVER MANAGEMENT** | Server list | Access the list of all your Dedibox servers | Available | -| | Server overview | Access information about one of your Dedibox servers (inc. network, service level & options, back-up, customization, logs) | Available | -| | Server actions | Perform actions on your Dedibox servers (inc. installation, KVM access, reboot, reboot in rescue, RAID configuration) | Available | -| | Server order | Order new Dedibox servers | Available | -| **NETWORK MANAGEMENT** | IPv6 | Order and configure your IPv6 block (inc. /56 & /64 subnets configuration) | Available | -| | Failover IP | Order and configure your failover IP addresses. Edit your failover IP assignation. | Available | -| | RPN | Create, list and manage all your RPN groups (V1 and V2) | Available | -| **BILLING** | Payment method Management (SEPA, CB) | Manage your Scaleway payment methods (SEPA, CB) in one single place | Available | -| | Invoice consultation | Consult your invoices for your Dedibox servers or services | Available | -| | Payment management | Pay for your Scaleway products with one default payment method | Available | - -### Will the new console replace the current one? - -Some operations are not yet available in the Scaleway console, but you will soon be able to do everything you need. In the meantime, the Dedibox console and all the Dedibox server management features remain available after the account link. - -### Can I still use the Dedibox console after the upgrade? - -Yes, you can continue to use the Dedibox console to manage all other Online.net services, as well as your Dedibox servers. - -### When exactly will the Dedibox console (console.online.net) stop being available? - -The current Dedibox console will remain accessible. - -## Billing and payment information - -### What impact will linking accounts have on my billing? - -You will continue to receive separate invoices for each type of product, one for Scaleway Dedibox and one for Scaleway Cloud products. However, all invoices will be paid using the same payment method. - -Therefore, once you complete the linking process, verify whether the default payment method defined in the Scaleway console is the one you want to use to pay all your future invoices (Scaleway and Dedibox). - -### Where can I find my Dedibox invoices, following the linking of my accounts? - -You will be able to find all your invoices in the Billing section of the Scaleway console (old Dedibox invoices as well as all new invoices). - -### Following the linking of my accounts, will I find my Dedibox payment methods in the Scaleway console? - -All your active Dedibox payment methods will be migrated to the new console during the linking process so that you will be able to manage them from the Scaleway console instead of the Dedibox console. You must choose a unique default payment method for your Scaleway services, which will be used to pay all your invoices (Scaleway Cloud and Scaleway Dedibox). - -The definition of your default payment method follows these rules: - * If you have SEPA as your preferred payment method in either your Dedibox or Scaleway Cloud account, this SEPA then becomes the default payment method for both your Scaleway Cloud and Scaleway Dedibox invoices. - * If you do not have a SEPA as your preferred payment method in either account, the preferred payment method of credit card remains the same for both Scaleway Cloud and Scaleway Dedibox invoices. - * If you use different credit cards for Dedibox and Scaleway Cloud, the card registered with Scaleway Cloud becomes the default payment method for both Scaleway Cloud and Scaleway Dedibox invoices. - - - Once account linking has been completed, you can modify your payment method in the [billing section](https://console.scaleway.com/billing/payment) of the Scaleway console. All existing default payment methods will be transferred to your linked account. - - -### What information is synchronized between the two consoles? - -We will synchronize your personal information (first name, last name, email address, phone number) and billing information (address, company name - if any, VAT number - if any, billing contact) between Scaleway and Dedibox. Once linked, you will be able to edit this information from the Scaleway console only. - - - Once you have linked your account, you can edit your payment information from the Scaleway console only. You will not be able to edit the payment information from the Dedibox console anymore. - - -## Future login and API - -### Will I have a single login in the future? - -In the future, you may only need to use your Scaleway login information to connect to the Scaleway console and manage all your Scaleway products. - -### Will the current Dedibox API system continue to work? - -Yes, the API system is not impacted by account linking. - -## Promotions and support - -### What are the terms of the voucher offered for the migration? - -The first customers to follow the linking process will be granted a discount of €100. This discount is directly applied to the Scaleway account and is valid for six months following the linking process. It is available on Scaleway cloud services ordered through the Scaleway console and does not include Dedibox and Elastic Metal products. - -### Who can I ask if I have further questions? - -Find us on the [#dedibox-in-scaleway-console](https://scaleway-community.slack.com/archives/C03FZ1QQFAN) channel on [Slack](https://scaleway-community.slack.com/join/shared_invite/zt-19uuwgo5h-bofWNwE~jijt70lQkziQxg#/shared-invite/email/). \ No newline at end of file diff --git a/faq/dedibox.mdx b/faq/dedibox.mdx deleted file mode 100644 index ab1a0fca40..0000000000 --- a/faq/dedibox.mdx +++ /dev/null @@ -1,156 +0,0 @@ ---- -meta: - title: Dedibox FAQ - description: Discover Scaleway Dedibox dedicated servers. -content: - h1: Dedibox -dates: - validation: 2025-03-03 -category: bare-metal -productIcon: DediboxProductIcon ---- - -## Dedibox dedicated servers - -### Which dedicated server should I choose? -We offer five ranges of Dedibox servers: **Start**, **Pro**, **Core**, **Store**, and **GPU**. Check the [Dedibox website](https://www.scaleway.com/en/dedibox/) to find detailed information on their specifications and discover the one that best fits your needs. - -### How long does it take to deliver my dedicated server? -The delivery of Dedibox dedicated servers is ultra-fast: 2 minutes on average. Next, choose your operating system in our library or install your ISO image directly. Any configuration displayed on our website is available in stock for instant delivery. - -### Where are the Dedibox dedicated servers hosted? -All Dedibox servers and associated services are hosted in our Paris & Amsterdam data centers. We also have a Warsaw data center. - -### Is my data secure? -Scaleway does not have access to your data; however, you are responsible for your backups and the redundancy systems to be put in place to ensure continuity of service even in the event of hardware failure. - -### I need help, who can I talk to? -When choosing your servers for your use case, you can contact our solution advisors [here](https://www.scaleway.com/en/contact/). For technical assistance on the configuration and use of your servers, our experts are at your disposal. - -### What is your policy regarding IP addresses? -Public IPv4 addresses have become a rare and expensive resource. Each dedicated server is provided with a public IPv4 address at no extra cost. Additional addresses are available for an additional charge with the “IP Failover” option. - -### How is the price of my server calculated? -Our prices are updated daily based on demand, available stocks, and component and energy market prices. Some components, such as RAM memory and SSD disks, have high volatility. Do not worry, the price at the time of order is guaranteed for the first 12 months of your subscription. - -### How long is my server contract? -Your server operates on a monthly contract, with the billing cycle running from the first to the last day of each month. When placing an order, you will be billed pro rata for the current month, unless you pay via SEPA direct debit. In that case, your first invoice will be issued during your first complete month and include both the pro rata amount for the current month and the full amount for the following month. - - If you chose a commitment period during server creation, your contract will have a fixed duration of 12 or 36 months, depending on your selected option. - - -### What are Dedibox commitment plans? -A commitment plan allows you to commit to keeping your Dedibox for a period of 12 or 36 months. By choosing a commitment period, you benefit from lower monthly rent for your server and free setup, depending on the plan you choose. - -### Can I benefit from a commitment plan on a server I'm already renting? -No, commitment plans are available only for new subscriptions. - -### Will my server options also benefit from the discount? -No, the discount applies only to the Dedibox server. - -### Is there an automatic renewal of the commitment? -Yes, by default, your commitment is renewed automatically at the end of the commitment period. You can disable the automatic renewal in your server's options. - -### At the end of the commitment, what will the price for my Dedibox be? -At the end of the commitment, you will pay the standard price at the time of the subscription. Your commitment discount will no longer apply. - -### Can I terminate a Dedibox during the commitment period? -You can request termination at any time, but it will only be effective after the end of the commitment period. You will retain access to your server until the commitment period ends. - -### Can I change the commitment period? -No, the commitment period cannot be changed after the subscription. - -### Are there commitment plans for Elastic Metal or Dedibox VPS? -No, commitment plans are only available for eligible Dedibox dedicated servers. - -### How much does a Windows Server license cost? - -Windows Server 2019 and 2022 licenses are billed monthly (no prorating) based on the following factors: -- Number of physical CPUs -- Number of cores per CPU -- Operating System version: Standard or Datacenter - -**Important:** -Starting **February 1, 2025**, the price of Windows licenses for new and existing Dedibox customers will increase due to a price adjustment from Microsoft. - -Below is a comparison of the current and updated pricing for Windows licenses on Dedibox servers: - -| **License Type** | **Current Price per Core** | **New Price per Core (Feb 1, 2025)** | -|----------------------------|----------------------------|--------------------------------------| -| Windows Server Standard | €2.75 /month | €3.15 /month | -| Windows Server Datacenter | €17.88 /month | €21.00 /month | - -## Dedibox VPS - -### What is a Dedibox VPS? -A Dedibox VPS (Virtual Private Servers) is a virtualized server that provides users with the power and flexibility of a dedicated server within a shared hosting environment, offering full control at a fraction of the cost. - -### How does a Dedibox VPS work? -A Dedibox VPS works by partitioning a physical server into multiple isolated virtual environments, each functioning as an independent server with its own resources and configurations. - -### What are the benefits of using a Dedibox VPS? -* Enhanced reliability and performance compared to traditional shared hosting environments. -* Full root access and control over server configurations to tailor your environment to your needs. -* Each Dedibox VPS is an isolated environment for enhanced protection of your data and applications. - -### Who should use a Dedibox VPS? -Dedibox VPS are suitable for individuals, businesses, and developers seeking greater control, customization, and performance than traditional shared hosting can provide. -They are ideal for hosting websites, web applications, development environments, and more. - -### What ranges of Dedibox VPS are available? -Currently, we offer two ranges of Dedibox VPS: - * **Dedibox VPS START**: Ideal for smaller projects and development, offering 1 to 16 vCores, 1 to 32 GB RAM, and SATA SSD storage ranging from 10 GB to 320 GB. - * **Dedibox VPS PRO**: Designed for production workloads, with 1 to 16 vCores, 1 to 16 GB RAM, and NVMe storage ranging from 20 GB to 640 GB. - -### What are the available locations for Dedibox VPS? -Dedibox VPS are available in 60+ different locations worldwide, allowing you to deploy a Dedibox VPS as close as geographically possible to your user base. - -### What operating systems can I run on a Dedibox VPS? -We support various Linux distributions such as Ubuntu, CentOS, and Debian, providing flexibility for your specific requirements. - -### How do I manage my Dedibox VPS? -You can manage your Dedibox VPS from the Dedibox console for administrative tasks such as restarting or reinstalling. For advanced users who prefer command-line interaction, you have full access as the root user via SSH. - -### Is my Dedibox VPS compatible with the Dedibox ecosystem? -No, a Dedibox VPS is a standalone product and not compatible with the Dedibox ecosystem (RPN, Failovers IPs, Dedibackup, RPN-SAN, etc.). - -### Does my Dedibox VPS use shared resources or dedicated resources? -Dedibox VPS provide an isolated environment in which you can access shared resources of the host system. - -### Does my Dedibox VPS come with unlimited traffic? -Yes, but the bandwidth will be throttled beyond a certain amount of traffic (fair use). -The amount of unthrottled bandwidth included with the VPS depends on the server configuration. - -* DEDIBOX VPS START -| Product | Bandwidth (Mbps) | Fair use traffic (TB) | Throttle Mbps | -|-------------------------|---------------------|------------------|-------------------| -| VPS-START-XS | 100 | 1 TB | 2 | -| VPS-START-S | 150 | 2 TB | 2 | -| VPS-START-M | 200 | 3 TB | 5 | -| VPS-START-L | 300 | 4 TB | 5 | -| VPS-START-XL | 500 | 6 TB | 10 | -| VPS-START-XXL | 750 | 8 TB | 10 | - -* DEDIBOX VPS PRO -| Product | Bandwidth (Mbps) | Fair use traffic (TB) | Throttle Mbps | -|-------------------------|---------------------|------------------|-------------------| -| VPS-PRO-XS | 200 | 3 TB | 10 | -| VPS-PRO-S | 300 | 4 TB | 10 | -| VPS-PRO-M | 400 | 5 TB | 10 | -| VPS-PRO-L | 600 | 10 TB | 10 | -| VPS-PRO-XL | 800 | 15 TB | 10 | -| VPS-PRO-XXL | 1000 | 20 TB | 10 | - - -### What happens when I exceed my fair-use traffic? - -Your monthly fair-use traffic allowance includes all incoming and outgoing data. Each plan comes with a specified monthly data allocation. -If you exceed this limit, your connection speed will be reduced for the remainder of the billing cycle, in accordance with your plan's terms. -The speed of your connection will return to normal at the start of the next billing cycle when your data allocation resets. - -### How secure is a Dedibox VPS? -Each Dedibox VPS is isolated from other virtual servers on the same host, ensuring security. However, best security practices, including regular updates, strong passwords, and firewall configurations, are essential to enhance security further. - -### Are IP addresses for Dedibox VPS assigned statically? -IP addresses for Dedibox VPS are generally assigned statically. However, in rare cases, such as maintenance or replacement of a faulty host node, we may perform IP migrations, which can result in a change of IP address. -You can find your updated IP address in the Dedibox console. Please note that we do not currently notify users of such changes. You can contact our [support team](https://console.online.net/en/assistance/ticket) if you experience any issues. \ No newline at end of file diff --git a/faq/domains-and-dns.mdx b/faq/domains-and-dns.mdx deleted file mode 100644 index 4116116c3d..0000000000 --- a/faq/domains-and-dns.mdx +++ /dev/null @@ -1,119 +0,0 @@ ---- -meta: - title: Domains and DNS FAQ - description: From understanding DNS features to managing domain ownership, explore everything you need to know about domains and DNS zones with Domains and DNS. -content: - h1: Domains and DNS -tags: dns domain transfer extension -dates: - validation: 2024-12-19 -category: network -productIcon: DomainsProductIcon ---- - -## What is the DNS feature? - -Domain Name System (DNS) is a domain name management service that allows you to avoid browsing the internet only by IP. It provides human management of addressable resources on the internet. It is possible to create zones and records to manage a subdomain (e.g. `test.mydomain.com`) or specific configurations such as the MX of your mailbox. - -## What are the prerequisites to register a Domain name? - -To register a domain name you need: - -- a valid email address to make sure your information is updated during the whole period of registration -- a valid debit or credit card - -## Which rights are associated with the owner of a domain? - -The owner of a domain can update all the technical and administrative parameters referring to their domain name. You must [contact the support team](https://console.scaleway.com/support/tickets/create) if you want to modify the contacts you have entered. - -## What are the responsibilities of the domain name holders? - -The domain name holders must: - -- comply with the terms and conditions posted by their registrar, including applicable policies from their registrar, the registry, and ICANN -- review their registrar's current registration agreement, along with any updates -- assume sole responsibility for the registration and use of their domain name -- provide accurate information for publication in directories such as `WHOIS` and promptly update this to reflect any changes -- respond to inquiries from their registrar within fifteen (15) days, and keep their registrar account data and payment information up-to-date - -## Can I edit my domain name once it has been registered? - -It is not possible to change the domain name once the registration has been carried out. However, you can make a new registration with another domain name. - -## How long is the registration of a domain name valid for? - -Your registration is valid for a minimum of one year. You can reserve certain extensions for up to 10 years. - -## What do I do if the domain name I want to register is not available? - -If a domain name is unavailable, you can test a light variation of the desired name. You can also add a letter or a number. If you still encounter any issues, you can contact the [support team](https://console.scaleway.com/support/tickets). - -## Is domain renewal automatic? - -No. You must renew your domain name before the end of its validity period. -If you enable the [auto-renew feature](/domains-and-dns/how-to/configure-autorenew/), your domain name will be automatically renewed. - - - You will be notified by email 60 days before your domain name expires. Your domain name will then switch to the `late renew` status. - - -## Why has my current registrar opposed my request for a change of domain name registrar? - -The reasons for refusal are generally the following: - -- the domain name is locked with the status `client transfer prohibited`: the applicant forgot to remove the padlock from the registrar before requesting the transfer of the domain name - -- the domain name was registered for less than 60 days - -- the domain name was the subject of a previous transfer for less than 60 days - -- the domain name has expired - -- the domain name is the subject of a dispute in progress (UDRP procedure, for example) - -- the owner notified their refusal to transfer the domain name to another registrar - -## How long does a domain name transfer take? - -A domain name transfer usually takes from 1 to 10 days. However, a domain name transfer can take longer. - -## Are there transfer limitations? - -All domains registered through [BookMyName](https://www.bookmyname.com/) or [Online](https://console.online.net/en/login) cannot yet be transferred to Scaleway Domains and DNS. - -## What are the requirements to use EU, FR, and NL extensions? - -To be able to use the `.eu` extension, you need to be a citizen of a country in the European Union. - -To be able to use the `.fr` extension, you need to have an address in the European Economic Area and/or Switzerland. - -To be able to use the `.nl` extension, you need to fill in the **legal form** and **legal form registration number** fields. In addition, the technical and administrative contacts **must be a natural person**. - -## Why are some domain extensions more expensive than others? - -Due to a significant increase in domain pricing across various registrars, Scaleway domains will also experience a price increase. - -Find out more about pricing increases in the [Scaleway changelog](/changelog/?product=domains-and-dns). - - -## Why was my domain registration refused? - -Your domain registration may have been be refused if you do not meet the conditions set by the registry. - -For instance, if your extension is `.fr` you must have an address in the European Economic Area and/or Switzerland otherwise, your domain registration will be declined. - -## Is it possible to automate the management of DNS service records? - -Yes, the DNS service can be automated with the [Domains and DNS API](https://www.scaleway.com/en/developers/api/domains-and-dns/). It is possible to use the API in a CI/CD environment to create test environments, for example. - -## Is the DNS service IPv6 compatible? - -Yes, the DNS service is compatible with IPv6. - -## What are Scaleway's DNS name servers? - -Scaleway's DNS servers are: - -- `ns0.dom.scw.cloud` - -- `ns1.dom.scw.cloud` \ No newline at end of file diff --git a/faq/edge-services.mdx b/faq/edge-services.mdx deleted file mode 100644 index 1848c47200..0000000000 --- a/faq/edge-services.mdx +++ /dev/null @@ -1,33 +0,0 @@ ---- -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 -dates: - validation: 2025-02-04 -category: network -productIcon: EdgeServicesProductIcon ---- - -## What is Edge Services? - -Edge Services is a feature for Scaleway Load Balancers and Object Storage buckets. Creating Edge Services [pipelines](/edge-services/concepts/#pipeline) towards your Load Balancers or Object Storage buckets provides: --A [caching service](/edge-services/how-to/configure-cache/) to improve performance by reducing load on your [origin](/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 and secured with an SSL/TLS certificate. - - - -## Which products are compatible with Edge Services? - -Edge Services is currently available for Scaleway [Object Storage buckets](/object-storage/) and Scaleway [Load Balancers](/load-balancer/). - -## How much does Edge Services cost? - -On November 1st 2024, Edge Services transitioned from Public Beta to General Availability, and became billable. Pricing is based on [monthly subscription plans](https://www.scaleway.com/en/pricing/network/#edge-services): three plans are available, each allowing a fixed number of pipelines, and a certain amount of egress cache data. Any consumption that exceeds the limits of the plan is charged at an additional rate. - -Find out more about how Edge Service subscription plans and billing works on our [Understanding Edge Services pricing](/edge-services/reference-content/understanding-pricing/) page. - -## 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](/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/). \ No newline at end of file diff --git a/faq/elastic-metal.mdx b/faq/elastic-metal.mdx deleted file mode 100644 index 425b3d9013..0000000000 --- a/faq/elastic-metal.mdx +++ /dev/null @@ -1,202 +0,0 @@ ---- -meta: - title: Elastic Metal FAQ - description: Explore Scaleway Elastic Metal servers, pioneering 100% cloud bare metal solutions. Learn about billing, server ranges, installation guides, and more. -content: - h1: Elastic Metal -hero: assets/elasticmetal.webp -dates: - validation: 2024-12-19 -category: bare-metal -productIcon: ElasticMetalProductIcon ---- - -## General information - -### What are Elastic Metal servers? - -An Elastic Metal server is a 100%-dedicated machine without a hypervisor, available in a cloud ecosystem. - -With Elastic Metal, you get full control of the resources and applications installed on the server, for maximum performance and security. - -Several operating systems are available for [automatic installation from the console](/elastic-metal/how-to/install-server/). - -### What is the difference between an Elastic Metal server and a Dedibox dedicated server? - -Dedibox is our historical dedicated server range, available only with monthly billing. - -Elastic Metal is an improved and more flexible offer, giving all the same features with flexible hourly billing, cloud integration, and more. - -### What are the differences between the available Elastic Metal server ranges? - -We provide several ranges of Elastic Metal servers, each designed to meet the requirements of your different workloads: - - * **Aluminium**: Fully dedicated Elastic Metal servers with native cloud integration, at the best price. - * **Beryllium**: Powerful, balanced, and reliable servers for production-grade applications. - * **Lithium**: Designed with huge Local Storage to store, back up, and protect your data. - * **Iridium**: Powerful dedicated servers designed to handle high-workload applications. - -### Which regions and Availability Zones offer Elastic Metal servers? - -Elastic Metal servers are available in the following regions and Availability Zones: - -* Amsterdam, The Netherlands (`AMS-1` and `AMS-2`) -* Paris, France (`PAR-1` and `PAR-2`) -* Warsaw, Poland (`WAW-2` and `WAW-3`) - -## Billing and pricing - -### How am I billed for Elastic Metal servers? - -You can choose hourly or monthly billing. -In both cases, you will receive an invoice at the end of each month corresponding to your resource consumption for that period, calculated based on the number of hours allocated to your account and your billing choice. - -To benefit from more advantageous monthly pricing, you will pay a one-time commitment fee equivalent to one month of subscription. In addition, if you rent an Elastic Metal server for more than 12 months, you will be rewarded with Scaleway credits equivalent to your commitment fee. - -### Which Elastic Metal billing option should I choose, hourly or monthly? - -An hourly-billed dedicated server allows you to take advantage of both the flexibility of the public cloud and the power of a dedicated server. This can be ideal for use during periods of peak activity or one-off events. - -If you need a powerful server on a frequent and continual basis, you may find that monthly billing is more suitable for you. In this case, you will get a more advantageous price, while still benefiting from full integration with our public cloud to manage sporadic exceptional workloads or peak periods. - - - You must [create](/elastic-metal/how-to/create-server/) and [reinstall](/elastic-metal/how-to/reinstall-server/) a new Elastic Metal server to switch from monthly to hourly billing, and vice versa. - - -### What is the loyalty reward and how do I use it? - -The loyalty reward is a cloud service voucher in the sum of the commitment fees paid at the time of your Elastic Metal server purchase. - -You are entitled to it if you have a monthly Elastic Metal server that is up and running for 12 consecutive months without termination. You have the right to one voucher per physical server, and it can be used for all Scaleway Cloud products, apart from Elastic Metal servers and their associated options. - -The loyalty reward voucher is valid for six months and automatically added to your Scaleway account. [Learn more about how to get and use a loyalty reward](/elastic-metal/how-to/get-use-loyalty-reward/). - -### Can I get a refund of the commitment fees after 12 months of keeping the server? - -It is not possible to get a cash refund of the engagement fees. - -### How much does a Windows Server license cost? - -Windows Server 2019 and 2022 licenses are billed monthly (no prorating) based on the following factors: -- Number of physical CPUs -- Number of cores per CPU -- Operating System version: Standard or Datacenter - -**Important:** -Starting **February 1, 2025**, the price of Windows licenses for new and existing Elastic Metal customers will increase due to a price adjustment from Microsoft. - -Below is a comparison of the current and updated pricing for Windows licenses on Elastic Metal servers: - -| **License Type** | **Current Price per Core** | **New Price per Core (Feb 1, 2025)** | -|----------------------------|----------------------------|--------------------------------------| -| Windows Server Standard | €2.75 /month | €3.15 /month | -| Windows Server Datacenter | €17.88 /month | €21.00 /month | - - - Licenses are billed monthly, even if your Elastic Metal server is billed on an hourly or monthly basis. - - -## Technical questions - -### How long does it take to boot an Elastic Metal server? - -An Elastic Metal server is delivered to your account within a few minutes. You can then launch the server installation, which can take up to one hour. - -### Which OSes can be installed on Elastic Metal servers? - -We provide a range of Linux and Windows Server distributions for automatic installation from the Scaleway console. - -### Can I adjust the bandwidth for my Elastic Metal Server? - -Yes, you have the flexibility to modify the bandwidth available for your Elastic Metal server according to your requirements. -Each Elastic Metal dedicated server comes with an allocated bandwidth allowance. However, you can easily increase or decrease this bandwidth through your Scaleway console at any time. - -Scaleway offers high-performance bandwidth options of up to 25Gbps per server, all of which include unlimited traffic. -For step-by-step instructions on how to modify the available bandwidth for your Elastic Metal server, refer to our documentation on [how to modify the available bandwidth for an Elastic Metal server](/elastic-metal/how-to/adjust-available-bandwidth/). - - - The maximum available bandwidth for each Elastic Metal server is determined by the physical conditions of the network card installed, as specified in the offer description. - - -### How can I reinstall an Elastic Metal server? - -You can reinstall an Elastic Metal server with a few clicks at any time, [directly from your Scaleway console](/elastic-metal/how-to/install-server/). - -### How do I back up an Elastic Metal server? - -Elastic Metal servers must be backed up differently from Instances, which have the snapshot feature. - -The first level is to back up your Elastic Metal server's data and configuration. This can be done by exporting it to an [Object Storage bucket](/object-storage/quickstart/). You can check our tutorial on [backing up servers to Object Storage](/tutorials/backup-dedicated-server-s3-duplicity/) for more information. - -The security and redundancy of your data can also be ensured by a cluster configuration of your application. - -If you need a backup system, you can refer to the documentation for your OS, such as the [information on snapshots](https://wiki.ubuntu.com/Lvm). - -### Can I change the BIOS settings or update the firmware of an Elastic Metal server? - -Users are not allowed to change the BIOS settings of Elastic Metal servers, as modifications may lead to system malfunction and data unavailability. - -Firmware updates are managed by Scaleway. If your Elastic Metal server requires a firmware upgrade, it will be installed automatically upon reboot of the server. - -### What happens to the data stored on the disks when I delete the server? - -After deletion, all data present on the disks of an Elastic Metal server is wiped using a secure algorithm. - -Make sure to back up your data before deleting a server, as it cannot be recovered once the disks are wiped. - -### How many flexible IPs can I have per Elastic Metal server? - -You can have up to 64 [flexible IPs](/elastic-metal/how-to/order-flexible-ip/) per Elastic Metal server. - -### Can I move flexible IPs between my Elastic Metal servers and Instances? - -It is not currently possible to move your flexible IPs between different products. Each set of flexible IPs you hold is independent and usable only with the specific product. An Instance's flexible IPs cannot be attached to an Elastic Metal server and vice versa. - -### Can I have IPv6 connectivity for my Elastic Metal servers? - -Yes, you can order flexible IPv6 for your Elastic Metal server. These can be attributed to any of your Elastic Metal servers in the same way as flexible IPv4s. - -Each failover IP consists of a `/64` IPv6 subnet (18,446,744,073,709,551,616 IPv6s). - - - When you configure the reverse DNS of a failover IPv6, the configuration is applied only to the first IP of each block (`XXXX:0`). - - -### Do you provide an IPv6 address by default with Elastic Metal? - -Yes, Elastic Metal servers are delivered with an IPv6 address (/128) pre-configured. - -### Can I attach Block Storage volumes to my Elastic Metal server? - -Elastic Metal is not currently compatible with Block Storage, but this functionality is planned for the future. - -## Windows Server specific questions - -### Is Windows available on Elastic Metal? - -Yes. Monthly Windows licenses are available, in French only, for Elastic Metal servers. - -You must order a server from the list of Elastic Metal servers compatible with Microsoft Windows Server. Then you can choose the version of Windows Server to install in one click from our console. - - -### Why are there different versions of Microsoft Windows Server? - -Windows Server license comes in 2 versions, Standard and Datacenter, each at a different price. The availability of certain features, such as roles, depends on the version you choose. - -You can find more information about the various features and limitations of each version on the [Microsoft website](https://learn.microsoft.com/en-us/windows-server/get-started/editions-comparison-windows-server-2019?tabs=full-comparison). - - -### Can I transfer the monthly license to another server? - -Licenses delivered with an Elastic Metal server are only valid on Scaleway's Elastic Metal servers, and cannot be recovered for external use. - -Each Windows installation implies the invoicing of a new license, except when reinstalling an Elastic Metal server where it was already previously installed. - -### How can I install Hyper-V on Windows Server? - -After installing the OS, you can manually enable Hyper-V roles from the Roles and Features Wizard. - -### How many virtual machines can I install under Hyper-V? - -Hyper-V is a hypervisor for hosting virtual machines. The Standard version of Microsoft Server allows you to install 2 virtual machines per host (per Elastic Metal server). The number of virtual machines (VM) on the Datacenter version is unlimited. - diff --git a/faq/environmental-footprint.mdx b/faq/environmental-footprint.mdx deleted file mode 100644 index ba1fe07ad3..0000000000 --- a/faq/environmental-footprint.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -meta: - title: Environmental Footprint FAQ - description: Get answers to the most frequently asked questions about Scaleway Environmental Footprint calculator. -content: - h1: Environmental Footprint -dates: - validation: 2025-01-29 -category: environmental-footprint -productIcon: EnvironmentalFootprintCalculatorProductIcon ---- - -## How is my environmental footprint calculated? - -Our calculation methodology was developed in collaboration with the green IT specialist consultancy firm [IJO](https://ijo.tech/index.html), ensuring a rigorous and expert-validated approach to assessing environmental impact accurately and transparently. - -Our methodology is based on the ADEME (French Government Agency for Ecological Transition) [Product Category Rules (PCR) for Datacenter and Cloud services](https://librairie.ademe.fr/produire-autremenqt6105-methodological-standard-for-the-environmental-assessment-of-datacenter-it-hosting-services-and-cloud-services.html), which provide a standardized framework for calculating and reporting the environmental impact of data centers and cloud services. These rules are designed to ensure consistency, transparency, and comparability in the assessment of environmental footprints across the industry. - -Refer to the [environmental footprint calculation breakdown](/environmental-footprint/additional-content/environmental-footprint-calculator) for a detailed report of how our calculations are made and what data is used. - -## Why does my environmental impact data vary over time? - -Your environmental impact data may change due to updates in the energy mix of data center locations, adjustments to PUE, or enhancements in our calculation methodology. These updates ensure that your reports reflect the most accurate and up-to-date information, enhancing transparency and trust in our reporting system. \ No newline at end of file diff --git a/faq/generative-apis.mdx b/faq/generative-apis.mdx deleted file mode 100644 index c24f8ff94f..0000000000 --- a/faq/generative-apis.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -meta: - title: Generative APIs FAQ - description: Get answers to the most frequently asked questions about Scaleway Generative APIs. -content: - h1: Generative APIs -dates: - validation: 2025-02-12 -category: ai-data -productIcon: GenerativeApiProductIcon ---- - -### What are Scaleway Generative APIs? -Scaleway's Generative APIs provide access to pre-configured, serverless endpoints of leading AI models, hosted in European data centers. This allows you to integrate advanced AI capabilities into your applications without managing underlying infrastructure. - -## Which models are supported by Generative APIs? -Our Generative APIs support a range of popular models, including: -- Chat / Text Generation models: Refer to our dedicated [documentation](/generative-apis/reference-content/supported-models/#chat-models) for a list of supported chat models. -- Vision models: Refer to our dedicated [documentation](/generative-apis/reference-content/supported-models/#vision-models) for a list of supported vision models. -- Embedding models: Refer to our dedicated [documentation](/generative-apis/reference-content/supported-models/#embedding-models) for a list of supported embedding models. - -## How does the free tier work? -The free tier allows you to process up to 1,000,000 tokens without incurring any costs. After reaching this limit, you will be charged per million tokens processed. Free tier usage is calculated by adding all input and output tokens consumed from all models used. -For more information, refer to our [pricing page](https://www.scaleway.com/en/pricing/model-as-a-service/#generative-apis). - -## How can I monitor my token consumption? -You can see your token consumption in [Scaleway Cockpit](/cockpit/). You can access it from the Scaleway console under the [Metrics tab](https://console.scaleway.com/generative-api/metrics). -Note that: -- Cockpits are isolated by Projects, hence you first need to select the right project in the Scaleway console before accessing Cockpit to see your token consumption for this Project (you can see the `project_id` in the Cockpit URL: `https://{project_id}.dashboard.obs.fr-par.scw.cloud/`. -- Cockpit graphs can take up to 1 hour to update token consumption, see [Troubleshooting](https://www.scaleway.com/en/docs/generative-apis/troubleshooting/fixing-common-issues/#tokens-consumption-is-not-displayed-in-cockpit-metrics) for further details. - -## Can I configure a maximum billing threshold? -Currently, you cannot configure a specific threshold after which your usage will blocked. However: -- You can [configure billing alerts](/billing/how-to/use-billing-alerts/) to ensure you are warned when you hit specific budget thresholds. -- Your total billing remains limited by the amount of tokens you can consume within [rate limits](/generative-apis/reference-content/rate-limits/). -- If you want to ensure fixed billing, you can use [Managed Inference](https://www.scaleway.com/en/inference/), which provides the same set of OpenAI-compatible APIs and a wider range of models. - -## How can I access and use the Generative APIs? -Access is open to all Scaleway customers. You can start by using the Generative APIs Playground in the Scaleway console to experiment with different models. For integration into applications, you can use the OpenAI-compatible APIs provided by Scaleway. Detailed instructions are available in our [Quickstart guide](/generative-apis/quickstart/). - -## Where are the inference servers located? -All models are currently hosted in a secure data center located in Paris, France, operated by [OPCORE](https://www.opcore.com/). This ensures low latency for European users and compliance with European data privacy regulations. - -## Where can I find the privacy policy regarding Generative APIs? -You can find the privacy policy applicable to all use of Generative APIs [here](/generative-apis/reference-content/data-privacy/). - -## Can I use OpenAI libraries and APIs with Scaleway's Generative APIs? -Yes, Scaleway's Generative APIs are designed to be compatible with OpenAI libraries and SDKs, including the OpenAI Python client library and LangChain SDKs. This allows for seamless integration with existing workflows. - -## What is the difference between Generative APIs and Managed Inference? -- **Generative APIs**: A serverless service providing access to pre-configured AI models via API, billed per token usage. -- **Managed Inference**: Allows deployment of curated or custom models with chosen quantization and instances, offering predictable throughput and enhanced security features like private network isolation and access control. Managed Inference is billed by hourly usage, whether provisioned capacity is receiving traffic or not. - -## How do I get started with Generative APIs? -To get started, explore the [Generative APIs Playground](/generative-apis/quickstart/#start-with-the-generative-apis-playground) in the Scaleway console. For application integration, refer to our [Quickstart guide](/generative-apis/quickstart/), which provides step-by-step instructions on accessing, configuring, and using a Generative APIs endpoint. - -## Are there any rate limits for API usage? -Yes, API rate limits define the maximum number of requests a user can make within a specific time frame to ensure fair access and resource allocation between users. If you require increased rate limits (by a factor from 2 to 5 times), you can request them by [creating a ticket](https://console.scaleway.com/support/tickets/create). If you require even higher rate limits, especially to absorb infrequent peak loads, we recommend using [Managed Inference](https://console.scaleway.com/inference/deployments) instead with dedicated provisioned capacity. -Refer to our dedicated [documentation](/generative-apis/reference-content/rate-limits/) for more information on rate limits. - -## What is the model lifecycle for Generative APIs? -Scaleway is dedicated to updating and offering the latest versions of generative AI models, ensuring improvements in capabilities, accuracy, and safety. As new versions of models are introduced, you can explore them through the Scaleway console. Learn more in our dedicated [documentation](/generative-apis/reference-content/model-lifecycle/). - -## What are the SLAs applicable to Generative APIs? -We are currently working on defining our SLAs for Generative APIs. We will provide more information on this topic soon. - -## What are the performance guarantees (vs Managed Inference)? -We are currently working on defining our performance guarantees for Generative APIs. We will provide more information on this topic soon. - -## Do model licenses apply when using Generative APIs? -Yes, you need to comply with model licenses when using Generative APIs. Applicable licenses are available for [each model in our documentation](/generative-apis/reference-content/supported-models/#vision-models) and in Console Playground. diff --git a/faq/iam.mdx b/faq/iam.mdx deleted file mode 100644 index 1ac9f59bf7..0000000000 --- a/faq/iam.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -meta: - title: Identity and Access Management FAQ - description: Discover Scaleway's Identity and Access Management system. -content: - h1: Identity and Access Management -dates: - validation: 2024-09-24 -category: identity-and-access-management -productIcon: IamProductIcon ---- - -## Why do I need Identity and Access Management (IAM) features? -Securing access to your Scaleway account and resources is essential. Not all users, programs, and scripts should have access to all aspects of your Organization. There are many risks that can affect your Organization: credentials can get leaked, or obtained through malicious activity, and some undesired actions may be performed accidentally. - -IAM enables you to reduce these risks, and ensures that users in your Organization have access only to the resources they need. - -## Do I have to pay for IAM? -No. IAM is free and available to all Scaleway users. - -## Can I manage access at the resource level? -With IAM you can manage access for each Scaleway product, but at the Project level only. Some products implement their own access with the possibility to manage access at the resource level, such as SSH keys for Elastic Metal, Instances, and Apple silicon. - -## Which products work with IAM? -IAM enables you to manage access control to all Scaleway products. - -You may decide yourself whether to leave these automatically-created IAM applications and policies in place, [edit the policies](/iam/how-to/manage-policies/) to change permissions as required, or [generate new API keys for individual users](/iam/how-to/create-api-keys/) to define rights per-user via the creation of [new policies](/iam/how-to/create-policy/) for those users. - -## What are applications, and why do I need them? -Applications represent the identity of non-human users (such as a CI pipeline, a custom script, or a Terraform/OpenTofu provider). They are used to attach permissions and API keys to these operations - without being linked to specific users and their own rights. - -## Why do I have to select a preferred Project for Object Storage when I create an API key? -Due to limitations on the Object Storage API, API keys cannot perform Object Storage actions on several projects at the same time. Whenever you generate an API key that will be used on Object Storage, you must specify a preferred project where the API key will be able to perform actions. For more information, refer to the [Using IAM API keys with Object Storage](/iam/api-cli/using-api-key-object-storage/) documentation page. - -## Why and how should I rotate API keys? -API keys are credentials that grant access to resources in Scaleway Organizations. It is good practice to change your credentials on a regular basis to reduce the risk of security breaches. -To change your API key, you can generate a new one for your user and/or application and delete the old API key. - -## How many API keys can I create? -Each Organization can have up to 100 API keys. - -## How many IAM applications can I create? -Each Organization can have up to 100 IAM applications. - -## How many IAM groups can I create? -Each Organization can have up to 50 IAM groups. - -## How many IAM policies can I create? -Each Organization can have up to 50 IAM policies. - -## How many users can my Organization have? -Each Organization can have up to 50 users. \ No newline at end of file diff --git a/faq/index.mdx b/faq/index.mdx index 3e87f7a5e6..934049da4e 100644 --- a/faq/index.mdx +++ b/faq/index.mdx @@ -5,4 +5,285 @@ meta: content: h1: Frequently Asked Questions paragraph: Select from the following list of products and browse through the FAQ to find answers to commonly asked questions ---- \ No newline at end of file +--- + +## Account & Billing + + + + + + + + + +## Security & Identity + + + + + + + + + + + + + +## Environmentatal Footprint + + + + + + +## AI & Data + + + + + + + + + +## Bare Metal + + + + + + + + + + + + + +## Compute + + + + + + +## Containers + + + + + + + + + +## Managed Databases + + + + + + + + + +## Managed Services + + + + + + + + + + + +## Network + + + + + + + + + + + + + + + + +## Serverless + + + + + + + + + + + + + + + + + + + +## Storage + + + + + + + + \ No newline at end of file diff --git a/faq/instances.mdx b/faq/instances.mdx deleted file mode 100644 index 1c88aa53be..0000000000 --- a/faq/instances.mdx +++ /dev/null @@ -1,326 +0,0 @@ ---- -meta: - title: Instances FAQ - description: Discover Scaleway Instances and learn the difference between images and snapshots. -content: - h1: Instances -tags: instances, pricing, scaleway -dates: - validation: 2024-09-16 -category: compute -productIcon: InstanceProductIcon ---- - -## First steps - -### How can I create an image? - -You must [create at least one snapshot](/instances/how-to/create-a-snapshot/) before creating an image. - -See the documentation on [creating an image from scratch](/instances/how-to/create-image-from-snapshot/). - - -### What is ImageHub? - -Scaleway’s ImageHub is a catalog of system images that allow you to deploy, manage, and scale your favorite applications in seconds using image templates. - - -### What is a Marketplace image? - -A Marketplace is an online store that offers applications and services either built on or integrated with Scaleway’s offerings. - -Scaleway Marketplace provides information related to Instance images through variants named “local-images”. This information can include the Instance zone and identification, along with constraints regarding the applicable Instance types. - -When you want to create an Instance using an image in the Instance [API](https://www.scaleway.com/en/developers/api/instance/), you need to specify the local-image UUID matching the zone and Instance type constraints you fetch from the marketplace API. - -Use the [Marketplace API](https://www.scaleway.com/en/developers/api/marketplace/) to find the UUID of the image you want to use. Alternatively, you can use this CLI command: - - ``` - scw marketplace image get label=image_name - ``` - -Replace `image_name` with the name of your image or distribution, e.g.: `ubuntu_focal` or `debian_stretch`. - - -## Billing - -### How am I billed for my compute Instances? - -Instances are billed on a pay-as-you-go basis, and their prices are made up of three parts: - -* Instance price, -* Storage price (local or block), -* Flexible IP price. - -You can change the storage type and flexible IP after the Instance creation, which may affect the monthly billing. - - -### What are the prices for Instances? - - - * Prices indicated below do not include storage or IP. - * *All regions refer to `PAR1`, `PAR2`, `AMS1`, `AMS2`, `AMS3`, `WAW1`, `WAW2`, and `WAW3`. Some ranges might not be available in some of these regions. Check the [Instances availability guide](/account/reference-content/products-availability/) to discover where each Instance type is available. - * PAR3 prices are shown separately. - - -**Learning Instances** - -| Range | Price for all regions* | Price for PAR3 | -|-------------------|------------------------|-------------------| -| STARDUST1-S | €0.0046/hour | Not available | - -**Cost-Optimized Instances** - -| Range | Price for all regions* | Price for PAR3 | -|-------------------|------------------------|-------------------| -| COPARM1-2C-8G | €0.0426/hour | Not available | -| COPARM1-4C-16G | €0.0857/hour | Not available | -| COPARM1-8C-32G | €0.1724/hour | Not available | -| COPARM1-16C-64G | €0.3454/hour | Not available | -| COPARM1-32C-128G | €0.6935/hour | Not available | -| PRO2-XXS | €0.055/hour | €0.082/hour | -| PRO2-XS | €0.11/hour | €0.164/hour | -| PRO2-S | €0.219/hour | €0.329/hour | -| PRO2-M | €0.438/hour | €0.658/hour | -| PRO2-L | €0.877/hour | €1.315/hour | -| PLAY2-PICO | €0.014/hour | Not available | -| PLAY2-NANO | €0.027/hour | Not available | -| PLAY2-MICRO | €0.054/hour | Not available | -| GP1-XS | €0.1016/hour | Not available | -| GP1-S | €0.2042/hour | Not available | -| GP1-M | €0.4064/hour | Not available | -| GP1-L | €0.7894/hour | Not available | -| GP1-XL | €1.6714/hour | Not available | -| DEV1-S | €0.0137/hour | Not available | -| DEV1-M | €0.0256/hour | Not available | -| DEV1-L | €0.0495/hour | Not available | -| DEV1-XL | €0.0731/hour | Not available | - -**Production-Optimized Instances** - -| Range | Price for all regions* | Price for PAR3 | -|-------------------|------------------------|-------------------| -| POP2-2C-8G | €0.0735/hour | €0.1103/hour | -| POP2-4C-16G | €0.147/hour | €0.2205/hour | -| POP2-8C-32G | €0.29/hour | €0.435/hour | -| POP2-16C-64G | €0.59/hour | €0.885/hour | -| POP2-32C-128G | €1.18/hour | €1.77/hour | -| POP2-64C-256G | €2.35/hour | €3.525/hour | -| ENT1-XXS | €0.0735/hour | €0.11/hour | -| ENT1-XS | €0.147/hour | €0.221/hour | -| ENT1-S | €0.29/hour | €0.44/hour | -| ENT1-M | €0.59/hour | €0.88/hour | -| ENT1-L | €1.18/hour | €1.76/hour | -| ENT1-XL | €2.35/hour | €3.53/hour | -| ENT1-2XL | €3.53/hour | €5.29/hour | - -**Production-Optimized Instances with Windows Server operating system** - -| Range | Price for all regions* | Price for PAR3 | -|-------------------|------------------------|-------------------| -| POP2-2C-8G-WIN | €0.1823/hour | Not available | -| POP2-4C-16G-WIN | €0.3637/hour | Not available | -| POP2-8C-32G-WIN | €0.7233/hour | Not available | -| POP2-16C-64G-WIN | €1.4567/hour | Not available | -| POP2-32C-128-WIN | €2.9133/hour | Not available | - -**Workload-Optimized Instances** - -| Range | Price for all regions* | Price for PAR3 | -|-------------------|------------------------|-------------------| -| POP2-HM-2C-16G | €0.103/hour | €0.1545/hour | -| POP2-HM-4C-32G | €0.206/hour | €0.309/hour | -| POP2-HM-8C-64G | €0.412/hour | €0.618/hour | -| POP2-HM-16C-128G | €0.824/hour | €1.236/hour | -| POP2-HM-32C-256G | €1.648/hour | €2.472/hour | -| POP2-HM-64C-512G | €3.296/hour | €4.944/hour | -| POP2-HC-2C-4G | €0.0532/hour | €0.0798/hour | -| POP2-HC-4C-8G | €0.1064/hour | €0.1596/hour | -| POP2-HC-8C-16G | €0.2128/hour | €0.3192/hour | -| POP2-HC-16C-32G | €0.4256/hour | €0.6384/hour | -| POP2-HC-32C-64G | €0.8512/hour | €1.2768/hour | -| POP2-HC-64C-128G | €1.7024/hour | €2.5536/hour | -| POP2-HN-3 | €0.2554/hour | €0.3831/hour | -| POP2-HC-5 | €0.4524/hour | €0.6786/hour | -| POP2-HC-10 | €0.7264/hour | €1.0896/hour | - -**GPU Instances** - -| Range | Available in | Price | -|-------------------|------------------------|-------------------| -| H100-1-80G | PAR2, WAW2 | €2.52/hour¹ | -| H100-2-80G | PAR2, WAW2 | €5.04/hour¹ | -| L40S-1-48G | PAR2 | €1.40/hour¹ | -| L40S-2-48G | PAR2 | €2.80/hour¹ | -| L40S-4-48G | PAR2 | €5.60/hour¹ | -| L40S-8-48G | PAR2 | €11.20/hour¹ | -| L4-1-24G | PAR2, WAW2 | €0.75/hour¹ | -| L4-2-24G | PAR2, WAW2 | €1.50/hour¹ | -| L4-4-24G | PAR2, WAW2 | €3.00/hour¹ | -| L4-8-24G | PAR2, WAW2 | €6.00/hour¹ | -| RENDER-S | PAR1, PAR2 | €1.2426/hour | -| GPU-3070-S | PAR2 | €0.98/hour | - -¹= Billed per minute. - - - `PLAY2-PICO` and `DEV1-S` Instances are not available for [Kubernetes Kapsule](/kubernetes/quickstart/) due to RAM constraints. - - - -### What are the storage prices for Instances? - -| Product | All regions* | PAR3 | -|-------------------|------------------------|-------------------| -| Local Storage | €0.000044 GB/hour | Not available | -| Local snapshot | €0.000044 GB/hour | Not available | -| Block Storage | €0.000118 GB/hour | €0.000177 GB/hour | -| Block snapshot | €0.000044 GB/hour | €0.000066 GB/hour | - -*All regions include `PAR1`, `PAR2`, `AMS1`, `AMS2`, `AMS3`, `WAW1`, `WAW2`, and `WAW3`. `PAR3` prices are shown separately. - - -### How much does a flexible IP cost? - -Each Instance’s flexible IPv4 costs €0.004/hour, excl. VAT. - - -## Requirements and configurations - -### What is the minimum volume size my Instance can have? - -Your **system volume** must be at least 10 GB (125 GB for a GPU OS). - - -### What are the benefits of Dedicated Resources? - -Dedicated Resources give you a more stable experience for compute-demanding workloads, offering benefits such as: -* No “noisy neighbors”, -* No “burst effects”, -* Optimization for demanding and specific needs. - - -### Which options are available to power off my Instance? - -You can choose between four options when powering off your Instance: -* **Hard reboot**: Your Instance performs an electrical reboot and its data is kept on the Local Storage. We recommend always rebooting your Instance from the OS to avoid data corruption. -* **Power off**: All local volume data is transferred to a volume store, and your physical node is released back to the pool of available machines. The process duration depends on the amount of data archived. -* **Terminate**: Your Instance and its volumes are permanently deleted, but the attached flexible IP is preserved. -* **Standby**: Your Instance is stopped, but its data remains in the Local Storage. The Instance is still allocated to your account and can be restarted anytime. - - - The **standby mode** is charged as a running Instance. To avoid being billed for an unused Instance, power it off and ensure no IPs or allocated storage are left in use. - - - -### Why do I have to specify the CPU architecture when creating an image from a volume? - -ARM and x86-based Instances use a different instruction set, which requires specifying the architecture of the platform when creating an image from a volume. - -An ARM CPU uses a Reduced Instruction Set Computing [RISC](https://en.wikipedia.org/wiki/Reduced_instruction_set_computer) architecture, while an x86 CPU uses a Complex Instruction Set Computing [CISC](https://en.wikipedia.org/wiki/Complex_instruction_set_computer) architecture. - - -### Can I reach my Instance using a DNS hostname instead of its IP address? - -Yes, each Instance has two DNS hostnames associated with it: - -* A **public DNS hostname**: `.pub.instances.scw.cloud` -* A **private DNS hostname**: `.priv.instances.scw.cloud` - -Both are automatically updated when the Instance moves to another hypervisor, also changing its IPv6 and private IPv4. You can either use these hostnames directly or configure a [CNAME record](/dedibox-dns/concepts/#resource-records) linking to it. - - -### Can I migrate from a first-generation DEV1 Instance to a PLAY2 Instance? - -Yes. Refer to the [changing the commercial type of an Instance](/instances/api-cli/migrating-instances/) documentation. - - -### Can I migrate from my first-generation GP1 Instance to a PRO2 Instance? - -Yes. Refer to the [changing the commercial type of an Instance](/instances/api-cli/migrating-instances/) documentation. - - -### Can I boot my Instance from a Block Storage volume? - -Yes. When creating an Instance, you can select Block Storage as a system volume type. This allows you to reboot Instances from the block volume on which your OS is stored. - -You can also add a Block volume after creating an Instance and [choosing it as the boot volume](/instances/how-to/use-boot-modes/#how-to-change-the-boot-volume). - - -## Offers and availability - -### Which Linux distributions are available? - -We provide a wide range of [Linux distributions](https://www.scaleway.com/en/imagehub/) and InstantApps for Instances. - -You are free to bootstrap your own distribution. - - -### Which Linux distributions are available for Enterprise Instances? - -We provide a wide range of different Linux distributions and InstantApps for Instances. Refer to [Scaleway Instance OS images and InstantApps](/instances/reference-content/images-and-instantapps/) for a complete list of all available OSes and InstantApps. - -### What are the differences between ENT1 and POP2 Instances? - -Both ENT1 and POP2 Instance types share the following features: -- Identical hardware specifications -- Dedicated vCPU allocation -- Same pricing structure -- Accelerated booting process - -POP2 Instances provide CPU- and memory-optimized variants tailored to suit your workload requirements more effectively. The primary distinction between ENT1 and POP2 lies in [AMD Secure Encrypted Virtualization (SEV)](https://www.amd.com/fr/developer/sev.html), which is disabled for POP2 Instances. -By choosing POP2 Instances, you gain access to the latest features, such as the potential for live migration of Instances in the future, ensuring that your infrastructure remains aligned with evolving demands and technological advancements. -We recommend choosing POP2 Instances for most general workloads unless your specific workload requires features unique to ENT1 Instances. - -### Where are my Instances located? - -Scaleway offers different Instance ranges in all regions: Paris (France), Amsterdam (Netherlands), and Warsaw (Poland). - -Check the [Instances availability guide](/account/reference-content/products-availability/) to discover where each Instance type is available. - - -### What makes FR-PAR-2 a sustainable Region? - -`FR-PAR-2` is our sustainable and environmentally efficient Availability Zone (AZ) in Paris. - -This Region is entirely powered by renewable (hydraulic) energy. It also has an energetic footprint 30-40% lower than traditional data centers, thanks to the fact that it does not require air conditioning. Learn more about [our environmental commitment](https://www.scaleway.com/en/environmental-leadership/). - -## Network - -### Which Instances support IP Mobility? - -All ranges are compatible except for Instances using the “bootscript” feature, which has [reached its end of life (EOL)](/instances/troubleshooting/bootscript-eol/). - -### Can I enable “Routed IP” on my bootscript Instance? - -Instances using a bootscript are not compatible with Routed IPs. As the bootscript feature has reached its end of life (EOL), refer to [this tutorial](/instances/troubleshooting/bootscript-eol/) for migration instructions. - -### Can I revert the migration to “Routed IP”? - -No, the migration is permanent. - -### Will my Instance retain its public IPv4 after migration? - -Yes, your existing flexible public IPv4 will be converted to a routed one and will remain unchanged after migration. - -### Will my Instance retain its public IPv6 after migration? - -No, you will receive a new IPv6 after migration. - -### Will my Instance retain its private IPv4 after migration? - -No, the Scaleway private IP will be removed after the migration. - -### Will my Instance retain its VPC private IPv4 after migration? - -Yes, your VPC configuration will remain intact after migrating to a routed public IPv4. - -### Can a resource with a routed IP communicate with a resource with a NAT IP? - -Yes, they can communicate with each other using their public IPs. - -### Are there any limitations on IP autoconfiguration with the routed IP feature? - -Currently, additional routed IPv6 addresses do not autoconfigure on CentOS 7, 8, 9, Alma 8, 9, Rocky 8, 9 after migration. -Additional routed IPv4 and IPv6 addresses are not autoconfigured post-migration on Ubuntu 20.04 Focal. However, the primary IPv6 continues to be configured via SLAAC. These limitations are currently being addressed. -For detailed migration steps, refer to our [migration guide](/instances/how-to/migrate-routed-ips/). If you encounter connectivity issues with Ubuntu Focal Instances having multiple public IPs, consult our [troubleshooting guide](/instances/troubleshooting/fix-unreachable-focal-with-two-public-ips/). diff --git a/faq/iothub.mdx b/faq/iothub.mdx deleted file mode 100644 index b1c4e5ee79..0000000000 --- a/faq/iothub.mdx +++ /dev/null @@ -1,92 +0,0 @@ ---- -meta: - title: IoT Hub FAQ - description: Discover IoT Hub. -content: - h1: IoT Hub -dates: - validation: 2024-09-19 -category: managed-services -productIcon: IotProductIcon ---- - -## What is IoT Hub? - -IoT Hub is an IoT Platform as a service, it sits between connected devices and business-specific software. -Connected devices is the common name for all devices able to communicate over the internet (via Wi-Fi or 4G for instance). Connected devices are everywhere and can be used in a very broad range of applications. They can be smartphones, doorbells, light bulbs, refrigerators, cars, or TVs. Even a web browser can act as a connected device. - -[MQTT](https://mqtt.org/) is a lightweight and standardized publish/subscribe messaging transport protocol, designed for low-power usage, minimized data packets, and efficient distribution of information to one or many receivers. MQTT supports secure communication using TLS, and it is often used in IoT use cases. -All kinds of connected devices supporting the MQTT protocol can be connected to IoT Hub. MQTT through WebSockets is also supported. There is no limitation to specific vendors. -To learn more about what is a **Hub**, what is a **Device** and what is a **Route**, head over to our dedicated pages: - -* [Scaleway IoT Hub Overview](/iot-hub/quickstart/) -* [Hub](/iot-hub/reference-content/hubs/) -* [Device](/iot-hub/concepts/#device) -* [Route](/iot-hub/concepts/#routes) - -IoT Hub is only available at PAR1 (Paris, France) for the moment, other regions are planned. - -## What are the differences between the IoT Hub offers? - -There are two categories of IoT Hub offers: - -- **Stateful** provides full MQTT protocol support. -- **Stateless** provides a subset of MQTT protocol, generally speaking, the broker will not store any data on your behalf. This excludes the following MQTT messages: `Publish QoS 2`, `Subscribe QoS 1-2`, and `Retained messages`. `Persistent sessions` are also disabled. - -The following plans are currently available: - -- **Shared Plan (stateless)**: Devices are connected to a virtual broker that runs on a broker that is shared with other customers. Isolation is provided natively through the virtual broker mechanism. -- **Dedicated Plan (stateful)**: The broker is provided with dedicated CPU and memory resources, and you can use them as you wish. There is no limitation in the usage of the broker, everything is dedicated to you. -- **High Availability Plan (stateful)**: Two dedicated brokers, connected together, are provided to avoid service interruption if one of them fails. - -Each IoT Hub can be fully configured both from the management console, and a powerful [REST-API](https://www.scaleway.com/en/developers/api/iot/). - -## How secure is Scaleway IoT? -Scaleway IoT was designed with security in mind. Therefore, we implemented mutual authenticated TLS as the default authentication method. Each device needs its certificate+key pair to connect to the hub. -For devices not supporting secure connections, it is possible to also enable plaintext and server-only TLS authentication. - -## Can you detail what messages are? -MQTT is a Publish/Subscribe protocol (more info on the MQTT protocol here). -A message is the base unit for data transmission, it mainly contains: - -- a **topic**: the message information type identifier, such as fr/paris/weather. Devices that have subscribed to a topic will receive any message published to this topic. -- a **payload**: the actual data to be transmitted. Can be anything (temperature, image, notification, …) in any format (binary, xml, json, yaml, …) - -The Hub will provide an endpoint to connect the devices to and supports the following protocols: - -- `MQTTs`: `MQTT` over `TLS`, port `8883` -- `MQTT`: Plaintext `MQTT`, port `1883` -- `WSs-MQTT`: `MQTT` over Websocket over `TLS`, port `443` -- `WS-MQTT`: `MQTT` over Websocket, port `80`` - -The certificate authority for the TLS endpoints can be downloaded directly from the management console on your IoT Hub overview page. Note that TLS endpoints support both server-only and mutual authentication. - -## What is a Device ID and a Client ID? -A Device ID is a unique identifier for a device, in the format of a UUIDv4. It is used in calls to the IoT API to designate a specific device. -It must also be used as the MQTT Client Identifier field during connection. -If your software doesn't have a setting for Client ID, you can use the Device ID in the Username field instead. If no Device ID is found in the client ID field, but it is present in the Username field, the one used in the Username field will be used as the Client ID. - -## My software/library limits MQTT client ID to 23 characters, what should I do? -MQTT's specifications state The Server MUST allow ClientIds which are between 1 and 23 UTF-8 encoded bytes in length and The Server MAY allow ClientId's that contain more than 23 encoded bytes. Certain software/libraries restrict MQTT client ID field to 23 characters **maximum**. - -If you fall into this situation, you can type your Device ID in the MQTT Username field. If no valid Device ID is found in the MQTT client ID field, but one is found in the MQTT Username field, the one found in the Username field will be used as the client ID. - -## What is Deny/Allow insecure connection? - -Each Device has 2 different levels of security: - -- **Deny insecure connection**: in this mode, the only way for a Device to connect to a Hub is to use TLS with mutual authentication. -This is the strongest security setting, but it means the Device has to use a TLS certificate+key pair to connect and must know the Hub's certificate. -- **Allow insecure connection**: in this mode, a Device can connect using TLS with mutual authentication as before, but can also connect with TLS with server-side authentication only, and with no TLS at all. -This is the weakest security setting, but it is more flexible as the Device does not necessarily need to use certificates. - -## Why I do not receive any messages when subscribing to $SYS on "shared" Hubs? -When creating a “shared” Hub, your Devices connect to the same message broker as other customer's Devices. Getting a global view of the broker's activity (through `$SYS` topic subtree) is thus not relevant. - -On a dedicated or High-Availability Hub, you are the only customer on the message brokers, you can access this topic subtree. - -## How are messages billed? -Any MQTT message between the Hub and a Device will be billed. If the message is bigger than 4 kB, then each 4 kB chunk of the message will be counted billed as one message. For example, a 9 kB message will be billed as 3 messages. - -## What is the maximum message size? -The maximum size for a message is 4 MB. \ No newline at end of file diff --git a/faq/ipam.mdx b/faq/ipam.mdx deleted file mode 100644 index dc9f54b74f..0000000000 --- a/faq/ipam.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -meta: - title: IPAM - description: Discover Scaleway IPAM. -content: - h1: IPAM -dates: - validation: 2024-03-12 -category: network -productIcon: IpamProductIcon ---- - -## What is IPAM? - -**IP** **A**ddress **M**anager (IPAM) is Scaleway's tool for planning, tracking, and managing the IP address space of Scaleway products. It acts as a single source of truth for the IP addresses of Scaleway resources. Managed products, such as Databases and Load Balancer, are fully integrated into IPAM, and Private Networks' [DHCP server](/vpc/concepts/#dhcp) uses IPAM to assign private, static IP addresses to attached resources. - -## What can I do with IPAM? - -The public rollout of IPAM functionality is being carried out gradually. IPAM is now in General Availability, offering several different functionalities in the [Scaleway console](https://console.scaleway.com/ipam/), including viewing, tagging and filtering all your [private IP addresses](/ipam/concepts/#private-ip-address). You can also [reserve](/ipam/how-to/reserve-ip/) a private IP on one of your Private Networks and use it to attach a specified resource to the network. - -Management of public (flexible) IP addresses with IPAM is planned for the future. - -## Can I use a reserved private IP to attach any kind of managed resource to a Private Network? - -Currently, the Scaleway console only supports attachment with a reserved IP for Instances, Load Balancers, Public Gateways, and Elastic Metal servers. Support for Managed Databases will be coming soon. - -## Can I use a reserved private IP with a virtual machine hosted on my Elastic Metal server? - -Yes, this functionality is now available via the Scaleway console and API. See [how to reserve a private IP address with an attached MAC address](/ipam/how-to/reserve-ip/#how-to-reserve-a-private-ip-address-with-an-attached-mac-address). \ No newline at end of file diff --git a/faq/key-manager.mdx b/faq/key-manager.mdx deleted file mode 100644 index 2f07b96fa6..0000000000 --- a/faq/key-manager.mdx +++ /dev/null @@ -1,39 +0,0 @@ ---- -meta: - title: Key Manager FAQ - description: Explore Scaleway Key Manager with our comprehensive FAQ covering security, key types, and more. -content: - h1: Key Manager -dates: - validation: 2025-02-06 -category: identity-and-access-management -productIcon: KmsProductIcon ---- - -## Why should you use Scaleway Key Manager? - -Key Manager helps organizations achieve secure key management by handling low-level and error-prone cryptographic details for you. - -## What features does Scaleway Key Manager include? - -Scaleway Key Manager allows you to create, manage, and use cryptographic keys in a centralized and secure service. All your cryptographic operations can be delegated to Key Manager, which in turn ensures the security and availability of your keys. - -## Which management methods can I use with Key Manager? - -Read our [dedicated documentation](/key-manager/reference-content/understanding-key-manager/#management-methods-you-can-use-with-key-manager) to find out about the management methods Key Manager provides. - -## Which cryptographic operations does Key Manager support? - -Key Manager supports the three following cryptographic operations: - -- [Encryption](/key-manager/concepts/#encryption) -- [Decryption](/key-manager/concepts/#decryption) -- [Data encryption key](/key-manager/concepts/#data-encryption-key-dek) generation - -## Which algorithms and key usage does Key Manager support? - - - -Keys with a [key usage](/key-manager/concepts/#key-usage) set to `symmetric_encryption` are **used to encrypt and decrypt data**. - -Refer to our [dedicated documentation](/key-manager/reference-content/understanding-key-manager/) to find out more about Key Manager. diff --git a/faq/kubernetes.mdx b/faq/kubernetes.mdx deleted file mode 100644 index d487230db6..0000000000 --- a/faq/kubernetes.mdx +++ /dev/null @@ -1,96 +0,0 @@ ---- -meta: - title: Kubernetes FAQ - description: Discover Scaleway Kubernetes Kapsule and Kosmos - a managed Kubernetes service. -content: - h1: Kubernetes -dates: - validation: 2024-09-16 -category: containers -productIcon: KubernetesProductIcon ---- - -## Kubernetes basics - -### What is Kubernetes? - -Kubernetes is an open-source platform that enables developers to manage their containerized applications. -With Scaleway, you can choose between Kubernetes Kapsule and Kosmos, and profit from a managed environment for creating, configuring, and running clusters of pre-configured machines. - -### What is a managed Kubernetes service? - -In the context of Scaleway, a managed Kubernetes service refers to the Kapsule and Kosmos products, with Scaleway handling the management and maintenance of the Kubernetes control plane, along with all the crucial core components required for the proper operation of the Kubernetes cluster. -For more information, refer to the [managed Kubernetes service definition](/kubernetes/reference-content/managed-kubernetes-service-definition/). - -### What is the difference between Kubernetes Kapsule and Kosmos? - -The primary difference between them is that **Kapsule** clusters are composed solely of Scaleway Instances. -On the other hand, a **Kosmos** cluster is a managed multi-cloud Kubernetes engine that allows you to connect Instances and virtual or dedicated servers from any cloud provider to a single managed Control-Plane. -For more information, refer to our dedicated documentation [Understanding differences between the Kapsule and Kosmos managed Kubernetes services](/kubernetes/reference-content/understanding-differences-kapsule-kosmos/). - -## Billing and pricing - -### How much am I billed for one cluster? - -The price of the service will depend on the resources you allocate to your cluster, such as the number and type of nodes, the use of load balancers and persistent volumes. -Nodes are billed at the same price as the underlying Compute Instances. -The Kubernetes control plane is provided without additional costs. - -### How much am I billed if I have enabled the autoscaling feature? - -If you enable autoscaling, you will be able to define a minimum and a maximum number of machines that are available for your pool. -If the workload of your infrastructure is low, only the minimum number of machines will be running. If the load grows, additional machines are started automatically up to the maximum number of machines in the pool, to handle the workload on your application. In case of a decreased load, these additional machines will be stopped automatically. - -## Cluster configuration - -### Can I change the type of my cluster after creation (Kapsule to Kosmos, shared to dedicated, etc.)? - -The `SetClusterType` API call allows you to edit your cluster's control plane from shared to dedicated offers and inversely. Keep in mind, however, that certain conversions are not possible. -For example, moving your workloads from Kapsule to Kosmos or from Kosmos to Kapsule, is not possible. You will need to create a new cluster. Refer to the [API documentation](https://www.scaleway.com/en/developers/api/kubernetes/#path-clusters-change-the-cluster-type) for more information. - -### Can I choose the type of control plane for my cluster? - -Scaleway provides a range of mutualized or dedicated Kubernetes control planes for your cluster. During the creation of a Kubernetes Kapsule or Kubernetes Kosmos cluster, you can select the type of control plane that best fits the needs of your workload. -The pricing for the control plane depends on whether you choose a mutualized or dedicated environment, and further varies based on the specific dedicated resources you select. All dedicated control plane environments come with hourly billing and with a minimum commitment period of 30 calendar days. - -### Can I change the offer of my cluster's control plane? - -You can change the type of your cluster's control plane during its lifetime to a larger or smaller one to suit its workloads. However, keep in mind that control plane migration is tied to some conditions: -* Dedicated control plane environments come with a commitment to keep the environment for at least 30 calendar days. -* Upgrading to any higher tier restarts the 30 days of commitment. -* Downgrading a cluster's control plane is not possible during an active commitment period. -* No commitment extensions are applied for downgrades after the commitment period. Once the commitment period is completed, migrating to a lower tier is possible from the console. - - Migrating to a lower tier impacts several key features: the RAM resources allocated to your control plane are reduced, the maximum number of nodes is throttled, and in the case of a mutualized control plane, the SLA is revoked. - - -### Why do I have to keep my dedicated control plane for at least 30 calendar days? - -The control plane in Kubernetes serves as the central command hub that coordinates various activities within the cluster. It includes vital components like the API server, etcd, scheduler, and controller manager, responsible for essential tasks such as resource allocation, scheduling, health monitoring, and scalability. Frequent modification of the control plane configuration can lead to unintended consequences, compatibility issues, and potential service disruptions, adversely affecting the overall reliability of the cluster. -By opting for a dedicated environment, you commit to maintaining the dedicated control plane for a minimum period of 30 consecutive days to ensure stability and reliability of your cluster. - -## Technical questions - -### How can I have data persistence on my cluster? - -Kapsule is a managed Kubernetes engine. By definition, the nodes of your clusters can be deleted, replaced, or restarted if the applications running on it require it or if a node suddenly stops responding. It means that Kubernetes clusters' nodes are to be considered stateless. -If you require a stateful application, you can use [Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/). -The storageClass for Scaleway Block Storage volumes is set by default, so it does not need to be specified. -For more information, refer to the Kubernetes Kapsule product documentation on [GitHub](https://github.com/scaleway/scaleway-csi/tree/master/examples/kubernetes). - -### What can I do if my system volume is running out of space? - -To ensure sufficient space for storing default system files and configurations, we recommend a system volume disk capacity of at least 20 GB. While this amount is generally sufficient for small workloads, it is advisable to have a capacity of 100 GB to comfortably store images and system logs in many cases. -If you run out of space on your immutable system volume disk, you can create another pool and use the **Advanced Options** button to set your desired system volume type and size. -Depending on the type of node selected for your pool, one or two types of volume are available: -* **Local Storage**: Your system is stored locally on the hypervisor of your node. -* **Block Storage**: A remote storage option where your system is stored on a centralized and resilient cluster. - -### What is the service 'kapsule-agent' running on my nodes? - -`kapsule-agent` is a software developed internally at Scaleway. It is used to assist in managing nodes lifecycles. Its primary function is to set up the network during the initial boot, and toggle the SSH server on or off based on a k8s label of each node. - -### How do I connect to my nodes using SSH? - -By default, an SSH server is installed and configured on the nodes of your Kubernetes Kapsule cluster. To ensure the correct behavior of your cluster, it is not recommended to perform actions directly on the nodes. SSH access is provided for debugging only and all actions and configurations should be done using Kubernetes (from the Scaleway console, `kubectl` command, or Scaleway Kapsule `APIs`). -To improve the security of your Kapsule cluster, you can disable this SSH server on your nodes by following the documentation on [how to enable or disable SSH on Kubernetes Kapsule nodes](/kubernetes/how-to/enable-disable-ssh/). \ No newline at end of file diff --git a/faq/loadbalancer.mdx b/faq/loadbalancer.mdx deleted file mode 100644 index 084cb38e57..0000000000 --- a/faq/loadbalancer.mdx +++ /dev/null @@ -1,81 +0,0 @@ ---- -meta: - title: Load Balancer FAQ - description: Discover Scaleway Load Balancer and find the answers to all your questions about flexible IP addresses, IPv6, multi-cloud offers and more. -content: - h1: Load Balancer -dates: - validation: 2024-09-25 -category: network -productIcon: LbProductIcon ---- - -## What is a Load Balancer? - -Load Balancers are highly available and fully managed Instances, configured to distribute workload across a set of backend servers. They ensure the scaling of applications while securing their continuous availability. Load Balancers are therefore commonly used to improve the performance and reliability of websites, applications, databases, and other services. -Scaleway Load Balancer monitors the availability of your backend servers via health checks. If it detects that a server is down, it rebalances the load between the rest of the servers, making your applications highly available for users. - -A Load Balancer can be used as frontend for any Instance type, even if it is not a Scaleway resource, thanks to the [multi-cloud feature](/faq/loadbalancer/#what-is-the-difference-between-multi-cloud-and-non-multi-cloud-offers). - -## Can I use Load Balancers with other products? - -Yes: Check out our documentation on: -- [Using a Load Balancer to expose a Kubernetes Kapsule](/kubernetes/reference-content/kubernetes-load-balancer/). -- [Setting up caching for your Load Balancer via Edge Services](/edge-services/quickstart/) - -## What is a flexible IP address? - -By default, each [public](/load-balancer/concepts/#accessibility) Load Balancer is created automatically with a flexible IPv4 address. This is a public IP that can be held in your account even after you delete your Load Balancer. You can optionally also add an IPv6 address. - -Your frontend listens to your Load Balancer's public flexible IP address. In case of a failure of the Load Balancer, a replica Load Balancer is immediately spawned and deployed, and the IP address is automatically rerouted to this replica. This is done automatically, by the Load Balancer control subsystems. - -When you delete a Load Balancer, you can choose to keep its flexible IP(s) in your account, to reuse later with a new Load Balancer. These flexible IPs are not compatible with other Scaleway products (e.g. Instances, Elastic Metal servers, Public Gateways): each resource has its own set of flexible IPs. - -## Can I have more than one flexible IP address for a Load Balancer? - -Each Load Balancer can have one public IPv4 address and one public IPv6 address. Currently, it is not possible to assign more than one of each type of IP to a given Load Balancer. - -## Do Load Balancers support external IPv6 connections? - -Yes, Load Balancer supports both IPv4 and IPv6 addresses at the frontend. IPv6 can also be used to communicate between the Load Balancer and your backend servers. - -## Is there a failover system for Load Balancers? - -Yes. If your Load Balancer fails, a deployment script automatically executes, spawning and deploying a replica Load Balancer Instance. Your Load Balancer's flexible IP address is automatically rerouted to this replica Instance. -If you want to know more about the failover system, read [our article about strengthening our Load Balancer failover mechanism](https://www.scaleway.com/en/blog/strengthening-our-load-balancer-failover-mechanism/). - -## Do backend servers require a public IP address? - -No, this is not necessary. Your Load Balancer can reach your backend servers via their private IP addresses on a Private Network, as long as the Load Balancer and servers are all in the same region. - -## What is the difference between multi-cloud and non multi-cloud offers? - -Multi-cloud means that you can backend servers that are neither Instances, nor Elastic Metal servers, nor Dedibox dedicated servers. These can be services from other cloud platforms such as Amazon Web Services, Digital Ocean, Google Cloud, Microsoft Azure or OVH, but also on-premises servers hosted in a third-party data center. - -Unlike the multi-cloud offers, non-multi-cloud offers allow you to add only backend servers part of the Scaleway ecosystems which include Instances, Elastic Metal servers, and Dedibox dedicated servers. - -To take advantage of multi-cloud, you must choose a compatible Load Balancer offer type when creating your Load Balancer, or [resize](/load-balancer/how-to/resize-lb/) to such an offer afterwards. - -## What are the communication protocols currently supported? - -All protocols based on `TCP` are supported. This includes `database`, `HTTP`, `LDAP`, `IMAP` and so on. You can also specify `HTTP` to benefit from support and features that are exclusive to this protocol. - -## Is it possible to add security to restrict access to a URL or port on the Load Balancer? - -Yes, you can restrict the use of a `TCP` port or `HTTP` URL using ACLs. Find more information in our [ACL documentation](/load-balancer/how-to/create-manage-acls/). - -## What is a route? - -Once you have created one or more Load Balancers, you can create routes. Routes indicate how to direct incoming connections to certain backends based on various parameters such as IP addresses, path, host, etc. You can choose the frontend to which the rule should apply, and the backend it should direct to. Routes can be based on **Server Name Indication** (SNI) for TCP Load Balancers, or the **HTTP Host header** for HTTP Load Balancers. Check out our [dedicated documentation](/load-balancer/how-to/create-manage-routes/) for more information. - -## Can I add multiple backends to a frontend? - -Yes, this is possible using routes. When you create a frontend, you must select a "default" backend, to which it forwards traffic when the request doesn't match any configured route. But via the **routes** tab for your frontend in the Scaleway console, you can create routes to different backends from the same frontend. Routes are currently supported based on the value of the `Host` header of incoming HTTP requests for HTTP backends, or on SNI for TCP backends. - -## What is a health check? - -A health check is one of the core concepts for a well-functioning Load Balancer. It is a predefined request which periodically checks whether the server is in a healthy state or an unhealthy state. Only servers that respond correctly to the health check receive client requests. When the Load Balancer determines that an Instance is unhealthy, it stops routing requests to that Instance. Currently, our Load Balancer supports `TCP` and `TCP-based` health checks such as `HTTP(S)`, `LDAP`, `REDIS`, etc. [Find out more about health checks](/load-balancer/reference-content/configuring-health-checks/). - -## Can I set up a caching service for my load balanced application? - -Yes, this is possible with Scaleway's [Edge Services](/edge-services/) product, currently in Public Beta. By creating an Edge Services pipeline for your Load Balancer, you can access Edge Services caching service reduce load on your origin. \ No newline at end of file diff --git a/faq/managed-inference.mdx b/faq/managed-inference.mdx deleted file mode 100644 index 03594e72ba..0000000000 --- a/faq/managed-inference.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- - -meta: - title: Managed Inference FAQ - description: Get answers to the most frequently asked questions about Scaleway Managed Inference. -content: - h1: Managed Inference -dates: - validation: 2025-02-12 -category: ai-data -productIcon: InferenceProductIcon ---- - -## What is Scaleway Managed Inference? -Scaleway's Managed Inference is a fully managed service that allows you to deploy, run, and scale AI models in a dedicated environment. -It provides optimized infrastructure, customizable deployment options, and secure access controls to meet the needs of enterprises and developers looking for high-performance inference solutions. - -## Where are the inference servers located? -All models are currently hosted in a secure data center located in Paris, France, operated by [OPCORE](https://www.opcore.com/). This ensures low latency for European users and compliance with European data privacy regulations. - -## What is the difference between Managed Inference and Generative APIs? -- **Managed Inference**: Allows deployment of curated or custom models with chosen quantization and instances, offering predictable throughput and enhanced security features like private network isolation and access control. Managed Inference is billed by hourly usage, whether provisioned capacity is receiving traffic or not. -- **Generative APIs**: A serverless service providing access to pre-configured AI models via API, billed per token usage. - -## Where can I find information regarding the data, privacy, and security policies applied to Scaleway's AI services? -You can find detailed information regarding the policies applied to Scaleway's AI services in our [Data, privacy, and security for Scaleway's AI services](/managed-inference/reference-content/data-privacy-security-scaleway-ai-services/) documentation. - -## Is Managed Inference compatible with Open AI APIs? -Managed Inference aims to achieve seamless compatibility with OpenAI APIs. Find detailed information in the [Scaleway Managed Inference as drop-in replacement for the OpenAI APIs](/managed-inference/reference-content/openai-compatibility/) documentation. - -## What are the SLAs applicable to Managed Inference? -We are currently working on defining our SLAs for Managed Inference. We will provide more information on this topic soon. - -## What are the performance guarantees (vs. Generative APIs)? -Managed Inference provides dedicated resources, ensuring predictable performance and lower latency compared to Generative APIs, which are a shared, serverless offering optimized for infrequent traffic with moderate peak loads. Managed Inference is ideal for workloads that require consistent response times, high availability, custom hardware configurations or generate extreme peak loads during a narrow period of time. -Compared to Generative APIs, no usage quota is applied to the number of tokens per second generated, since the output is limited by the GPU Instances size and number of your Managed Inference Deployment. - -## How can I monitor performance? -Managed Inference metrics and logs are available in [Scaleway Cockpit](https://console.scaleway.com/cockpit/overview). You can follow your deployment metrics in realtime, such as tokens throughput, requests latency, GPU power usage and GPU VRAM usage. - -## What types of models can I deploy with Managed Inference? -You can deploy a variety of models, including: -* Large language models (LLMs) -* Image processing models -* Audio recognition models -* Custom AI models (through API only yet) -Managed Inference supports both open-source models and your own uploaded proprietary models. - -## How do I deploy a model using Managed Inference? -Deployment is done through Scaleway's [console](https://console.scaleway.com/inference/deployments) or [API](https://www.scaleway.com/en/developers/api/inference/). You can choose a model from Scaleway’s selection or import your own directly from Hugging Face's repositories, configure [Instance types](/gpu/reference-content/choosing-gpu-instance-type/), set up networking options, and start inference with minimal setup. - -## Can I fine-tune or retrain my models within Managed Inference? -Managed Inference is primarily designed for deploying and running inference workloads. If you need to fine-tune or retrain models, you may need to use a separate training environment, such as [Scaleway’s GPU Instances](/gpu/quickstart/), and then deploy the trained model in Managed Inference. - -## What Instance types are available for inference? -Managed Inference offers different Instance types optimized for various workloads from Scaleway's [GPU Instances](/gpu/reference-content/choosing-gpu-instance-type/) range. -You can select the Instance type based on your model’s computational needs and compatibility. - -## How is Managed Inference billed? -Billing is based on the Instance type and usage duration. Unlike [Generative APIs](/generative-apis/quickstart/), which are billed per token, Managed Inference provides predictable costs based on the allocated infrastructure. -Pricing details can be found on the [Scaleway pricing page](https://www.scaleway.com/en/pricing/model-as-a-service/#managed-inference). - -## Can I run inference on private models? -Yes, Managed Inference allows you to deploy private models with access control settings. You can restrict access to specific users, teams, or networks. - -## Does Managed Inference support model quantization? -Yes, Scaleway Managed Inference supports model [quantization](/managed-inference/concepts/#quantization) to optimize performance and reduce inference latency. You can select different quantization options depending on your accuracy and efficiency requirements. - -## Is Managed Inference suitable for real-time applications? -Yes, Managed Inference is designed for low-latency, high-throughput applications, making it suitable for real-time use cases such as chatbots, recommendation systems, fraud detection, and live video processing. - -## Can I use Managed Inference with other Scaleway services? -Absolutely. Managed Inference integrates seamlessly with other Scaleway services, such as [Object Storage](/object-storage/quickstart/) for model hosting, [Kubernetes](/kubernetes/quickstart/) for containerized applications, and [Scaleway IAM](/iam/quickstart/) for access management. - -## Do model licenses apply when using Managed Inference? -Yes, model licenses need to be complied with when using Managed Inference. Applicable licenses are available for [each model in our documentation](/managed-inference/reference-content/). -- For models provided in the Scaleway catalog, you need to accept licenses (including potential EULA) before creating any Managed Inference deployment. -- For custom models you choose to import on Scaleway, you are responsible for complying with model licenses (as with any software you choose to install on a GPU Instance for example). diff --git a/faq/messaging-and-queuing.mdx b/faq/messaging-and-queuing.mdx deleted file mode 100644 index ac227136be..0000000000 --- a/faq/messaging-and-queuing.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -meta: - title: NATS, Queues, and Topics and Events FAQ - description: Discover Scaleway NATS, Queues, and Topics and Events, and get answers to common questions about the different protocols available, compatibility with various services, and billing. -content: - h1: Messaging and Queuing -dates: - validation: 2024-12-04 -category: serverless -productIcon: NatsProductIcon ---- - -## What is NATS, Queues, and Topics and Events? - -These are three distinct managed message broker tools offered by Scaleway, based on the NATS, SQS and SNS protocols respectively. Previously, these products were grouped together as 'Messaging and Queuing', but have now become three separate products in their own right. - -## What are NATS, SNS and SQS? - -NATS, SNS and SQS are all messaging protocols used by the Scaleway NATS, Queues, and Topics and Events products. You can find out more about these protocols, and other essential concepts, on our dedicated [concepts page](/messaging/concepts/). - -## Is the Scaleway Queues gateway compatible with my application, framework or tool? - -We currently implement the API endpoints listed [here](/messaging/reference-content/sqs-support/), which makes Scaleway Queues compatible with the AWS SDK as well as many other tools and frameworks including KEDA and Symfony. Note that you need to specify both Regions and URL to ensure compatibility. - -## Does Scaleway Topics and Events support all SNS features? - -The following subscriber types are supported: -- HTTP/S clients -- Serverless Functions and Containers -- Scaleway Queues queues - -For more details on supported and unsupported Topics and Events features, see our [dedicated page](/messaging/reference-content/sns-support/). - -## Can I configure Scaleway NATS via Terraform/OpenTofu? - -Yes, check out our [tutorial](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider) on how to configure Scaleway NATS with the Terraform/OpenTofu [NATS Jetstream provider](https://registry.terraform.io/providers/nats-io/jetstream/latest/docs). - -## How are NATS, Queues, and Topics and Events billed? - -Billing is based on: - -- For NATS: [Stream volume](/messaging/concepts/#stream-volume) (the total sum of each message's size going through the stream) and [stream persistence](/messaging/concepts/#stream-persistence) (the total amount of data stored * duration) -- For Queues: [Queue volume](/messaging/concepts/#queue-volume) (the total sum of each message's size going through the queue) -- For Topics and Events : [Topic Volume](/messaging/concepts/#queue-volume)(the total sum of each message's size going out from the topic to the subscriptions) - -For full pricing details, see our [dedicated pricing page](https://www.scaleway.com/en/pricing/). \ No newline at end of file diff --git a/faq/objectstorage.mdx b/faq/objectstorage.mdx deleted file mode 100644 index 111cecaff8..0000000000 --- a/faq/objectstorage.mdx +++ /dev/null @@ -1,286 +0,0 @@ ---- -meta: - title: Object Storage FAQ - description: Discover Scaleway Object Storage. -content: - h1: Object Storage -tags: storage cdn object-storage -dates: - validation: 2024-09-23 -category: storage -productIcon: ObjectStorageProductIcon ---- - -## What is Object Storage? - -Object Storage is a service based on the Amazon S3 protocol. It allows you to store any kind of object (documents, images, videos, etc.). - -Scaleway provides an integrated UI in the [console](https://console.scaleway.com) for convenience. As browsing infinite storage through the web requires some technical trade-offs, some actions are limited in the console for Object Storage: - -- batch deletion is limited to 1000 objects. -- empty files are not reported as empty folders. - -We provide an Amazon S3-compatible API for programmatic access or usage with any compatible software. Therefore, we recommend using dedicated tools such as `s3cmd` to manage large data sets. - -## How am I billed for Object Storage? - -| Type of consumption | Price | -|:-----------------------:|:--------------------------------------:| -| Standard (Multi-AZ) | €0.00002/GB/hour ~€0.0146/GB/month | -| One Zone - IA | €0,0000165/GB/hour ~€0.012/GB/month | -| Requests | Included | -| Ingress | Included | -| Bucket websites feature | Free | -| Egress fees* | 75 GB free every month, then €0.01/GB | - -\* Egress fees include external outgoing data transfer and inter-region data transfers (PAR\<->AMS / PAR\<->WAW / AMS \<-> WAW). Intra-regional data transfers are free of charge. - -Refer to our [Cold Storage FAQ](/faq/objectstorage/#cold-storage) for more information on Scaleway Glacier billing. - - - Chia farming on Scaleway Object Storage that occurs without prior authorization will be billed at €0.08 per GB. [Read our blog post to learn more](https://www.scaleway.com/en/blog/scaleway-and-chia/). - - -## How can I benefit from the Object Storage free trial? - -As a new user, you benefit from 750 GB of free [Multi-AZ class storage](/object-storage/concepts/#storage-class) for buckets in your Organization, across all [regions](/object-storage/concepts/#region-and-availability-zone), for 90 days. - -If you exceed 750 GB of Multi-AZ storage during the free trial period, you will only be billed for the excess data. - -You can activate your free trial period from the Object Storage section of the [Scaleway console](https://console.scaleway.com). Once it is activated, **you cannot deactivate it** to resume it at a later time. - -At the end of the 90-day trial period, you will be billed for regular Object Storage pricing. - - -To be eligible for this offer, you must have never used the Standard Multi-AZ class before November, 30th 2023, 23:59:59. - - -## How can I monitor my Object Storage consumption? - -You can monitor your Object Storage metrics and logs using [Scaleway Cockpit](/cockpit/quickstart/). Cockpit is available in all [regions](/object-storage/concepts/#region-and-availability-zone) for Object Storage. Refer to our dedicated [documentation](/object-storage/how-to/monitor-consumption/) for more information. - -## Is there a limitation in the bucket name? - -Bucket names must be unique and comply with the following: - -- Must not contain uppercase characters or underscores. -- Must not be formatted as an IP address. -- Can contain lowercase letters, numbers, and hyphens. -- Can contain a set of the 63 alphabetic characters, a to z, and the 10 Arabic numerals, 0 to 9. - -For buckets with a name containing a dot (.), users must use the canonical path. The subdomain form, for instance, `https://my.bucket.s3.nl-ams.scw.cloud` will not work as the SSL certificate `*.s3.nl-ams.scw.cloud` is not recursive. - -In addition, when using buckets with Secure Sockets Layer (SSL), the SSL wildcard certificate only matches buckets that do not contain periods. Therefore, avoid using bucket names with multiple dots, as it will have an impact on accessing your bucket via HTTPS. Use **dashes** in your bucket names instead. - -Bucket names are unique in our whole platform. This means **if a bucket exists already in one region, the name cannot be reused in another**. -The `“Bucket already exists”` error message is triggered when the name you intended to use for your bucket is already reserved by another user (or yourself). - - - When deleting a bucket, its name becomes available again. Anybody can reuse it on a first-come, first-served principle. - - -## Can I use Object Storage as a CDN? - -The Object Storage product delivers content for your applications and users from a single point in the region of your choice. -Our platform is designed to deliver very high performance, up to 100 Gbit/sec per bucket per region without performance loss. - -If you want to deliver your content to several geographic locations with minimal latency, you can use Scaleway's [Edge Services](/object-storage/how-to/get-started-edge-services/) directly from your bucket. - -## Can I access my files via HTTPS? - -Yes, you can access your files via HTTPS by creating a public link from the Scaleway console. Follow the [How to access my files via HTTPS](/object-storage/how-to/access-objects-via-https/) documentation to do so. - -## Can I change HTTP headers during upload? - -Yes, you can change HTTP headers with tools such as `s3cmd`, but only `Cache-control` or headers prefixed by `x-amz-meta`. - -To replace metadata using the `AWS CLI`, you can use the command below: -``` -aws s3 cp s3://BUCKET/ s3://BUCKET/ --recursive --acl public-read --metadata-directive REPLACE --cache-control public,max-age=31536000 -``` - -## Can I make an object public? - -Yes. All objects are private by default, but you can change their visibility to public any time. Follow the [How to manage object visibility](/object-storage/how-to/manage-object-visibility/) documentation to do so. - -## How can I upload large objects? - -Object Storage supports multipart upload. We recommend uploading by chunks, with a limit of 1000 chunks. - -The following technical specifications apply to multipart uploads: - -- 1 to 1000 parts per object -- 5 MB to 5 GB per part (except for the last one) -- Each object stores up to 5 TB - -For more information, refer to the [documentation](/object-storage/api-cli/multipart-uploads/). - -## Does my bucket remain available after deletion? - -If your bucket has been deleted from the Scaleway console, our teams may, as a last option, be able to retrieve its data the same day it is deleted (excluding weekends). -Nevertheless, this measure applies on a case-by-case basis and is not guaranteed. Contact Scaleway's support team if you need to recover data from a deleted bucket within this time frame. - -If your bucket has been deleted via the API, it is deleted instantly. - -## Does Object Storage provide read-after-write consistency? - -Yes. Scaleway Object Storage provides `read-after-write` consistency for `PUT` and `DELETE` requests of objects in buckets in all regions. This applies to writes of new objects as well as requests overwriting existing objects and to DELETEs. - -`Read-after-write` consistency guarantees that changes are immediately visible (reading data) right after making those changes (writing data), meaning that a newly-created object will be visible immediately, without any delay. -Scaleway Object Storage stores data across multiple storage systems to achieve high availability. Any read (`GET` or `LIST`) request initiated after a successful `PUT` request will immediately return the data written by the `PUT` request. - -Examples: -- You upload a new object into your bucket and request a listing of the objects in it: The new object will be visible in the list. -- You delete an existing object in your bucket and try to immediately read it. Object Storage will not return any data as the object has been deleted. - -## Will closing my web browser after requesting to delete a bucket stop the deletion process? - -No. After you click the button to delete a bucket in the Scaleway console, the request is processed in our backend, and does not depend on your web browser. For more information on how to delete a bucket, refer to the [dedicated documentation](/object-storage/how-to/delete-a-bucket/). - -## Can I create a bucket with the same name as a previously deleted one? - -Yes. If you have deleted a bucket via the Scaleway console, you can create a new one with the same name after a delay of 24 hours. - -## Is there a quota limit for Object Storage? - -Each Scaleway Project can use up to 250 TB of Object Storage resources. If you wish to increase your Object Storage quota, [contact Scaleway's support team](https://console.scaleway.com/support). - -### Object Storage classes - -## What are the Object Storage classes offered by Scaleway? - -Scaleway offers three storage classes: - -- `Standard (Multi-AZ)`: your data is secured by distributing it across three different [Availability Zones (AZ)](/object-storage/concepts/#region-and-availability-zone). In the event of a complete data center failure in an AZ, we are still able to rebuild your data and make it accessible. This is the system we call Multi-AZ (one data center per AZ, three AZs per region). The Standard class is available in [all regions](/object-storage/concepts/#region-and-availability-zone). - -- `One Zone - Infrequent Access`: your data is stored across three different racks in a single [Availability Zone (AZ)](/object-storage/concepts/#region-and-availability-zone). This storage class is best suited for secondary backups and recreatable data. The One Zone - IA class is available in [all regions](/object-storage/concepts/#region-and-availability-zone). - -- `Glacier`: your data is archived and must be restored before being used. The Glacier storage class is only available in `fr-par` and `nl-ams` [regions](/object-storage/concepts/#region-and-availability-zone). Refer to our [Cold storage FAQ](/faq/objectstorage/#cold-storage) for more information. - -## What happens when Multi-AZ is launched in a region? - -When Multi-AZ is launched in a region, all existing objects are converted to the One Zone - IA class, which is equivalent to the old `Standard` class. - -New objects created after the Multi-AZ launch can have the `Standard (Multi-AZ)`, `One Zone - IA`, or the `Glacier` class assigned. - -## Will these new storage classes affect how I use my buckets? - -No, any objects you upload into your buckets are added as Standard class objects by default, just as before. If you want to transfer your objects to One Zone - IA or Glacier you can do so manually or set up [lifecycle rules](/object-storage/api-cli/lifecycle-rules-api/). - -## I do not want to use the new Standard (Multi-AZ) class. Can I still use the old class? - -No, you cannot use the old `Standard` class. You must use the [One Zone - IA class](/object-storage/concepts/#storage-class), which has the same behavior as the old Standard class. - -## Can I create a lifecycle rule to restore objects from Glacier class to One Zone - IA? - -No, because restoring an object can only be done from Glacier to Standard class. Transition lifecycle rules can only be configured in the "top-down" direction. - -This means that you can transfer objects from Standard class to One Zone - IA and Glacier, but not from the last two to Standard. You can transfer objects from One Zone - IA to Glacier, but not restore objects from Glacier to One Zone - IA. The same applies when you make server-side copies. - - - -## Do the new storage classes impact Scaleway Glacier? - -No, the rules for using Glacier class remain the same and your data is still hosted in DC4. Refer to our [Cold storage FAQ](/faq/objectstorage/#cold-storage) for more information on Scaleway Glacier. - -## Can I migrate my existing data to the new Multi-AZ Standard class? - -Yes, you simply need to [edit the storage class](/object-storage/how-to/edit-storage-class/) of your objects. - -### Cold storage - -## What is the cold storage Glacier class? - -The cold storage `Glacier` class of Object Storage gets its name in opposition to “hot data”. Hot data is the type that is frequently accessed. Cold storage is accessed less frequently and does not require fast access like hot data. - -## How am I billed for Glacier cold storage? - - - Starting from November 6th 2023, restore operations from Glacier are billed at €0.009/GB. Restore operations started before this date will not be billed. - - -Scaleway Glacier is billed based on two parameters: - -- Data storage: €0.00000348/GB/hour (approx. €0.002/GB/month) -- Restore to Standard class: €0.009/GB - -Transferring objects from `Standard` or `One Zone - IA` to `Glacier` is free. - -## When should I use Glacier class instead of Standard class? - -Scaleway Glacier is engineered for use cases that can be described as “deep archiving”. It is a durable Object Storage class designed for data archiving, for example, legal documents or long-term backups that do not require immediate access. - - - We recommend you use Glacier to store average-sized files (larger than 1 MB), as opposed to several small files. - - -Standard class is ideal for storing frequently accessed data and files, such as static assets, on-demand content such as streaming, Content Delivery Networks (CDN) or work related documents. - -## I have started the restoration of an object, why is it not available instantaneously? - -An object stored in Glacier class is listed but cannot be downloaded instantly. It needs to be restored to Standard class first. -We recommend that you use Glacier to archive data that you may need only once or twice within a decade. - - - The time it takes to restore an object depends on the size of the object and if [multipart](/object-storage/concepts/#multipart-uploads) is configured. It can take anywhere from a few minutes to 24 hours for restore to start (for objects larger than 1 MB). - Unfortunately, we are unable to provide estimates of how long data retrieval takes for each use case. - - To facilitate restoration and ensure the fast restitution of your data, we recommend you use average-sized files (larger than 1 MB). - - -Find out [how to restore an object from Glacier](/object-storage/how-to/restore-an-object-from-glacier/) on our dedicated page. - -## Can I upload an object directly to Glacier? - -Yes, you can select the storage class (`Standard`, `One Zone IA`, or `GLACIER`) when uploading objects using the Scaleway console. It is also possible to do so using the API. For more information, refer to our [dedicated documentation](/object-storage/how-to/edit-storage-class/). - -## Why are Glacier objects stored in Paris DC4? Is it accessible from buckets in all locations? - -Our Paris underground databunker (DC4) provides an increased layer of security by being 25 meters deep below the surface in a bunker where the Glacier storage class cluster is available. -This storage cluster is available from any bucket in Paris and Amsterdam and all objects can change the storage class to Glacier. - - - It is not yet possible to transfer files to Glacier in Warsaw, Poland. - - -## When are lifecycle management rules applied? - -The expiration & transition rules are implemented every day at midnight UTC, but the actual action might take between one minute and twenty-four hours* after implementation. - -For example, a user wants to configure a lifecycle rule that moves an object after two days to Glacier: - -- lifecycle rules are checked every day at midnight. -- the user uploaded a file on April 6th, at 2:00 pm UTC. -- the rule is triggered on April 8th, at 11:59 pm UTC. -- the application of the rule can take up to 24 hours -⇒ the object will be transferred to Glacier no later than 11:59 pm UTC on April 9th. - - - When a lifecycle rule is set for a very large amount of objects (several hundreds of thousands) simultaneously, the rule can take longer to be applied. - - -## How do I encrypt my data? - -For increased security, we recommend you encrypt your data before sending it to Scaleway Glacier. -Encryption should be done on the client side to guarantee that there is no evidence of your private key stored on the cluster. -Data can be encrypted using third-party solutions, like [GPG](https://gnupg.org/). It is possible to automate your backups, and encrypt them using a solution like [Duplicity](https://wiki.debian.org/Duplicity) or [Rclone crypt](https://rclone.org/crypt/). - -## Can I manage my storage and archiving constraints related to the GDPR with Scaleway Glacier? - -The GDPR requires that the life span of data be defined in two distinct cases: - -- the deletion of data after a certain period of time -- the archiving of data that must legally be kept - -Lifecycle management features meet both of these requirements by allowing you to set a timeframe beyond which your data is archived or deleted. - -## What is the maximum data volume and object size supported by Scaleway Glacier? - -There is no maximum data size, Glacier accepts an unlimited number of objects up to 5 TB each. -Large objects can be uploaded using [multipart uploads](/object-storage/api-cli/multipart-uploads/). - -## Can I change the storage class of an entire bucket from Standard to Glacier? - -Yes, a best practice is to create a [lifecycle rule](/object-storage/how-to/manage-lifecycle-rules/) targeting all objects in the bucket, or using a filter with an empty prefix. -In this case, all files contained within the selected bucket will have their storage class altered automatically on the dates stipulated by you. -However, due to some restrictions on Amazon's S3 protocol, a lifecycle rule cannot be created to modify the storage class from Glacier to Standard. \ No newline at end of file diff --git a/faq/private-networks.mdx b/faq/private-networks.mdx deleted file mode 100644 index f5f7687375..0000000000 --- a/faq/private-networks.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -meta: - title: Private Networks FAQ - description: Discover Scaleway Private Networks, and find answers to all your questions about attaching resources, how IP addressing works, and other configuration details. -content: - h1: Private Networks -dates: - validation: 2024-09-25 -category: network -productIcon: PrivateNetworkProductIcon ---- - -## What are Private Networks? - -Private Networks are a managed cloud service allowing you to create layer 2 ethernet-switched domains. - -These domains can also be called virtual LAN (VLAN). They are virtual but completely private local networks that securely connect your Scaleway resources without necessarily exposing them publicly. Scaleway resources including Instances, Elastic Metal servers, Load Balancers, and Databases are all compatible with Private Networks. - -## What's the difference between Private Networks and VPC? - -Scaleway VPC offers layer 3 network isolation, while layer 2 Private Networks are created inside a given VPC. See the VPC FAQ for [more information](/faq/vpc/). - -## Can I connect multiple Private Networks to the same Scaleway resource? - -Yes, you can configure multiple Private Networks on the same Scaleway resource. For example, you can connect up to 8 Private Networks to the same Instance. A virtual network interface is created for each Private Network the Instance is attached to. For Elastic Metal, some additional configuration is required: check out our documentation on [configuring the network interface](/elastic-metal/how-to/use-private-networks/#how-to-configure-the-network-interface-on-your-elastic-metal-server-for-private-networks). - -You can configure: -- Up to 8 Private Networks per Scaleway resource -- Up to 255 Private Networks per Organization -- Up to 512 Scaleway resources per Private Network - -## Do I have to restart a Scaleway resource after adding Private Networks? - -No, Private Network interfaces will appear on your resources without any reboot. - -## Does Private Network support IPv6? - -Yes, when you create a Private Network both an IPv4 and an IPv6 CIDR block are defined. The IPv6 CIDR block is defined automatically and "invisibly" by default at the time of creating the Private Network. It cannot be modified either at the time of creation, or afterward. - -It is a `/64 block`, guaranteed to be unique within the VPC and not overlapping with any of your other Private Networks. Resources that support private IPv6 addressing, e.g. Instances, can then acquire an IPv6 address when they join the Private Network. - -## Do resources in a Private Network require a public IPv4 address? - -No, they do not require a public IPv4 address. - -## Can resources in a Private Network access the internet without a public IPv4 address? - -Yes. You can attach a [Public Gateway](/public-gateways/how-to/create-a-public-gateway/) to your Private Network to provide internet access to your Instances, Elastic Metal servers, and other attached Scaleway resources. - -## Do non-IP protocols work over Private Networks? - -Technically, any ethernet payload should work over Private Networks. However, only IPv4 and IPv6 are officially supported. If you have real use cases for other protocols, let us know by reaching us on the [Scaleway Community Slack](https://scaleway-community.slack.com/). - -## Do Private Networks support IP autoconfiguration? - -Yes, DHCP is an inbuilt function of Private Networks and provides IP autoconfiguration for your attached resources. Alternatively, you can use Scaleway IPAM to [reserve specific IP addresses](/ipam/how-to/reserve-ip/) on a Private Network and use these to attach resources. \ No newline at end of file diff --git a/faq/public-gateways.mdx b/faq/public-gateways.mdx deleted file mode 100644 index d426af6ecc..0000000000 --- a/faq/public-gateways.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -meta: - title: Public Gateways FAQ - description: Discover Scaleway Public Gateways and get answers to all your questions about IP addressing, bandwidth, regionalization and more. -content: - h1: Public Gateways -dates: - validation: 2024-09-25 -category: network -productIcon: PublicGatewayProductIcon ---- - -## What is a Public Gateway? - -Public Gateways sit at the border of Private Networks. They provide services to deal with traffic entering and exiting the network (NAT), and SSH bastion. A Public Gateway can be attached to up to 8 Private Networks, and up to 50 Public Gateways are supported per [Organization](/organizations-and-projects/concepts/#organization). - -The Public Gateway can be configured through the console or the [API](https://www.scaleway.com/en/developers/api/public-gateway/). - -## Does the Public Gateway require a public IPv4 address? - -No. A public IPv4 address (aka. flexible IP) must be assigned to the Public Gateway at creation time, but you can detach it and delete it afterward if you do not require it to be publically accessible. - -## Can my Instances and other resources access the internet via a Public Gateway without a public IP address? - -Yes. The Public Gateway can advertize itself as the [default route to the internet](/public-gateways/concepts/#default-route) over the Private Network it is attached to, so that Instances and other resources on the same Private Network, can access the internet via the gateway. -Moreover, the Public Gateway supports [static NAT](/public-gateways/how-to/configure-a-public-gateway/#how-to-review-and-configure-nat) (aka. port forwarding), so that ingress traffic from the public internet can reach Instances on the Private Network. This works by mapping pre-defined ports of the public IP address of the gateway to specific ports and IP addresses on the Private Network. - -## What happened to static leases (DHCP reservations) when DHCP moved from the Public Gateway to Private Networks? - -On 12 July 2023, DHCP functionality moved from Public Gateways to Private Networks. See our [dedicated migration documentation](/vpc/reference-content/vpc-migration/) for full details. - -Pre-existing static leases created via the Public Gateway were fully migrated and still work for your attached resources on a Private Network. Manual static lease configuration is still available via the API and other developer tools, but is no longer available via the Scaleway console. We recommend that you use [Scaleway IPAM](/ipam/) to reserve private IP addresses on specific Private Networks, which you can then use when attaching resources. - -## Why is my Public Gateway labelled as Legacy? - -**Legacy** Public Gateways use a [workaround](/vpc/reference-content/vpc-migration/#public-gateways-and-vpc) to ensure compatiblity with Scaleway's IPAM (**I** **P** **A**ddress **M**anagement) tool. IPAM acts as a single source of truth for the IP addresses of Scaleway resources - -Your gateway is probably a legacy gateway if you created it prior to 17 October 2023. These gateways will continue to function, but are not natively integrated with IPAM, and you cannot take advantage of features such as IP management via Scaleway [IPAM](/ipam/), or fully-isolated Kubernetes Kapsules. You should create a new gateway if you want to benefit from such features. - -## Do I need a Public Gateway for each Availability Zone (AZ)? - -VPC and Private Networks are both [regional](/public-gateways/concepts/#region-and-availability-zone), meaning they span all AZs across a given region. Even though Public Gateways are zoned and not regional, one Public Gateway attached to a regional Private Network is functionally enough, and will cover the whole region. That is to say a Public Gateway created in PAR-1 can serve Instances in PAR-2 and PAR-3, as long as they are all attached to the same PAR-region Private Network. - -## How can I achieve truly High Availability (HA) networking when the Public Gateway is a zoned resource? - -Notwithstanding the answer to the previous question, if you have a single Public Gateway in, for example, PAR-1, serving resources from other AZs on the same Private Network and there is an outage in the PAR-1 zone, the gateway will not be able to serve the resources from other unaffected AZs. We are working to improve and develop our Public Gateway product to counteract this. - -In the meantime, if this is a concern, you could consider attaching several Public Gateways from different AZs to a single Private Network, each advertising a default route to the internet. As long as you are using a recent kernel (e.g. Ubuntu Jammy, Debian bookworm), the traffic will be spread across the different gateways. In the case of an outage in one AZ, you will only lose the gateway in that zone, and the others will continue to serve traffic. - -## I need more than 1Gbps bandwidth for my Public Gateway, what can I do? - -We have introduced a `VPC-GW-L` offer with 3Gbps bandwidth, and a `VPC-GW-XL` offer with 10Gbps of bandwidth, to accommodate customers with this type of need. For pricing details, see our [dedicated page](https://www.scaleway.com/en/pricing/network/). You can upgrade your existing Public Gateway to one of these new offers via the [Public Gateways API](https://www.scaleway.com/en/developers/api/public-gateway/#path-gateways-upgrade-a-public-gateway-to-the-latest-version-andor-to-a-different-commercial-offer-type) or the [Scaleway console](/public-gateways/how-to/upgrade-public-gateway/). \ No newline at end of file diff --git a/faq/secret-manager.mdx b/faq/secret-manager.mdx deleted file mode 100644 index eb958957a7..0000000000 --- a/faq/secret-manager.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -meta: - title: Secret Manager FAQ - description: Explore Scaleway Secret Manager with our comprehensive FAQ covering security, secret types, and more. -content: - h1: Secret Manager -dates: - validation: 2024-09-23 -category: identity-and-access-management -productIcon: SecretManagerProductIcon ---- - -## Why should you use Scaleway Secret Manager? - -Scaleway Secret Manager is a secret management service that allows you to secure access to your applications, services and IT resources. The service makes it easy to manage credentials, API keys and other secrets throughout their lifecycle. You can use Secret Manager to handle the secrets used to access Scaleway products, third-party resources, or on-premises services. - -## What types of secrets can I manage with Secret Manager? - -You can manage different types of secrets, such as identifiers for databases, SaaS applications, third-party API keys, SSH keys, or certificates. Secret Manager also allows you to store your secrets in JSON format. The maximum size of a secret is 64 KB. - -## How can my applications access these secrets? - -To access the secrets stored in Secret Manager, you must create an Identity and Access Management (IAM) policy for your application. Then, you can replace the plain text secrets with code to retrieve the stored secrets through the Secret Manager API. For more information, see the [related documentation](/secret-manager/quickstart/). - -## In which regions is Secret Manager available? - -The Secret Manager service is deployed in all Scaleway regions: PAR, WAW and AMS. Stored secrets are replicated in different zones within a region. - -## How does Secret Manager guarantee the security of my secrets? - -Secret Manager allows you to control access to secrets through IAM policies. When you retrieve a secret, Secret Manager decrypts it and transmits it securely via TLS to your local environment. At no point does the service write or cache secrets in plain text on permanent storage. - -## How does Secret Manager encrypt my secrets? - -Secret Manager uses envelope encryption (AES-256 encryption algorithm) to encrypt your secrets with an internal key management service. -To understand the secrets encryption process, refer to our [related documentation](/secret-manager/reference-content/data-encryption-with-secret-manager/). - -## How is Scaleway Secret Manager billed? - -At the end of the month, you are billed for the number of secret versions stored and API requests made on the service. -A secret version is billed if it is in an enabled or disabled state. -If, for example, you have used a secret version for five days, you will only be billed for the five days and not for the whole month. Find out more about pricing on our [dedicated page](https://www.scaleway.com/en/pricing/?tags=available). diff --git a/faq/serverless-containers.mdx b/faq/serverless-containers.mdx deleted file mode 100644 index 33b885af57..0000000000 --- a/faq/serverless-containers.mdx +++ /dev/null @@ -1,238 +0,0 @@ ---- -meta: - title: Serverless Containers FAQ - description: Discover Serverless Containers and Serverless architecture. -content: - h1: Serverless Containers -dates: - validation: 2024-09-24 -category: serverless -productIcon: ContainersProductIcon ---- - -## Overview - -### What is serverless computing, and how does it differ from traditional cloud hosting? - -Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. - -### Why consider using Serverless Containers, Functions, or Jobs for my projects? - -These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. - -### Can I run any application on Serverless Containers? - -Yes. Because Serverless Containers supports any containerized application, you can choose the language, runtime, and framework that best suits your needs. As long as it can run in a container and respond to HTTP requests, Serverless Containers can host it. - -### What are the cost benefits of using serverless services like Serverless Containers? - -With serverless, you only pay for the computing resources you use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. - -### Are applications deployed on Serverless Containers stateless? - -Yes, all applications deployed on Serverless Containers are stateless. This means the server does not store any state about the client session. Instead, the session data is stored on the client and passed to the server as needed. - - -## Billing - -### How am I billed for Serverless Containers? - -#### Principles - -Serverless Containers are billed on a pay-as-you-go basis, strictly on resource consumption (Memory and CPU). - -* **Memory consumption:** The memory consumption is obtained by multiplying the memory tier chosen by the container run duration. -* **vCPU consumption:** The vCPU consumption is obtained by multiplying the vCPU tier chosen by the container run duration. -* **Ephemeral storage:** Is free of charge, the maximum value of ephemeral storage depends on the memory value. - - - -#### Prices - -* **Memory consumption:** €0.10 per 100 000 GB-s, and we provide a **400 000 GB-s free tier** per account and per month. - - | Memory | Price per second | - |--------- |------------------ | - | 128 MB | €0.000000125 | - | 256 MB | €0.00000025 | - | 512 MB | €0.0000005 | - | 1024 MB | €0.000001 | - | 2048 MB | €0.000002 | - | 3072 MB | €0.000003 | - | 4096 MB | €0.000004 | - -* **vCPU consumption:** €1.00 per 100 000 vCPU-s, and we provide a **200 000 vCPU-s free tier** per account per month. - - | CPU | Price per second | - |------------ |------------------ | - | 0.07 vCPU | €0.0000007 | - | 0.14 vCPU | €0.0000014 | - | 0.28 vCPU | €0.0000028 | - | 0.56 vCPU | €0.0000056 | - | 1.12 vCPU | €0.0000112 | - -#### Example - -| Criteria | Value | -|--------------------------- |-------------- | -| Monthly duration | 30 000 000 s | -| Amount of memory allocated | 128 MB | -| Amount of vCPU allocated | 70 mvCPU | -| Free tier | Yes | - -##### Price calculation - -* **Memory consumption** - * *Allocated Memory conversion:* 128 MB = 0.125 GB - * *Resource consumption:* 30 000 000 s * 0.125 GB = 3 750 000 GB-s - * *Free tier:* 400 000 GB-s - * *Billed resources:* 3 750 000 - 400 000 = 3 350 000 GB-s - * *Cost:* 3 350 000 * €0.0000010 = **€3.35** -* **vCPU consumption** - * *Allocated vCPU conversion:* 70mvCPU = 0.070 vCPU - * *Resource consumption:* 30 000 000 s * 0.070 vCPU = 2 100 000 vCPU-s - * *Free tier:* 200 000 vCPU-s - * *Billed resources:* 2 100 000 - 200 000 = 1 900 000 vCPU-s - * *Cost:* 1 900 000 * €0.0000100 = **€19.00** - -**Monthly Cost: €22.35** - -## Resources and performance - -### Can I upgrade Serverless Container resources (vCPU and RAM) at any time? - -Yes, Serverless Containers resources can be changed at any time without causing downtime - see the previous question for full details. - -### How does scaling work in these serverless services? - -Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases - more requests or events - the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. - -### Can updates of Serverless Containers cause downtime? - -No, deploying a new version of your Serverless Container generates a **rolling update**. This means that a new version of the service is gradually -rolled out to your users without downtime. Here is how it works: - -* When a new version of your container is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. -* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. -* The old version is decommissioned once the new version is fully serving traffic. - -This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. - -### Can I migrate existing applications to Serverless Containers? - -Yes. Many traditional applications can be containerized and deployed to Serverless Containers. This makes it easier to modernize legacy systems without a complete rewrite. By moving to a serverless platform, you gain automatic scaling, reduced operational overhead, and a simpler infrastructure management experience. - -### How can I select the right resources (vCPU/RAM/ephemeral storage) for Serverless Containers ? - -Insufficient vCPU, RAM or ephemeral storage can lead to containers going to error status. Make sure to provision enough resources for your container. - -We recommend you set high values, [use metrics to monitor](/serverless-containers/how-to/monitor-container/) the resource usage of your container, then adjust the values accordingly. - -### How can I reduce the cold-starts of Serverless Containers ? - -* **Optimize the startup**: Cold-starts can be affected by loading a large number of dependencies and opening several resources at startup. -Ensure that your code avoids heavy computations or long-running initialization at startup and optimize the number of loaded libraries. - -* **Keep your container warm**: You can use CRON triggers at certain intervals to keep your container warm or set the min-scale parameter to `1` when required. - -* **Increase resources**: Adding more vCPU and RAM can help to significantly reduce the cold-starts of your container. - -* **Use sandbox v2**: We recommend you use sandbox v2 (advanced settings) to reduce cold starts. - -### What are the limitations of Serverless Containers? - -Refer to our dedicated page about [Serverless Containers limitations and configuration restrictions](/serverless-containers/reference-content/containers-limitations/) for more information. - -### Why does my container have an instance running after deployment, even with min-scale 0? - -Currently, a new container instance will always start after each deployment, even if there is no traffic and the minimum -scale is set to 0. This behavior is not configurable at this time. - -## Usage - -### How can I deploy my containers? - -There are several ways to deploy containers. Refer to the [dedicated documentation](/serverless-containers/reference-content/deploy-container/) to determine the best method for your use case. - -### How do I integrate my serverless solutions with other Scaleway services? - -Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/messaging/concepts/#queues) and [Topics and Events](/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases-for-postgresql-and-mysql/) or [Serverless databases](/serverless-sql-databases/). [Serverless Jobs](/serverless-jobs/) can pull data from [Object Storage](/object-storage/), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. - -### Where should I host my container images for deployment ? - - - -### How can I copy an image from an external registry to Scaleway Container Registry? - -You can copy an image from an external registry using the Docker CLI, or open source third-party tools such as [Skopeo](https://github.com/containers/skopeo). Refer to the [dedicated documentation](/serverless-containers/api-cli/migrate-external-image-to-scaleway-registry/) for more information. - -### How do Serverless Containers health checks work ? - -A Serverless Container is set to `ready` once the specified port is correctly bound to the container, and will start receiving traffic. If your application needs to perform some tasks before receiving traffic (e.g. connect to a database), it is important to run them before binding to the port (starting the webserver). -For now, the `HEALTHCHECK` Docker directive has no impact on container readiness. In the future, the health check will be customizable for your applications. - -## Network and storage - -### Can I whitelist the IPs of my containers? - -Serverless Containers does not yet support Private Networks. However, you can use the Scaleway IP ranges defined at [https://www.scaleway.com/en/peering/](https://www.scaleway.com/en/peering/) on Managed Databases and other products that allow IP filtering. - -### Which protocols are supported by Serverless Containers? - -Serverless Containers use the **http1** protocol by default, but some services (e.g., gRPC) only support `http2`. - -Protocol switching is available in the Console under the `Advanced options` section in the `Deployment` tab. - -### Why does my gRPC container not respond? - -Containers use **http1** by default, yet the gRPC protocol requires `http2`. You can upgrade the protocol to `http2` (`h2c`). - -### How can I configure access to a Private Network or Virtual Private Cloud (VPC)? - -Scaleway Serverless Containers does not currently support Scaleway VPC or Private Networks, though this feature is under development. - -To add network restrictions on your resource, refer to the [list of prefixes used at Scaleway](https://www.scaleway.com/en/peering/). Serverless resources do not have dedicated or predictable IP addresses. - -### Can I connect to my container using SSH? - -No, it is not possible to connect to Serverless Containers using SSH. Serverless Containers is a fully managed, and stateless compute environment that does not provide direct access to the underlying infrastructure due to several features, such as autoscaling. - -For monitoring and debugging purposes, you can inspect your container, and interact with it using [Scaleway Cockpit](/serverless-containers/how-to/monitor-container/). - -### How can I attach Block Storage to a Serverless Container? - -Scaleway Serverless Containers do not currently support attaching Block Storage. These containers are designed to be -stateless, meaning they do not retain data between invocations. For persistent storage, we recommend using external -solutions like Scaleway Object Storage. - -### How can I store data in my Serverless resource? - -Serverless resources are by default [stateless](/serverless-containers/concepts/#stateless), local storage is ephemeral. - -For certain use cases, such as saving analysis results or exporting data, it can be important to have permanent storage to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: - -#### Databases - -* [Serverless Databases](/serverless-sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. -* [Managed MySQL / PostgreSQL](/managed-databases-for-postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. -* [Managed Database for Redis®](/managed-databases-for-redis/): Fully managed Redis®* in seconds. -* [Managed MongoDB®](/managed-mongodb-databases/): Get the best of MongoDB® and Scaleway in one database. - -#### Storage - -* [Object Storage](/object-storage/): Multi-AZ resilient object storage service ensuring high availability for your data. -* [Scaleway Glacier](/object-storage/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. - - -Explore all Scaleway products in the console and select the right product for your use case. - -Further integrations are also possible even if not listed above, for example, [Secret Manager](/secret-manager/) can help you to store information that requires versioning. - - -### Can I use Serverless Containers with Edge Services? - -You cannot use Serverless Containers with Edge Services because there are no native integrations between the two products yet. - -### Can I use the IP address of a Serverless Function? - -By design, it is not possible to guarantee static IPs on Serverless compute resources. diff --git a/faq/serverless-functions.mdx b/faq/serverless-functions.mdx deleted file mode 100644 index 724883638c..0000000000 --- a/faq/serverless-functions.mdx +++ /dev/null @@ -1,263 +0,0 @@ ---- -meta: - title: Serverless Functions FAQ - description: Discover Serverless Functions and Serverless architecture. -content: - h1: Serverless Functions -dates: - validation: 2024-10-03 -category: serverless -productIcon: FunctionsProductIcon ---- - -## Overview - -### What is serverless computing, and how does it differ from traditional cloud hosting? - -Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. - -### Why consider using Serverless Containers, Functions, or Jobs for my projects? - -These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. - -### What are the cost benefits of using serverless services like Serverless Containers and Serverless Functions? - -With serverless, you only pay for the computing resources you use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. - -## Billing - -### How am I billed for Serverless Functions? - -#### Principle - -Serverless Functions is billed on a pay-as-you-go basis. Three components are taken into account: - -* **Monthly request number:** each time your function is invoked we increase a counter. - -* **Resource consumption:** this component is obtained by multiplying the memory tiers chosen by the duration of each function invocation. - -* **Resources provision:** in order to mitigate cold start, users can choose to keep some function instances warm (by filing the minimum scale value). We then charge for the provisioned resources similarly to the Resources consumption component. - -The scheme below illustrates our billing model: - - - -#### Pricing - -* **Monthly requests:** **€0.15 per million requests**, and we offer **1M free requests** per account per month. - -* **Resources consumption:** **€1.20 per 100 000 GB-s**, and we provide **400 000 GB-s free tiers** per account and per month. - -| Memory provisioned | Cost per second | -|---------------------|-----------------| -| 128 MB | €0.0000015 | -| 256 MB | €0.0000030 | -| 512 MB | €0.0000060 | -| 1024 MB | €0.0000120 | -| 2048 MB | €0.0000240 | -| 3072 MB | €0.0000360 | -| 4096 MB | €0.0000480 | - -* **Resources provision:** €0.36 per 100 000 GB-s - -| Memory provisioned | Cost per second | -|---------------------|-----------------| -| 128 MB | €0.00000045 | -| 256 MB | €0.0000009 | -| 512 MB | €0.0000018 | -| 1024 MB | €0.0000036 | -| 2048 MB | €0.0000072 | -| 3072 MB | €0.0000108 | -| 4096 MB | €0.0000144 | - -#### Examples - -##### Example 1: Without resources provisioning - -| Criteria | Value | -|-------------------------------|-------------| -| Number of requests | 30 000 000 | -| Average request duration | 1 s | -| Allocated resources (memory) | 128 MB | -| Free tier | Yes | -| Provision/minimum instances | 0 | - -* **Resources consumption** - * *Service usage duration:* 30 000 000 Requests x 1 s = 30 000 000 seconds used - * *Memory conversion:* 128 MB = 0.125 GB - * *Resources consumed:* 30 000 000 s x 0.125 GB = 3 750 000 GB-s - * *Free tier:* 400 000 GB-s - * *Resourced billed:* 3 750 000 - 400 000 = 3 350 000 GB-s - * *Cost:* 3 350 000 x €0.0000120 = **€40.20** - -* **Requests:** - * *Free tier:* 1 000 000 requests - * *Billed requests:* 30 000 000 - 1 000 000 = 29 000 000 Requests - * *Cost:* 29 000 000 x €0.00000015 = **€4.35** - -**Total monthly cost: €44.55** - -##### Example 2: With resources provisioning - -| Criteria | Value | -|-------------------------------|-------------| -| Number of requests | 30 000 000 | -| Average request duration | 1 s | -| Allocated resources (memory) | 128 MB | -| Free tier | Yes | -| Provision/minimum instances | 1 | - -* **Resources consumption** - * *Service usage duration:* 30 000 000 Requests x 1 s = 30 000 000 seconds used - * *Memory conversion:* 128 MB = 0.125 GB - * *Resources consumed:* 30 000 000 s x 0.125 GB = 3 750 000 GB-s - * *Free tier:* 400 000 GB-s - * *Resourced billed:* 3 750 000 - 400 000 = 3 350 000 GB-s - * *Cost:* 3 350 000 x €0.0000120 = **€40.20** - -* **Provisioned functions consumption:** - * *Provisioned duration:* 1 month = 2 592 000 seconds, with one minimum instance → 2 592 000 seconds used - * *Provisioned resources consumed:* 2 592 000 x 0.125 GB = 324 000 GB-s - * *Cost:* 324 000 x €0.0000036 = **€1.17** - -* **Requests:** - * *Free tier:* 1 000 000 requests - * *Billed requests:* 30 000 000 - 1 000 000 = 29 000 000 Requests - * *Cost:* 29 000 000 x €0.00000015 = **€4.35** - -**Total monthly cost: €45.72** - -## Resources and performance - -### How to select the right resources (vCPU/RAM) for Serverless Functions ? - -Insufficient vCPU and RAM resources can lead to functions going to error status. Make sure to provision enough resources for your function. - -We recommend you set high values, [use metrics to monitor](/serverless-functions/how-to/monitor-function/) the resource usage of your function, then adjust the value accordingly. - -### How does scaling work in these serverless services? - -Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases - more requests or events - the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. - -### Can I upgrade Serverless Function resources (vCPU and RAM) at any time? - -Yes, Serverless Functions resources can be changed at any time without causing downtime, see the previous question for full details. - -### Does updating a Serverless Function cause downtime? - -No, deploying a new version of your Serverless Function generates a **rolling update**. This means that a new version of the service is gradually -rolled out to your users without downtime. Here is how it works: - -* When a new version of your function is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. -* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. -* The old version is decommissioned once the new version is fully serving traffic. - -This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to them. - -### How to reduce cold-start of Serverless Functions? - -* **Optimize the startup**: Cold-start can be affected by a loading a large number of dependencies and opening lot of resources at startup. -Ensure that your code avoids heavy computations or long-running initialization at startup and optimize the number of loaded libraries. - -* **Keep your function warm**: You can use CRON triggers at certain intervals to keep your function warm or set the min-scale parameter to one when required. - -* **Increase resources**: Adding more vCPU and RAM can help to significantly reduce the cold-starts of your function. - -* **Use sandbox v2**: We recommend using sandbox v2 (advanced settings) to reduce cold start. - -### What are the limitations of Serverless Functions? - -Refer to our dedicated page about [Serverless Functions limitations and configuration restrictions](/serverless-functions/reference-content/functions-limitations/) for more information. - -### What runtimes are available on Serverless Functions? - -Serverless Functions enables you to deploy functions using popular languages: `Go`, `Node`, `Python`, `PHP`, and `Rust`. - -Refer to our dedicated page about [Serverless Functions Runtimes Lifecycle](/serverless-functions/reference-content/functions-runtimes/) - -### Why does my function have an instance running after deployment, even with min-scale 0? - -Currently, a new function instance will always start after each deployment, even if there is no traffic and the minimum -scale is set to `0`. This behavior is not configurable at this time. - -## Usage - -### How can I deploy my functions? - -There are [several ways to deploy Serverless Functions](/serverless-functions/reference-content/deploy-function/), to accommodate a broad range of use cases. - -### How do I integrate my serverless solutions with other Scaleway services? - -Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/messaging/concepts/#queues) and [Topics and Events](/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases-for-postgresql-and-mysql/) or [Serverless databases](/serverless-sql-databases/). [Serverless Jobs](/serverless-jobs/) can pull data from [Object Storage](/object-storage/), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. - -### How can I check build errors? - -Some Serverless runtimes (ex: `Go`, `Rust`) will compile your code in order to make your function executable. -Compilation can fail if errors are present in the code, for example syntax errors and missing libraries. - -Build errors are sent to the Observability platform on Scaleway Cockpit. - -In the `Serverless Functions Logs` dashboard, you will then be able to read information about your log build outputs, if errors occurred during compilation. - -### How can I test my functions locally? - - Scaleway provides libraries to run your functions locally, for debugging, profiling, and testing purposes. Refer to the [dedicated documentation](/serverless-functions/reference-content/local-testing/) for more information. - -### Where can I find some advanced code examples for functions? - -Check out our [serverless-examples repository](https://github.com/scaleway/serverless-examples) for real world projects. - -### How to migrate runtimes? - -There are no constraints when changing a function runtime, you simply need to choose the runtime version you want. -Upgrading a runtime is highly recommended in case of deprecation, and for runtimes that have reached end-of-support or end-of-life. See the [functions runtimes lifecycle documentation](/serverless-functions/reference-content/functions-runtimes/) for more information. - -## Network and storage - -### How can I configure access to a Private Network or Virtual Private Cloud (VPC)? - -Scaleway Serverless Functions does not currently support Scaleway VPC or Private Networks, though this feature is under development. - -To add network restrictions on your resource, consult the [list of prefixes used at Scaleway](https://www.scaleway.com/en/peering/). Note that Serverless resources do not have dedicated or predictable IP addresses. - -### Can I allow to list the IPs of my functions? - -Serverless Functions does not yet support Private Networks. However, you can use the Scaleway IP ranges defined at [https://www.scaleway.com/en/peering/](https://www.scaleway.com/en/peering/) on Managed Databases and other products that allow IP filtering. - -### Can I use Serverless Functions with Edge Services? - -You cannot use Serverless Functions with Edge Services because there are no native integrations between the two products yet. - -### Can I use the IP address of a Serverless Function? - -By design, it is not possible to guarantee static IPs on Serverless Compute resources. - -### How can I attach Block Storage to a Serverless Function? - -Scaleway Serverless Functions do not currently support attaching Block Storage. These functions are designed to be -stateless, meaning they do not retain data between invocations. For persistent storage, we recommend using external -solutions like Scaleway Object Storage. - -### How can I store data in my Serverless resource? - -Serverless resources are by default [stateless](/serverless-functions/concepts/#stateless), local storage is ephemeral. - -For some use cases, such as saving analysis results, exporting data etc., it can be important to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: - -#### Databases - -* [Serverless Databases](/serverless-sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. -* [Managed MySQL / PostgreSQL](/managed-databases-for-postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. -* [Managed Database for Redis®](/managed-databases-for-redis/): Fully managed Redis®* in seconds. -* [Managed MongoDB®](/managed-mongodb-databases/): Get the best of MongoDB® and Scaleway in one database. - -#### Storage - -* [Object Storage](/object-storage/): Multi-AZ resilient object storage service ensuring high availability for your data. -* [Scaleway Glacier](/object-storage/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. - - -Explore all Scaleway products in the console and select the right product for your use case. - -Some products are not listed but for example, on specific use cases Secret Manager can help you to store information that requires versioning. - diff --git a/faq/serverless-jobs.mdx b/faq/serverless-jobs.mdx deleted file mode 100644 index 7b8d7795e2..0000000000 --- a/faq/serverless-jobs.mdx +++ /dev/null @@ -1,185 +0,0 @@ ---- -meta: - title: Serverless Jobs FAQ - description: Discover Scaleway's Serverless Jobs -content: - h1: Serverless Jobs -dates: - validation: 2024-10-03 -category: serverless -productIcon: ServerlessJobsProductIcon ---- - -## Overview - -### What is Serverless Jobs, and when should I use it? - -Serverless Jobs allows you to run large-scale batch processing and computational workloads in a fully managed environment. If you have tasks like data processing, machine learning training jobs, simulations, or large-scale analytics that can be parallelized, Serverless Jobs helps you orchestrate and manage those workloads seamlessly. - -### What types of workloads are best suited for Serverless Jobs? - -Serverless Jobs is ideal for tasks such as data processing, analysis and various computational operations that can be executed in a non-interactive batch mode. You can execute short and long-running jobs. - -### What is serverless computing, and how does it differ from traditional cloud hosting? - -Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. - -### Why consider using Serverless Containers, Functions, or Jobs for my projects? - -These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. - -## Billing - -### How am I billed for Serverless Jobs? - -#### Principles - -Serverless Jobs are billed on a pay-as-you-go basis, strictly on resource consumption (Memory and CPU). - -* **Memory consumption:** The memory consumption is obtained by multiplying the memory tier chosen by the job run duration. -* **vCPU consumption:** The vCPU consumption is obtained by multiplying the vCPU tier chosen by the job run duration. -* **Ephemeral storage:** Is free of charge, the maximum value of ephemeral storage depends on the memory value. - -#### Prices - -* **Memory consumption:** €0.10 per 100 000 GB-s, and we provide a **400 000 GB-s free tier** per account and per month. - - | Memory | Price per second | - |--------- |------------------ | - | 128 MB | €0.000000125 | - | 256 MB | €0.00000025 | - | 512 MB | €0.0000005 | - | 1024 MB | €0.000001 | - | 2048 MB | €0.000002 | - | 3072 MB | €0.000003 | - | 4096 MB | €0.000004 | - -* **vCPU consumption:** €1.00 per 100 000 vCPU-s, and we provide a **200 000 vCPU-s free tier** per account per month. - - | CPU | Price per second | - |------------ |------------------ | - | 0.07 vCPU | €0.0000007 | - | 0.14 vCPU | €0.0000014 | - | 0.28 vCPU | €0.0000028 | - | 0.56 vCPU | €0.0000056 | - | 1.12 vCPU | €0.0000112 | - -#### Example - -| Criteria | Value | -|--------------------------- |------------------| -| Monthly duration | 432 000 s (120h) | -| Amount of memory allocated | 2048 MB | -| Amount of vCPU allocated | 1120 mvCPU | -| Free tier | Yes | - -##### Price calculation - -* **Memory consumption** - * *Allocated Memory conversion:* 2048 MB = 2 GB - * *Resource consumption:* 432 000 s * 2 GB = 864 000 GB-s - * *Free tier:* 400 000 GB-s - * *Billed resources:* 864 000 - 400 000 = 464 000 GB-s - * *Cost:* 464 000 * €0.0000010 = **€0.47** -* **vCPU consumption** - * *Allocated vCPU conversion:* 1120 mvCPU = 1.12 vCPU - * *Resource consumption:* 432 000 s * 1.12 vCPU = 483 840 vCPU-s - * *Free tier:* 200 000 vCPU-s - * *Billed resources:* 483 840 - 200 000 = 283 840 vCPU-s - * *Cost:* 283 840 * €0.0000100 = **€2.84** - -**Monthly Cost: €3,31** - -## Resources and performance - -### How do I integrate my serverless solutions with other Scaleway services? - -Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/messaging/concepts/#queues) and [Topics and Events](/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases-for-postgresql-and-mysql/) or [Serverless databases](/serverless-sql-databases/). [Serverless Jobs](/serverless-jobs/) can pull data from [Object Storage](/object-storage/), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. - -### Can I update Serverless Jobs resources (vCPU and RAM) at any time? - -Yes, resources of your Job Definition can be updated at any time. - -Ongoing job runs will keep using the resources defined when they started. - -## Usage - -### How can I monitor the activity of my Serverless Jobs? - -Serverless Jobs are integrated with [Cockpit](/cockpit/quickstart/), Scaleway's Observability service. Cockpit allows you to [see all the logs and metrics associated with your job runs](/serverless-jobs/concepts/#job-run). Additionally, each job run has a status that provides you with real-time information on your job's execution. - -### Can I cancel or modify a Serverless Job after it has started? - -An ongoing Serverless Job can be interrupted during its execution from the **Job runs** section of a job's **Overview** tab. Refer to the [dedicated documentation](/serverless-jobs/how-to/stop-job/) for more information. - -### How can I automate the deployment and management of Scaleway Serverless Jobs? - -Scaleway Serverless Jobs is part of the Scaleway ecosystem, it can therefore be driven using the [Scaleway CLI](/scaleway-cli/quickstart/), the [Scaleway API](https://www.scaleway.com/en/developers/api/), and other [developer tools](https://www.scaleway.com/en/developers/). Our serverless ecosystem offers a lot of possibilities with event-driven architectures, and integrations with more products of the Scaleway ecosystem are under active development. - -### Can I run multiple Serverless Jobs at the same time? - -When starting a job, you can use contextual options to define the number of jobs to execute at the same time. Refer to the [dedicated documentation](/serverless-jobs/how-to/run-job/#how-to-run-a-job-with-contextual-options) for more information. - -### Where should I host my jobs images for deployment? - - - -### How can I copy an image from an external registry to Scaleway Container Registry? - -You can copy an image from an external registry by [logging in to the Scaleway Container Registry](/container-registry/how-to/connect-docker-cli/) using the Docker CLI, and by copying the image as shown below: - -```sh -docker pull alpine:latest -docker tag alpine:latest rg.fr-par.scw.cloud/example/alpine:latest -docker push rg.fr-par.scw.cloud/example/alpine:latest -``` - -Alternatively, you can use tools such as [Skopeo](https://github.com/containers/skopeo) to copy the image: - -```sh -skopeo login rg.fr-par.scw.cloud -u nologin -p $SCW_SECRET_KEY -skopeo copy --override-os linux docker://docker.io/alpine:latest docker://rg.fr-par.scw.cloud/example/alpine:latest -``` - -### Can I securely use sensitive information with Serverless Jobs? - -Yes, you can use sensitive data such as API secret keys, passwords, TLS/SSL certificates, or tokens. Serverless Jobs seamlessly integrates with [Secret Manager](/secret-manager/), which allows you to securely reference sensitive information within your jobs. Refer to the [dedicated documentation](/serverless-jobs/how-to/reference-secret-in-job/) for more information. - -## Network and storage - -### How can I configure access to a Private Network or Virtual Private Cloud (VPC)? - -Scaleway Serverless Jobs does not currently support Scaleway VPC or Private Networks, though this feature is under development. - -To add network restrictions on your resource, consult the [list of prefixes used at Scaleway](https://www.scaleway.com/en/peering/). Serverless resources do not have dedicated or predictable IP addresses. - -### Can I connect to my job using SSH? - -No, it is not possible to connect to Serverless Jobs using SSH. Serverless Jobs is a fully managed, and stateless compute environment that does not provide direct access to the underlying infrastructure. - -For monitoring and debugging purposes, you can inspect your job, and interact with it using [Scaleway Cockpit](/serverless-jobs/how-to/monitor-job/). - -To inject specific commands into a job run, you can add a [startup command](/serverless-jobs/concepts/#startup-command) to a job. - -### How can I store data in my Serverless resource? - -Serverless resources are by default [stateless](/serverless-functions/concepts/#stateless), local storage is ephemeral. - -For some use cases, such as saving analysis results, exporting data etc., it can be important to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: - -#### Databases - -* [Serverless Databases](/serverless-sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. -* [Managed MySQL / PostgreSQL](/managed-databases-for-postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. -* [Managed MongoDB®](/managed-mongodb-databases/): Get the best of MongoDB® and Scaleway in one database. - -#### Storage - -* [Object Storage](/object-storage/): Multi-AZ resilient object storage service ensuring high availability for your data. -* [Scaleway Glacier](/object-storage/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. - - -Explore all Scaleway products in the console and select the right product for your use case. - -Some products are not listed but for example, on specific use cases Secret Manager can help you to store information that requires versioning. - \ No newline at end of file diff --git a/faq/serverless-sql-databases.mdx b/faq/serverless-sql-databases.mdx deleted file mode 100644 index b58f70b129..0000000000 --- a/faq/serverless-sql-databases.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -meta: - title: Serverless SQL Databases FAQ - description: Discover Scaleway's Serverless SQL Databases -content: - h1: Serverless SQL Databases -dates: - validation: 2024-10-10 -category: serverless -productIcon: ServerlessDbProductIcon ---- - -## How am I billed for Serverless SQL Databases? - -You are billed both for the compute resources provisioned and the storage used. You can see the cost estimate in the Database creation wizard. - - - **Compute**: You are billed based on compute resources (vCPU and RAM) provisioned to handle your workload. Provisioned resources evolve according to the [autoscaling](/serverless-sql-databases/reference-content/serverless-sql-databases-overview/#autoscaling) parameter, and stay between the minimum and maximum thresholds defined for your database. For each vCPU provisioned, 4 GB of RAM will be allocated. - - - **Storage**: You are billed for the storage consumed by your database. Storage price is based on the size of your database (in GB) and includes 7 days of automated backups at no additional costs. Storage is always billed even if your database is in an active state or idle state. - - - You will not be billed if your database is configured with 0 vCPU as a minimum and is in **idle** status. - - -## How am I billed for database backups? - -The 7 days of backups are free. Backup creation and restore operations are considered regular database activity (including the automatic daily backups), so you will be billed according to the resources consumed during the restore operation. - -For example, if the restore operation lasts one hour, you will be billed for one hour of RAM and vCPU usage. - -Backup creation and restore operation duration depend on several factors, such as the total storage used, and index number and size. - -Backup and restore operations for databases that are less than 10 GB usually last a couple of minutes, but they can take longer if you rely heavily on indexes or constraints, or other time-consuming restore operations. - -## What are the differences between Serverless SQL Databases and PostgreSQL databases? - -Serverless SQL Database is compatible with most PostgreSQL-compatible clients and tools. Due to connection pooling support, some minor features are disabled or will not work as expected. Refer to the [Known differences](/serverless-sql-databases/reference-content/known-differences/) for more information. - -## How many simultaneous connections can my database receive? - -Serverless SQL Database handles connection pooling seamlessly. The number of maximum simultaneous connections will scale with CPU and RAM. Refer to the [Serverless SQL Databases overview](/serverless-sql-databases/reference-content/serverless-sql-databases-overview/) for more information on technical specifications. - -Refer to [How am I billed?](/faq/serverless-sql-databases/#how-am-i-billed-for-serverless-sql-databases) for more information. - -## Is there any latency linked to scaling or cold starts? - -Scaling an active database or waking up an idle database will be seamless for clients connected to the database as the connections will be maintained, but queries performed during these operations may experience a few seconds of delay. - -You can avoid cold starts by provisioning a minimum of 1 vCPU or more. - -## What features are not supported during the beta? - -The following features are currently not supported and will be implemented at a later time: - - - Manual backups (you can still perform manual backups using SQL queries or via SQL administration tools such as pgAdmin) - - Several SQL commands detailed in the [Known differences with default PostgreSQL](/serverless-sql-databases/reference-content/known-differences/) documentation - -## Which PostgreSQL extensions are available? - -Refer to our dedicated [PostgreSQL extentions reference page](/serverless-sql-databases/reference-content/supported-postgresql-extensions/) for a list of all available extensions and more details about each one. \ No newline at end of file diff --git a/faq/support.mdx b/faq/support.mdx deleted file mode 100644 index 92922a93de..0000000000 --- a/faq/support.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -meta: - title: Scaleway Support FAQ - description: Discover Scaleway Support plans. -content: - h1: Scaleway Support -dates: - validation: 2024-09-30 -category: console -productIcon: SupportProductIcon ---- - -## What is my current support plan? -You can find your support plan on [the support plan page within the Scaleway console](https://console.scaleway.com/support/plans). The free Basic support plan is included for all Scaleway customers automatically. - -## How can I change my current support plan? -You can [change your support plan](/account/how-to/configure-support-plans/) on the support plan page via the Scaleway console. - -## How frequently can I change my plan? -You can switch plans once a month. - -## I would like to upgrade my plan to get faster responses. Once I upgrade, how soon will I receive the benefits of my new plan? -When you change your plan, the upgrade is applied immediately. - -## If I upgrade my support plan in the middle of the month, how will I be billed? -You will be billed on a pro rata basis. For example, if you switch from the Silver plan to the Gold plan on the 20th of the month, you will be billed from the first to the 19th for the Silver plan. Starting from the 20th until the end of the month, you will be charged for the Gold plan. - -## How does the Gold plan pricing work? -For the Gold plan, we will charge you whichever is greater, either €499 (excluding taxes) or 3% of your net spend. For example: - - - If your net monthly spend is €15,000, then 3% of €15,000 = €450. In this case, €450 is less than €499, so you will pay the fixed price at €499. - - If your net monthly spend is €17.000, then 3% of €17.000 = €510. In this case €510 is higher than €499, so you will pay the price of €510 for the month. - -## Which language does the support team speak? -Our support team can assist you in English and French, via ticket and/or phone, depending on your support plan level. - -## How do I create a support ticket? -You can create and track your support tickets from the Scaleway console. [Follow this how to](/account/how-to/open-a-support-ticket/) for more details. - -## How do I report abuse or suspected abuse coming from the Scaleway network? -To report abuse or suspicion of abuse from our network, open a new abuse report via [abuse.scaleway.com](https://abuse.scaleway.com). Include as many details as possible in your report such as logs, header, URL and any information you might find relevant in your report. - - More information on how to report abuse can be found in [Scaleway’s Abuse notice](https://www.scaleway.com/en/abuse-notice/). - - -## I am a Bronze plan subscriber. Can I keep my old plan? -Your plan remains unchanged until January 1, 2023. Past this date, the Bronze plan will be removed from our pages, and you will automatically be moved to the Silver plan. If you do not wish to be subscribed to the Silver plan, you can downgrade your support plan to Basic. - -## What will be included in my future Silver plan? - -| | New Silver Plan | -:--: | :--: | -| Pricing | €59/month excluding taxes | -| Dedicated assistance | Mon-Fri from 9 AM to 6 PM | -| Guaranteed response time | \< 1 hour | -| Team support | Dedicated Premium Team | -| Custom Onboarding | - | -| Quarterly technical review | - | -| On demand architecture review | - | - -## I subscribed to the Silver Plan before October 1. Can I keep it unchanged? - -Your plan remains unchanged until January 1st, 2023. Past this date, the new modalities of the Silver plan will apply. - -## What changes with the new Silver plan? -| | Old Silver Plan | New Silver Plan | -| ------------ | ------------------- | ------ | -| Pricing | €59/month excluding taxes | €59/month excluding taxes | -| Dedicated assistance | Hotline 24/7 | Mon-Fri from 9 AM to 6 PM | -| Guaranteed response time | \< 20 minutes | \< 1 hour | -| Team support | Technical Account Manager | Dedicated Premium Team | -| Custom Onboarding | - | - | -| Quarterly technical review | - | - | -| On demand architecture review | - | - | - -## How frequently can I benefit from an architecture review? - -You can benefit from an architecture review every 6 months (maximum). Architecture reviews are available only after the third month of subscription to the Gold Plan. If you would like to benefit from an architecture review right away after subscribing, you can reach out to your Customer Success Manager or [contact the support team](/account/how-to/open-a-support-ticket/). \ No newline at end of file diff --git a/faq/transactional-email.mdx b/faq/transactional-email.mdx deleted file mode 100644 index 16769de0b5..0000000000 --- a/faq/transactional-email.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -meta: - title: Transactional Email FAQ - description: Discover Scaleway's Transactional Email -content: - h1: Transactional Email - paragraph: Discover Scaleway's Transactional Email -dates: - validation: 2024-10-01 -category: managed-services -productIcon: TransactionalEmailProductIcon ---- - -## What is Transactional Email? - -Scaleway's Transactional Email service is a fully managed solution dedicated to sending transactional emails. With Transactional Email, you can send your emails via the API or SMTP, add and verify a sending domain, configure SPF and DKIM authentication, and monitor emails via the [Scaleway console](https://console.scaleway.com/). - -## What are transactional emails? - -A transactional email is a type of automated, non-promotional email triggered by interactions with a website or an application, e.g. account creation, password modification, new order, payment status, etc. Unlike marketing emails, transactional emails are usually expected by customers and thus, have a much higher open rate than marketing emails. - -## Can I use your platform to send my marketing emails? - -Scaleway's Transactional Email platform is dedicated to sending transactional emails only. You cannot use Transactional Email to send marketing emails. [Read our anti-spam policy](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf) for more information. - -## How can I configure DNS records to send emails? - -You need to [add SPF and DKIM records](/transactional-email/how-to/add-spf-dkim-records-to-your-domain/) to be able to send emails. Find out [how to set up your DNS records for other DNS providers](/tutorials/set-up-spf-dkim-for-dns-providers/). - -## How do I know if my domain is valid for sending emails? - -After configuring your SPF and DKIM records, you must launch a verification of the domain either via [the console](https://console.scaleway.com/transactional-email/domains) in the **DNS verification** tab, or the [API](https://www.scaleway.com/en/developers/api/transactional-email/#path-domains-display-spf-and-dkim-records-status-and-potential-errors). You will then receive an email informing you whether your domain was validated or if there are errors to fix so it can be validated. - -## Do I have to set up an MX record for better email deliverability? - -Setting up an [MX record](/transactional-email/concepts#mx-record) is highly recommended to ensure your email deliverability. Find out [how to add an MX record to your domain](/transactional-email/how-to/add-mx-record-to-your-domain/#how-to-add-your-own-mx-record). You can also [use Scaleway's blackhole MX](/transactional-email/how-to/add-mx-record-to-your-domain/#how-to-add-scaleways-mx-record) if you do not have your own MX. - -## What happens to automatically configured DNS records when I delete a domain in the Transactional Email service? - -When a domain is removed from Scalway's Transactional Email platform, [autoconfigured DNS records](/transactional-email/how-to/autoconfigure-domain/) are not automatically deleted in the Domains & DNS section. You must manually delete or modify these records if you no longer use the domain to send emails. Verifying the associated DNS records is recommended to ensure they are correctly configured or removed. - -## What is the impact on the Transactional Email service if a DNS zone is deleted in Scaleway Domains & DNS? - -If a DNS zone is deleted while [autoconfig is enabled](/transactional-email/how-to/autoconfigure-domain/), the DNS records will be added to the parent zone. This ensures that the domain remains validated on the Transactional Email platform, allowing continued service use without interruption. - -## What are the limitations and restrictions when using Transactional Email? - -Find out about [limits and quotas](/transactional-email/reference-content/tem-capabilities-and-limits/) available for Transactional Email. If you want to increase your quota beyond the values shown on this page, [contact our support team](https://console.scaleway.com/support/create). - -## How is Scaleway's Transactional Email service billed? - -At the end of the month, you are billed for the number of emails you sent. -If the number of emails you have sent exceeds the number of emails included in your offer, you will be billed for the excess emails. For example, if you use the free tier of 300 emails per month, and you end up sending 305 emails, you will only be billed for five emails out of the 305 you have sent. -Check out our [dedicated page](https://www.scaleway.com/en/pricing/?tags=managedservices-transactionalemail-transactionalemail) for more information about Transactional Email's pricing. - -## Can I unblock an address that was automatically added to a TEM blocklist before the 48-hour period ends? -Yes, you can manually unblock any address, even if it is still under the temporary block period. You can unblock up to five addresses every 24 hours. - -## What happens if an address on a TEM blocklist becomes valid again? -You can manually unblock the address. Before doing so, ensure that the initial cause of the bounce has been resolved to prevent further issues. - -## Can I remove addresses from the blocklist? -Yes, all blocked addresses can be unblocked via the interface. If you manually added an address, you have full control over when and if it is removed from the blocklist. - -## What are the main benefits of the Scale plan? -The Scale plan provides advanced control over email deliverability through a dedicated IP, detailed performance tracking, and advanced webhook management. It is ideal for businesses with high email-sending volume requirements. - -## What is the difference between a dedicated IP and a shared IP? -A dedicated IP is used exclusively by a single user, allowing for better control over sending reputation. A shared IP is shared among multiple users, which can impact deliverability based on the practices of other senders. - -## What happens if my dedicated IP is blacklisted? -TEM can assist in identifying the problem and recommending corrective actions, but the final resolution depends on your sending practices. Therefore, it is essential to follow [best practices for deliverability](/transactional-email/reference-content/understanding-tem-reputation-score/#best-practices-for-domain-reputation-and-deliverability) to avoid this type of situation. - -## Can I use both a dedicated IP and a shared IP on the same project? -No, a project using a dedicated IP cannot send emails via a shared IP. If you want to use a shared IP, you must create a separate project. - -Refer to the [Understanding managed dedicated IPs](/transactional-email/reference-content/tem-dedicated-ip) documentation page for more information. - -## Does a dedicated IP include both IPv4 and IPv6? -Yes, each dedicated IP provided with the Scale plan includes both an IPv4 and an IPv6 address. This ensures better compatibility with different email providers and optimizes the deliverability of sent emails. - -Refer to the [Understanding managed dedicated IPs](/transactional-email/reference-content/tem-dedicated-ip) documentation page for more information. - -## Can I add a new dedicated IP to my Organization? -If you want to add a new dedicated IP to your Organization, you must create a new Scaleway Project with the Scale plan or contact support to review your request. - -Refer to the [Understanding managed dedicated IPs](/transactional-email/reference-content/tem-dedicated-ip) documentation page for more information. - -## Does Scaleway have an anti-spam policy? -Yes. You can find Scaleway's official Transactional Email anti-spam policy in the [contracts](https://www.scaleway.com/en/contracts/) section of the Scaleway website. \ No newline at end of file diff --git a/faq/vpc.mdx b/faq/vpc.mdx deleted file mode 100644 index aba83479b5..0000000000 --- a/faq/vpc.mdx +++ /dev/null @@ -1,79 +0,0 @@ ---- -meta: - title: VPC FAQ - description: Discover Scaleway VPC and Private Networks. -content: - h1: VPC -dates: - validation: 2024-12-16 -category: network -productIcon: VpcProductIcon ---- - -## VPC basics - -### What is the difference between VPC and a Private Network? - -One default VPC (**V**irtual **P**rivate **C**loud) for every available region is automatically created in each Scaleway [Project](/organizations-and-projects/concepts/#project). A VPC offers layer 3 network isolation. - -Within each VPC, you can create multiple **Private Networks** and attach Scaleway resources to them, as long as the resources are in an AZ within the network's region. Resources attached to a Private Network can then communicate between themselves in an isolated and secure layer 2 network, away from the public internet. VPC routing facilitates communication between resources on the different Private Networks within the VPC. - - - -In the future, VPC will allow you to interconnect your VPC with other networks, define access control lists and more. - -### What happened to my classic, mono-AZ Private Network? - -When VPC and regional Private Networks moved from Public Beta to General Availability, all mono-AZ Private Networks were automatically migrated to be regional. [Read the documentation](/vpc/reference-content/vpc-migration/) to find out more about the migration process. - -### What is a default VPC and why can I not delete it? - -Scaleway currently has three regions: Paris, Amsterdam and Warsaw. One default VPC is automatically created for each region, in each Scaleway [Project](/organizations-and-projects/concepts/#project). Any new Private Networks that you create will be added to the default VPC for their region, unless you override this by specifying a different VPC. - -You cannot delete a default VPC, but you can rename it, and/or create other VPCs and use those rather than the default VPCs, if you prefer. - - -Default VPCs do not prevent you from deleting an otherwise empty Project. - - -### How much does it cost to create a VPC, Private Network or reserved private IP addresses? - -The following resources and features are free of charge: - -- VPCs and VPC routing -- Private Networks (except for [Elastic Metal servers](https://www.scaleway.com/en/pricing/elastic-metal/) and [Apple silicon](https://www.scaleway.com/en/pricing/apple-silicon/)) -- Reserved private IP addresses on IPAM - -### Why can I not delete my Private Network even though it is empty? - -You might have a reserved IP address that is blocking the deletion - check out our [troubleshooting page](/vpc/troubleshooting/cant-delete-vpc-pn/). - -## VPC routing - -### Can I route traffic between different Private Networks on the same VPC? - -Yes, [VPC routing](/vpc/concepts#routing) allows you to automize the routing of traffic between resources in different Private Networks within the same VPC. - -### Can I route traffic between different Private Networks in different VPCs or different Scaleway Projects? - -This is not currently possible. You may consider using a VPN tunnel to achieve this, for example [IPsec](https://en.wikipedia.org/wiki/IPsec) or [WireGuard](https://en.wikipedia.org/wiki/WireGuard). Scaleway also offers an [OpenVPN InstantApp](/tutorials/openvpn-instant-app/), making it easy to install a VPN directly on an Instance. - -### Why can I not route traffic to my Managed Database on another Private Network? - -Managed Databases do not currently support VPC routing - see our [dedicated documentation](/vpc/reference-content/understanding-routing/#limitations) - -## IPAM and IP addressing - -### What is IPAM? - -**IP** **A**ddress **M**anager (IPAM) is Scaleway’s tool for planning, tracking, and managing the IP address space of Scaleway products. It acts as a single source of truth for the IP addresses of Scaleway resources, and has a number of associated functionalities to help manage your Scaleway IPs, such as the ability to reserve an IP on a Private Network and attach it to a specific resource. See our [IPAM FAQ](/faq/ipam/) for more detail. - -### Do resources' IP addresses on a Private Network risk changing when allocated by managed DHCP? - -With Private Networks' inbuilt managed DHCP, a private IP is allocated when the resource is attached to a Private Network, and released only when the resource is detached or deleted. The IP address remains stable across reboots and long power offs, and will not change except upon deletion or detachment from the Private Network. - -Nonetheless, you can also reserve specific IPs from a Private Network's CIDR block, and use these IPs to attach specific resources, if you prefer. See our documentation on [how to reserve IPs](/ipam/how-to/reserve-ip/). - -### How can I attach my VMs on a Proxmox cluster on Elastic Metal to a Private Network? - -We recommend that you use our IPAM product for this purpose. See [how to reserve a private IP address with an attached MAC address](/ipam/how-to/reserve-ip/#how-to-reserve-a-private-ip-address-with-an-attached-mac-address). \ No newline at end of file diff --git a/menu/navigation.json b/menu/navigation.json index 3bf91eb1c3..8c21d3de6b 100644 --- a/menu/navigation.json +++ b/menu/navigation.json @@ -814,6 +814,10 @@ "label": "Quickstart", "slug": "quickstart" }, + { + "label": "FAQ", + "slug": "faq" + }, { "items": [ { @@ -958,6 +962,10 @@ "label": "Quickstart", "slug": "quickstart" }, + { + "label": "FAQ", + "slug": "faq" + }, { "items": [ { diff --git a/faq/assets/scaleway-Billing-FaaS-1-DEF.webp b/pages/billing/assets/scaleway-Billing-FaaS-1-DEF.webp similarity index 100% rename from faq/assets/scaleway-Billing-FaaS-1-DEF.webp rename to pages/billing/assets/scaleway-Billing-FaaS-1-DEF.webp diff --git a/faq/assets/scaleway-Billing-FaaS-2-DEF.webp b/pages/billing/assets/scaleway-Billing-FaaS-2-DEF.webp similarity index 100% rename from faq/assets/scaleway-Billing-FaaS-2-DEF.webp rename to pages/billing/assets/scaleway-Billing-FaaS-2-DEF.webp diff --git a/faq/assets/scaleway-edge-services-pipeline.webp b/pages/edge-services/assets/scaleway-edge-services-pipeline copy.webp similarity index 100% rename from faq/assets/scaleway-edge-services-pipeline.webp rename to pages/edge-services/assets/scaleway-edge-services-pipeline copy.webp diff --git a/faq/assets/scaleway-endpoints-redis.webp b/pages/managed-databases-for-redis/assets/scaleway-endpoints-redis.webp similarity index 100% rename from faq/assets/scaleway-endpoints-redis.webp rename to pages/managed-databases-for-redis/assets/scaleway-endpoints-redis.webp diff --git a/faq/assets/scaleway-redis-cluster.webp b/pages/managed-databases-for-redis/assets/scaleway-redis-cluster.webp similarity index 100% rename from faq/assets/scaleway-redis-cluster.webp rename to pages/managed-databases-for-redis/assets/scaleway-redis-cluster.webp diff --git a/faq/assets/scaleway-redis-node-types.webp b/pages/managed-databases-for-redis/assets/scaleway-redis-node-types.webp similarity index 100% rename from faq/assets/scaleway-redis-node-types.webp rename to pages/managed-databases-for-redis/assets/scaleway-redis-node-types.webp diff --git a/faq/assets/scaleway-redis-standalone.webp b/pages/managed-databases-for-redis/assets/scaleway-redis-standalone.webp similarity index 100% rename from faq/assets/scaleway-redis-standalone.webp rename to pages/managed-databases-for-redis/assets/scaleway-redis-standalone.webp diff --git a/faq/assets/scaleway-schema-redis.webp b/pages/managed-databases-for-redis/assets/scaleway-schema-redis.webp similarity index 100% rename from faq/assets/scaleway-schema-redis.webp rename to pages/managed-databases-for-redis/assets/scaleway-schema-redis.webp diff --git a/faq/assets/scaleway-caas-billing-1.webp b/pages/serverless-containers/assets/scaleway-caas-billing-1.webp similarity index 100% rename from faq/assets/scaleway-caas-billing-1.webp rename to pages/serverless-containers/assets/scaleway-caas-billing-1.webp diff --git a/faq/assets/scaleway-caas-billing-2.webp b/pages/serverless-containers/assets/scaleway-caas-billing-2.webp similarity index 100% rename from faq/assets/scaleway-caas-billing-2.webp rename to pages/serverless-containers/assets/scaleway-caas-billing-2.webp diff --git a/faq/assets/scaleway-vpc-pn-diag.webp b/pages/vpc/assets/scaleway-vpc-pn-diag copy.webp similarity index 100% rename from faq/assets/scaleway-vpc-pn-diag.webp rename to pages/vpc/assets/scaleway-vpc-pn-diag copy.webp diff --git a/pages/vpc/faq.mdx b/pages/vpc/faq.mdx index f5f7687375..fda447e8c3 100644 --- a/pages/vpc/faq.mdx +++ b/pages/vpc/faq.mdx @@ -1,26 +1,96 @@ --- meta: - title: Private Networks FAQ - description: Discover Scaleway Private Networks, and find answers to all your questions about attaching resources, how IP addressing works, and other configuration details. + title: VPC FAQ + description: Discover Scaleway VPC and Private Networks. content: - h1: Private Networks + h1: VPC dates: - validation: 2024-09-25 + validation: 2024-12-16 category: network -productIcon: PrivateNetworkProductIcon +productIcon: VpcProductIcon --- -## What are Private Networks? +## VPC basics + +### What is the difference between VPC and a Private Network? + +One default VPC (**V**irtual **P**rivate **C**loud) for every available region is automatically created in each Scaleway [Project](/organizations-and-projects/concepts/#project). A VPC offers layer 3 network isolation. + +Within each VPC, you can create multiple **Private Networks** and attach Scaleway resources to them, as long as the resources are in an AZ within the network's region. Resources attached to a Private Network can then communicate between themselves in an isolated and secure layer 2 network, away from the public internet. VPC routing facilitates communication between resources on the different Private Networks within the VPC. + + + +In the future, VPC will allow you to interconnect your VPC with other networks, define access control lists and more. + +### What happened to my classic, mono-AZ Private Network? + +When VPC and regional Private Networks moved from Public Beta to General Availability, all mono-AZ Private Networks were automatically migrated to be regional. [Read the documentation](/vpc/reference-content/vpc-migration/) to find out more about the migration process. + +### What is a default VPC and why can I not delete it? + +Scaleway currently has three regions: Paris, Amsterdam and Warsaw. One default VPC is automatically created for each region, in each Scaleway [Project](/organizations-and-projects/concepts/#project). Any new Private Networks that you create will be added to the default VPC for their region, unless you override this by specifying a different VPC. + +You cannot delete a default VPC, but you can rename it, and/or create other VPCs and use those rather than the default VPCs, if you prefer. + + +Default VPCs do not prevent you from deleting an otherwise empty Project. + + +### How much does it cost to create a VPC, Private Network or reserved private IP addresses? + +The following resources and features are free of charge: + +- VPCs and VPC routing +- Private Networks (except for [Elastic Metal servers](https://www.scaleway.com/en/pricing/elastic-metal/) and [Apple silicon](https://www.scaleway.com/en/pricing/apple-silicon/)) +- Reserved private IP addresses on IPAM + +### Why can I not delete my Private Network even though it is empty? + +You might have a reserved IP address that is blocking the deletion - check out our [troubleshooting page](/vpc/troubleshooting/cant-delete-vpc-pn/). + +## VPC routing + +### Can I route traffic between different Private Networks on the same VPC? + +Yes, [VPC routing](/vpc/concepts#routing) allows you to automize the routing of traffic between resources in different Private Networks within the same VPC. + +### Can I route traffic between different Private Networks in different VPCs or different Scaleway Projects? + +This is not currently possible. You may consider using a VPN tunnel to achieve this, for example [IPsec](https://en.wikipedia.org/wiki/IPsec) or [WireGuard](https://en.wikipedia.org/wiki/WireGuard). Scaleway also offers an [OpenVPN InstantApp](/tutorials/openvpn-instant-app/), making it easy to install a VPN directly on an Instance. + +### Why can I not route traffic to my Managed Database on another Private Network? + +Managed Databases do not currently support VPC routing - see our [dedicated documentation](/vpc/reference-content/understanding-routing/#limitations) + +## IPAM and IP addressing + +### What is IPAM? + +**IP** **A**ddress **M**anager (IPAM) is Scaleway’s tool for planning, tracking, and managing the IP address space of Scaleway products. It acts as a single source of truth for the IP addresses of Scaleway resources, and has a number of associated functionalities to help manage your Scaleway IPs, such as the ability to reserve an IP on a Private Network and attach it to a specific resource. See our [IPAM FAQ](/faq/ipam/) for more detail. + +### Do resources' IP addresses on a Private Network risk changing when allocated by managed DHCP? + +With Private Networks' inbuilt managed DHCP, a private IP is allocated when the resource is attached to a Private Network, and released only when the resource is detached or deleted. The IP address remains stable across reboots and long power offs, and will not change except upon deletion or detachment from the Private Network. + +Nonetheless, you can also reserve specific IPs from a Private Network's CIDR block, and use these IPs to attach specific resources, if you prefer. See our documentation on [how to reserve IPs](/ipam/how-to/reserve-ip/). + +### How can I attach my VMs on a Proxmox cluster on Elastic Metal to a Private Network? + +We recommend that you use our IPAM product for this purpose. See [how to reserve a private IP address with an attached MAC address](/ipam/how-to/reserve-ip/#how-to-reserve-a-private-ip-address-with-an-attached-mac-address). + +## Private Networks + +### What are Private Networks? Private Networks are a managed cloud service allowing you to create layer 2 ethernet-switched domains. These domains can also be called virtual LAN (VLAN). They are virtual but completely private local networks that securely connect your Scaleway resources without necessarily exposing them publicly. Scaleway resources including Instances, Elastic Metal servers, Load Balancers, and Databases are all compatible with Private Networks. -## What's the difference between Private Networks and VPC? +### What's the difference between Private Networks and VPC? Scaleway VPC offers layer 3 network isolation, while layer 2 Private Networks are created inside a given VPC. See the VPC FAQ for [more information](/faq/vpc/). -## Can I connect multiple Private Networks to the same Scaleway resource? +### Can I connect multiple Private Networks to the same Scaleway resource? Yes, you can configure multiple Private Networks on the same Scaleway resource. For example, you can connect up to 8 Private Networks to the same Instance. A virtual network interface is created for each Private Network the Instance is attached to. For Elastic Metal, some additional configuration is required: check out our documentation on [configuring the network interface](/elastic-metal/how-to/use-private-networks/#how-to-configure-the-network-interface-on-your-elastic-metal-server-for-private-networks). @@ -29,28 +99,28 @@ You can configure: - Up to 255 Private Networks per Organization - Up to 512 Scaleway resources per Private Network -## Do I have to restart a Scaleway resource after adding Private Networks? +### Do I have to restart a Scaleway resource after adding Private Networks? No, Private Network interfaces will appear on your resources without any reboot. -## Does Private Network support IPv6? +### Does Private Network support IPv6? Yes, when you create a Private Network both an IPv4 and an IPv6 CIDR block are defined. The IPv6 CIDR block is defined automatically and "invisibly" by default at the time of creating the Private Network. It cannot be modified either at the time of creation, or afterward. It is a `/64 block`, guaranteed to be unique within the VPC and not overlapping with any of your other Private Networks. Resources that support private IPv6 addressing, e.g. Instances, can then acquire an IPv6 address when they join the Private Network. -## Do resources in a Private Network require a public IPv4 address? +### Do resources in a Private Network require a public IPv4 address? No, they do not require a public IPv4 address. -## Can resources in a Private Network access the internet without a public IPv4 address? +### Can resources in a Private Network access the internet without a public IPv4 address? Yes. You can attach a [Public Gateway](/public-gateways/how-to/create-a-public-gateway/) to your Private Network to provide internet access to your Instances, Elastic Metal servers, and other attached Scaleway resources. -## Do non-IP protocols work over Private Networks? +### Do non-IP protocols work over Private Networks? Technically, any ethernet payload should work over Private Networks. However, only IPv4 and IPv6 are officially supported. If you have real use cases for other protocols, let us know by reaching us on the [Scaleway Community Slack](https://scaleway-community.slack.com/). -## Do Private Networks support IP autoconfiguration? +### Do Private Networks support IP autoconfiguration? Yes, DHCP is an inbuilt function of Private Networks and provides IP autoconfiguration for your attached resources. Alternatively, you can use Scaleway IPAM to [reserve specific IP addresses](/ipam/how-to/reserve-ip/) on a Private Network and use these to attach resources. \ No newline at end of file From 9fe49ba9ccafbd4d757cc16b3473249e789de2cb Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 14:30:44 +0100 Subject: [PATCH 03/14] fix(faq): fix typo --- faq/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/index.mdx b/faq/index.mdx index 934049da4e..b281c42a1a 100644 --- a/faq/index.mdx +++ b/faq/index.mdx @@ -57,7 +57,7 @@ content: url="/storage/troubleshooting/" label="Cockpit" /> - + ## Environmentatal Footprint From 5032b07c0992cd945684721c5c8412b9c699cdcb Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 14:46:24 +0100 Subject: [PATCH 04/14] fix(faq): fix formatting --- faq/index.mdx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/faq/index.mdx b/faq/index.mdx index b281c42a1a..365e8b3279 100644 --- a/faq/index.mdx +++ b/faq/index.mdx @@ -1,3 +1,4 @@ + --- meta: title: Frequently Asked Questions @@ -104,7 +105,7 @@ content: label="Dedibox in the Scaleway console FAQ" /> - - - - - \ No newline at end of file + From 9226dbca6942229c6564fa07cdeb1b03b514fd46 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 14:58:25 +0100 Subject: [PATCH 05/14] feat(faq): add faq to h1 --- pages/account/faq.mdx | 2 +- pages/apple-silicon/faq.mdx | 2 +- pages/audit-trail/faq.mdx | 2 +- pages/billing/faq.mdx | 2 +- pages/block-storage/faq.mdx | 2 +- pages/cockpit/faq.mdx | 2 +- pages/container-registry/faq.mdx | 2 +- pages/data-lab/faq.mdx | 2 +- pages/dedibox-scaleway/faq.mdx | 2 +- pages/dedibox/faq.mdx | 2 +- pages/domains-and-dns/faq.mdx | 2 +- pages/edge-services/faq.mdx | 2 +- pages/elastic-metal/faq.mdx | 2 +- pages/environmental-footprint/faq.mdx | 2 +- pages/generative-apis/faq.mdx | 2 +- pages/iam/faq.mdx | 2 +- pages/instances/faq.mdx | 2 +- pages/iot-hub/faq.mdx | 2 +- pages/ipam/faq.mdx | 2 +- pages/key-manager/faq.mdx | 2 +- pages/kubernetes/faq.mdx | 2 +- pages/load-balancer/faq.mdx | 2 +- pages/managed-databases-for-postgresql-and-mysql/faq.mdx | 2 +- pages/managed-databases-for-redis/faq.mdx | 2 +- pages/managed-inference/faq.mdx | 2 +- pages/messaging/faq.mdx | 2 +- pages/object-storage/faq.mdx | 2 +- pages/public-gateways/faq.mdx | 2 +- pages/secret-manager/faq.mdx | 2 +- pages/serverless-containers/faq.mdx | 2 +- pages/serverless-functions/faq.mdx | 2 +- pages/serverless-jobs/faq.mdx | 2 +- pages/serverless-sql-databases/faq.mdx | 2 +- pages/transactional-email/faq.mdx | 2 +- pages/vpc/faq.mdx | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/pages/account/faq.mdx b/pages/account/faq.mdx index 55ace8ecd5..d699b28563 100644 --- a/pages/account/faq.mdx +++ b/pages/account/faq.mdx @@ -3,7 +3,7 @@ meta: title: Account FAQ description: Get answers to your most common account-related questions. content: - h1: Account +h1: Account FAQ dates: validation: 2025-03-11 category: console diff --git a/pages/apple-silicon/faq.mdx b/pages/apple-silicon/faq.mdx index ce9c06866a..1b4552ee4e 100644 --- a/pages/apple-silicon/faq.mdx +++ b/pages/apple-silicon/faq.mdx @@ -3,7 +3,7 @@ meta: title: Apple silicon FAQ description: Discover how to use Apple silicon for application development. content: - h1: Apple silicon +h1: Apple silicon FAQ dates: validation: 2025-03-11 category: bare-metal diff --git a/pages/audit-trail/faq.mdx b/pages/audit-trail/faq.mdx index ae417e336a..3bc5679241 100644 --- a/pages/audit-trail/faq.mdx +++ b/pages/audit-trail/faq.mdx @@ -3,7 +3,7 @@ meta: title: Audit Trail FAQ description: Get answers on using Scaleway's Audit Trail to monitor events, enhance security, and track activities across your resources content: - h1: Audit Trail +h1: Audit Trail FAQ productIcon: AuditTrailProductIcon dates: validation: 2024-11-28 diff --git a/pages/billing/faq.mdx b/pages/billing/faq.mdx index 045b18efce..560ccc6cef 100644 --- a/pages/billing/faq.mdx +++ b/pages/billing/faq.mdx @@ -3,7 +3,7 @@ meta: title: Billing FAQ description: Discover billing methods, plans, and pricing for Scaleway products. Learn about invoicing details, billing events, pro-rata billing, invoice statuses, payment methods, and managing your billing efficiently. content: - h1: Billing +h1: Billing FAQ dates: validation: 2025-02-17 category: console diff --git a/pages/block-storage/faq.mdx b/pages/block-storage/faq.mdx index b761f97d34..60075f1312 100644 --- a/pages/block-storage/faq.mdx +++ b/pages/block-storage/faq.mdx @@ -3,7 +3,7 @@ meta: title: Block Storage FAQ description: Explore Scaleway Block Storage with our comprehensive FAQ covering performance, persistence, and more. Learn how Block Storage compares to Local Storage and its compatibility with Scaleway resources. content: - h1: Block Storage +h1: Block Storage FAQ dates: validation: 2025-03-03 category: storage diff --git a/pages/cockpit/faq.mdx b/pages/cockpit/faq.mdx index fc1c6b1deb..802f3242f6 100644 --- a/pages/cockpit/faq.mdx +++ b/pages/cockpit/faq.mdx @@ -3,7 +3,7 @@ meta: title: Cockpit FAQ description: Discover Scaleway's Cockpit content: - h1: Cockpit +h1: Cockpit FAQ dates: validation: 2024-11-25 category: observability diff --git a/pages/container-registry/faq.mdx b/pages/container-registry/faq.mdx index 00cdacd7ae..1fe30d2a44 100644 --- a/pages/container-registry/faq.mdx +++ b/pages/container-registry/faq.mdx @@ -3,7 +3,7 @@ meta: title: Container Registry FAQ description: Discover Scaleway Container Registry. content: - h1: Container Registry +h1: Container Registry FAQ dates: validation: 2025-02-11 category: containers diff --git a/pages/data-lab/faq.mdx b/pages/data-lab/faq.mdx index deed008c88..8eaddb182a 100644 --- a/pages/data-lab/faq.mdx +++ b/pages/data-lab/faq.mdx @@ -3,7 +3,7 @@ meta: title: Distributed Data Lab FAQ description: Discover Scaleway Distributed Data Lab powered by Apache Spark, and how to use it. content: - h1: Distributed Data Lab +h1: Distributed Data Lab FAQ dates: validation: 2025-02-18 category: managed-services diff --git a/pages/dedibox-scaleway/faq.mdx b/pages/dedibox-scaleway/faq.mdx index 47e9aa4cd2..6a89dc6610 100644 --- a/pages/dedibox-scaleway/faq.mdx +++ b/pages/dedibox-scaleway/faq.mdx @@ -3,7 +3,7 @@ meta: title: Dedibox in the Scaleway console FAQ description: Discover how to link your Dedibox servers to your Scaleway account. content: - h1: Dedibox in the Scaleway console +h1: Dedibox in the Scaleway console FAQ dates: validation: 2024-12-19 category: bare-metal diff --git a/pages/dedibox/faq.mdx b/pages/dedibox/faq.mdx index ab1a0fca40..1db6d1b4e9 100644 --- a/pages/dedibox/faq.mdx +++ b/pages/dedibox/faq.mdx @@ -3,7 +3,7 @@ meta: title: Dedibox FAQ description: Discover Scaleway Dedibox dedicated servers. content: - h1: Dedibox +h1: Dedibox FAQ dates: validation: 2025-03-03 category: bare-metal diff --git a/pages/domains-and-dns/faq.mdx b/pages/domains-and-dns/faq.mdx index 4116116c3d..54acf33456 100644 --- a/pages/domains-and-dns/faq.mdx +++ b/pages/domains-and-dns/faq.mdx @@ -3,7 +3,7 @@ meta: title: Domains and DNS FAQ description: From understanding DNS features to managing domain ownership, explore everything you need to know about domains and DNS zones with Domains and DNS. content: - h1: Domains and DNS +h1: Domains and DNS FAQ tags: dns domain transfer extension dates: validation: 2024-12-19 diff --git a/pages/edge-services/faq.mdx b/pages/edge-services/faq.mdx index 1848c47200..9085b2ae4a 100644 --- a/pages/edge-services/faq.mdx +++ b/pages/edge-services/faq.mdx @@ -3,7 +3,7 @@ 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 +h1: Edge Services FAQ dates: validation: 2025-02-04 category: network diff --git a/pages/elastic-metal/faq.mdx b/pages/elastic-metal/faq.mdx index 425b3d9013..ce52def521 100644 --- a/pages/elastic-metal/faq.mdx +++ b/pages/elastic-metal/faq.mdx @@ -3,7 +3,7 @@ meta: title: Elastic Metal FAQ description: Explore Scaleway Elastic Metal servers, pioneering 100% cloud bare metal solutions. Learn about billing, server ranges, installation guides, and more. content: - h1: Elastic Metal +h1: Elastic Metal FAQ hero: assets/elasticmetal.webp dates: validation: 2024-12-19 diff --git a/pages/environmental-footprint/faq.mdx b/pages/environmental-footprint/faq.mdx index ba1fe07ad3..c56744c7dd 100644 --- a/pages/environmental-footprint/faq.mdx +++ b/pages/environmental-footprint/faq.mdx @@ -3,7 +3,7 @@ meta: title: Environmental Footprint FAQ description: Get answers to the most frequently asked questions about Scaleway Environmental Footprint calculator. content: - h1: Environmental Footprint +h1: Environmental Footprint FAQ dates: validation: 2025-01-29 category: environmental-footprint diff --git a/pages/generative-apis/faq.mdx b/pages/generative-apis/faq.mdx index c24f8ff94f..4c4f8eca5c 100644 --- a/pages/generative-apis/faq.mdx +++ b/pages/generative-apis/faq.mdx @@ -3,7 +3,7 @@ meta: title: Generative APIs FAQ description: Get answers to the most frequently asked questions about Scaleway Generative APIs. content: - h1: Generative APIs +h1: Generative APIs FAQ dates: validation: 2025-02-12 category: ai-data diff --git a/pages/iam/faq.mdx b/pages/iam/faq.mdx index 1ac9f59bf7..afb4ed03b5 100644 --- a/pages/iam/faq.mdx +++ b/pages/iam/faq.mdx @@ -3,7 +3,7 @@ meta: title: Identity and Access Management FAQ description: Discover Scaleway's Identity and Access Management system. content: - h1: Identity and Access Management +h1: Identity and Access Management FAQ dates: validation: 2024-09-24 category: identity-and-access-management diff --git a/pages/instances/faq.mdx b/pages/instances/faq.mdx index 1c88aa53be..06754d6d88 100644 --- a/pages/instances/faq.mdx +++ b/pages/instances/faq.mdx @@ -3,7 +3,7 @@ meta: title: Instances FAQ description: Discover Scaleway Instances and learn the difference between images and snapshots. content: - h1: Instances +h1: Instances FAQ tags: instances, pricing, scaleway dates: validation: 2024-09-16 diff --git a/pages/iot-hub/faq.mdx b/pages/iot-hub/faq.mdx index b1c4e5ee79..e3f5830436 100644 --- a/pages/iot-hub/faq.mdx +++ b/pages/iot-hub/faq.mdx @@ -3,7 +3,7 @@ meta: title: IoT Hub FAQ description: Discover IoT Hub. content: - h1: IoT Hub +h1: IoT Hub FAQ dates: validation: 2024-09-19 category: managed-services diff --git a/pages/ipam/faq.mdx b/pages/ipam/faq.mdx index dc9f54b74f..3070d2f4ad 100644 --- a/pages/ipam/faq.mdx +++ b/pages/ipam/faq.mdx @@ -3,7 +3,7 @@ meta: title: IPAM description: Discover Scaleway IPAM. content: - h1: IPAM +h1: IPAM FAQ dates: validation: 2024-03-12 category: network diff --git a/pages/key-manager/faq.mdx b/pages/key-manager/faq.mdx index 2f07b96fa6..c4181dd6ba 100644 --- a/pages/key-manager/faq.mdx +++ b/pages/key-manager/faq.mdx @@ -3,7 +3,7 @@ meta: title: Key Manager FAQ description: Explore Scaleway Key Manager with our comprehensive FAQ covering security, key types, and more. content: - h1: Key Manager +h1: Key Manager FAQ dates: validation: 2025-02-06 category: identity-and-access-management diff --git a/pages/kubernetes/faq.mdx b/pages/kubernetes/faq.mdx index d487230db6..5cf91274e9 100644 --- a/pages/kubernetes/faq.mdx +++ b/pages/kubernetes/faq.mdx @@ -3,7 +3,7 @@ meta: title: Kubernetes FAQ description: Discover Scaleway Kubernetes Kapsule and Kosmos - a managed Kubernetes service. content: - h1: Kubernetes +h1: Kubernetes FAQ dates: validation: 2024-09-16 category: containers diff --git a/pages/load-balancer/faq.mdx b/pages/load-balancer/faq.mdx index 084cb38e57..8a35b0a5a0 100644 --- a/pages/load-balancer/faq.mdx +++ b/pages/load-balancer/faq.mdx @@ -3,7 +3,7 @@ meta: title: Load Balancer FAQ description: Discover Scaleway Load Balancer and find the answers to all your questions about flexible IP addresses, IPv6, multi-cloud offers and more. content: - h1: Load Balancer +h1: Load Balancer FAQ dates: validation: 2024-09-25 category: network diff --git a/pages/managed-databases-for-postgresql-and-mysql/faq.mdx b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx index 7cc22eef42..aab2f70406 100644 --- a/pages/managed-databases-for-postgresql-and-mysql/faq.mdx +++ b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx @@ -3,7 +3,7 @@ meta: title: Managed Database for PostgreSQL and MySQL FAQ description: Discover Scaleway Managed Databases and how to access them for PostgreSQL and MySQL. content: - h1: Managed Database for PostgreSQL and MySQL +h1: Managed Database for PostgreSQL and MySQL FAQ dates: validation: 2025-01-29 category: managed-databases diff --git a/pages/managed-databases-for-redis/faq.mdx b/pages/managed-databases-for-redis/faq.mdx index a173722fda..cbfc53ec92 100644 --- a/pages/managed-databases-for-redis/faq.mdx +++ b/pages/managed-databases-for-redis/faq.mdx @@ -3,7 +3,7 @@ meta: title: Managed Database for Redis™ FAQ description: Discover Scaleway Managed Databases and how to access it for Redis™. content: - h1: Managed Database for Redis™ +h1: Managed Database for Redis™ FAQ dates: validation: 2025-02-11 category: managed-databases diff --git a/pages/managed-inference/faq.mdx b/pages/managed-inference/faq.mdx index 03594e72ba..84e1ee623d 100644 --- a/pages/managed-inference/faq.mdx +++ b/pages/managed-inference/faq.mdx @@ -4,7 +4,7 @@ meta: title: Managed Inference FAQ description: Get answers to the most frequently asked questions about Scaleway Managed Inference. content: - h1: Managed Inference +h1: Managed Inference FAQ dates: validation: 2025-02-12 category: ai-data diff --git a/pages/messaging/faq.mdx b/pages/messaging/faq.mdx index ac227136be..27955b0459 100644 --- a/pages/messaging/faq.mdx +++ b/pages/messaging/faq.mdx @@ -3,7 +3,7 @@ meta: title: NATS, Queues, and Topics and Events FAQ description: Discover Scaleway NATS, Queues, and Topics and Events, and get answers to common questions about the different protocols available, compatibility with various services, and billing. content: - h1: Messaging and Queuing +h1: Messaging and Queuing FAQ dates: validation: 2024-12-04 category: serverless diff --git a/pages/object-storage/faq.mdx b/pages/object-storage/faq.mdx index 111cecaff8..e713255612 100644 --- a/pages/object-storage/faq.mdx +++ b/pages/object-storage/faq.mdx @@ -3,7 +3,7 @@ meta: title: Object Storage FAQ description: Discover Scaleway Object Storage. content: - h1: Object Storage +h1: Object Storage FAQ tags: storage cdn object-storage dates: validation: 2024-09-23 diff --git a/pages/public-gateways/faq.mdx b/pages/public-gateways/faq.mdx index d426af6ecc..40dea150b8 100644 --- a/pages/public-gateways/faq.mdx +++ b/pages/public-gateways/faq.mdx @@ -3,7 +3,7 @@ meta: title: Public Gateways FAQ description: Discover Scaleway Public Gateways and get answers to all your questions about IP addressing, bandwidth, regionalization and more. content: - h1: Public Gateways +h1: Public Gateways FAQ dates: validation: 2024-09-25 category: network diff --git a/pages/secret-manager/faq.mdx b/pages/secret-manager/faq.mdx index eb958957a7..e2abdef94e 100644 --- a/pages/secret-manager/faq.mdx +++ b/pages/secret-manager/faq.mdx @@ -3,7 +3,7 @@ meta: title: Secret Manager FAQ description: Explore Scaleway Secret Manager with our comprehensive FAQ covering security, secret types, and more. content: - h1: Secret Manager +h1: Secret Manager FAQ dates: validation: 2024-09-23 category: identity-and-access-management diff --git a/pages/serverless-containers/faq.mdx b/pages/serverless-containers/faq.mdx index 33b885af57..65b5a2f634 100644 --- a/pages/serverless-containers/faq.mdx +++ b/pages/serverless-containers/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Containers FAQ description: Discover Serverless Containers and Serverless architecture. content: - h1: Serverless Containers +h1: Serverless Containers FAQ dates: validation: 2024-09-24 category: serverless diff --git a/pages/serverless-functions/faq.mdx b/pages/serverless-functions/faq.mdx index 724883638c..5de1fbd5f3 100644 --- a/pages/serverless-functions/faq.mdx +++ b/pages/serverless-functions/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Functions FAQ description: Discover Serverless Functions and Serverless architecture. content: - h1: Serverless Functions +h1: Serverless Functions FAQ dates: validation: 2024-10-03 category: serverless diff --git a/pages/serverless-jobs/faq.mdx b/pages/serverless-jobs/faq.mdx index 7b8d7795e2..ac6ea74498 100644 --- a/pages/serverless-jobs/faq.mdx +++ b/pages/serverless-jobs/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Jobs FAQ description: Discover Scaleway's Serverless Jobs content: - h1: Serverless Jobs +h1: Serverless Jobs FAQ dates: validation: 2024-10-03 category: serverless diff --git a/pages/serverless-sql-databases/faq.mdx b/pages/serverless-sql-databases/faq.mdx index b58f70b129..3459f5dc94 100644 --- a/pages/serverless-sql-databases/faq.mdx +++ b/pages/serverless-sql-databases/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless SQL Databases FAQ description: Discover Scaleway's Serverless SQL Databases content: - h1: Serverless SQL Databases +h1: Serverless SQL Databases FAQ dates: validation: 2024-10-10 category: serverless diff --git a/pages/transactional-email/faq.mdx b/pages/transactional-email/faq.mdx index 16769de0b5..70ba6bc141 100644 --- a/pages/transactional-email/faq.mdx +++ b/pages/transactional-email/faq.mdx @@ -3,7 +3,7 @@ meta: title: Transactional Email FAQ description: Discover Scaleway's Transactional Email content: - h1: Transactional Email +h1: Transactional Email FAQ paragraph: Discover Scaleway's Transactional Email dates: validation: 2024-10-01 diff --git a/pages/vpc/faq.mdx b/pages/vpc/faq.mdx index fda447e8c3..26b6549766 100644 --- a/pages/vpc/faq.mdx +++ b/pages/vpc/faq.mdx @@ -3,7 +3,7 @@ meta: title: VPC FAQ description: Discover Scaleway VPC and Private Networks. content: - h1: VPC +h1: VPC FAQ dates: validation: 2024-12-16 category: network From 7074928af031337447cc9b436fff1ca516c2ddc1 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 15:04:05 +0100 Subject: [PATCH 06/14] fix(faq): fix typo --- pages/account/faq.mdx | 2 +- pages/apple-silicon/faq.mdx | 2 +- pages/audit-trail/faq.mdx | 2 +- pages/billing/faq.mdx | 2 +- pages/block-storage/faq.mdx | 2 +- pages/cockpit/faq.mdx | 2 +- pages/container-registry/faq.mdx | 2 +- pages/data-lab/faq.mdx | 2 +- pages/dedibox-scaleway/faq.mdx | 2 +- pages/dedibox/faq.mdx | 2 +- pages/domains-and-dns/faq.mdx | 2 +- pages/edge-services/faq.mdx | 2 +- pages/elastic-metal/faq.mdx | 2 +- pages/environmental-footprint/faq.mdx | 2 +- pages/generative-apis/faq.mdx | 2 +- pages/iam/faq.mdx | 2 +- pages/instances/faq.mdx | 2 +- pages/iot-hub/faq.mdx | 2 +- pages/ipam/faq.mdx | 2 +- pages/key-manager/faq.mdx | 2 +- pages/kubernetes/faq.mdx | 2 +- pages/load-balancer/faq.mdx | 2 +- pages/managed-databases-for-postgresql-and-mysql/faq.mdx | 2 +- pages/managed-databases-for-redis/faq.mdx | 2 +- pages/managed-inference/faq.mdx | 2 +- pages/messaging/faq.mdx | 2 +- pages/object-storage/faq.mdx | 2 +- pages/public-gateways/faq.mdx | 2 +- pages/secret-manager/faq.mdx | 2 +- pages/serverless-containers/faq.mdx | 2 +- pages/serverless-functions/faq.mdx | 2 +- pages/serverless-jobs/faq.mdx | 2 +- pages/serverless-sql-databases/faq.mdx | 2 +- pages/transactional-email/faq.mdx | 2 +- pages/vpc/faq.mdx | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/pages/account/faq.mdx b/pages/account/faq.mdx index d699b28563..0951108d69 100644 --- a/pages/account/faq.mdx +++ b/pages/account/faq.mdx @@ -3,7 +3,7 @@ meta: title: Account FAQ description: Get answers to your most common account-related questions. content: -h1: Account FAQ + h1: Account FAQ dates: validation: 2025-03-11 category: console diff --git a/pages/apple-silicon/faq.mdx b/pages/apple-silicon/faq.mdx index 1b4552ee4e..30bd1df30c 100644 --- a/pages/apple-silicon/faq.mdx +++ b/pages/apple-silicon/faq.mdx @@ -3,7 +3,7 @@ meta: title: Apple silicon FAQ description: Discover how to use Apple silicon for application development. content: -h1: Apple silicon FAQ + h1: Apple silicon FAQ dates: validation: 2025-03-11 category: bare-metal diff --git a/pages/audit-trail/faq.mdx b/pages/audit-trail/faq.mdx index 3bc5679241..ae6e851159 100644 --- a/pages/audit-trail/faq.mdx +++ b/pages/audit-trail/faq.mdx @@ -3,7 +3,7 @@ meta: title: Audit Trail FAQ description: Get answers on using Scaleway's Audit Trail to monitor events, enhance security, and track activities across your resources content: -h1: Audit Trail FAQ + h1: Audit Trail FAQ productIcon: AuditTrailProductIcon dates: validation: 2024-11-28 diff --git a/pages/billing/faq.mdx b/pages/billing/faq.mdx index 560ccc6cef..1df61ddea4 100644 --- a/pages/billing/faq.mdx +++ b/pages/billing/faq.mdx @@ -3,7 +3,7 @@ meta: title: Billing FAQ description: Discover billing methods, plans, and pricing for Scaleway products. Learn about invoicing details, billing events, pro-rata billing, invoice statuses, payment methods, and managing your billing efficiently. content: -h1: Billing FAQ + h1: Billing FAQ dates: validation: 2025-02-17 category: console diff --git a/pages/block-storage/faq.mdx b/pages/block-storage/faq.mdx index 60075f1312..4ae4fff4b4 100644 --- a/pages/block-storage/faq.mdx +++ b/pages/block-storage/faq.mdx @@ -3,7 +3,7 @@ meta: title: Block Storage FAQ description: Explore Scaleway Block Storage with our comprehensive FAQ covering performance, persistence, and more. Learn how Block Storage compares to Local Storage and its compatibility with Scaleway resources. content: -h1: Block Storage FAQ + h1: Block Storage FAQ dates: validation: 2025-03-03 category: storage diff --git a/pages/cockpit/faq.mdx b/pages/cockpit/faq.mdx index 802f3242f6..8492dfa769 100644 --- a/pages/cockpit/faq.mdx +++ b/pages/cockpit/faq.mdx @@ -3,7 +3,7 @@ meta: title: Cockpit FAQ description: Discover Scaleway's Cockpit content: -h1: Cockpit FAQ + h1: Cockpit FAQ dates: validation: 2024-11-25 category: observability diff --git a/pages/container-registry/faq.mdx b/pages/container-registry/faq.mdx index 1fe30d2a44..058298c9d9 100644 --- a/pages/container-registry/faq.mdx +++ b/pages/container-registry/faq.mdx @@ -3,7 +3,7 @@ meta: title: Container Registry FAQ description: Discover Scaleway Container Registry. content: -h1: Container Registry FAQ + h1: Container Registry FAQ dates: validation: 2025-02-11 category: containers diff --git a/pages/data-lab/faq.mdx b/pages/data-lab/faq.mdx index 8eaddb182a..5c3fbb86e6 100644 --- a/pages/data-lab/faq.mdx +++ b/pages/data-lab/faq.mdx @@ -3,7 +3,7 @@ meta: title: Distributed Data Lab FAQ description: Discover Scaleway Distributed Data Lab powered by Apache Spark, and how to use it. content: -h1: Distributed Data Lab FAQ + h1: Distributed Data Lab FAQ dates: validation: 2025-02-18 category: managed-services diff --git a/pages/dedibox-scaleway/faq.mdx b/pages/dedibox-scaleway/faq.mdx index 6a89dc6610..cc03c1854a 100644 --- a/pages/dedibox-scaleway/faq.mdx +++ b/pages/dedibox-scaleway/faq.mdx @@ -3,7 +3,7 @@ meta: title: Dedibox in the Scaleway console FAQ description: Discover how to link your Dedibox servers to your Scaleway account. content: -h1: Dedibox in the Scaleway console FAQ + h1: Dedibox in the Scaleway console FAQ dates: validation: 2024-12-19 category: bare-metal diff --git a/pages/dedibox/faq.mdx b/pages/dedibox/faq.mdx index 1db6d1b4e9..af5dcd6a4e 100644 --- a/pages/dedibox/faq.mdx +++ b/pages/dedibox/faq.mdx @@ -3,7 +3,7 @@ meta: title: Dedibox FAQ description: Discover Scaleway Dedibox dedicated servers. content: -h1: Dedibox FAQ + h1: Dedibox FAQ dates: validation: 2025-03-03 category: bare-metal diff --git a/pages/domains-and-dns/faq.mdx b/pages/domains-and-dns/faq.mdx index 54acf33456..2c04e5c7ae 100644 --- a/pages/domains-and-dns/faq.mdx +++ b/pages/domains-and-dns/faq.mdx @@ -3,7 +3,7 @@ meta: title: Domains and DNS FAQ description: From understanding DNS features to managing domain ownership, explore everything you need to know about domains and DNS zones with Domains and DNS. content: -h1: Domains and DNS FAQ + h1: Domains and DNS FAQ tags: dns domain transfer extension dates: validation: 2024-12-19 diff --git a/pages/edge-services/faq.mdx b/pages/edge-services/faq.mdx index 9085b2ae4a..045e51fb6a 100644 --- a/pages/edge-services/faq.mdx +++ b/pages/edge-services/faq.mdx @@ -3,7 +3,7 @@ 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 FAQ + h1: Edge Services FAQ dates: validation: 2025-02-04 category: network diff --git a/pages/elastic-metal/faq.mdx b/pages/elastic-metal/faq.mdx index ce52def521..27eea08810 100644 --- a/pages/elastic-metal/faq.mdx +++ b/pages/elastic-metal/faq.mdx @@ -3,7 +3,7 @@ meta: title: Elastic Metal FAQ description: Explore Scaleway Elastic Metal servers, pioneering 100% cloud bare metal solutions. Learn about billing, server ranges, installation guides, and more. content: -h1: Elastic Metal FAQ + h1: Elastic Metal FAQ hero: assets/elasticmetal.webp dates: validation: 2024-12-19 diff --git a/pages/environmental-footprint/faq.mdx b/pages/environmental-footprint/faq.mdx index c56744c7dd..132d0dbfb2 100644 --- a/pages/environmental-footprint/faq.mdx +++ b/pages/environmental-footprint/faq.mdx @@ -3,7 +3,7 @@ meta: title: Environmental Footprint FAQ description: Get answers to the most frequently asked questions about Scaleway Environmental Footprint calculator. content: -h1: Environmental Footprint FAQ + h1: Environmental Footprint FAQ dates: validation: 2025-01-29 category: environmental-footprint diff --git a/pages/generative-apis/faq.mdx b/pages/generative-apis/faq.mdx index 4c4f8eca5c..fb6f2ee36e 100644 --- a/pages/generative-apis/faq.mdx +++ b/pages/generative-apis/faq.mdx @@ -3,7 +3,7 @@ meta: title: Generative APIs FAQ description: Get answers to the most frequently asked questions about Scaleway Generative APIs. content: -h1: Generative APIs FAQ + h1: Generative APIs FAQ dates: validation: 2025-02-12 category: ai-data diff --git a/pages/iam/faq.mdx b/pages/iam/faq.mdx index afb4ed03b5..d06f0ae08e 100644 --- a/pages/iam/faq.mdx +++ b/pages/iam/faq.mdx @@ -3,7 +3,7 @@ meta: title: Identity and Access Management FAQ description: Discover Scaleway's Identity and Access Management system. content: -h1: Identity and Access Management FAQ + h1: Identity and Access Management FAQ dates: validation: 2024-09-24 category: identity-and-access-management diff --git a/pages/instances/faq.mdx b/pages/instances/faq.mdx index 06754d6d88..f413e8c710 100644 --- a/pages/instances/faq.mdx +++ b/pages/instances/faq.mdx @@ -3,7 +3,7 @@ meta: title: Instances FAQ description: Discover Scaleway Instances and learn the difference between images and snapshots. content: -h1: Instances FAQ + h1: Instances FAQ tags: instances, pricing, scaleway dates: validation: 2024-09-16 diff --git a/pages/iot-hub/faq.mdx b/pages/iot-hub/faq.mdx index e3f5830436..f22aaed0a7 100644 --- a/pages/iot-hub/faq.mdx +++ b/pages/iot-hub/faq.mdx @@ -3,7 +3,7 @@ meta: title: IoT Hub FAQ description: Discover IoT Hub. content: -h1: IoT Hub FAQ + h1: IoT Hub FAQ dates: validation: 2024-09-19 category: managed-services diff --git a/pages/ipam/faq.mdx b/pages/ipam/faq.mdx index 3070d2f4ad..d86f3391ac 100644 --- a/pages/ipam/faq.mdx +++ b/pages/ipam/faq.mdx @@ -3,7 +3,7 @@ meta: title: IPAM description: Discover Scaleway IPAM. content: -h1: IPAM FAQ + h1: IPAM FAQ dates: validation: 2024-03-12 category: network diff --git a/pages/key-manager/faq.mdx b/pages/key-manager/faq.mdx index c4181dd6ba..80c9daae91 100644 --- a/pages/key-manager/faq.mdx +++ b/pages/key-manager/faq.mdx @@ -3,7 +3,7 @@ meta: title: Key Manager FAQ description: Explore Scaleway Key Manager with our comprehensive FAQ covering security, key types, and more. content: -h1: Key Manager FAQ + h1: Key Manager FAQ dates: validation: 2025-02-06 category: identity-and-access-management diff --git a/pages/kubernetes/faq.mdx b/pages/kubernetes/faq.mdx index 5cf91274e9..83d194f446 100644 --- a/pages/kubernetes/faq.mdx +++ b/pages/kubernetes/faq.mdx @@ -3,7 +3,7 @@ meta: title: Kubernetes FAQ description: Discover Scaleway Kubernetes Kapsule and Kosmos - a managed Kubernetes service. content: -h1: Kubernetes FAQ + h1: Kubernetes FAQ dates: validation: 2024-09-16 category: containers diff --git a/pages/load-balancer/faq.mdx b/pages/load-balancer/faq.mdx index 8a35b0a5a0..a6eff57db3 100644 --- a/pages/load-balancer/faq.mdx +++ b/pages/load-balancer/faq.mdx @@ -3,7 +3,7 @@ meta: title: Load Balancer FAQ description: Discover Scaleway Load Balancer and find the answers to all your questions about flexible IP addresses, IPv6, multi-cloud offers and more. content: -h1: Load Balancer FAQ + h1: Load Balancer FAQ dates: validation: 2024-09-25 category: network diff --git a/pages/managed-databases-for-postgresql-and-mysql/faq.mdx b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx index aab2f70406..afaca12a94 100644 --- a/pages/managed-databases-for-postgresql-and-mysql/faq.mdx +++ b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx @@ -3,7 +3,7 @@ meta: title: Managed Database for PostgreSQL and MySQL FAQ description: Discover Scaleway Managed Databases and how to access them for PostgreSQL and MySQL. content: -h1: Managed Database for PostgreSQL and MySQL FAQ + h1: Managed Database for PostgreSQL and MySQL FAQ dates: validation: 2025-01-29 category: managed-databases diff --git a/pages/managed-databases-for-redis/faq.mdx b/pages/managed-databases-for-redis/faq.mdx index cbfc53ec92..20ea198933 100644 --- a/pages/managed-databases-for-redis/faq.mdx +++ b/pages/managed-databases-for-redis/faq.mdx @@ -3,7 +3,7 @@ meta: title: Managed Database for Redis™ FAQ description: Discover Scaleway Managed Databases and how to access it for Redis™. content: -h1: Managed Database for Redis™ FAQ + h1: Managed Database for Redis™ FAQ dates: validation: 2025-02-11 category: managed-databases diff --git a/pages/managed-inference/faq.mdx b/pages/managed-inference/faq.mdx index 84e1ee623d..7ccdf6bb64 100644 --- a/pages/managed-inference/faq.mdx +++ b/pages/managed-inference/faq.mdx @@ -4,7 +4,7 @@ meta: title: Managed Inference FAQ description: Get answers to the most frequently asked questions about Scaleway Managed Inference. content: -h1: Managed Inference FAQ + h1: Managed Inference FAQ dates: validation: 2025-02-12 category: ai-data diff --git a/pages/messaging/faq.mdx b/pages/messaging/faq.mdx index 27955b0459..a6475a8992 100644 --- a/pages/messaging/faq.mdx +++ b/pages/messaging/faq.mdx @@ -3,7 +3,7 @@ meta: title: NATS, Queues, and Topics and Events FAQ description: Discover Scaleway NATS, Queues, and Topics and Events, and get answers to common questions about the different protocols available, compatibility with various services, and billing. content: -h1: Messaging and Queuing FAQ + h1: Messaging and Queuing FAQ dates: validation: 2024-12-04 category: serverless diff --git a/pages/object-storage/faq.mdx b/pages/object-storage/faq.mdx index e713255612..44c0ca4770 100644 --- a/pages/object-storage/faq.mdx +++ b/pages/object-storage/faq.mdx @@ -3,7 +3,7 @@ meta: title: Object Storage FAQ description: Discover Scaleway Object Storage. content: -h1: Object Storage FAQ + h1: Object Storage FAQ tags: storage cdn object-storage dates: validation: 2024-09-23 diff --git a/pages/public-gateways/faq.mdx b/pages/public-gateways/faq.mdx index 40dea150b8..0c2f669e1f 100644 --- a/pages/public-gateways/faq.mdx +++ b/pages/public-gateways/faq.mdx @@ -3,7 +3,7 @@ meta: title: Public Gateways FAQ description: Discover Scaleway Public Gateways and get answers to all your questions about IP addressing, bandwidth, regionalization and more. content: -h1: Public Gateways FAQ + h1: Public Gateways FAQ dates: validation: 2024-09-25 category: network diff --git a/pages/secret-manager/faq.mdx b/pages/secret-manager/faq.mdx index e2abdef94e..a01e2499e1 100644 --- a/pages/secret-manager/faq.mdx +++ b/pages/secret-manager/faq.mdx @@ -3,7 +3,7 @@ meta: title: Secret Manager FAQ description: Explore Scaleway Secret Manager with our comprehensive FAQ covering security, secret types, and more. content: -h1: Secret Manager FAQ + h1: Secret Manager FAQ dates: validation: 2024-09-23 category: identity-and-access-management diff --git a/pages/serverless-containers/faq.mdx b/pages/serverless-containers/faq.mdx index 65b5a2f634..ba10857fbb 100644 --- a/pages/serverless-containers/faq.mdx +++ b/pages/serverless-containers/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Containers FAQ description: Discover Serverless Containers and Serverless architecture. content: -h1: Serverless Containers FAQ + h1: Serverless Containers FAQ dates: validation: 2024-09-24 category: serverless diff --git a/pages/serverless-functions/faq.mdx b/pages/serverless-functions/faq.mdx index 5de1fbd5f3..9ef8929183 100644 --- a/pages/serverless-functions/faq.mdx +++ b/pages/serverless-functions/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Functions FAQ description: Discover Serverless Functions and Serverless architecture. content: -h1: Serverless Functions FAQ + h1: Serverless Functions FAQ dates: validation: 2024-10-03 category: serverless diff --git a/pages/serverless-jobs/faq.mdx b/pages/serverless-jobs/faq.mdx index ac6ea74498..0c37a67df9 100644 --- a/pages/serverless-jobs/faq.mdx +++ b/pages/serverless-jobs/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Jobs FAQ description: Discover Scaleway's Serverless Jobs content: -h1: Serverless Jobs FAQ + h1: Serverless Jobs FAQ dates: validation: 2024-10-03 category: serverless diff --git a/pages/serverless-sql-databases/faq.mdx b/pages/serverless-sql-databases/faq.mdx index 3459f5dc94..86ce557458 100644 --- a/pages/serverless-sql-databases/faq.mdx +++ b/pages/serverless-sql-databases/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless SQL Databases FAQ description: Discover Scaleway's Serverless SQL Databases content: -h1: Serverless SQL Databases FAQ + h1: Serverless SQL Databases FAQ dates: validation: 2024-10-10 category: serverless diff --git a/pages/transactional-email/faq.mdx b/pages/transactional-email/faq.mdx index 70ba6bc141..223b2e2308 100644 --- a/pages/transactional-email/faq.mdx +++ b/pages/transactional-email/faq.mdx @@ -3,7 +3,7 @@ meta: title: Transactional Email FAQ description: Discover Scaleway's Transactional Email content: -h1: Transactional Email FAQ + h1: Transactional Email FAQ paragraph: Discover Scaleway's Transactional Email dates: validation: 2024-10-01 diff --git a/pages/vpc/faq.mdx b/pages/vpc/faq.mdx index 26b6549766..b9b99796ed 100644 --- a/pages/vpc/faq.mdx +++ b/pages/vpc/faq.mdx @@ -3,7 +3,7 @@ meta: title: VPC FAQ description: Discover Scaleway VPC and Private Networks. content: -h1: VPC FAQ + h1: VPC FAQ dates: validation: 2024-12-16 category: network From dc5d1ba0cb6b4721c053b419eb081394a758dafb Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 15:38:07 +0100 Subject: [PATCH 07/14] fix(faq): fix product illustration names --- faq/index.mdx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/faq/index.mdx b/faq/index.mdx index 365e8b3279..297a03e9b0 100644 --- a/faq/index.mdx +++ b/faq/index.mdx @@ -1,4 +1,3 @@ - --- meta: title: Frequently Asked Questions @@ -19,7 +18,7 @@ content: /> @@ -76,7 +75,7 @@ content: From 66bc4a09ee4c5bd9214c9a61598e520e8dfd483e Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 16:33:01 +0100 Subject: [PATCH 08/14] fix(faq): wording --- faq/index.mdx | 92 +++++++++---------- pages/account/faq.mdx | 2 +- pages/apple-silicon/faq.mdx | 2 +- pages/audit-trail/faq.mdx | 2 +- pages/billing/faq.mdx | 2 +- pages/block-storage/faq.mdx | 2 +- pages/cockpit/faq.mdx | 2 +- pages/container-registry/faq.mdx | 2 +- pages/data-lab/faq.mdx | 2 +- pages/dedibox-scaleway/faq.mdx | 2 +- pages/dedibox/faq.mdx | 2 +- pages/domains-and-dns/faq.mdx | 2 +- pages/edge-services/faq.mdx | 2 +- pages/elastic-metal/faq.mdx | 2 +- pages/environmental-footprint/faq.mdx | 2 +- pages/generative-apis/faq.mdx | 2 +- pages/iam/faq.mdx | 2 +- pages/instances/faq.mdx | 2 +- pages/iot-hub/faq.mdx | 2 +- pages/ipam/faq.mdx | 2 +- pages/key-manager/faq.mdx | 2 +- pages/kubernetes/faq.mdx | 2 +- pages/load-balancer/faq.mdx | 2 +- .../faq.mdx | 2 +- pages/managed-databases-for-redis/faq.mdx | 2 +- pages/managed-inference/faq.mdx | 2 +- pages/messaging/faq.mdx | 2 +- pages/object-storage/faq.mdx | 2 +- pages/public-gateways/faq.mdx | 2 +- pages/secret-manager/faq.mdx | 2 +- pages/serverless-containers/faq.mdx | 2 +- pages/serverless-functions/faq.mdx | 2 +- pages/serverless-jobs/faq.mdx | 2 +- pages/serverless-sql-databases/faq.mdx | 2 +- pages/vpc/faq.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 2 +- tutorials/how-to-implement-rag/index.mdx | 2 +- .../use-managed-redis-with-mysql/index.mdx | 2 +- 39 files changed, 84 insertions(+), 84 deletions(-) diff --git a/faq/index.mdx b/faq/index.mdx index 297a03e9b0..b1f20a8670 100644 --- a/faq/index.mdx +++ b/faq/index.mdx @@ -7,49 +7,49 @@ content: paragraph: Select from the following list of products and browse through the FAQ to find answers to commonly asked questions --- -## Account & Billing +## Account & Billing FAQs -## Security & Identity +## Security & Identity FAQs -## Environmentatal Footprint +## Environmentatal Footprint FAQs -## AI & Data +## AI & Data FAQs -## Bare Metal +## Bare Metal FAQs -## Compute +## Compute FAQs -## Containers +## Containers FAQs -## Managed Databases +## Managed Databases FAQs -## Managed Services +## Managed Services FAQs -## Network +## Network FAQs -## Serverless +## Serverless FAQs @@ -247,43 +247,43 @@ content: -## Storage +## Storage FAQs diff --git a/pages/account/faq.mdx b/pages/account/faq.mdx index 0951108d69..f6a56240b3 100644 --- a/pages/account/faq.mdx +++ b/pages/account/faq.mdx @@ -3,7 +3,7 @@ meta: title: Account FAQ description: Get answers to your most common account-related questions. content: - h1: Account FAQ + h1: Account FAQ dates: validation: 2025-03-11 category: console diff --git a/pages/apple-silicon/faq.mdx b/pages/apple-silicon/faq.mdx index 30bd1df30c..2594481b9a 100644 --- a/pages/apple-silicon/faq.mdx +++ b/pages/apple-silicon/faq.mdx @@ -3,7 +3,7 @@ meta: title: Apple silicon FAQ description: Discover how to use Apple silicon for application development. content: - h1: Apple silicon FAQ + h1: Apple silicon FAQ dates: validation: 2025-03-11 category: bare-metal diff --git a/pages/audit-trail/faq.mdx b/pages/audit-trail/faq.mdx index ae6e851159..3d0a8b7be4 100644 --- a/pages/audit-trail/faq.mdx +++ b/pages/audit-trail/faq.mdx @@ -3,7 +3,7 @@ meta: title: Audit Trail FAQ description: Get answers on using Scaleway's Audit Trail to monitor events, enhance security, and track activities across your resources content: - h1: Audit Trail FAQ + h1: Audit Trail FAQ productIcon: AuditTrailProductIcon dates: validation: 2024-11-28 diff --git a/pages/billing/faq.mdx b/pages/billing/faq.mdx index 1df61ddea4..6eab142612 100644 --- a/pages/billing/faq.mdx +++ b/pages/billing/faq.mdx @@ -3,7 +3,7 @@ meta: title: Billing FAQ description: Discover billing methods, plans, and pricing for Scaleway products. Learn about invoicing details, billing events, pro-rata billing, invoice statuses, payment methods, and managing your billing efficiently. content: - h1: Billing FAQ + h1: Billing FAQ dates: validation: 2025-02-17 category: console diff --git a/pages/block-storage/faq.mdx b/pages/block-storage/faq.mdx index 4ae4fff4b4..7e9ca10601 100644 --- a/pages/block-storage/faq.mdx +++ b/pages/block-storage/faq.mdx @@ -3,7 +3,7 @@ meta: title: Block Storage FAQ description: Explore Scaleway Block Storage with our comprehensive FAQ covering performance, persistence, and more. Learn how Block Storage compares to Local Storage and its compatibility with Scaleway resources. content: - h1: Block Storage FAQ + h1: Block Storage FAQ dates: validation: 2025-03-03 category: storage diff --git a/pages/cockpit/faq.mdx b/pages/cockpit/faq.mdx index 8492dfa769..d492e19f15 100644 --- a/pages/cockpit/faq.mdx +++ b/pages/cockpit/faq.mdx @@ -3,7 +3,7 @@ meta: title: Cockpit FAQ description: Discover Scaleway's Cockpit content: - h1: Cockpit FAQ + h1: Cockpit FAQ dates: validation: 2024-11-25 category: observability diff --git a/pages/container-registry/faq.mdx b/pages/container-registry/faq.mdx index 058298c9d9..e591df7cc4 100644 --- a/pages/container-registry/faq.mdx +++ b/pages/container-registry/faq.mdx @@ -3,7 +3,7 @@ meta: title: Container Registry FAQ description: Discover Scaleway Container Registry. content: - h1: Container Registry FAQ + h1: Container Registry FAQ dates: validation: 2025-02-11 category: containers diff --git a/pages/data-lab/faq.mdx b/pages/data-lab/faq.mdx index 5c3fbb86e6..509b66bb48 100644 --- a/pages/data-lab/faq.mdx +++ b/pages/data-lab/faq.mdx @@ -3,7 +3,7 @@ meta: title: Distributed Data Lab FAQ description: Discover Scaleway Distributed Data Lab powered by Apache Spark, and how to use it. content: - h1: Distributed Data Lab FAQ + h1: Distributed Data Lab FAQ dates: validation: 2025-02-18 category: managed-services diff --git a/pages/dedibox-scaleway/faq.mdx b/pages/dedibox-scaleway/faq.mdx index cc03c1854a..e991dbfb7a 100644 --- a/pages/dedibox-scaleway/faq.mdx +++ b/pages/dedibox-scaleway/faq.mdx @@ -3,7 +3,7 @@ meta: title: Dedibox in the Scaleway console FAQ description: Discover how to link your Dedibox servers to your Scaleway account. content: - h1: Dedibox in the Scaleway console FAQ + h1: Dedibox in the Scaleway console FAQ dates: validation: 2024-12-19 category: bare-metal diff --git a/pages/dedibox/faq.mdx b/pages/dedibox/faq.mdx index af5dcd6a4e..0c597b6f09 100644 --- a/pages/dedibox/faq.mdx +++ b/pages/dedibox/faq.mdx @@ -3,7 +3,7 @@ meta: title: Dedibox FAQ description: Discover Scaleway Dedibox dedicated servers. content: - h1: Dedibox FAQ + h1: Dedibox FAQ dates: validation: 2025-03-03 category: bare-metal diff --git a/pages/domains-and-dns/faq.mdx b/pages/domains-and-dns/faq.mdx index 2c04e5c7ae..461bda015a 100644 --- a/pages/domains-and-dns/faq.mdx +++ b/pages/domains-and-dns/faq.mdx @@ -3,7 +3,7 @@ meta: title: Domains and DNS FAQ description: From understanding DNS features to managing domain ownership, explore everything you need to know about domains and DNS zones with Domains and DNS. content: - h1: Domains and DNS FAQ + h1: Domains and DNS FAQ tags: dns domain transfer extension dates: validation: 2024-12-19 diff --git a/pages/edge-services/faq.mdx b/pages/edge-services/faq.mdx index 045e51fb6a..b06b1799da 100644 --- a/pages/edge-services/faq.mdx +++ b/pages/edge-services/faq.mdx @@ -3,7 +3,7 @@ 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 FAQ + h1: Edge Services FAQ dates: validation: 2025-02-04 category: network diff --git a/pages/elastic-metal/faq.mdx b/pages/elastic-metal/faq.mdx index 27eea08810..0fcbf43bdf 100644 --- a/pages/elastic-metal/faq.mdx +++ b/pages/elastic-metal/faq.mdx @@ -3,7 +3,7 @@ meta: title: Elastic Metal FAQ description: Explore Scaleway Elastic Metal servers, pioneering 100% cloud bare metal solutions. Learn about billing, server ranges, installation guides, and more. content: - h1: Elastic Metal FAQ + h1: Elastic Metal FAQ hero: assets/elasticmetal.webp dates: validation: 2024-12-19 diff --git a/pages/environmental-footprint/faq.mdx b/pages/environmental-footprint/faq.mdx index 132d0dbfb2..f4d6ddc7ad 100644 --- a/pages/environmental-footprint/faq.mdx +++ b/pages/environmental-footprint/faq.mdx @@ -3,7 +3,7 @@ meta: title: Environmental Footprint FAQ description: Get answers to the most frequently asked questions about Scaleway Environmental Footprint calculator. content: - h1: Environmental Footprint FAQ + h1: Environmental Footprint FAQ dates: validation: 2025-01-29 category: environmental-footprint diff --git a/pages/generative-apis/faq.mdx b/pages/generative-apis/faq.mdx index fb6f2ee36e..154d6753fa 100644 --- a/pages/generative-apis/faq.mdx +++ b/pages/generative-apis/faq.mdx @@ -3,7 +3,7 @@ meta: title: Generative APIs FAQ description: Get answers to the most frequently asked questions about Scaleway Generative APIs. content: - h1: Generative APIs FAQ + h1: Generative APIs FAQ dates: validation: 2025-02-12 category: ai-data diff --git a/pages/iam/faq.mdx b/pages/iam/faq.mdx index d06f0ae08e..62666ff8fc 100644 --- a/pages/iam/faq.mdx +++ b/pages/iam/faq.mdx @@ -3,7 +3,7 @@ meta: title: Identity and Access Management FAQ description: Discover Scaleway's Identity and Access Management system. content: - h1: Identity and Access Management FAQ + h1: Identity and Access Management FAQ dates: validation: 2024-09-24 category: identity-and-access-management diff --git a/pages/instances/faq.mdx b/pages/instances/faq.mdx index f413e8c710..f472222a5c 100644 --- a/pages/instances/faq.mdx +++ b/pages/instances/faq.mdx @@ -3,7 +3,7 @@ meta: title: Instances FAQ description: Discover Scaleway Instances and learn the difference between images and snapshots. content: - h1: Instances FAQ + h1: Instances FAQ tags: instances, pricing, scaleway dates: validation: 2024-09-16 diff --git a/pages/iot-hub/faq.mdx b/pages/iot-hub/faq.mdx index f22aaed0a7..9232a4cb52 100644 --- a/pages/iot-hub/faq.mdx +++ b/pages/iot-hub/faq.mdx @@ -3,7 +3,7 @@ meta: title: IoT Hub FAQ description: Discover IoT Hub. content: - h1: IoT Hub FAQ + h1: IoT Hub FAQ dates: validation: 2024-09-19 category: managed-services diff --git a/pages/ipam/faq.mdx b/pages/ipam/faq.mdx index d86f3391ac..188a65dea8 100644 --- a/pages/ipam/faq.mdx +++ b/pages/ipam/faq.mdx @@ -3,7 +3,7 @@ meta: title: IPAM description: Discover Scaleway IPAM. content: - h1: IPAM FAQ + h1: IPAM FAQ dates: validation: 2024-03-12 category: network diff --git a/pages/key-manager/faq.mdx b/pages/key-manager/faq.mdx index 80c9daae91..bf6baea115 100644 --- a/pages/key-manager/faq.mdx +++ b/pages/key-manager/faq.mdx @@ -3,7 +3,7 @@ meta: title: Key Manager FAQ description: Explore Scaleway Key Manager with our comprehensive FAQ covering security, key types, and more. content: - h1: Key Manager FAQ + h1: Key Manager FAQ dates: validation: 2025-02-06 category: identity-and-access-management diff --git a/pages/kubernetes/faq.mdx b/pages/kubernetes/faq.mdx index 83d194f446..d03736c71d 100644 --- a/pages/kubernetes/faq.mdx +++ b/pages/kubernetes/faq.mdx @@ -3,7 +3,7 @@ meta: title: Kubernetes FAQ description: Discover Scaleway Kubernetes Kapsule and Kosmos - a managed Kubernetes service. content: - h1: Kubernetes FAQ + h1: Kubernetes FAQ dates: validation: 2024-09-16 category: containers diff --git a/pages/load-balancer/faq.mdx b/pages/load-balancer/faq.mdx index a6eff57db3..fb482f327a 100644 --- a/pages/load-balancer/faq.mdx +++ b/pages/load-balancer/faq.mdx @@ -3,7 +3,7 @@ meta: title: Load Balancer FAQ description: Discover Scaleway Load Balancer and find the answers to all your questions about flexible IP addresses, IPv6, multi-cloud offers and more. content: - h1: Load Balancer FAQ + h1: Load Balancer FAQ dates: validation: 2024-09-25 category: network diff --git a/pages/managed-databases-for-postgresql-and-mysql/faq.mdx b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx index afaca12a94..2ecc52c2e9 100644 --- a/pages/managed-databases-for-postgresql-and-mysql/faq.mdx +++ b/pages/managed-databases-for-postgresql-and-mysql/faq.mdx @@ -3,7 +3,7 @@ meta: title: Managed Database for PostgreSQL and MySQL FAQ description: Discover Scaleway Managed Databases and how to access them for PostgreSQL and MySQL. content: - h1: Managed Database for PostgreSQL and MySQL FAQ + h1: Managed Database for PostgreSQL and MySQL FAQ dates: validation: 2025-01-29 category: managed-databases diff --git a/pages/managed-databases-for-redis/faq.mdx b/pages/managed-databases-for-redis/faq.mdx index 20ea198933..a056fb113d 100644 --- a/pages/managed-databases-for-redis/faq.mdx +++ b/pages/managed-databases-for-redis/faq.mdx @@ -3,7 +3,7 @@ meta: title: Managed Database for Redis™ FAQ description: Discover Scaleway Managed Databases and how to access it for Redis™. content: - h1: Managed Database for Redis™ FAQ + h1: Managed Database for Redis™ FAQ dates: validation: 2025-02-11 category: managed-databases diff --git a/pages/managed-inference/faq.mdx b/pages/managed-inference/faq.mdx index 7ccdf6bb64..c57618208b 100644 --- a/pages/managed-inference/faq.mdx +++ b/pages/managed-inference/faq.mdx @@ -4,7 +4,7 @@ meta: title: Managed Inference FAQ description: Get answers to the most frequently asked questions about Scaleway Managed Inference. content: - h1: Managed Inference FAQ + h1: Managed Inference FAQ dates: validation: 2025-02-12 category: ai-data diff --git a/pages/messaging/faq.mdx b/pages/messaging/faq.mdx index a6475a8992..29fdf41f40 100644 --- a/pages/messaging/faq.mdx +++ b/pages/messaging/faq.mdx @@ -3,7 +3,7 @@ meta: title: NATS, Queues, and Topics and Events FAQ description: Discover Scaleway NATS, Queues, and Topics and Events, and get answers to common questions about the different protocols available, compatibility with various services, and billing. content: - h1: Messaging and Queuing FAQ + h1: Messaging and Queuing FAQ dates: validation: 2024-12-04 category: serverless diff --git a/pages/object-storage/faq.mdx b/pages/object-storage/faq.mdx index 44c0ca4770..6b83704077 100644 --- a/pages/object-storage/faq.mdx +++ b/pages/object-storage/faq.mdx @@ -3,7 +3,7 @@ meta: title: Object Storage FAQ description: Discover Scaleway Object Storage. content: - h1: Object Storage FAQ + h1: Object Storage FAQ tags: storage cdn object-storage dates: validation: 2024-09-23 diff --git a/pages/public-gateways/faq.mdx b/pages/public-gateways/faq.mdx index 0c2f669e1f..abeea7d42d 100644 --- a/pages/public-gateways/faq.mdx +++ b/pages/public-gateways/faq.mdx @@ -3,7 +3,7 @@ meta: title: Public Gateways FAQ description: Discover Scaleway Public Gateways and get answers to all your questions about IP addressing, bandwidth, regionalization and more. content: - h1: Public Gateways FAQ + h1: Public Gateways FAQ dates: validation: 2024-09-25 category: network diff --git a/pages/secret-manager/faq.mdx b/pages/secret-manager/faq.mdx index a01e2499e1..38f2e522f6 100644 --- a/pages/secret-manager/faq.mdx +++ b/pages/secret-manager/faq.mdx @@ -3,7 +3,7 @@ meta: title: Secret Manager FAQ description: Explore Scaleway Secret Manager with our comprehensive FAQ covering security, secret types, and more. content: - h1: Secret Manager FAQ + h1: Secret Manager FAQ dates: validation: 2024-09-23 category: identity-and-access-management diff --git a/pages/serverless-containers/faq.mdx b/pages/serverless-containers/faq.mdx index ba10857fbb..35ecbd1e9e 100644 --- a/pages/serverless-containers/faq.mdx +++ b/pages/serverless-containers/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Containers FAQ description: Discover Serverless Containers and Serverless architecture. content: - h1: Serverless Containers FAQ + h1: Serverless Containers FAQ dates: validation: 2024-09-24 category: serverless diff --git a/pages/serverless-functions/faq.mdx b/pages/serverless-functions/faq.mdx index 9ef8929183..2baea373e1 100644 --- a/pages/serverless-functions/faq.mdx +++ b/pages/serverless-functions/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Functions FAQ description: Discover Serverless Functions and Serverless architecture. content: - h1: Serverless Functions FAQ + h1: Serverless Functions FAQ dates: validation: 2024-10-03 category: serverless diff --git a/pages/serverless-jobs/faq.mdx b/pages/serverless-jobs/faq.mdx index 0c37a67df9..48b65d3f58 100644 --- a/pages/serverless-jobs/faq.mdx +++ b/pages/serverless-jobs/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless Jobs FAQ description: Discover Scaleway's Serverless Jobs content: - h1: Serverless Jobs FAQ + h1: Serverless Jobs FAQ dates: validation: 2024-10-03 category: serverless diff --git a/pages/serverless-sql-databases/faq.mdx b/pages/serverless-sql-databases/faq.mdx index 86ce557458..0a1c6d2793 100644 --- a/pages/serverless-sql-databases/faq.mdx +++ b/pages/serverless-sql-databases/faq.mdx @@ -3,7 +3,7 @@ meta: title: Serverless SQL Databases FAQ description: Discover Scaleway's Serverless SQL Databases content: - h1: Serverless SQL Databases FAQ + h1: Serverless SQL Databases FAQ dates: validation: 2024-10-10 category: serverless diff --git a/pages/vpc/faq.mdx b/pages/vpc/faq.mdx index b9b99796ed..aba261e330 100644 --- a/pages/vpc/faq.mdx +++ b/pages/vpc/faq.mdx @@ -3,7 +3,7 @@ meta: title: VPC FAQ description: Discover Scaleway VPC and Private Networks. content: - h1: VPC FAQ + h1: VPC FAQ dates: validation: 2024-12-16 category: network diff --git a/tutorials/encode-videos-using-serverless-jobs/index.mdx b/tutorials/encode-videos-using-serverless-jobs/index.mdx index 01e14d824f..2afde17117 100644 --- a/tutorials/encode-videos-using-serverless-jobs/index.mdx +++ b/tutorials/encode-videos-using-serverless-jobs/index.mdx @@ -3,7 +3,7 @@ meta: title: Encode videos using Serverless Jobs and FFMPEG description: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG content: - h1: Encode videos using Serverless Jobs and FFMPEG + h1: Encode videos using Serverless Jobs and FFMPEG paragraph: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG tags: serverless jobs ffmpeg video encoding categories: diff --git a/tutorials/how-to-implement-rag-generativeapis/index.mdx b/tutorials/how-to-implement-rag-generativeapis/index.mdx index 1d54b709e2..8fe95b4b67 100644 --- a/tutorials/how-to-implement-rag-generativeapis/index.mdx +++ b/tutorials/how-to-implement-rag-generativeapis/index.mdx @@ -3,7 +3,7 @@ meta: title: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs description: Step by step Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs content: - h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs + h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs tags: inference API postgresql pgvector object storage RAG langchain AI LLMs embeddings dates: validation: 2024-10-10 diff --git a/tutorials/how-to-implement-rag/index.mdx b/tutorials/how-to-implement-rag/index.mdx index b806a4b3a2..3c9fb39809 100644 --- a/tutorials/how-to-implement-rag/index.mdx +++ b/tutorials/how-to-implement-rag/index.mdx @@ -3,7 +3,7 @@ meta: title: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference description: Master Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference content: - h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference + h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference tags: inference managed postgresql pgvector object storage RAG langchain machine learning AI language models categories: - managed-inference diff --git a/tutorials/use-managed-redis-with-mysql/index.mdx b/tutorials/use-managed-redis-with-mysql/index.mdx index 26194e34ef..3a3fb06e48 100644 --- a/tutorials/use-managed-redis-with-mysql/index.mdx +++ b/tutorials/use-managed-redis-with-mysql/index.mdx @@ -3,7 +3,7 @@ meta: title: Use Scaleway Managed Redis™ for MySQL caching with Entity Framework description: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL content: - h1: Use Scaleway Managed Redis™ for MySQL caching with Entity Framework + h1: Use Scaleway Managed Redis™ for MySQL caching with Entity Framework paragraph: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL. tags: mysql redis entity-framework cache categories: From 9abcb56a6428c0f2410c444572621da603bab706 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Mon, 17 Mar 2025 17:29:45 +0100 Subject: [PATCH 09/14] fix(faq): fix typo --- .../scaleway-edge-services-pipeline copy.webp | Bin 38176 -> 0 bytes .../vpc/assets/scaleway-vpc-pn-diag copy.webp | Bin 332070 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 pages/edge-services/assets/scaleway-edge-services-pipeline copy.webp delete mode 100644 pages/vpc/assets/scaleway-vpc-pn-diag copy.webp diff --git a/pages/edge-services/assets/scaleway-edge-services-pipeline copy.webp b/pages/edge-services/assets/scaleway-edge-services-pipeline copy.webp deleted file mode 100644 index 49ffb573d996c16c96e9219f7a7de68bb29c8f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38176 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 diff --git a/pages/vpc/assets/scaleway-vpc-pn-diag copy.webp b/pages/vpc/assets/scaleway-vpc-pn-diag copy.webp deleted file mode 100644 index 26d89b495701ad5dd01099a47a39a9e3ce6b50a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332070 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ℑ9W|@0U$xgxBt6eZ@Zojw^YI!&?E)Q@SrN2Bat!~l3OmNOUWK0m)d4xW)6LP z`26$qt$Oyz*SGeXffXw-3bH_sxVVZu7nPW;4F2iz@yk_TJExnjy6@U+Z;Kj}bt>yc z)KMIODgZ(fbf_WsrnzfS_X-eD3V8q5o?iaCk{}%fvI_$uDKtO=fJrVD$;*7Wd^~^Q z3;%xos0_*;IXk-9+0Z+Y<+f`Ch21=T>Dy27zF&I&qyM(s_x`@3%gt_2;aY1%cL})r z*+ZJ&t)8WuhqC0fELvLC^o}CkDQ$E5h^90^?-y@shW#k^xs_ZxzVqMy0U!6C=bJ$i zI!~ofr3R#PIVugZsoYCqYlKo^u?!F-iJ|lTf!mw!8K-Y}ohC=yJuh3nfgPt~CfMPQ z%Tpd2d{>5k;^Fw+Kl97qJP-4S*{{R)-J*|feQRGfE{m(6T?woT1&{$J#mySOY@Udtb|UiGHdL5cx3jy;ebK`G1a zdBV$5KD|0D$iMzSKmVEk;QdXn$GInatcxSzEGuT4o5-);ZN;$DfF*#44hcY{1_Muj zzkHsw3Ivf0H=^JLR2dY2SZ*EO|MlfQQQMvBNYZJSY+G!p)Ye61bS8$^E)VTXJ#(`} zujlWcci))z`=05~2WcfUI0?ftTCf^&*9DJq^<%!o^@YAU^zdqVIi?|EgWCu(N+-?k z>ZhKq)(eFyg+`&0Dv`V?1)vD)@CXCI2fp_9Ww$_2aBZXtlN11@vOxo}K^+>(<}W9Y zNSl>e$~OJwZTqvM9=iCrmAa{;PKM6ueZq2F(B)BhMjfs#`OW{Fz3{)b)p1+m#x9Fx z9S@Arjb6{qSDbom1+^6DYK0I()tfV`JmdQ8hhimQaq)(N0bB~85Z(CM|MHY{@y^rZ z%^5@kv`zU?2&N`7PC`Cm@UONvSgg#o$_IiNJc!}|84{c$D z2#}SsB(J&q^ZrxikNyX?v+gEuZpId{#(7;n-|u@nPE)Z1?M2{GG^Psd8ugPLEdV1I zZCYp`Kp9n_AmsAa|MC6$+nKA;dCH#;v`Mn!T0E3Yq~2Mo2U=J=yhZ1^_x$Bw`6~~4 zc{95ax?#Dmr3~V>4?~j!AhFyD&71Y%ujcyirFuAxTk&mYti8sv$_CE|AG|HlbM72_ z+;kA#ivm@qLIEH^CqV`Y8d@b6Pzv+|@AT!b7xP9sP{mSX_N)N1GtTCwNU3_vQpx9a zaDIV3m_OFQ^s%?*ID1&;EO^ zANs>O{p>J0Z42ZkwbP*E=m3NQ(4mKi6FGDk`pK4vf?Ti(8R|Z{Qum=~f~I`*>r-#E z#{$@c&f}U>5;l~iBv*@XO@xVo=&SE9j;^N*kf-{^5B~5`A~dzNH@P%P01ep{I=@nr z-3NZk{>QKH^VeQk*iQSVi#*T+;Mf={>10GA291nCB}L&mBt@hG5F~+0f_AonV9VYp zAAZc2-FC!~RFMdTDhE&ih}PHzC?NLJJ{{$KnrnQXNVX_AU$v;*jbg97leZGFkgIu3QZ0@DUPkzIi_xo)M2UC0{OPFAQC z<{^YT8+)KOzqR6?_nn{5`D+tUh#wu)Jx%}0B z`9G6?_&=@w_|ed((-SsF?;XNWB!;c?SaAVoc%-0mDwT?A2T!slj~mzN{M+%~_5Ovb zy*~*#kq_h+*TGMX)l94B#>?=lmA&|06qPcPR++jCI_7*eY&k{QT8QW{y0gk#h>O&X zgw1>E<20`+QmAiRRK~oFLRkn?E80VibiWVJ-+BD`^c|z#ziNLRB+Phwh(Ig6Yjtjd zD9f#s?azLiLP zd_Mb$58r;v@p#1_|7*9jmwH?KGK+cyo8=-fZ^e5TK=YsqO)+t>A4xxa%q-U)_c6?^ z%oc~b3Vf{VFj-T%M}IWDZoS+5GS3h75gd`nuDT5S{rLP?udaP^zoMt$rtvY)b^6Lw z&#{}vrFynLcAik;>sq+LtBtXw zxEG_S_H@5LaD2A^!>4`5?ixn+vWmJ2$5hfd#5EM763I5Y&a&hxy}u>-5xmReG!Juw z>YL|NxWBvTc>1Yde(}iX4bYurN#E&cP|_XjAfTFKsUtt+4}bK}n<|Lp$WW=Do*;jsaLw(Fc_m6#9j7&ZAD&p&rr zujqlxjP0;Jna(1|a5h`Ii42v6OzCB_xYZ-djYHPGrFduU6K$$3kW~e7(m3qK6jUr* zqF3+gQCesDBF%P5#`0MX4v6fQ5(h-TKy+~ERL)@tCx+bvK5|&}F)++b7#MjA7TT^6tBTlzE6kRy^C;SS-ClF_|Q*%wmXh{g9vj-&Ix3w&_RHs^Vz<$+wtc7 z*T-jg`No@cC!u>i2^gY`(2az`qY>!c^Y+7UPrv5z2VTSD&2ngns-^MJxN^JB`zAGG zF|yyPKmW|*_tQ5$Jb%E;`>huy2cg840T!Fu>>qzT{af(6=ex@XN~_m8ToQXeSxejX zpl4JxY7U1G0}`B`h(-_KqEL0oh=-BPPdXpaBXL07jvP}SO+JhC^Wo0@^rKh%%G>At z$?S%t>39^A;=o7+F7XVrmcd8foPO{(w0Ch>Y)ej^?cIpdAJ^{F+I7Ew6#KX3^pKZ5 zG-&|~%2*QU=mhDf_$TM(SOWE}@x|}>lYiivsKe&ANzDMtFt*jUNU3G8V8&^~Apo2J z144#%eOn?r-r0Ynd%52AzCOLDuRTUukY1aBf#Gx;9khCUP{v48cOJOzp+4>Be*5L) zFuxq~&=5HTtthLd>iz2Xy(~ZRTlY(~^(WIi=E#m-rP!kegv9RFJC|YO&+y;*>h0=N zo8J26)^SfKvC(CizSWeaIB@G$A(L9m%|#&sKmZBhAzo&qTR-J~Qbka)m`mP_af_HA zbJ4r`)3n(Ckyx0?7fa92U_&He$IHgJa-N;DhI!l#8^5Awzxgrvc$%vWlIbz$wO!cj zcTE5K4^Q10;+*OvtlEMhfUBR~wh5HwH9t8{-~XrbZ!br_d5*pAUf-fQBw{Ou5O9sV@hgr zX4jBWlu!+54cYDG_h64b`|;;ETC#3Cg$ZM*EA0d^$nMhTQ|+;f}eKOS$edp68q2KHukknyuXbvi|Px`wREGz1g^7&mdiP zWGJX1Nds!2qj9-uLaT(VfPeq9{FAAVKKr%jez1gSN=HP1yA7zis=d<%xIoll;9(@2 z#~myw(U<6RpJ#|1OHDjHbb)))KqbnMpCMlWz!j`$g%5}cLV*X&s7V?8>-L3j`>F3gkX>Z9 zn-lWJ8d#CK=CyQr@}4}er>_O*05AX{fdHj3bIuk92o33D6f2EqkGJzhFZ;L0^RIll z68gL7EZn;gTUHK@+L2d4c|0w5F8f-2-iPV0zxcVA{?cE2z;VCt8LI*9wM)net!^_V zx}na9KnOI01u0`#hyf_A|LWW255PnB)hlY3(mt!923WrD5JZ*f!VnBVB~cIYg1kkX ziVWV9uRA;}d@TbH%2;Y1z#t40dpmA)njgUm6wKhJVrFQ88|D~OefW*ryverj zBVc5*b3yA!>D1vX#@UsguZEr1z5CMd^!4?PPW4? zxyw!iC%VN~SEdg%LSrZbG1ywI``5H{8}YT@_mH3ebeFivGm3hSi*a=-t?ejt!AR3gU$rkV%Ev6qaKVWV5bq71sl znhY$=iW5X)fTWB7#Fq=k3}*M_WQ;(pQYN~D^#N+cBqpPuVUP8(Iem-lpFU*^7dg%A~ z)x9RM2+c_J_EH+HaKZtBOeD+5UM69_2L_PlGQ1|+k4*0n%+!pHTN~oip|xvLZF`Kj z3i%Iz{ZBet`y9A@~8FT zpUm;0do07M%D;h>S+oGAR4uSp`K3%C+J`m5&%gR3Q!6O5TtF0 zZEsWS!lWo8@?%GQ!)zNj@_5?3&7{<`h7!~OazKs01zZszCq%_C1tZ!Wn}%ZeO^^0l zi+_}UbR5Pk)$IYnH($$>KE9hAbSqF`F~r2We&#Fw?C`sXKEKvWK~c5R26U0#2K<5( z@}^9TIgXzc#awcpOSin&+nf8={m=bwd(g`T zOVUzSL1c69rU4t0f$WD#T88GyA3Z()HTP@w(_&WJqmC_SM~Vmi*@3_XU0|`Lbdr!1 zm}iwt0ir`4(b=2^PSgMgoh<;^;aREx*A~2%e2nTgWSLVpj%AeY2j9NC@;UqI%U{EZ z&3mGN6AdEKhO9sVLMV_?2Cp5@|HrStT={fbzPZ`m-3N)79Ao+XbfFnJ43U$Uw8iwcUwGU8lNC37qQAJxA4S#W#gW~STZ+BQ zDDq{Q&|r-4@gcbeKbW7)tK=Sw$3a>oB>@KM0H6TSPZRBCVgsVCl1md@0qi6@87{3U zt|_J^vBT4Z9d2GXGv@ii&g<6g?UyIt{N`}!vl40&8i}-^1x>Mh^yl?i-~Qzv$&d8# z<;9q6TsyrT>;1$&=UDs2X3cti|5!eM>2Lp$Zk@qUl}oF&Zu>6lu!VIbliFh=Iw-iE zs9kVkhzqBWPhWY~&-|)ko4|Q=myl*u?auR)y{FR^AB265Z$7u@FD!*m(oUV~rRk)* zwetSqN8e7*ns2&AtTYcv%gCCx{lp7uenpK>?Z@$Yv`g_39&6I>ou##B>U$~np)_m* z1k^zyh612Ul@!p}&mp}Q#_jx`a#%aVRu_mACYqm~w8tO=U zf1bnb+rRtEfBw-gd#;(DNiD4r{i^53h@8mDq^Rg>fGh=ITyO%h)=N3^_Ip12=YQjJ zKZflc$L12$Es7`JKmYdi5T9k&-?ckF&Tsx2KKyDX+!;ptj7aJ}`qw^r-tT#iSN`5V z*)4>mrsf_?b{@-5z{_2h53joGaol>%3um(k*}NkzO;z%m3QNxs@w3uY^H_6Hsz!%4 z^F|s7ps=%*h8-ZB`LrW1q%n4l6-tHpD3Vcvm7$U)R)sY?GhK0OamM0d_b1PnDwWBt zbzgk;^rQXc|KIxC8Q!6ST*@em3!nYx{?i{l+L(gyY1l3+JW`9KvFcFSm$1(L@%RmI z>UXQfXtaR|ZPgFo>Jw#$R7(NqA^;Eo?-zqmC=Q^?Ak>K&pH|-=V!gY>#3J2Jc$G-_ zr4QGGkL82oCs}{>;On>2$5-|C8|=KH9(9CfSq^1vJ$oJ7@|qtQXF_ODW`}nlkLWRb z<-9Y{6UJ${lyTo|JIl>`)_TGEKt7FA{LLAk+|R%Mwp>KxYP<{eHr^lOt=XYGC!R~= zGFT+>VLl3=opOYnC>q;_yfjZmo%SYxt*tc=E!VX*fBJlUcoW8BT9?V|Hv2H*^9X0` z3zw+dQu7sfrm}Ecwmv>w`J?;Y%gNr{);+gl>uQZ9jxlxIpX}2!T=44s7yC!P(AkaU zZ_BLNE^(`$Q-`>^rbkV6db0(`)9PGZ-}gMRPY_Ka9~n9MiIp!5lFBY-H)zQ_PjO92rOmRfef39B@_WIL%IKmq}a+RURr z_00KvCvKUi={7vx;QnlqqmJEm$$bV$b=rsF)t8zH{Ymyy(v!w z72zJ3vP3g;7ae<-G2#e&$R1{t(GbDd866zPIviQkna6m-Jmd*zDFSN65u=P79~)Xy zkxU|!C}j~0DICbKEW4B2W;&SFi==-O&6SCxhko= zN#oF4DWfPH8A4K55TCPqT5k^cG7C|hcsb5{?PCivcM+$~&-!B<2#0+f)FS zxC964khGcQf)nVO79*C5w{Xalnjq5Ku%=jg&yVlFCa(Vcb2{3nQ;s9^m~_g0Ez5Z> zwY0vTAGjXA;J&BzP-BmM06qqjwD|)c4qGJW#OOR~=gg^A5C9T@CW)l$TO&XLO(CrT zIR=ys7J$KkRBR%Wby*CIsq0d<{Wv7xgadR6p`Y`5|HS+BPosvX+wGa%jG`8v1juq~ z7ZYAdH~H@T(w*O*yF=SHCg~IDbcD@Yq$vA&o1ts z@{D=7MjtFTf!szzWnG6*e&7Q?HgBK#lfU9q4~PC_EcY$@S!*+ko8{fRkK=x4d3wB0 zcjK)^P-A1yrw{$h{r`x0r=bu)$Ke976u97oqb3=ra-aXT#;_qluC)g(rRwy|$>SPmO2Zr}FbdzI5m`r;qb8Ii&(C za!p#%X68=E`xk%j&-~Kb|D25vH_JKceFD0(^L~AH9DkrcpB&JMvC}u)Y@H7O)JOh$ z{`frRMJOl%K%j6TLg^Qr@aUdtqYPu&-44%dDFdkob%2-Sbh6EE*YAGb{^<|@$X^}T zH=cPD^_(7e^Y%IW?L+U4Knr}xE>Xcq!I1vRxEs3~>ZhKy)@S+gi;1&N@*+5?Y>F(I zmW&Bg00sd74uVq+ky};*K!}j!SQk)$i2epHdfR9rF3a*O8Yl@m7m+ zP0rU{r<#c{bRf=_Pvc%<>BaY_U-+H-JNEgn)_7lg%EL75L0LZ|_q*TTb|>bBe8Onm zbZpDuzu5oVljEVxdm|7cI|9^F2+=M$F^w&&BVBX$ZTX$o>qp+yGH$d9GP>Nc0?Sl= za&U()wr_nkKutnpra!|R#AQVp0Wd0JDo4Bpo2!iFGmrjEEPq(_uN9vOi^|SvL>SRW z&XZ}%7%3Pb10a9_;ntKRXi0#s)U{-V4a-s3Xu8(z&P~yYei=@CbnCZ8KDa5TY*(-Yz(iJ;@Z2f--o={)Ho#XVaK0w3O0;Gs~f8HjfoQyyaOPU@S{U z=!83>GeJAn;f{$%@+cKuv03>wqkln+J9u=ao`jV+ zhQJ|11ponHaO-=YOr$26-Z5D@cWille&jO;XA@(2u;ez%W+IcjD*LwUaPfCtPVe~i z)%Kfx+~%4mo@a)^)$15$ml*OosWr5M8`O+4^o(p6tuL~cYajVP{l)**v#-`(=V!@yG=@L|6+dINXYQlpW9-olwF;a#*?H96IjMJh}5Ck6gOh-P9N4 z01OS`N>MV&(aq~(+x|K87h`_s<=Jmsj{oD={g1BrOz-n6XY&{6L>?{|N3K3y>- zKit@L3iIi`eEMSi{b^-p$Sjcs*lZ~2j2&gc1x`Qz?BC%0qRulRzyK8h4sCtwfutlW zVK0K1Dd6!Xjt9|nx+-FKc8q32*$GDnl^WJ1yAf|=`>ozzAK+?yTy`ICUovl>{ppKu zpI`X=`W)BElabP?r!{TdpNV7@ltqnl8K3&he>dmn_0#+2=JWHbhvxK+9~V8XlWWb2 zs!<07V3|uVIssKOS9GSj+pT(?vW}dGp~J(={P6X^=;cYD{i+}N?)v821J(uO*4J*A zq@>6q@$uPSeqaBnPumY)JTjO1_;p_DuwTcSJKNLIv_G)^VR5aYNMgMx?UdWj89g|y z6Q#5657hW3cqH^tpe0xn0JoxM^}z>3Jl?Ty?aQ|55+jUc2PHBK#1v5jaJB8_)&H{l zj)rEdS;|&?D;kGSZ2s-PalZHQ_`uuy@6F@Iy|N6#dtw=u?ey}-y8hYr_`0|C6W{!J z@y%Z_oS!{2`_cSlaSX6VXVy8ZB^_c9+WSQ(!g-Z6qQi_B0$9!(I4MS4*9!S@I{MwO zzW6u&@R$9uzvu<)^^^bo4cF%uz-{{Jb$D6+{a+K$d;FQqA^-{-3C55###hi8i4mqH z_v?H_jdSZ#y4q=}LPh9AWo|K|15TOT#yR)#sk1M7lukK22_hW`6%v#ZTgn!$8`P0C zv7IC|kWFKhF>GS#zyYB$oITXO^Lg!!h>@5!rAOac&#=yCTn`u8yQRTWN@0m@@A>BX zColIEO5&)xOqg=JToPWvi4a}tHTDqUqW~mjI{*X;I!TCRSIM9v&r*SWeDHFyJPDA_ zv=_P8S3Km4-2a8x`?~Q_cqZC4q-^RNmhO@o8Ajj9>EF$p+vg#1ngtMA zrm%oXX&_BNp-{=C0z2B-#D<;jULuQX9aURFmW{7Q86!$uTI`+59O>G;)9By$P%k1v zkI;|;2`nFey8WH!*CAWf=pzkCuD4}o_fTVjH{E(p1fOf}S=5pXJ zn|1=KWF9ihymRUqDVE7dN4-S^O9h68j+|!Mi|jqvKbY&J`%)M>WUiW~Z|`<0W4hzgA^k%(2anndlRD1 z<7%@pMu8+5n~n5ZwsdxbAjujcg9QLo5}n-e9FlNlufFL#81`|oi<$%?AcJxvq-k_S)7YT^NQSQ7)vW9^T66%E1^aaLlV`J! zSH@ISNcHxi+H7r`y>gwuVz)bmb*6w>C;|GB`N1FF?+@ij7s6&WV==Oq0vX9DiTDsA zw38x5#|{A6BmsVGba$GvQ_2ja6G>ugTzc~0lWFY(PFMn97cv;cQh=cr;){O@eLt}y zP00>wDI1~lOp4pbF%TU@hgsw-g?0AC(DcRrmPZr!EzD`;V4dE^Kn4VnGC~WMLpssH zRhbJZ1B={EsPrKUG#YXv4ImXV8w=Z2$zHLx(9z3=PoL#uo8f9~4Li02=lQd!0`;S(JHXL8@GGPbizdb^uUGfvkbH z6q1qZAR{u?K_kNbkAB`6Dp#e7zH`cmFa>MLXhmb}IrHtAA9Ng@QX~{X>LFE%%qSdy zg19{#9Z_He>x|$|6bWLdItw|L-i!E5IM;h}PanjQO(cUvgrI~n2yh+Gv}lu?)g z4ip5kA+L;GfoI9FNE1-&7S|c;tYfwCjgDNK9hZl*J%#-<{cyn-Jv0@WEWAAyXoUsc z;f{y&@WlnfM?bmw_bmTZ<8=h*JP)&|aZE^Mx>A;qjs{@6qyS)&1BGOS)Fj&IKK1?} z@yL*L44%1F5qf|akpdMKk%T^a#XcduENyqFfI}&SQYdkWfKrbH(0O|}GLZlvhz?rZ zsn+V~32zC+2ninAJQ$`QBqcdGaZCSGnUC{=BcH|YgVZ<=i z@}M|W+vFDA>p8u=pB|U`#rh>1PZ^hoe|Xa$n7bL^1XzZulTJ9G05qrBh6j+=EHxQ7 zKJm%&{M+<5oj1i{>vFhmWSw$glZ7Il2LK2H0PR5G>X6XtG{)UJ9!1LC6T|H>i9dJ_s>A^y0E$Knh}*$ILf`-hAcri`=|C_-r2r=) z?1yuo$62X4a#Q<~5=|s45TUY4fCa{sEUkyg^cvwXR)r@Zh=x3eaUHikZC>NJh`BFI zw`+X=_5t(#&;I|XJLad;1M`!w&8ET!uUij-LV%wcfVa8;bYhf!0GH7M1q_lPRqiyH5JSKQx%hbJ8P=lots2Lf0un;B; zS!n)H^3h~F7{kU?gpQL^GLsa@kVKU_bfUuT%Mbtv#~=t!Hf>FG02(Z-$#xpfI3&4C zWQP*J@tOYSe$KUPloajCbB;^g8s~H*P7~iu5Bb95dg=J~ z)>jUJ-a&&BfL25WiWCS}LPAUeV4ZTn$rvyIpy;A$Ws)a*6 z<=7}nr;6T|+t~hS>LXkadiScT2y|L%rVs=}NJ+Yg9CA(OyF&(G2onpC)UYtsR^Cj6 z?R$f7J`P$Uw?}KO+wo0XL5_*^rl5*TEP+ggH^Bq|QArwes)&_8mi1doFTG`d%Xqr1 zlM=+5wR&E<(c`dl^6*(>?M{Zrt-p)x9%@Rr89U<)t{|Wp%wUm}gtU_`ZDayPUD*{D zltI8Cvs^~m^2*QVr~kySf8SR6%Tga@Fq4)@?DW`o`gX^CTs}kf;&N1(mu^|DZB7Q| zIJ2hqi3J`kGT#w$Wl{s887c%Ys44ZLwgQ0G;}S!0ySP!-t(~9)(w0SUIn=q|a#3}X z6)}s9lPpb5D5)jqHQ&_rzoTDp<{8i6P^}WIk+4_?)`PQ8wR*rcL8Hbj0kP23Yc~_? zDm@aDs&wOl1b`4aq|3M^nA0k>;9ji-t)M|2li^Z^$8q>AKla^M|I~5QXJsmt8H&x8 z&iVP&yJD#XOZzsWW0fdL=n_rIICMxWDIW@X*H8uw@eGql>QVw*)KaI06?=k~bXlxhKab5gLOzuFdj3`5f6o zM|6&wGJrW`Vdpw5AVvD&qj>kOj0`MStL#&YSs1V3LXiZb|Hf=xgNBZhN7;E8UV9WT>quRJ65K5CkiNO>0dV zw}*p0PB zA~$HmXb_0pF&q0ha*-Ewd2!xc^Z3#5_@Q5yIs&mquVfUNG%+SU8*AI=b3I>gobSIT z^%>L8f8W!hGWtSJ5f%duh>!pD_}%`>d0UNn%(2AK5;9n}=<`?;DQOO!rq8u}*!rF{ zrgYLO?U4Y*7QsOfT0*Ctf)k!J4goX}Y;A1?DBJDsKzT9Ik|QTzkP#`&5C(@k&n(^N zbdq8^KCgL!${0tXWzF58_b-{8S?$1?(||&O7$C-nl=$2I_Q$@Rhp)HG$6H*M<#eCw zk#MJj7HfrtlG*H8h75B*2JPFle!bU|^)RpwkxNHtIzHjjekF6?v>V zhB9tH2TS)zOS5w#QAR-#ND>smxCuSnxmXe$XIN%Uwd-x)1 zHx!5gAwUFgX&wo1sEB|qaG-VioQp?U6|E_94`l#uKX+4b^Ak~^g9?NI1Dp>JgWa!x zadElZysz=teU5Pb_NDyHJ-_@cJd1}9mr@>gAL*<_2OIi^KbC4pMLeX9=`Ce`}5_c;N4~Z$$fl1GNU8_5+K+K zXar>3uJFeS)WHY^I#^fOfakr~Tw1d#R6VTPJ?LQyW)eaZtAcr$wIEyRXiEZDj0Q=-Svk9Ym!zWwWt zBhU$e*@6JvKJk`e0)hew3^EirYJTz9Uj>ITt9EJiGjCfpwUrh#Wkk(csXw#5e0TZL z?|f*mw?m-_3;@Rg9GE1M0U8N1I^c|dL4NAtO6=&KRe(Lw0kB^x=!c zyY1M4L4^zk0RV*Kkz6w1KqLVH2DEytA)VXdC0+jFsdNepMLq%+DC8d8z5mWTkMSF4 zzOknwmveLj(}72<?$=23KuJ>2WPT-`ZM}ZEiN8|7Z z%A;2c*J;>10RiAp0TAG3dVm55Al9$~1q8`%>@`&zW!JyZdhOeD8J^fBW|4&Mum?L+bMPu3x6? zLDI_CAOOH5w=tZIxk_6Z*R=8KaW12S=mkI~bqCyy&K3$20!2pQ(hTOjogGcNq4W|K>C+g?kduhbhwY%R*#!VsU?ZNgNh`JWvCeb62R-!38xTeU zh?*ocm#l5pJDb()<&eCcBSWMrb>HsXloUi(ySJFhLq3pSK02o%h>p=Cj68|ltb+hF z0=ohvVORw?pv$PO&p14J_u~;L0A;W>Gk5iFY#@LD2PhH6AP6V=5qQ zbhCn>_{dCbg%mZVM@UYh1++Cu)@wlURHY5{8ZC|JhJPeZl8|r|HuU7dCH|JLjSR^> zRhd8lAV|BNBbH8=xXQkd5Ims(B15=#_IY|w@#Qo7GB}9|lSJ}0?I77kYlRSArIgLk z9raOq6Am0iAYg$D;H>uzbp~B>;Cua~i|O`_l(g!qb0Lsk)F4nsDd3uDn4o8?skT#c z5&)43JWFaVq?4q~dxi>vK{&(_pQ3vh07_T@w3xA8Ndl1!C;%u3y5G*R1-WTv&jcxx z6406lo}(LDW!Cd(O_?WwWRgk_6a+~UK~gcup|ZfH@=j6#h$}!iDgiKKGgDB6KYO2ZBSogl_fE`f7g*RYEF!x|rX+>w^}RQjwN{b)?xw&1k=$975IkDC%j zJ+d#fO5FHR6-Q}eE#Z)KyQcFEm)rE8Xw`E7O=6TEfc&00Bj7k^(&@0F50W0aOQWU4fc04{Aeh z3M*+Q53*XM&gB_jJ`b_P1;Q`{%H`B+bsDouifB+ML~?ckK>##F0-8cr`dVvfX}9x( zr7PTAqMEwi6`r1M-W5l41rkSM3}l$OM?Fk|yVc!BsjbBQ1powzwGzNesWz?GjU)+r zk|x;A!?>DO0@9VWXik7b(ixM*=kNr899c2IY>~J;OWh6%B@KjB){?N34oO>63IK>g z*A1Wq(CE0`U&E3;5OI9*_(R!n^gP+Q9NxPvHGvCOYBWT8uBlMB-iPWjiQ= zcEm2ZGy%0v>jAM|1C*j9C{O~3cLz$K1X4+mE1{}K9JOFA;hc2jH)LI2HnIaG z6oLp3-j3CIR2X7|x~F?guz|1@fYu;@HYKec_t5PDX+RYTSQU-sAvDGG&WcaX=W4U5 zk^(}L7M~OE&#nipOTV-*TUJ1WAwdIZO~G2JKouwzU{y(yfKaH0NXA^v2}YibB~!LaCCqrVs$o)>;EJSZ)^xP{7TIwxCSx z^Oaumugf?MQ7R@uce0)LVf#Amo6k@6NY>1U9RMqU4Ge$=pa7^sl&Vmr0$3*~NkE}7 zB-2PqfM?O1y=xjREtN{62JAJOoftFAeEv7*RA{Zv1Lyq7us0fjO6;xpgxn1C3 zgv?{-K@>17G%Z_dXKGQ)NF)*j;C6u^EJAG= zi3kZ)6iCeoMoe1Z=;6NbsOAYHCud@%;fr~=VjiyFk4P{A(s2{1#8d1jKj3dYZk=EI zomhCYm@THD>au~Wk&&P~8SD;dumbwAZ8x)I5=C9rldn4MjBAXy?f#DMzx%i~bAYNa z0I${MdCQM!8dNuITqBe|MD1zg_?epe3SVPl%`INpQqdKaB-yv91#tU7N>~TAMMQ$J zsN`15qI2db1>xS!qu~OcD#rU5R-Y+6OmiCd)7$fI+`%lPJk|oVwqt2`@*Cg(%U}3M z{@<^z&lX7?(^AP_njwAr5R=-#)NaS`uMU zimowYUb$I#a}n|A;vTGOTVNebPw5;xF}RH(y^O>Ba(wUQ)#4FMmjF``87en5`|X{}*xKK;-1ldueNFBjJ6M5N zO+8UF?D1Up{=rY4ee7v24-z(ZgPBY3z)`rIiwnpvPkq{UxVz{18Jiuc`qI&LL^4-) za67@4g{c#OqLS=Pl~#Fi=Oc=Hx>-}3L|Ewv^LvS@+Pk(MHGo|`Z{G5FbM@l^AnTf2 zLk8Jqw|#M$B>sH?RY>kS zU9!K=UvGXWW7zjGC4kj4v>;bGg1q3v&ewh87yjJPH;uY+&0(}7xhU#>Gt`diTb5d} zIEGG@^-dMv*4M9W*S0A{0if1fg}{xKIg2kp9rOzxSFU*Ub4Zqy5tH z{)22e=+x%zeP?WjPP1+zeTT{ek!yM&=Vub1iJXbVWv3TUd>2G+SvUghtfSh&rlr zmbO@`N*+;fIX&Bh?)yVt$Nt+EUnAUhyKUh$(mi=fJu7>%UN~C*{Hm18Ew67rlq!`F zQ)%s&=(c@Twg3GKf3Z86-mree+M$nNZHNwaSQH7BLu2}|{4(aN2G^o>$hm_v)9&&9 z;Q?V&cD5M%WpuG-%Uo^;?ovZdbR~#tJ8eWSI3W&j zQXLv}LMfR7NMHp)3khYy0x1N7wq6rJkY;S_&{xvP03j4;&R|B!P(*cBs6+*a5hAPw zm2@a+9dU8#y`=kdS4c>yDK)H5!pIWh87+_SLHO!$-P`?j-QV6(!X~@9O2I=|K6C4c z-IvF&TG#)<&+dO6lh+a0u%1H+Vhs|2NZ^XhDTn|x4~VR%w=5w61He*hN*btv=;(pX zhrNs&+fRJsw|?kD=ndccQU?XBr7c^%^Nh;7Rz94#Lp=_)WOwTX86B!B36K&ZJml!G zGiBr8P-YHcrUaFPvuowckTg(|tinK$h?zb@nLq$+rC|fYbEZWRbOI0!Ee#~83SfXp zrcfwAfDW;TE3soA>{FAUU2qMRNE4T)P~g5?bJFWP0EyE z&vaS0FMQ}$UpJy=l)xjE=AkZkbYjx#dfn`Hx$ANM{U818`OlZoq=iV@C?H@1Djdoh z0x+e7SwNSDxq~96c`QjIDqt~o^oEFHQF!k8VS-#v);_DkpU126q(92NJ@o_8UryxB}pzjQ)hBN ztMl<4=Uuu^e7V)=PGh;32gFk+nae3M?0NXL5KA~TtLFEFiA;42y7rcKwu@%fCPjh zY*kdG=%7G%g~(X!L^uF?!3kR(A)+cw;fka>7<7V!4JZ(W(4tI$i`E1HDFAGN6*jq` z4L}0wKrK;%2uKMA3E zU0-r*T8#ZSTJHD=n{&3D;%3)NU*D(BNx^&=NqXTIq1G&O**Q zqhlz}CLc-MpFP~nM76>6WJeIdu%;4d?TWKZs=T4l;>hQ)4FHSDf<)kviUc&Y(}Gqj z1;lj^P^e^*Dhe%-c}#@XKtKY51eh%Z7wQE1zITwbP#qyII1$&QRO*;KD^MuuP67n% zph$u?YLG^oFyKM~BmgvMm8<&Ted8RR#lxjQ3`rq%C?I8Y!jU_NPAhqE@!%S@3r}We zTV6F(TBSB)$KU(WpQ&}+jy)o0pFf4YyiXNausSuGLWNRJ%RK{k^`$w&m# z5p(w>X5ZVs@;bh5JlyHS)hwYkmYSuo#WGq90iX?~u#~4IKp6l$sL8PN&WDd*Y5Oz8 zx1+WxPsL<+@d)aAnJFb@ei$W8_uxX6<@z#i%f1pufAga&8?v?97>k^l!-6=JUh z4mA*<1W*u5Z3S%l1t-i`NgU=hzS{p3<-L+!}#l^AC)eplvD&r zjI59EaKD4oG>qZV3Ya9Ox(xUrO_@=0)XbD3HhxrV#Rl8`y?_3=eum$k_g(>Ha!;G(v@f3IN_ppd&ya z1Z*5e7+!TEIe>KNL_4ijJvD(Sjhxw%mIlkb^g!q3U(Yuk`@4@mpnZ7FxyF<>9bz|M z%`52WNqsABJQl8M-Jz}w3P6Jg6`;~PjF>zY;69|TCqUg1Hm(5FdP9H$7>J8bwL(FF zGAVpNdASi`qNt8il z2nkY3lo=!irXPJIQbp=f&wX~b`=~w4aeu{K;llH&JIySB8dC8auJ$JDdvbZtJhh|q zWV?HW7=?W+qC_rIEtTpJ_9+0mz_GJ>Ki zLu1CIRwf7%YnGoyul?%M*Pr9PUB)rlT!u-E!MK>Oq|387I(K5>IzpWcFpw(kU7u(-9e@j4h=ST+?7(r+NhvIy@v|x zL=lV76icvJXYIt4VWK=We<5ljyGNa?>=FH4zDSEg%tY^L(m?pLyQZVmysTvy* zE^wf{=p^|#D1yD0ZU^kwOU|VpYBTSBZ*fl&t_**)Az9Kmi~WkN^SDXbm>t z=mI-!Y(?wSHoHXkW;rIbkV(F;TghX{rdAAr{}u1f7@RruIBX|~Vnx$L{=cvRm! z=j|5`_&RQsG3W{vFDyMeYWt7o{)AKhaUTBc_RWv3$N8IY*D6epW}#mm4^OSPkJTs3 zZVKvffdbM7;(`;((ph%YH{?6E{rC-?`#omIc1AybX|9hwzBBBsOK4YGSCoYXki|KH zUe3!59`Wn>Z~w@z{y+b^f72!Jwn@L)7`?n+CS$(f%tuw+tJ9jDnsZ^WKmZXLkbKO#+Y~lkGqy z1<=M;5bS)~&ZXY>Xdl_1z4Uy5Iz>y|Gf48SN^Z#T&|CPJmbpalTG%A$0u9$ zvrTYFpu6;f6Hc$_K21mQ4Vj^34b=HepMUE9df2HsKnLdO9)yj!p&*|EIgmah(x-3$ zzVuK3-rxE6{KxP6v(Llpo2`iZ{`&8_Plu5zdYF=EDKLQm1+@?*CDk`Rvgw;&^@^}b zSVBEfM9#1b%dU(D1RyCau!Wb!FIS)q?Lc4yidF!fBtX)6tTnu~#&!S+(5-{)w&H2~ zxD>3R4Q)UHAHKeP>2Xo0Pn1Hb00i4;)&NO?Dg}u3<%IKHvyu=v5y_;a$t@B~WI)bT z-BKIzs8Pbx>)y+cJ$Jv{vzsJINag}!AA7jSsS0Yj;6$uu z^21rqjB-89tDn2Ib9?Pn9ysnO(JpzfC3>BiBdWHb<^It>*Z6isL~>JXb}Vp zr6~c*P$objK%3o8nwz96{)OoTumMQ|77~D#uM?nwB*QvLvl{IF^erwy%!)2RVF&V& zhw{?8K6?Iecoq-G8%xbn}Jjt$~tkVDl!XyT+iHqE(t4#(=w=L7pYE z(_jBv{`}wbZ}`1`*}w4v^Sb@&MSXp<@^USg)e-;_Le1VKL@zkuN7xi|8PEf?eXPTI z{XgfomKSPnmKEhF!=!^Xl93Kw!eHI9RJg(PE&C-GoO?lNF^LL56I4RYr23iX(`Uc_ zRA?r5thce3l!HN$1z~8XQ4;_KOF)KDnBFF_y7|0M{PDl{-}<}$!T**Izee8M)%9Uj zNA0c-B@~oUpq2OqC-$2g+f24ayUAPb%TKKP`2%I_ZV-3sg_jNsBMBqo&@v1SvjDHF zqL$%9Vi_wolO7)Z$9`~d+=Cz(5F+$IsD!}>GTshHQbI7!#57zzwuF{ks#b&C0x(b{ z6i_Ndi9*)$L?^`Fjx^lXP|^vIlx>Z+7WxT@ZaEI@A@(sO1Wxf@?T4aboQcy=C(#*_AwTw=ZaBhpo zlXsVGYRo$WHHDR~fYj05@3)ToC-$e4du$%TQnYq+^W{wGqj-=fq46L(i;OB!flBW| zIZSwMHNWAVf8(ov#=rHC_)n_iVIGdNmHDT`=|Bv7OFaGoI`R#wlAuqx}i|LyWP&MCL zFagfkx${pxS4IU#9R|Xo!qtwq6}z3Gk|bLIIb?iOGpMC+L91H3P7ophAfW^(0}((K zMkhc4BG-rk0!k2o1{79wl^jSq-vE;j(j-;5z-lGz_6?br(&8CbgT`9e`krsSeChc> zQV~#62&GjrNg)h6 z_e<}hESY6Z4lcLbr;l8p-23@H))j~0T#&W2ceA0%VcXL$U*p4Y?`wBH@_y|{<`z8`04uTaX*JAC6olzxU|!%$OR|zH=ixv&Li2qo;SXF|84h} z-ifbAtPfDn>m2=jSNCo4X8hw%e(7<4`oHG`dheIR@W#1aVr>`R>}!vg-}b{#XSYDV z4op%lJSAovhkJf_vGsA-3eWWG$e&!_`}L=neDnP4-`KAGn&vm%wu@`^NQN3c@K^)e zCqQv1RG1gUVF5G{4Rl01iTUvL41uh|6b(Rzxdm2c1Bg;NsbK)18a0Hvs{^yB0T5^b zpbdxwP{DD#^VlueqtA!OSJ%9K@$z@}t8d=F|MBy5{mkZlaPN^2#Kb%=BNbT-# z$Zz)aQu0RG<3&%mzg&;k5Bgn}Q9Yk^dECFwKlA&pU--*U-T4__Uf}+s9S=)0az2EA z|KCwpKU@#jWzYx4c|LWTr+J)G#nqUPjK>R3upWbwW2WrUo1RfuGZx`!Q3P+2kDI?R zPhbD}4_;o6CJ7R=sOo6HqIkvY`$s%)KmUis^s>et+mi&fqn{;>JH_h)QGNiPKw-Z` zz~&+ta(s{{H|FDK?y{Ngc;w5 z&-mfrc=*E+e45ksZsF+0vea>)Tqk?Zw|@B#!?)gK@?Np636g+S`22tHPrv3LUnQ2U zz{RL49B+)sW2*8eN8R_anKvKFjHog6lSlcB$7eqwOP3dO?NIR!oM`5xmU?hyl)puO zt)}nq-ScQ3u{ub^6@9oveGB{R(%IR*u7h$P_xy{T&LRUdk(! zLT|n}JRQ4@vdkP@qYgSnlE-~c&+*&d{(b+#qmEC;sIwIq3py~Lwm$L~_3mG2vp8POGpEHn)BbIu_kkF#L!nAGbMg-stgu)>$`mhZ1c8p{4!%Hx4h} z#`5WV`1t&&o;w?F*<_NhgXvOHDYDtya7{TxcU5D^^$ z=$&>W7o14^3fus|yu-y8|Xa$j!gi$6jrC|^$ zdMwBW4K1Ywtt@+Scz%1kytJLXpGK?RrZxKWDs~Oo?Wb;jXqz9M{>q-7{b5&x*6J#^ zLcHatk5@iOt^%S?(ShDO_ys52w@xG;&e7hTpl{I=pz9bZ^7PMV_E%Z#Pm{gJy_6+m znpr!mv?;oBVxPiwdQ(42m@)7GU}E;lIXb6korIxL!)QZnpaU8RIza+}-ug)~nH<1q z)%#AYgSKhxcN*P{)Bp^Jg{_3w>6CNMoc9m&&d|e8U8lH)bDYyG#`C(i5bZ7JdDx(t z?}D7}!Bc@Je&(XkE<%kW9ReVB!HLQbz z%c!x3SU1KNwe7^?er*Jgfp$cZ6#{J6tvVfJiyYRqGzYj{93JARCoeyeAHPD3(8 z_7Tt+*_d0OV~j3go;)0p9)Lh?{n7Fg45Ai!pSuU&c`ZgO@fcMOP?yV8Wm4_|P{ts_ zOb9@dWf`C#;_QWsPTIf+%~kV_9TMmsB0VUBNepW_xA&Sm+8> zQyGzSa*BnoL>VJXC|SVa+L%f#jJe2r86}7$0VSeAsQ{4*RSMu%&yYO^A#(^Vp^|wR z{%@>2w;Hq(If7;w0n(svv|(4K5S#t zSW2nKdWLPj0?TL5+txjUH8V#hczNAQLK%!hAcO=NY+tiWyuY2*ASmrcnrO93}|CkGi-g&_LXZ-rsoJ}!`VYe zwRf7(6?RGYqO^nht)D4P?zDCGzDg>w6}m@0dCPu?MOPFT3J;*^()ZW@{y6=_ndRM` zE|&W?#q&8!@J);iUKcM9ThEVw|GmF#2B^_`bc>`e_&@yrm|f}_fGsv1(o#U=1t&Cm z$6$BY^v^bpCC^FPVs+q{GvIMwy!(|uuw3|jzj@o^^TA)Hja8|K{(kLWo+kJ9ob&J< zFX#S1wQ>y3GhF1#^l)$Yxi`MP>t5gPzd!KYmy2Z=*wM~*bcG%506K2{)Hb)NRVVeh zrrYDj>;2?@f5FktI3zTLKniIdgy!pR{abSXWp}^4%JZg+#pMN6r1j%ns{Kgnr5`WT zJKov=NVtBLWBB3!z0U2ehlMdv2n(QFalwg_m!v&fJx*`S!|NYkNg8W1+vtf=LKACz z*;j90{!4%A3v2reNttH*;CR10-h5`>etUk`gJ0hC2lUSL>IfO)%B=AG(A#H!`Ng06 z_T%Z|mrugWXS_X5&T()V%V>eEp({{YK-~H%US?icC7k>I`-5J-dG7PKpK-2#|ARks zr`70030e(YV%GkQantWQ?UjG%um9q0f5TZioknC5+Rb+Vz5nDdKb-SpwqC-PuqI%k z3)aW@;s3+uZ~q%h9K{L?%PmC!9R#@GM9qglukvM_aC!NY=i{&=>8L3M9*~xf$L@T( z%k%xu|Ki(a+B@U!iurivzCEmb>zR_04)qrc8J zruQiv7D6FKh6g*_ymhROA;jXr{17@W{qg0ee&y*U_n&+KF)P@*MjHSK+5zp>5111L zEsu}+w_bksdw;A4zk>As=%^Jnuz)2fs3C@7INcX9v*vo&kDpg-P=z+>p6o!RndfuZ zuq**6*q{Ax%E$g#Q8ha61T5V@kUj!Y0uV4T5dba#0VF8eW{`n&hsH33>QEqVIK!rv z5#VwffEO8z2*BV?3xH7A$Yg>J1PQ1>Iodtng1#t+ss+?iDnP}d;pl}$-%n;!95jz! z#Qp-`rB6Vx6^JyerjIAaRXX|7i@DHZ$Jn}Ef9uQ7ANvC_U#B+#9rx$x=kO8jdUKWr z8KeVX;EI}@YT!120hYsp44=d5uHI_wr+B~iXP);V;;J8OZkVY@9Ut(SjFqf7bNZuO zpFLc+BXgTRpivfC$P~)$5bM5H;8PUtL&N!W3>Z3&f#y_M4x6tuBmrmzDivvxst<(# zgRxRO)JVjymg(!U9Fx$njl5lb?idVAv2Sox-XqnhQx^|+i_ec|{LY`aljZxz@v}ef zX|>Q#@IXyCkB9?oh#aK-Y|d&C9tQ#uY0wI2wF#j>5GtvJ2Y|LYF6sE`58Hpha~_Ay z6b+r!YptS1Is`x#QncKC7j!^$NPqxBE6@o* z_tc&9=d15K=ndK8KH!fiEC2<-=Go_22RY3}`|$nMfAU}W%khNF0Qa8y~+m_{ULkI@rR09K%q0~(1{w_i!=0JKx)@JeD$D+mDFfJzDk zs8SRGKy)Yo<3&9rwZ_xZ-P0mg54yy8F55^CrxJI#myP#NlOO!-#@CO}{ZV|$l=I$a zXlb=u=i*B(3c#H?-BqWCxd^8dr8K6mZT4b8?QTcjli_Yyo+-cI`D+zY0*Xq9$i zIZ4?}+Z+$(S(X!iVU`fQAoK-gI7AUj0+S9*@4a^)t~*jtU1ciJ zpfF-U1OmbxmVlai7l?p>0T4hzKs(JX&d=NX1)t&q0+iJ%LooK1=Q2yo4LSmaPCx{M zs;S$MC8Iv6uSutXuz9=hwcRr?&$j9& zI;HMi2{x6extGw%A?G1Sx_+!FbL7#(*6Nm(8qb5Bhf=atvFJ696`4MzZYIsJTBWT) zhi_#?-!JJY^wXp)Xa&%aWG6^6K8V+>8D#%2H)P0-Xq{WHc@4L@W`X{N3%w+`Z8^ucf_)PvBE{<#76w zDDBWr$Q4&~1kM~Y4Xa~^QUStL!e|3JCc?fK0MH?U4g$KneJoG_cEwJc!acvS6byuY zePGxj9fBPT4l}3#Od+rUg;+9^&PbV7w5~aJ=nHW1!Cm~(H{NUiNq_jcrw^~bo5geI z>yDhJS^E+}0~jwl&TfnXUVt(>RD@~;SlUeW=tVTo>r`KAK2Gh)(bu1)AUjf^cMD?b zQ1=s)^c|=y`xtW(%h*egrL)u{`eT3Uvgh#jlCNs4656FmcLxED#!wGk*JQo(#2;+) zZ`Aub;_TG#xx9Mp`*ril#Z-}uocURl_?nm*^*@-_3 zUv=7gw4+OWPoJp~3TR;~%V=N)w6-$3QdoJaauxtUD@htKtOg0tt;JJ-OGT8Cz@G{t)KJB=6KmKmN{=?^2heMy*zB(us zi`quxXtt$81O%uhpq2o)hl$Pvu7`tfzyIWy7v-SV)>@OI5Z%EO3@82sIQN1@m4gCU z9DGm!WdIHfZvq1CI@h+ZLtj_-?X$hRw)ao>?yK|d7pfa!{U*w=0TXBpW+NocZnms2 zFxXfkVk7_qqJtx|)S?4jAi8KU-~`;dsc^5yYLx&EjXH>>$OfZ2ZT@i}IFnA!AX@Ty z6y*#jB}F+#ao9ci@WJsaArepwwB|=Rw<`W(OItZW= zhK8dTYRcoJhi}CKs@MqBAOccY0K|zZabl|8rcmKo-m?^y(S>VCmhO~vaQ4|hllFBU zcYP0_f6a&jJXo)n7jAlMe-O8SsP%@e=B?B)54yqU>^G15@Val5VkYN4y^D3&GE{*} zNXDsD?$^WC?jOJPxBR+a*j1n3&)wQL4;$Jx<7Tc|m?Ehiv6HS)NrA1%NXI|a8pvCY zkGVCrG&+xU(h3475Xpf8Lbnp>TUlOgxewo?qGe6-IOG=&9Q%{dhu+uOO4Ni^(FH1q zf=GxwwqW1qak%Pbb-Eq1GOHarrjAempq41pXSZ(~R?wAr_S4!#nk9-w24KM0 zO-%p-&b=6Js*HJFdI_Z>0EO|B5>z6@Mh)#vX6tBY^!qlQ*E5GNtY3Xm{lbgSEk6Bb z*tEm2LoS>v5!&J|q!K`>Z@q(J1+&%S27(B%i48i$?yL6~l>`ldoG-`7hB8}0E&xGi z(w*#NVj}wWZ4L`q`r=0)e5;qA^wXO@|J>&1`_mPjQyPp5yHF985k`Q%=Vm)^?!^Q^D zprO&%3V7DzrXT3ByHg?>B9Dy?fDO>t27=@oB*`_c`|dVBMvU3^W8LP-736i+SKYQ} zj4ytLN?PK_6Bu9_xalphATO?q&6K8{$1;DA7j5(Nea+XK-RWhs&CPZ+g0%bI0d5oT z_b+=K^WDr=cX_XHWAH)6Tj%(2+R<3@oQlfo+qat*!O^jw(n7J&lN707=%b$h5nQ06N+uiAG`o8s}c*7m7egMM^3{N+1>*3kgfa_=i;~!KOTdI< z9V)95Axnqx(r+KKmlt;Y+B|-J9>0uFmFq8rVN(*$6ahDs0SX3=0c>`*2t`@~bQmDF zRzckBG4?|&G%yjM3N8r7git*I2T%@CBr-jKShjQPpI=>kaQDGC@&E1bf0V619(LE_ zv}scDaJ3#r*_KX*TOTMy2!IqeX|%|u4gjHOS;jf2vG>!76vZ*f$mAddbm%yGv4Uvk zYfslBXsZdJ?#wzMUGZ5E_p(EejGj^4B9cYzc_Oc_-j&9hSR_UwhO?T4M2P|55D(46 zW7OTWnAQ#5AyUYOWWk8N1?u&8Ie6Cl-5)~>jj3aAJ~~4+$6M-rPa7rEweU=oME4;l!zS-361KopaU@0U)x1*E$wvH+}m_Nzn10Koc{*vXUcN+lXk$~&P0$Su;cO;8gvLq zFesK=0MQK+1mYI;{{FzxH#LB3wwaFsbf{uLkcn6vq2|=Sa9D1A@B#kJx6ALo|Ia&_ z?eWX)^Ifi0Pwt@&D`@cUVP9pYzU^i8@g^fPr;>%p0XT3l6c*rOtTsRm?X*d|fZ(L4 zV4pN#z?DZY^lpspl7?!Tziex|08TJ0J=?bgfS#E7IP4>`JL!sRARR2M_H0ocg*~>* zqcF_s(s+BP`u2fPEG?b(z z<8h2m>{}T+ZoK;Oi~ncsmuq>qk+sz%;u#`dv0L?8Xu6rO-m5Rb7 z2Y?`PY-GuSN(MA*u`++zH$UX`g*)7rZ@GTy!jA#YmiL$&G+`99)-DQ|S75`YkiGHo z_^aCAa+!}_Z_+-G*>bMa+_M_xHmb|*IGarvR9t5E5Oshk9U~$Hkz+TKnZ>cFAC1`d z2=}1|gd`iftd@cTib1HW;Pw<7Obewz-0vSb_9;PjEW|`YHzlzbK5_T2dh=WB7hk38 zUx4wZ3wk7A?0OO7MVx$QK0d%MV z8c-mT0bMzqV3kV+L6T0unyn2sz#7C}rmn(Sv8>3$u)Hy!)WS+e8^2O)({=Ql4spd@-L@TU1X7)r^-=7Eoq0IoWZXix{;NTK8Kx>4P zVRC=WGFL$s$UTx7fs`BQlnVElf{#U|?TmFRv)-T1eO|x*y!))Lo?uDm3|#J*t8b%T zx^1nvppIpK@;H3t)5GuD{y22!QaARxJzAKla7mRANVDo-_$&ZPfVP!`;sFRK8VJMy z)LOS}@-D)pAga+by?|Px7$8Ih#LWaW5E#zp2qfG(;1v$~4~FNTi(^?<0A1|eOic?Q zTFLF)3qLw=3hcC8i_?~zHCJ<*W@T(l!xYvxzz{qXi|PZV1r6OmYAFSWmc?NV!YZir zo0aswtnORuZQ5Tp^6S^1`K{;rRlnnru(~KsgwhQHtjPl`=FJM|q;FI*rnA~42q3sW zXv!5vK~({UFx|u|pr6c2iwGcIUl=biX?@wDFK+#Tzc}-E@_Rpi#_st(uXo!A7sF;4 zg5eTDX7)<1}_qZjLo9JCXg?Gt@rY*;&^3Tn~&BOf2Yn5PrNE`SC^IRH&D+Hp7J zwz6A;pdAPRHlQnc$mu`qmRYyR7x6303q#r!r*7CDe!P$6=EMmylqe&d0}=43D?O)h zv3FiRe0l0ia`?ln2P+b9i8Wc3Y>gET084F-Rsa}!{D!u-_!jQb5DJ+hYb0V&kN{Ac zWm6v)@}e?h60bML`HLS8Uv#~uCDWIJd%^LX`cNE{sbDz;m#uCgpKkbi|Gm&ZvVL;A z)po!T#Ok_+6sdR|rHNLnZho?E!`mAG4M{K>2tZRPP)UG#dIN|ifD{3Ada?x6Qs8Vs zF9f(nEhqqViOz0F+toPAfAF9D`-Tr3zf&g?5dsV;Iwru)xfkt_*o7@FLXBYxH-|0m z;tp>0@{!A(Ue0Y7>zpvLil#8FuTremQ*@DwK19%9ICKo1C-AxK_N!7h&KFU0AnMSe z0n_b|{`$|nrM~lZeCJEeqhGLKb8sVAUEbWvr|({$rpI}D-uK5bSMx<1+G2atf{VKkQOL=b z?L(@jW~$SO#v#Kh41c?auDz=-t8OFuh2xiVd|5riP=HZ^D8PjRqLF&r z1V_^nlxW=b=*95mmZL3aYR>NRh&`{zIE+?8fasI`^6PN|R8LGe4X7tTBm*Eih&2&K zJ2tu`K&{tRxkUlc1RC5IjDw64iOYrO&hu_mn7fYl#lG0+z2K)>;>AfT22N`bh|CWgQO7=Ugi9oTD` zc0PQp3u9@EnjK1R!3}6yK;)Zro!7U{z2IwtQsj669+ja$&;>B+gAZ=w{ps&}d4DeN zuiLxpdTRyO+PSt}9+hH?gp+sMYb~>Drv-Ye^X#j~VA(|{detAHd_7nH> z7xVdd>swzEE`0%5KO_4RGTNcGpfEB6JL|(UZJ^vI{1xH3Gh17eOwFLvLCTOc-F+N3 zC5P{R@;kZw?)v!Q2V)4EaQBWC!cK3)eWSObeHDH7 z@AB1o``LN_+46F@UN&WQ@X6?v-n4JD%T#i?m`71Cf(BS5fv7A^DF7VW(Tic9>jyjW zwv^ON*FSyz&^*uuN~8F&>sD8-MnYl0`CO0BkH;sIZ}YMoLaZ|lkt^b zJI9q*<&*Ai4I|S_7#(QzkW2`O)+8k0DTU3)8g<9VJQm-E^G z=U4jJAJd--@GQe_x($Cjd~1Ts~S`^>ZlrB z$*^u#L93|f#iKCK03d)B!*K%v0irdKdtmo$fK&_=LI8ley1LxTfn$O}0CWTR{EXpT ziu3r#pB_A>`Z%7xXP}WS*nrezRK7{Kx*pHHSoLTrVY8gDDG_0@&`3#OxwQ2#t?1OR zRdehY+lz~fA1yvwytDd`^YO<%-kG_Y^CrjhZzrW>++(uD6o)>#pa{eO0ig`Qx=8{EV;a*8vzEMwwNJeV_A#1ILa5trT-L>|kKe`TUkeX?CSiR)NA~8|ApixSkq`v|AnpTHy<@GS0K|fX*Pm~a zM|9M;|0n*pfA4?%?%(|RU8cERONL1@+8~kB(};{U&AYCZ^rvm+)t+>EtY1dlB%>t^(t#3jTAQ3lmO8k6y%stu*s1K76C8dct0Jz zsIMx3ZJjOcDrdH(&oC-*l0|bR34r*mdY_P{QdohHMTFrBR6Wv|itQ%YO51 zJbdAglqQ-6KmmnY0<^JA;lrQ&?tjMr{~tg7=zqI7rwZ@=N)XU=*ftcuEXr_X+}H5lF(caP^O zgXN+FoROsoRuqa-fMd%zua+hNdnnM9%9Q|7meu&^#dbZ#m1;fB)0xd~){%{jNU=O@o_}@PGj7@;qvQapMNxJ^7FS#}C5} z5zrttfGnhDbfw-@P6feRkwcX+%dVBF+w53ze|XTT|4kp?@8f2cxHNR4K@>lycv!4H zIl?S8SzP$n&u?G#z@c|OT+&hwcphE~+LGI#QeuvI460)`xlI_=4MI|2dp1h8Xssy| z=*kjm4Hg2x(i;*WP!|{?AOKef2el037V`r^?~edL0O~1ABeSH%P?ZO{`SM|PET)hO zA#M9qNl(;#{#D!xRf;4Q;Mh_r@RGp)q$^@J;jkzwYlK zgo1%k0zeW0fSif@gHy+^Ami>2{-6K&`~UOb|Gf`>d)Ghy)cN_vgyB!OF#)$O@R)$t z1$1O+#UY^(!*Be$|K_#)=J5KPlNasvL%W}bGp93$JY)}(MRUYr(qZ}qnmSX4blF2F z8NrgHj8GiIC20xjvPLj0i<*)i)BydyKYB6DEl;0wUa}n=+46kkJ0~<$ASD3u>Ysco ztd^dby|)0s1*jy)n!Pe8UHgutK!BnZ(CB0f2>>iWX#pasGt52aifm;BMqwTbH>}g- z^t1-Lm+1XP7LRj&I-LFc{yJBD>71TBmpk3x#oEaex+A7M3pf%0@i0`N`rrKF|JN&j z>L30C%12RwL6$Ay)M-u=@3N+vC*!WD;Eb(a&w73M9&WzkN2^EQdQLL1CiILdwxzqG zoHZu*Yk$VoF2D2To6F=ZIV4_#3+Q}fAP&b^3tMJ$rbA_GaMl868&LDlXL?`T-60T7B1QKe86aX+aD zbjfv&8Lc;5b9RrX=iT^t+rRPNgKrLhsrkb^jn^{FAxHD$S~R5`p^#u0o6J^vm>9L3 zI4j!*AHN4U4>5(1z@hekI7K3Lw& z@H;G+@Lc-UHFx8q{p|1YKZQSV{l)6ToSiZT(1zWUfrg!}-DmceJZF<4j)vQt*VB!k zzy9Lu>2K`AZ~5xl^&P0H__E*cKvik2$H8-ZDf=Pb7{1?DpS|tZZN8a@XkJ+xi`*47 za(ifAS=ZGQpRN(4TfsW0Ua3At-Lf_G*?6ROg(|AT*RZeH03DZGS4U69e9Yf{+^w~~ zygTRh{>zs>gL>!pPiRf2ga#HsA>wH81~*JO@LnJA1J4g1B9<35D7kk4&!!P1~-1j z^Tzl6UQn;|;#0Nl9>6AIA?IPteyN^}2EduE(iJcYptZ)rYCjdrLDxg~yh>YKlkPj( zeLOQiu6DNPRNwiE{50}0()67004!a)<|g!6Th7 z2@sX+)R@&-Zq4EQ%J1_J zI95qfwIhz&W_=>>=gocn;yM2fef#StZ)}F6M)CF2QSzwE>m3BZN+=2-&Es$Fl`1U_ z01^VkngIH7M|Qr`k!r)?VTnD`(c^6kx69p*@icC}dOd{3%h{tR!BE2iz_TcpJhcqY zd{~N>k5(%kuws_UoOia8hca^_ys&dc>U5JMgOV~8?5qdf-JcmZ7rUe?loYIl06zTK zU-|M{5knA$y3C{4P)eLAZb_LdOcEtPVU3lGW1Zc%FUa!Ed%f3(_h!-pWG?Mdl<5r8 zk;C)D#l?bo@%81eVMiZt>Tn={Mxv1fG+IudJTcg>hc$7exby{!o8#NNWxyHdhP2c% z?rAZHVd$f6maX+?eve;X@7|LiZ+s}@llgd#opcowY929m`pf`;} zDu=9U3G64Y=e$B|RPUfxOby?W~ClJGZU-_003>=fD3~9(lVD4cTI;3!{!Q zrsPo!%n;7JZ7KX6#G!qjUyi;P-+EN@8p(_Y)3F{6x=lFoV06xwhEs62Z-~Q1J%yTr zyrRnNG(PmT_`MI`3Sy{8QlkXfC|7$JF$!I6m(Ap*z9C zvI8WS7zWm(Z*UGM=MVbUHy{1-(cdzw_S5`Q!)4agssykB3F5S*bPXrayDL$2t27nR z$ohrqfGBK50NqN%`J$Nlo46DSI8#X_2d89I%hyO;gL>QoY zOZCN5+C5mHLG3MjyHuYqe)AEobMD?^4ln8s5@fMwOfkN;mLyoLGzppe30Am4Q?LLq z6jZ<0sBYzUbEldof(VfY9h?-4Ev!HSR+OMnX49Yk$&>&4{@tIQ4>v!)^|x=P5Bg$2 zo@l)dvFd(gsmQOmHY?|{egE*v=5Nj)`DDe)P$+AD(~hxox~s z*VdoGbhHkR{vtJ-*=m+Dye8Mq`TKs|7ys?-woT*Pmt~fIOovDGDIlx@3|iRQfJl1k zvD7v2a3#bZuzc=i)fRjGijH|=Rmy)nu!qyK_P*#+26DN8oP>ls-Q;@4TN|r06}C$A0e&Ro3k#1|Nc9_^Y#D# z#OvwDADfFivW$?Nr5ae8|0XT1*(CU@+V(9nSzA~;2%5+2O9v2A&Gr!hr* z(3r&7nWt&=?B3IBTWL>K`ul_%Pm|xjVxN0Ygp{R99=!2tFL}Km#%Vr14Y%ki_Bq!e zaTR$Xg)6$+{e1fN$Cuyy@zdEFX%QOph7Po?;ea>nBTx6dz2Q@Sciz7EyxcTCs-L|K zDxNk^4sZ0S#Us(cpcBxVq(D!Pg*yVG)01>)o!Zwg)H>cwQ?NrQ0wfsD)aQx7mn@PI zkVaB+rozO-8d+Xcql(=o?=I0i{G{Lhw4XjW=jr9!r=k^A%(;edjh^wa+JsmEu%fCS zK9;xFcYIzgmv6kk4nMig*`deo^WJG_%~Uc&K?-AUb%=Y7v*rEmB1eFnXNj;E8z?Cj zeTEglGeoP0=RWek5r2FC#h?Ancc<5*Q#`ZH$nKNS<3Xb-^v(M2XZxnp%`3-$=>PA( zHg~^N((9Y{noZ5S2?kBC&sy<`RZQC!$M+t>3F0loo8;nx6U=qMGvUGgCZ#>_l z6=+ik1T+vk=m5!p!-ZCo4aBKO_nS%L+Lp0l^f2+%B3IXR;P-aM>we*J{^mS=+5K@b zZR5RTg;*7h(~xDDX&SLcEZcu;cid%L&)&h_jlJetx1Tq6-`~2^>*mVM#c;$U+n#ED zjNhK~Y-W{Mml1i6W!gXa<}W<{Womr5-MRXF#O7|Jqc0!Nv3bkB95>@t$v3=yc;)@!Z(Z;Hp6eGc{#C1LXs9>Yn_$NzH_qn?r>-60 z3s>XB(!=qQE=lk7aBGtTp~L`m3SRr={hRhiE3A@BRZ;*H>jqRZpa2?>WT@v;j=#<} z!eVgm7_l5#LsL|@Yw6a~-Iwd^w%P6J;?6&K|F4|$eYe>#!3c(w(Ix51c}}^f5b4S0 z+2)V_Q9T{jzH|MBojsLw-ScgGaIMe#!H*q$u2yy9UWl|o(lbba4vsY`gO7c3`jwEs zN?%-`5BuVE2*GS!HZQnr+4=`)j`a`fFKU86vTiayWNGu7hpYM#uqY^N_n5vnl|`#s>o#!?F_#C{KxK=(k0 z0v#F|y(0llFPoEJeDJsH{Em6socCo;X~qW)LsK>%GDRA)9sIhouU~ZccdzxYFE4$~ zxPR@hcd*$J5ESB!uCGC4{U{GRplxB;A5_s>#)?(>#b54~AW=%N$?%CHQ8NMwxHxZ$n+Y|XEblR-}*SVTw@N;GaW z#B;&-khu>5#t{(G2t-f>3{wr8nN39Xk~MAZuDK2f&SQ9O43E39?mjd4l^*YZsd>Fu zdh5|N)mfTODGjnI7L_nIsZx%Y*Uis<`tu)tWuDlS1l(X_=uTK?A_PK#ds8DJ002#T z0EiQGS5bV zzI3>L!+nYKx!t$)3rG94!U9H|Kq6+bg@B_Ylo$X7Itu~1ffRyJh80vWseHFeC~{}? zTwJ9pOsFyek^lv;1;m=qtMCeNx=5M+?eD!`ysp5ZEH;Qji!PhK5!e#m<4 zPUId-P%zyBPhwuB0mKkncKLVS{l>@RyYBIOU#%CsMrcb5c0huj;p$RT0$Rne^@4SN zBzw)0=keTW%)aCEOus>9_UuhDpmn~;?Sd&Pw%guhd4f& z4>qteMc$;idXNPIgKoh4UZ($Te|YL7!ZHRZuApfE%#zl+gEslS$W>YIJ;1Oq0tyBJ zNKTm32iK+{SsN^qA3gXV_|fwE{c8`}Kx0^antjx=x;l8DKpwS8m6kG@f=mJ~Ha@$?*G za!J_*01F5LK$)i=<02_sB?B%gTS1Uc1_-4{23&HqjCdF#q0NKkKE3hn^dmnL9~v*h^;r%PYw#tolc=LeW=nv=0u-&Z?ZvmF zKr#SgKmj=QG-55OwvBXxhAvy#qh5Pi*RKzC_oYZQl(|u)fkAM-*hzGE3^^6m(Lq{( zt6=J46{~_kMz4`gG)t|?S*)pxE;iBB?}naVGnTbK`GnT%+7DS8EC!3LO=L#x7$n7# z9NT%fo%4I^{RfI=0L8L}tGR`G8k$OpxL4ex{uoIJ9WbCbq%kVKh(VB%Wv%$sNB-o# zzVq0Z$BP`C4CHoYmaY5bw${A;O)5js9-H^?etplsZ+`h(me~7hZ`_yM7w=%s0{QyETnq zD}V;Aw9qOkPz7tmfCAA$Kv5n9F0tHdI@-G3<00EPaBR?fqk(1AP3$==#qxR^%kO^D zA0<|lT4M_O2$pe%MGVYScJlyxC4&}VfVpxib89u7K&u-;kRY>S3aX+*iZZQ4+M!3g z>~Z?3e)yNP@OW3^P-;eLSltwi?vaR8C~5`@fDNc*v;b8ASR=+71n4ABJ#-pL6gZF` zN~>hGW4&%)vij?P=n-m5A%PeQEO4XQ0}SVg0H-(=cFN%@5=TJuX>S$FL1GWFD+7Xd zFjD~$(3Mcu>eF?0v%Ic2?B%Kc(RKFf`!r+>xsBXZV{zRM&5kH?OnH9$qn>_}kDvU2 z1&k`2=-@IF2`JmW$g}YcObUP|0zxv#fi#OLFi(E?Xn$2d*naq#ld24?{b1C|(X6Lp z6u`B=%@vLBkDn0#@cR01Dra9`czsZVtnPs>nySc{jP<-aM!o#hAaIxp#X3SlD-EE8 z09>A84*cRSb^0;$QV$`PCY&=2zFQp8(3(U{8)qBp~hID zjdaVG!(!TL(zyaT4r#lNxZh-B&7n`|CHCx9ECLzjvdW&y&{{ej=_bQ4&E2eJ#IVKe zRslpL`r`~#_AF1KfPvaY1GG`zF$k3r$wIIDa??ZktJOD&@%b#uT<&+J(^ zIzfj9rLX~j0)R>i1OO!npa7880XX%H$|YhX+S;}$Iz_zqa-V-68NrIu>;<#}3nT~t z!+E1L>j4mZdmrrM28gg!t(IG+AVS?lR|Y@~+)}&ZWvyC!U;5ozhezd?>h;I^i$&|g zHPTU;>u#yakn#NqX%r`BF7*?26j&W-L4X9HTO=4L z=E;)}{(|29qMuKXyJ^;_vaWipYsiyYtdkf+6W9N*|9!*!Tjr1d-PirAhv^-|zMhzU z-=sLLXLTw#MQ;)&{bOP843s3-1fFcl$YKTsDkokC-h(V3BYc`wdS>c=A zx|`Os2d>Xzsj(y4atq(3zfVib#1u-@Ks*iXeOR8$r#@f*$}j$z=>~k~%)2n2vX969 z_;OA#=~mf;R4N`?203i9!c5JT_}T-BU;li0$;YP~;xv!v*blY|$2yEF#*R>_sAitk z&cc$gv_7n>I%x&1DYMbSRRQK2R8u0L7HaSmEjpe8H;S&dSV{KwBgasw{7%UWa8v8!8RVIXmA;9A5 zSNz1u|J=X%-0^xk4hN%1w^{3{xHLX(;q-1tvDjPdt%QH#x97j*`6oVy>2oGzR-MSU1bOb4`MDAE zb7hSr45>swNbYSq15~M=#mp&(q$B{KZDq|Qxl-RLyiGHy%~7-27+G#Q<$jL7+b#LT z@qQn1&)SxkAT!hYdq-C=!H(=6D@C6EqIYk9D^Ks;UhcoV7^9-ts#dDq?T6>DzRq7C zPyG>P+;?ZGIhl(D0kmP?Lm%_x^^afppC9i({N2S%#?Fl{-ntZ%i_d4nb#Nv?C3co@ zpKMLGic*eCmZ_uw5`acagYDGQHi?2;I!X>xqIFLDwe$cuab%AnN&h%|AFY|sHvt5~&LA`(J$h`|~fDZz8-I0asO0} zrK7ON{ltcF87`$C@5?4=QV-(z^rJlf(!R|TYg)!}nzappdr=JufCxDopv6=4KltbO zU)DFCpHIhBCMU{)Rm#v|(+D0}w719n@|$1Tr(ZLF?MpYid!zgMz`^7?&m2<1#2{(p z$T3is*#L(?c)#*(rfi=&lOtqjwSp1_RRB7KVXCkIx{=%oJ(hgI7H4^s>Z*vstkwb& z1Y1Y~8c@jrryN_V0EjXn0LlajAR#H+V3VBfl5Cu9JCk9f)P~nSm}W|QwK)${-XG@i z?2tQO^}sD^GW%E%L#-9U)I2F8e&ucb)lhpg4VP)m8suvHv_#bBJm)+=E&BJ~*0hM# zV6Rn5l13lLFqO+bTmIWmZm-GX^zza6gPFT|OYEat7w-5F#$l9z4hK7f6;hS>bP#LA z07+scC2jyV4J0j|oN|hCXls!Ls$>ht9FsSyz%1EsaCSUN!`2oNL)`gvjplCu-Q z1V}EkjOjRr)c~L%kSL&w0bwiHjl~oOkZ%*aZH1ahi4M3k0HdR)N392v6E4r^{gRyL z>tVCp*W3&m#C{7Vgz&1cb zYm?-31aoN1nj#THL0dyeN}D9C2`=aY6gKIt4JB?`Dsx~0P259ooyX0{qFRsX%G-AF z^LWtO<0`OHS7_9n#x4HslaIdP8y}DFeEHC{odc`fVwccUaRD!M+#me-`S1PGUwYKX z$NoS^H3PsHb&HqJ_Tze5zWZqY_6v*swto%A(AYdzn>&fx)}2$WYVB-Q3}oZJD)y4y z>IDdpB%ls}1<`<_9mHvhi^oYxj7k>x7QG_2`6r|QvxM=@0^OM1K zI1X1I%aeXFj92b8VKoo-A=Ot|V?VC}u?=&5_Nm@JeqHK*j{L=!dB_F|hSbn+H5W*e zPWPGI*c)r(3btF8rd4l)Cx6D<{^HMlw0ouk9^$zJRV;U^mFK_;pU1Q;u2fZLYyv&1R;eBPs4exr@!sOo421CAKq^6 z=jyBVku}qSZ1rK(hg1-5p1zz;|9r(}lxTXnJcaQF_1@0K&abcO=kqMX!`=Aqt4ANd z7ITTUk-v@eiaKE(!g@0E(;r{wPv&yjg3j>}yB+#xkFS>s`TD`^NAKgv>%P7GQfSTO zeY5yReRxwI&t5e=-;L+(?k92dJ7;~eVx{e?%{>ePVk-iL77!R{gr+D}jSg7LX-F5I zwZK4~Y8?`UC~?||16>5_fR3!bpmXyYb*p**?&nV*Q;ASk#;w|B+{0br;{#v_5CDP> zoWE892^}aP*h0VNpFDYgkRP^ViqV>*xNYX<(rQVu#46cfJ?)L>hgQFuPUvu9ePG{M zbk>di75M@#XnQW}JbNJK><&I=<79k@*jAV(ZO zemP!ok|j__bO>qkSfmMr`Kqm!jgb1f*N2-pf=TN@D!?LOz0-cEu{ejtV%q!ZpH20^ z0TAs#S5z$uB4{uWkia$pX8AyADd934_C#*B;({McJ}3|(Ra~cf-rKlvNlH`Cg7;oL6{~t#I%~2)6$Kf#OyX2!R30vk_aFbD^*g&h zygAt%q|Uo+?#IXE+uu0eb}@87%HFL+!KbB6-m#xw-#=FJG}Fn3)ai9wltO}~=mG<6 zw}wrOBwaC>SBASc_i#6lcHU5FfLl-Xku|C5?=L+%r#eg-)DDnJ9S4sIr1?B-^Ei!L zPPTa6YeP8Z>|sQp9oaA3fo{l&CiUa3!PloN)DQ={T8OFvIt0$Wh*f18vlLE?%Da01 z{Fk&qf&(E?M7Z}P+IcQL;moopAA80gW}F@`e`Pk+vXLD%bYD^iAA!x9$Ce}2xje7a zPi)dy`%=X^MJ=-dV8SPupu_gEo46+npbH>i+?-lf7+nmY6*;gFx1gbiYbPJ?mX=x% zb3LSG4w&+6aM;SCa@^Xk>lgRs*SUN_x455TTjt=*Lt8MGebwW5)FnU>z~CWy+dS5q z{PX$OW8CKGc}khHr;}iVs*)ob#`W|Am)3v+0e~PQK(Gcf&`sSK2jVPg&6}DisENc4 z#B?s4MIj&&4G}BjeA`rA=S2l5Js(;0Jwq85PCN1q}9*u^dp+3>U4>=0iZO1 z5{NSaY#pVTWi!({$Ky3$dG8THJGCQHB2g%rLg%@zeO5vj^p3WJp10BCQ6C=9?;)Rq zQqyeGzMv+?IL=M6%)YF0T>Evh70Z~V15k@7a)5yb9jdkL0Qz#erUG;r5I2>rMDLJ- z2uqj?Yk_^L$K&FcwCd#-uURtJfK^dVp2zi<{lv>yHnoq>cRz&wK&|U*SNE9`sjHZ? zw$)`HG)-T5yanij9uWYgXP6_kllkz*pWpwGZ?j(xzE=RPr~)grBRAjTRxm?oZ%vt! zLIDzV5No)R#%S}LJWK-6k~ecdFvda~P|vCm(#Vx;Af)0kX=+KUs-yK_8loW*;E}+f zF>ir8O1xFBryuB`maElLMY{+HKnXh`Y%Im3#E}65xwiEyifL%+E;{a-&5lrna3)gE zafM+wev8twWkz*$j`TIUt>uHoREL#YL8Oe*rG}Mj_oKJnQ#a?`yLkNMz(T}!kj6#; z0RjuVX!G(Lz%NAK6F@r{=x%y%YsRXZ*pAOR^zgiy{5+|(IgO7Olc>$fW&_W@p4MOT zviqr2*qKq`;rY$w(^aEs7mLaLqN}$sTM3?e%#G?Qjft=0vcb_}gr4n$JDhTt{ zdpgr`U z%*TBCafu56lqdiRVMiC?!Zw#$4tlISB;mH*x37FYXP3a0g;Zl8Qka|51m<||iy(OE zWMdoAwQcqeZB3-=vqL^MM;oP#mWf%tNG@%ik3$Y-xLoDgoZt5TJTAl#00K3n6KH^! zT@@%80RX)rEY3y(8a}ow5PV&Z8mv|q4yUs>-NDa@xO2 zj=Te_p|x}Y6V@{`kG?;B+kLdiHn~a`|p0BUj|E zv??l_RcCncpy84Sh#lo*yUGoFdbaCsnpgMDlW# z6P1tjdi4Zi;;py=Er0?ubVCE6C%lY$Yyx`kVKP0e%ie)fp7cgoTo<2MUywuC0@Hdt zplzidFNZqLv_WOa;Vt!=S9$n%Uld;EcITqQdJ zCRr<-rdgWCAO?U%@V50gF?Dxde25deZ_~rWeLnrL4J1hdP-U(GK&#AR5}Jql^rPGK zXV>q>C~gli#;$NNGdcLy+vWQ%cJSqGetEm^Y+VIjw=>pTef-I@U)TTrJO1|S?tljv~V{a)2*Pj1_@9A1So(~ zb}_l54q=x0IQ*fa<}+*qkzMq0Md==k(0ucKy!w~^%D0cW!|feEygu)Ecjx2tA9`3{ z^-F*GYohfhea)znd**DF-9w_~e?MP$x6?8;D*C{rryrNALrsUUQ-saIaZ2Y2H(JWp zgFSfr;2rw1e&e&vQzXS{QL2ZMNX8q*Ii!wuk$dgi`7e21VJMQYo+=OV#A4k0&|IodUppslw%5~i-p5r*Q+6dJm#35)#DD}W z1GfPnj=1ZRb~9IGNO$M1d4ohF%BC&=N1nK0-;Tu7Y^fi;oW!N4AKF)55X8DchIR)F zSz{|7nDTotY>ayrWjEJIGjIJF{mGp_Tz;7CZ+_3e{Lw%3``_?;f8@`9+h2b6eLn9V zlcVHP)FP3_irj;Ixy$cw^Y+srTuUWcF)SGM^h2W{0^-KdK(DcewNeJ~`>ozx*Z%tR z+uzWK2*a{gF)K7;E0r^pN;;xAs`iwY!gdZU!BAJSv^tnYS;V+RJtj&KiqKe5RL0ha zzx~CdwdHlLVZR86Qdvcqq2^QXCnBxOxX07(1z<$5TRtu?e<3hJiU2iq00E)W+`G#g z%Y-iQ?!T8m_uu(Hl$TfAS;qNVl56(|E@s$>mb&zZC-&tPqBW~s>SFR3ZlDJ#Syr_Q zAbMmKd$%StTMme{1V`P?<9i2qTHGr{EL>V8GzN82lN-3VCiD{O6pE?WTf-BZf~L^c z)M8Qx5K&QqsT%b+dwlrqjgJhMA@7I{?qCnyLOt~7l}Aht(qeMN#_bw<_ue}uK+V+X zL&!Mmb#M0{`uYF*p{>>#VD;W7c=dE^SbXXbDFU#puY6SLw4TR%kN2n5+x7GE`j7sN z|MXYB_0j}ophThB>lk(>7!;z3NJ`r<)qegyarz+5f+h-7F!Y^FKE51oVL}Io0(1)j01~w% z%P{~y^SAN`|Lgz1_3Nj@;n(VNGWGD~r3Y8iV|`dN2H!n0->epK{V@7N?zZZAaapgA zsJa&Wkd`Fnt+10Ol2)q{2PXzN^T=EGjuzXRYnO0=YS96qq!VT$Q|Xg?%G`UtJN-xs z6aYk0Km#FyMnoWuEYWh3vRwIgdDhSW>W{oTjT2sukVBZYTGLukOwJMR+MmPzn<$Ju5 z`49fB|GKw+VSe*iHnpWx5|nN9TGEWRMn_q_>`rJ^JoNk*t12F?N_M4KZsnj{^>vkX zrq?-d?UnStTz|cPZ1F0erv5nUR{L_Qq2a@jP*aGaxg1-ri_%m=V`q3#C8!?}LY7V{X{@usKx>%1-3S;b#W3HtK z`ZRc-s;&vuw6tny6vPCCg4z@%W>wm}#_@LZy_>pIG-#J4dLkG^X&xzI21OYh2`d-r z9_#YaZv}x@G(b}dPyopQ4kS(C?i3I_qCP4r zMx;fCNFh>^UWsjO*Gtyp-cr;CMXmfLxH$8)5U8)>c+)mxPi~dq(Y`p zPSOJjlCeA8u~-vkZ_E6X7e_w((ybygo|PB_q7)9121PwZhL8%oo0jYR@jQIvcYfoW z^*qJQ6mOL^kXR+;RE{}1g?JQ+L5ApHrN&#~Tfh6&Pq3tURMKaIc83Y`Sn8dpA2kXP z9Z&$ZbY07}`#ie7<>hDp*kAuof6Jd?+G=gFEh5n>S;QjD$4w(#YPnJMD0{7YkI4L( z&wq*gAPq4hND*nJufbLF>8Q(*wMubaazlxyrCa2hJWqq+!+m@G{^oo@k=X|OR=!9} zD1EN*QY=I z&gQ$j&1+vB`|9}|t8cio4r8=j_G3` z6rkH3IQ~{ddA`U!Glp&5vxf?6fP;gl`PNOtn%N(=i~eta>$QL0Z|b{YUF*3|7jCmY zxEE7FW>u@P#Ymsj5XgbA*mJF0W9KTSJmvEhw>;Xp)u_6i`%`^=j(+@-Uv1qx3)<>MhTX_=^ez8$fBDC$ll^XYs~85M2-3*_aVi32mCDUobg$sMG&ZoTtp^Po z5QqU#utuap0kKv|nDcCF6P?}rJft0x!{;@B^VRCf2rGr(;B5JN^Xv*rG4uGm(-OEc zpYzd{*Sehd&5Q0>eYyeX&y_x(j@GyHSy!KU?8oC{Kh{S+&#NylR__nxt@7?erbH)) zj_%_!*XbjF@o#MpOKH;(z8`8 z6$yxh0h~J{v=Kl!zyWBIx+FL~07Q?@tsQyGZ)~rA{dlzfwr*3|DWho&lSo$V-qxAv z3e=vxV~-WJ6bL|4mIEXO00A_ooN|1$h&iA%IdNvKtvmO$Hmh-0_eq zk6JWszKpRB2Z}HK2fch07Fqy97paG9vlAvq7Xatita)g99*Q>SlPVg$r5_-xvw)M2#f+d#jp*4?ghYR(8ej{ z%{RO^_PROhF(wx3Jc_)S;V?IbRb;jHSMl+m{tLXaL;GonRyjRewv*d$#5pvCCc=RZ z0-yrGoJHm+U{I9+l)>L#KKk)muXs32-k!FvjiV{Affib{Oy?BOi8WO#w}+dt2nMq9 zJVZO?c%-AmT*lU9p+;R1-Mb#SRMJFUsCt+E;dy^L43pH2QRbvHEW7AnCp(QK=n70s zK#|)mhLtA-t{})*uK_?Mld8f1$|MOo)JZmF9Cq#Vr5JVBY7c*W__}}GUnMx=T6w4a z7z8GZvn~Pz=i0S1EsB_RDo5L)9VDZSLhOL8Hd!w6JQ{!qfjI~QLd0ANXu%=Td$(KEtjou|`f2{Y zpDM3=(D-!NxnvsKf~Qz*T3UN9=UwDk;8@06Kx=d!Hx3=gAmfx1GAy)WE=T)-h}#}%q;q+S5~A#&ee{ZkL2-x(G2p$UyBq1SpetPEMJmAA{T2i4gs5-HP!6(_ggQW( zD@JV+AOL2q=TP-B#^EEs;P*d&%U}9dh1^Q4C_-oD7O;7e(0BYc8P2h#g|u~cgw}Pg z15KW{u1-Br#15fLPjaqmK9&}<;NE=&8V`e+M~Y|YsM<&5V1N?J+m|25n!R@tBuN0E zV4ydMW@@TVumBI6J}FOWqxY2sGbsi|S;6t}Ccgarzn_mcWu1?xC$|sv;`p|eRqSHi zSWR~cpv3vJHbDRaU=DzwwWZQ5fapP!ZIgQ<5<~K2-1w6>r(cW9<#WcR)+D6_a)Yo1YM;97fH&#Mn1AX47L60fAJrC z?eCQ!ij_UF?zj(rALO>(Ge_SVu)V%wYs&9QPFHuov$4%MSM zBv}nAmjlaG-UhkWgRr_24(TNeTk%3eU)UdBW`GS09Owjy{cf!6y^jJK*({!zWZFTM z>M~a}UzfU~n02fDSl<6ð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úV|k+V{Qm7yrT&e(keC9$$|k2E)vJ@#F39&W~9D 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 xD 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

9fDy7=;K8WEsD_7Q;Ptw3d-}$B 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

3cTxs9f6eazQAZr?U|^;Dk~bE#VWE^* z|Hxj^K;g~5J}8rwsC#K!TD4Tet&ki1-vTEECS?bL%avbinvN&K?yU0KS;BRAyx%<= zFl4q_Iq;L$)YY#cNJzv{<4eZGgt?enS64OO1TvkjP}ra<>bP}Q>XHI$t)mdXuBUhaI0`)!UHe6+f*zJ8@zkqpsoen1Y==J4+dxKu;mT3&YEwN{ zO~yvUU!Ow7U>{5V#n|E0_r&z zbAZUNo2EnXfrx-v1pJYJ51U)OOWFI;({ z^%2A?+tW3;S7%ZC$9`EWuU>1F3&~=!-2DiUqwWRa9G2IzjV>w3-t?Or!RziZnPcOj zNZxOE>BCF8b=Qauh#vc?1uLsxZ_B2d9~$_&fgbjqel&wep>T7ev;l)QldgZTBidup-g?;Q82av>nqn5rEklL9n}ZfECOpbCYB zE1)WB7)@|D-kHp-hi`c@Z1cYCHfS{kXRzd;-AWnix`^{8lNldXs{6(q0Z8QP*rtvi zU;Uy)s@bJQZE+m(iRWDamV1!BoV5bpT6c7$UXknAx0aeZK57~b2Ez|+mrgZ76ibQ; z3BP46&#Yy2$wXTG&}!wO)xV3q0Y$B+&x9ay=S?GSB5srDp?mlto=RisVYcEw#ss0) z3`bj6&9xIa=9!!a#MonQxe6*JlSM+By0!kn@QrnxQ$-~WgW3Og!fCM1*b`}>R zx@DUlN0K9)OwtdZo?Dh(s|5?H)|qLe>vW1uUNF@=|0__)?=8CgQ`?3f5M?6Mg~b5h zv(y9s^X}%UZ$~c_=dWw8ZTrN<5C>58J1&d>8x@0e5h*sT}koUM` zkw6MCC#$qH!xo`-tIO$ws!rFNrP=%HWlgi^_>4-&l2wVBHE&UZy*H=1p!QH0i%!|` zCl*@>XF}=;Q3sGbZ}H|9kDSmBgFoGU=Z7f%@r*`#tNGt+-@%I=@zv#~u{?)SzTE1L z-mZOWcYQC{k7JrvRUPq;7vS+|PoeTav!@!sFRCK&{0S!{|AWVs{x>47Ipz#hwuK=X zUch)Be9zLeNFtMlEs45hR~ZFdIswLwPnWWFz657XEh61u`qL>T=KjEin?Hz7-L2Va z%R6g}t{dNV+Sm}*MU0AQh-F}tF{Osw&xhp2;-ER)UwimD+rPI&4R7$c`|HOK*K6*V zKZCC=cAk_yW9z@=7o^1#CEHVD*VxEtY`9(x>N(R437~NXl~Sp#rJO<dK?HOo;qg zl(Dc+9X;IN&ra0*(jxl<6G3+$tKe2R!WA<&XP)FqCS)>0yX|EHQbk`Kx@COCYszQno?n%KMqT>vt#X3rlx z7~efiaB%WnTxMLH*MT)eT3YBFnvddW6xaqw?Yx3p>iXokF1&S{ zHF(4U;A5MlFPv`m-b0Isy+2PkXNkMmJB1K?YPkE%5wAHee-15aWIp0Z;8s)!L$t6m zbf9QOY&*_<(_VV2G;9Z3_RQ|OzpMJ=_Dd-9ZXgRre|v~OrFw1byM6h%+uzX$tREfv z%|D#(q)zr-|M$LO2Y1U9gr0_@Ez*oHD?C97Bt(PlUtAcAZVOI3vl4AZ>M^_ZVE1e4R`>{3N$R_+9U{_F%tX9oa$>csX5~%6n;ahgn zsh0Poa$LKgYm5rv5jchoD;QGZzx%=PyO1Q=Y4>}qhWh@f9q4GLHXsY!5P@wUowEjR zf6o)Q>0*qKlX`FiX9LLs&Q0YM|N9wGzAVW{qXvYX}jZ@&QF4T%LA3ES6R)iVuwF$LKT0ybC%FY zhqo>L&(`}xUtGp6Jdbd~i_ErL%9hfWdbZ%*%ZXg)Bre@@P31exx9@5JB1tJT5!^VX z5!LGXRv~Q)jW=O?>iEI14}X#t{bTQAaQT<>-5CwYF0@c!vrU5#qo71$rlnx|o=U&w zhk4uC{@_9IM)mtcP_C#8gy=Bv6F z8u{dmauk^@Hs(bpin<^|pU=F0d1O4aV;fwx+PQs;Sh%vrLQ^xtd|$izKTF&IXi%cQ z^~ZCiF~a>zq|9%i?=IA{`ZN~{MCma26KL@))G#s3rG`&S?~FSY#3IA21c|W?u$aX~ z5r)sQ3TKIif$Zix1u0N(@uNH4c@lN|QZ*+c(^SVF?wIBx#Rs>K+#ZQ$>Yj4196)V- z^~pR&JG(;9&~&8jv6f1<$8={E<>iXkg@>qcpQbA`oj6DC#!jU!*}Rz_sw_>OjVV%i z8mpys>k&(?L&pDgd{=VI>{!!DD_rH+08E`0>amAi>W^mIf4r(M$*~hrnY75R4#X#5 zQ43(wFDD}3B4N8nQGh0 zr!ePEPSQ^sjUD3W6@j!)2avxi7TZ5-L}%Ne+_BQHEWGnvP7wL&q}9%;#Tb$xQiI=t*1 zA8$aZcg5m6swy$eQRDcO%%i|Wp*=EFxP#rEmkVxt%mLvjk05D%Q1i-KwK;uwL*m3c z_2}-l5s|ojoK}g1Q@`e%RsB@#y0eRoR0kqA!U3qqHc9a5o~6=>K#7QIt8jcc%OZ>* zwW%rR+RZl8g$7KDN59v3fqFvBORSb$&Rg<*>i(5zcoYTOrf_qBl1WWikN(jml;iJ7 zZX5s1n`QaQlK+`ESsv<@3qX>>sCW}9$sSfmMPkcM>4zKduUrDE<=OpZU2s^Rvbjc*^|*;wbF&&!j8nvXl~AQ=4w@AQ@?|2_AK#)yg*`d!E! z_DTIIr`36^Lj7|J=B(cx5ZTNm(H<}d@P!EF&z}mPd(3$%BhJohc@7k&U=kei#{w>pqjI1Dnyv5FCuSm zmEQ&$<_|{goIbWBdWZwuF3XgB2jNVHJty<9<@nw&hd$>sJx-L}S!w29 zvk3jif%vRZVJWXJNb=8(L_TVpC5)Vl+D3N1N9qZj?x)gLR6OA3o9|!%zxUM-xf&E>0^TK?^kStQlov zWEjw%Y(UdMSVI8_yilp1}8>q+pt<-QY$jQA5d=$finC40kr_!mwl?etP~; z=n(x22P7dfX4w4fAET9K{pzwljl&=fQRjWJCak(Ii^t94-BBumpN=?wjfHYMGD zm+dY`O$BHNg;iH5a)oVG-#Nf>u0S4?%38(;+IuaQ+2P((!MHm%pxb&K(S1ZZh#)A( z_d*zc-k}*+3VnTR8%6mkvmOJi*)YPys#ima?!M&>`|o;;8v?)=-N8xeA zrR{Ok^VPjFpU-cOzNJh&@i3ITR}Obd-dK z5o0RIoIurfAHBw9+Ha#Um?q{}Uqj)~HE+59Xp4QOvMLfSeP8JJ?W+_GW3218_hiji~ejvPE4j zK4VSl*VF6o_B^sAn?_PRpcAC->}{^ zV_~ECh>3nblr71mHmg2)l5gn1#t5|Tr^QfD<*@Zs--4Mr;@YBTn6)4thEz^wiG6pD zz7rqIOaCP%Ga3g~wYGi$xP@590ND5aIO0bI?oUcr$IeEkL?epJqheEV?Y>_yKWqHz zmImO`G(!qNc_>M;bgq`=`l?IgLKG8WK(><34+1b?ofydsH>bEZf2G{3FHNu^v^`siSapo>{a=)2VI)(*4_+E5 zC5>VhDxgA7tv3IR)LN#eTMf&MM4@&S7=ztE2OJ5pkWISYvhK$f6IgyV_jDpk+NNCMd5sa#XPfVwOgH^+H8i>ydOY`uhiQ}0KgIJF@d*gUF@3h-R1Qc5;1mLPi zncyJ(4iH&?2x?(8A+SC1+k3c{MRH|tzqXSM05=hDL>XeX3QB3Zccw&aT4Havf%w%Y3YHIy(|@)n zVNfN|@Lr`R?571#R0Sv`>u6)2)oL7~q0;3jbDw0XdE$LqHfG->G{3a^k8^&j{KTb< z{FbHDCrtLGIOGlO|AKHGYlEjA!sO$ZZpW|QF0%~}sa|w2g!#!Lk1kh#hTT^bw>1&m*YZF5?HL&}@s@X$O{v-lBE8PvN3l3AY@n!>O{(b1FH|{g~ z&Bj%GDCz9iCWd!?+Ww!NhgKK4&D2xofAMcw+(iaKTmhpv90$5t3ITQ}I7Cc~Tw9)9 zwFw+iPTYdC9*y2<&sE$wpIfn1nHk?RfeL3EFB5SOeWFZw9g|0z8~u-dDl(7BGTvy> z%japQ&%70xwt4)Q;iudhxmpSlauuG*69g2HhO^uh*%$>4>g%@7*$$>swJ-Ku2Ee6V z?j2+&e8596a+~2(m;x|PLCVb$(Ca)wpLPN(j$h7<%W{;LSUjSz54FG5G1*yL5;ZYZ zAaN;r?5WE2#ULJk@d$}a)iZ1acuKZ9eNM36r4E@MR8;4k0ps4#X8@%YJUU~$EhgaA z7n(^b`x>`m3F-unNnI6Q0j~l=<}&2MQWOSFCd-Z3Spuz85$HI&F3m5Jln_;z3zJtN z#ig*f=m-Rw8vaf0Xk1?mJNHAf0HV<6)W9jm3@dOVsX23*Wfm!=W|a8ccU?T5N zMRRzrC5)$c>$P;p`vZsLlp~EUIs4bO4&{oW7r>!9|s^Ag!T)CSm*RVe{N#`QFj=81O4IjpB>^cQrJ=pa%P-&oz?)?FB7%R^A)w9X3Rkk#v3$`ecxmWBX~YXs$b9u~Nu})LF})qfMexq%4Q& zs@r%{qq@_~<&_zys{Zg#Q*1?jX9Hd1sf~=R>XC@0>3frPwHQUvcwAENHw8%R3%F zK3i?_NlQKMXiNsChcO6wpIu0l7#`h!*A(%|ENIg`MfC-1nH_I-NjFnoRUgDFSLsi9 zeJPxg`~{-yx?xda;?|X8&Q4PSlltNfI4~27%>ZLw4!MK zkh`~WoLL2#ym;ali@#$(zt*Qt|@@h)ekVhJ%OU58bty3Ka z0Pgl)D5)2ao8*ckwCvwHXJrXVd~TWkyYu|}?CvCRplWW0^cCp2L3dS+>L$re3V9j) zxeEqP!+=$yBt~Rw7$xP370wk$a^mMEyx*?NTA?QO48HSKQO4vq)sjUiKfc1BHILiJtRQU)5V**FGPi@x9feZ zFPB&6_tt%9zsHpTKgOIGhEfphrhvPK2%#&&NOXPutY@Q|V>3ddcmV0`!l5{7osTa# ze#SOFOf06=m-8=F=aUrc@vsHt9C&YXY@~dc=On{D7Pw>atw41xY)~0y_rWNQpTr%S#tOHX238 z?f6tV`!7n2=5+%OwEgBYn{!q_k^+GK9nkcrQsVf}gOf2)5e{BWOO+z!h_7Lt7Tqy) z`Udveqoe7Kv!iaY)*DDh$bsI**05uepX6RuetX?w8ic6cf5WiFmxIj*7T4!GfD)N= zECe(I_~S}#l@NEYGM2tHb)9vH>9p5j_JZ2wW=A0FBXlJfM1E1oPlO^jg}X*LLE5s{ z12_uw7?rKhf577<>a3X!%piK4%;jvkQFY5zhv_OMgJMB7J~?@8xu?46B7O(yE7*=P z(q@8lbMpPsH+9rnkazuR2cd3wX3oKnqz`EtT|$vI|F&$#S$5Ti`|oU<^Wml&*1%Y4 zQqYs_m`WM8oDU9tRRV>Jv%lLBo$aExZZr9-b53o-vr_s!dqIy@IKcHlt#AaO2Itry+xEQ2@QP%a- z=%L^a``k(*@xw=$Fa;T$Jq!oBYMP9YC6jGH9|}J~EQlrZdU$amughZbKE(2^c+_*x zgszPNf&R+^H588T#wtu``{_Jnpqi&P!_EzG!8D$-+*9n|;#I2P8;)7$=Jtc9_eOtFfD%PyY;#YScJ}fLt@V(Y)#G-1k(XcqYlvR!C#&*3z6T1yYEEz8lAX zUtIC}c+YlTS1{h?Q0rw(byq}1!d5l%YM&XV@jj+TNZUwH&gRuhqa3aapFO)gUs6-q`y+&2=h4Gh@*Uymmm6nCiiDGYPO1oCv zjB?nyT=hNo-PFrtj~N|liqsn|ZFr7+zQWITV17!3iU0K8)4zQTHY^oX1+F>8tD75< zkA@M`7Lct@NsDfsP0+8z_^y502)fiC&XV}1-@C@$TcP__|5dv*Tac-1fjt=G-r~K5 z=-)HDuV|>(Dn*w;zcV11K6`Ly9MT%mj;67R?5Lv5=5vbUP7lD8djVY*jsgOSO)!+|9;eWCaDs zrRHBHe!wCKt8mhckRFK5(l@mQ@B9JL`3BVce1(1A>+YpH4JvM zUFuf7LLC#o27<2Wug|&uZ480t%|T-OjuxkFSkB}7>$DK%`PG3bO3q{NEY{=$<0 zJo+C3Gqz8OdpTph0ho^7gPNYnkxKhf?cF9~T=~oOla$ld%k9yPO>_=)o%GSZ3%JlQ z)Bg0ns1DiR<4(IA!>;weH{nLjYI4HUPFc>-R^;{ISH7qw<@jh(C?)+iTkFf!llf=m zVnjZTdG}`QO_6Sh#w$_U!ft(=`#Thik|=sQcD{@80f89@S>xa~* zt}%<55^WWt(Me{eRmQ)WJ^A5Pyv7>=^Il98 z$hXDfYU16d<;g+Rgfci-o`251Ac&IoC}6r(l37E5bjH-^9BpmSp+`XteAu+i`F;-$ zHc7GYu!#yY^ds_L3$y-kHZu6^Woh5@YQ&dI^VR{Ot{TF_Z#W|;Xu z4~*4w#%vF?+g&qDb3)l)kwtyW1b*n+Wu}`lDf&{93e@VH9<~Wrj0em)QuvaUjavYC@w-c( zHnu4{?CGRUv2*;qn~{^C6A}Hgc|MY)J|0UW7~yj8AHblTSMx3SP=E>9kB!# zjUH;RX!OYRZe>De6QG^l(cmZQF=fzlm6YJ2FDXgm&{Y2|i7H9igNJCRy(0i5akckw z%UfE+TRG!at;RcW>7t2VyA>Tv=z9~U0247gpUX%^st>(F0m95(RtfR)9fnsOf3k>| zf*z~IltX!g-jZ zcR?|TuowHSRZk?JRS(zs*3qxGGPX*8BAwEx~U! z#8z_FF_yhdMQyjk<6IEJBSmwygnv!evU7#EF3p&gP-r;e@d+&ubC~cXrEViI$m(n5 zK9FOZ^h571MabbM^fvrPY>#8zUg0VQv{>3TU7Za0_xOjY%IR{jz6^eyHp@~3hYa$jIM@KgqEZ~ zA+o=2(ucsjsoGu*Iu0fa;fu2CX{w}^j2{GAzek&|G0FF3i2EMhAuY|M3XFH9DR0vV zBjQ~i^X&emk+z8YB(wmiw-*l{hAQn^|27eEl?!`O4B$%09%^eLtr_$F4JZaZc1Q@*-O zezePzyZPH`EXzyoHS=!SpV?McnRxVu8Jq$OZ3d$&pBSZrdMQeB=M46`g}KUbr%6}% zUT8cuo!EQVd{$W`7!mZ~#;4NBl$NYXHk84^3^{+6s0mL}hK#b;GooVcjbs9f7z~d$ z4G>!m@>>-FsHF3l2og*4z_0Se?^n-lg3uKilz*sL`C`9CY!`ZI#wYu*WMcb;%H!&U zm|(^DqXsz~7olidSZ(Uj4B6T=p9Y2CVf^5Jz|w>>UTX@!XOrdcgGYU{MFFp6*5lqU znzvMOr3>Yr%qqluritj>@AHU9%#sxcJ;dXDtokKU3uI;h`b{LPq+d+!u-U-5_6 zP{h*1H-!(1FtHW+6Df|5WkjQ&%&rR^0mAlR|E@j7SS(u&p z5T15~YU&t+dj|pqKmF`s*v( z;oCP+hp@1u0tF?E?yTKKyu_{Fa!8r`o<Lka!WrbC0$5 z* z&~$yp(Mu$m_tun0po~*PDAD1)gCt|>_mAo60`K;X9xRJ`#_@dbWW~~`7v&(G|B=9u zO*fa=V|YT%cVm-<-K23YkIe~_ppGJ-bRzVl4guyPuHBC7g(vNpAGz%UWecX;hP za%!Rakz*l_N$0=ZSEO~A8wj>ci!&X=eEK%<^#y_NQ}V%E!?QssfAOCEI!R<+mi!!r zw>x@WyR#}Huh}NeMUXw*Y8~V|r8deSiATUx z)8>I^FIw_f0hYHN=6yw6O2&*&T}f5REP^ML>9x6E;0?F4o{yhL9LxI6C`gh}cX|As zT{AQ!*vucGe=*4U4ZqGWmDOQ6p(4 z^_XtP5>upIW$ixBaH}*<;MNhT?s3|Ca*eTl!?%5Ijb~>+6S^36Lt48CtAD)SyR-JY z?qAFVC0AI^uQ<2l8=aje@y3+&_?B^Glhxh_Gu9-wBr5%v@m0=2*2% zc07FIG%Prrpp+;8>ce`(`0w9`3#5%t4sI}hQ2s27n5ut+HZNN1hx0L)0@x%+)vJ#P zZnt0JbN^VqlP|n&82W5SXWKsFdU`qj>ZDJMKyU95d`MkNyt5b(HA%j&qaawGP+Iow zn>Yo@{m(?sHHzFKgO%iF<53)gMk385K^xy~EeSdc`8&*}-kipoc|BZWMjIMoZ$9l@ z*;@6x@c4rLG$A`-F{Hu@n}bq^s-n7A^F2+t()}tc3G6tRInA- zFPX^UCwm{4cXhN!Z<)rwcQW)EOkb-}x8(V;W&UworHRux?ul`E2zJJNg!detoav@4 z;UOlVG8C3?Ro^;%NKt7X#N<=yv-nV?`Bd&Dh}pb5@V59wXxx!p1vOrV)(oA>I~O@4{=k;sc0LuWntWyw`0WSG-H6g<;`xTO4>=-3B( zR{^)V7tt)Mt0}>CUx)nWY|63GzdqW2 zCHM9;<^J`N4s`p|C289y(5OTLmvyj639=Vss%ZwC?j)`JlK%1QYu=vEwP$s!{I4NQ zKgW(|s+f79ub%J49$d&%FWCmnnbVT(J{ zW(CRP-*Ya`ZuO9m-*c%vwt3vMx0UXaf-^i%Anh(K zSOTBpwNM9P7RmI{7h6rb?-Djni+^L2n(7Vum+`CqTh;Qx1AGg$cZ-{-zb>EQJZ+7} zikv(Bb}(L6=A;yz?Z#wYKK6aS=Z}2YL*vjvI+?eA_}W@n|0m}=7{oC|0(1d7^v``t zH%uo-&HYV!Af;)B&T^B}Xh8L8kfudlyn{QS`ybz=e0UAqf_ z?0%O6tsxSr7;nB?jO#pv5=E9O4E86JpXbZX%WKFk#?BeqCsGjrw0};tr_U!x%{8>z zIVhJ9`+a65n}(f?@)KF7dGDf#kgE=hIK8>j>*r^RTm*(iki-fQ!gjZB9T@?Jt&z+6 z;>-PM-m6N-3(`BD9dafo8c+N4cHxU~D%`+Kigly1-@ieOgC6Py6O%YhQ8AQchn<~JOt z;eJbx#YbGiSTOzRG5wgp$5|#LXC;>GkPv&3kf0p|w0};6RF0Z!Xbr^joqG^`; z@>ci1QsnXZwx}>>SmsbRvA+IQI*vCGf)0T95VC^b<&a~L0!6KL z>v3O-$seX%*3vn|=5=d)$%VB+0Xm}h-f6wdNf(r&NmyQ*N5AlmdT8rig;f~Sg3ZIn zdH=%^50SyZwI-^ny-~n){pdA{P)M_Lf@i0+>9VPJXn1R@hv+~f#dz%Ed+TTG^@aA@n&P9xHe~U!^YCuD z2d5(qlCE`FN-eh(fY|TV+CTR}Cr8cw4H_6AQnU`*fpBeg`ibN-^WnO)7E;dTo9HFg z`TEf}@~ygAZHQ*e&5^3#`sX^eQjVHy=pBFn^gRTK3&5(=;2-dld45*xhV-!S(ym@Ft&iV0NDu(K zGgKIeyB-TPLx-&dOCvn`nP0^{xh-NNoDe-2+jDuJuJ4J*SX^p!!w65dfSh@;g@F9r zr#GJ*HP=tzfasz@SPCk#$=OSdp7*3u={Ds!>S<;U*dIdPY~4xebF3aF((7x_6*Ts%TK zYVL2-C#pfjj!od-zy7%WFcjBA&8Stkrir2D+vi<`MwbK$-2sa(fN}S?NKcUsg?-F% z*9L;p&yn+Me&k!ee0KExWq89oa@c%kAa;H7@YVcQ=x%*SuA6FFhI^peJ*17hHjbp0 zy?qW|5E!AAp`+$Zu|)dmjRuaIqjtT|dXVL8)`xq=9W|%@N`B~KE^`8tcw?T%@T5kx zQ8l2sdh}BqVqXKSm#vR+uk_>ma@_ph_n-RtXUkVM92>(^wY;(`o znt)oKY*b%djS~bN3>*@*yBwH6A0OuatToNyU@ zYSP#}vJ2>mlt?dq{oE)0#Ope0F0{jlqvpnHyFc!rd%qnuXQY}?CR#nxP{J0;$DbNu{iG^g@Lw!YS;l%Ib0i|*U^{Y$EQDJ$vTuW-A-AL zrCzL&uZ}_M^y1!dN6mFiHrOzx14qpz+%ggqj$DZcj+*Nyqw-Ny`dV{tk}IyC%2P>W z?I9+6$i3csKYr+|mp}L~`MI_!A^?UYK->B$k0)9{gmBcl21)r_S-;Ki7818ZuIuuYC5CR4F0HR0#A=iiBzVwwv>ysJUCF zGH}$Klnop;C!>xyYEFt-xu1sJMK_xA106HhXYye&a|!Y(XNl%%(sX+3(M?s$UYE6n z6s)7-B+w!HO8|8jSb*>M`#pm8@KM;X;s^Tv@#{IC=)|34ShCBI>3#k7@~{A<3#{2L zkch1ExzB)>cGO&D=)k^2O8Qmq{dUw`rwPx1_bhG1QFDl35qpYCDh4ivexmofw^hq5 zd1M|xtRElNLzr3AnoG@FAun^s>+4`C*$QJAHa&N6&}BtfA@-0R=>2ZD0ED*t^s$7( zNn{p_BC=h2@?H7)_1l+zFhnz1Lq*b*`{OPjhsfrRpG?QkKoc42MzWkJu z9f1{WJdcK6h613#OCqEa7|;b4U;vCRSBs??qLZ>T-&N%e&o8IPbbPnfE)nMB;?f4s zu@)71S(uuIoR@qE1@g~*!ZcpkQFB%@bkv-c+#BwwIn8bhJF4s~L3&y4Sf)E_u8$Ig z^s`P4s7-F+I_UJ2o>w|-g=n>V0}s-7&*kkKtyYL6LVQm!bie?ya|Bcb{VoRt2ExKp zPylohKxQW~=wR{CJHKv!^8Cx)m5b8ZG%-#wY5_++lgm(^s#hXQzdMpQ0qt|0L?hF0(xc zh?cEdpDwvtFD^-!ydQ}eheRW{&wT=~Sl3Z=&Qd_`J$KaH?iB+^%?0Hd95vTRff#mM zqP9cx+<3XIqfO>~P_;=a=HwVZPJb05R(cK9n}6-|Av&m`10=|}+ov9} zx#P7K65=jr4{E7JPh%Mj(JKQC6+r|MOXL;n@W?fv$QZ|YNYGbogO+feiK2V}TIgRztObfDkuzyP!8y;}-9TuMpez>4sCBE9;} z*!{Jdo;e=ccs*OlRYZEu)D}4*j=7gg=31fo__pE)AnmTEp;ek`Wcid5Pnte7$ z&GpfaI-wh`o-eQEL+xtQ>-biZ&`*%xChp+Y8IUkHzYcHeDxOc7^@96{Ut1CO}eyWmbJbdoM z;*Oe&;9hY@%{gc`N6mGzLkM6;uygps~j^m%{V}I`FAO4Dx zgWul9^OJHP51yVkB?VCJIeI&+9YUQ8A0jI#nUs2;J`+^UQFHwhH?aYAmG^I$>eIVpHyYSe+pZrPw1- zfg_w?5d`$UM+Kc;a{iJeiutJd#X2n?e5nzH#lv!uWyckGV%%5y5?ssLdV1f0dNR-ZclB=pt(XsY zO`xI^ENkW^4tX|WO|py~A1^*Y^Z7jnUYmCxbk|b2bJ$cnolChc+dls%B!X}6ArFI{WSB{!%r&cGcMz`3_nOeO{pQgTDvJc%?&FA}G z`$=He#<^M(8f59oeDSt5TB&%BoMraeC`6b=D_-iKO6n9qHVFCiY4XeO?~APB!|-dn z9fYE$)32YWPwbj6Ie80imdxcy_wckiY4rfz`+cMp;XtUJgqJ##>B=n>O;h>^ ze7gAX^F6$6+(A>pXSU&xkgsk20Pj^5TV4*z{cvsY+&D5MWI?a66k&xV$f}amNJYr+ z!#nZIQFHC&d)@503lK_?29x^%N*iTe{;$ zB_&Z3=Ds^sc8WP_uAPD*K8ka*q`dX{Qa@dSwROWV5%i_oj4UgU&tuIt_tU$3T?Vbn zk`*x-DB#dYgC;h?OC1sd=&O?a$yB+ZYndfT zDb+Ar7ey)q5Ar@-$1g|CwNv$R>Zc=ah0MCci|&tap^+c`*&Z*Uet7)^ zm?x`x0TDz(4y=L<8r;Md!Qv$jyVC(TbcKXt8bPvIT!(9(7U#jqhPJYK&oMw*G`%06 zhieMjsJ0CAs92KC9S{-w96jWU88FyGIQnuWTfA;8-c2nPW73%B+}7lrSUg=xd4gN4 zZ>oG-2WncubQ8@qKRsUln&ti&k#k18{>)KzND60tP;#28(q9B4jc&wc?%6 zyz1LD)TXi_-I53NCY_G^ca6j8usFr6BkMUwk zv~_t{Y+H(K=qL8OH1mX_W;@u=&mO1u-T{@x}T@boBaK9-^LAoHS2!E1UeEnRW5>fiBnk#{F)!A06=2R9hHwyAS8brK9HX-73$Q)`v^$8}6N(`XtvF zbgYvYEJr_ndF_vX*~d<%sp2bWIf263W1pjyxQNnc(bKfTLy^4Hfwo)bP0-tFW%#nP zjGC}C@A?1tKm1?$udq-)pEj{6>%(fa%{*;C-W`AY>+S3B@ba@;xoG9y;<_B(V|j^Y z(uzR|Td)@Gs3FO6yVxT2;97PAF8oyE{e!ySizd3#sjqzWyvfaQwo0SnF#%$(w`A58s}i`Qb0kZww387-k8$D}figF$Y1ydQ-u%@6_luAHgZ}ZYpAW-o4}-_cQ;wrzyl#&_zkGBv zwwFwCuQgkf7bk8(7E+`ER1!cKNQVSb7m$lTq!+P^;Y^(dVi6&`#AyAsv>ki)@vST$ zzMKbm_{l?WKOEj}tHm*7`~X@uojf-W?d8=+2J_^2eDZQrmK@MQJ753=dl&#H*s@iH zVP5>oFTZu={_${sv+am!8{x#*AI9~xU3<~}BVxM0j`d+(_Z#0!w@8%Mh}zvKn4};O zkRa-b7`SB@e^|z6>7(eN=_P&a5($l7bGf41qWyT>59co){P^|i!76R+r+9v-*Zxq~ zO;d4q3{%>9JU!VQtg0gx^Rna60Mr1S;oVdQ4y82)nfbx9Km5)V&H25pHO!hU-0Z`) zUL4E^?hhY9LmKXmgBID7nX^kU=}hhy{_;n zVfn)QD_%YI(~nQrKfvoRr)ntFd#;Ec(J?VF^d!J zsdBkqEz+wHAzfM#1{5v1pI?4D*#X$QhfMAviR`&Y(ZegUL`t5`#c@2L$r6DWB0C_E`URkK{Ke&{ciSxk=OR;uSW$Ci9 ztbhDi*)LBvB9D4BWg?%-V;GClv?hc_OQ;-pxuJvaHf}n%eInk|%%j)MXKqdcb(n$f zWUNB&r_Fl5I$u5iczECQ^!fGt2yMBqYxbgY%2LWBMz%tm=wPF@(JOiJhfzKcpT}g2 zjIDF2%7d8p?EsW3y{(6xmL0v1ZTfm(wl+C&mQg;_So9Gh2#P0p0bXu^2C_4#9YycG zvm)^*B5l}Drzaahy;LYou3OpXl56#e$E)MXbbt2V_#4?@ooQyv_}Z3j$(HFOTC9>M zEZ&Q__(P-Ba;q*?7IoCC>LesvASiBfx9sPTmgQ5BU82-b`Kj3sL;w~f$c;3MH2q~q z0`0fTyoUg28%oH>NK1SA&9HgqrX>fM)^*@IP>*%kmR4AL*-Ad(+Y^-!X(CWO@%F|{i5kn|8N&3s?9^9uE(eHr(a9B8$td2oHyj||@A%OgF_ zc`n@(#T5>VX!Jo8*&@C8!@$GLSg}`KXPW2nx?2{A>ZzJzWy|rvWg>xTQ2`%MXcnRY zO~9ZB4Jc`16SU&xD833%;1)0Ll`B&GI=uj8Q`#(8+ZE5Ji3PhdYwowH8`)j9Otv+@ zm-0k-Ro8($!9s^94S?NAFyt41SVgzkarc#U))kjoEJHV(mvB(CY|n*SQp`B<#vMtP zrjQEyV{~>Ah?SZ4Gm6gInX9Nqf$Rs#_~? zZe>@c@8|LgmLvI*=8#O?Lv0mpkTR)U{Gr@$4>PxMI@a;f(@FTuemjm+nIwDDWo=f% zaFTs~te5(J-X?jP^{Xi4s?vsH_&Y3y-CujPD}8lG zvo=k#NpkTADGuMi%D3yhpQ=AuRBNMk9$KR0*m0?*1IG3JwR819`1`{OOVbZ9#8c6l zW@7-lK@b27Ylh3q+=oV5--%cjZE%BT(!7|dfA{~_|EK@ypWf~lX{&eLtWoOTbJ@JY z*BpPxv%mLq@Bj9bXTN)K`tqX8SGlKh_2J9oSZC9kMvl<1R@!3-h+>d?rNo-G7xi@U z1g%qdg-AP5050ty04-gh0Hp8JM{v2xHyk;ZHt$`f@!?><)BdLP$mpuevexTA`Rv(m z4xe}&=7;&g@e6)E#iO+S?r^>H?elth{nMw9{$_jg-}%1u#|k6B1oz`H7qNaoK}|?Q z6bKLwN8n`+=mg*l1i5BkqueYr(*!^NxAQ;!5C8l#zxah3hOE(#q;F-2+^nwc(%bJn z_36*giz)X@qUJV=tsd6nknH?ccJ0RvzWkl9EJmn~C*;r)L={_NM+_s4vGQ?f0dOU)sMW>_tDAN;-N z`+f;WW}#2Eah{fFK`XL!v_{cv4GJ+ZAOh-LZWm7oT|g|gedi{zOe8IUNFqRw+{C_D z4_fzPWY(F@KGpM+>m{{xn6^E*_B%FyWl7#obu-^w(#wN-jcm?H4ZIaD2ZPe2nFcSn z1x6v*DQ*!%ThxKOC2ep?N`fK2Men~itXuKxMGs;jbQX?AsGOqU_FE!0(B_0x|y7}?x=Jn;XCy)M4*E*fp zwwczZU`s|pEd@h}bPYUE?k}E@HCYOl<)9rx4Gb|L1VlhUEw#$o*Be5?nKo4#(@2&) z;qCh5<0r?jpJ^wjH?z=3+Cbw*CPmZfvL7-ChMj!~7B90T2t>eu05fjr)05SSpsh36 z@m{NxoMy2sUN>G{+1FgpQAdx@=PqrJRkPjM26f(TrvAJ>e8aD&IxCWbt)1Jj?Kq@5 zDRofWa;U8$@P6@xW#07;3L)6Q*(5<-7~jAk&7V=;<5Q@0gG*Iq9rXeAYOif4F(8QD9a`aLfh1VXxUpRtk=TU zyFdQq)rls{ad*5Ka=qlImJ4P$WvknK;E&&a_zyo`s?+NktFZJ%VTIS2Gep{EO}3*9 zy66{AuoeJ91h5wg34jBZD%Qb)R+c_kE<)^O-|GDo`&xa!wf)Lwqband9#5U?Vk0)z zI;P`1u3;7C_pdL*Ay`!I(`8U83No^{mt!D6!C(SiHl+aCrWSpxJJH2ixmp~}qa;K2 zgRC3I)~EG2Wv;=kjOFy;=+`=1A0l3Z9d#>xiyo~3gJKyctasAX0?ru{#Wr zmRe>xsAZsv0$mKN>`_XaxQQ+IzJX6Op7XJdPiM)cw4wJ#x5_f^qFzRk`+Si1k83-8 zQW`;;CP)E-PPUg_?JgR07###04BXIx-nsV`*|1jk!F`0!Gp~1oZjZUvi)}x{t*B7N zJgq;!%At#LX8o$j(PFh*V^}pjIn;ErrKrAJST3Fr>0*e!R|fqe}RzOMm*f){{X zdVl#7e6gPOI}_>$%d0{e|`ETyh{qWm?-K zU0)p?BV+5-Lkww1DlIc}q8CqytPrBBLjZt+ZRpjfkj;#iJ!%v}#Gx*!FBhKdvKe*Pj} zUwk95u@2S@F|lum1RKD@a;pFW!pkh|3shVT7Jxtm1gKG3@ceCfMqm9Voy87&M`rU!IH;wyCU)Y?Vuw!{%VllcB zpZX%A^#HnPktPKKEhJuMVV|Mwv3As7!!>)1WiVhZ>$s)tYTTJO_g2=&FIaaMPY_+Sy%?4QB4DiWMhs(F z#_^Y%zsn!|imy{0j|Wxe`=a$u0WT`eNts$7Q#}rE`0%rDd;v(#R4e01h&AXo`be}& zMS}*?;Rf&F36bU=^P!)-@Hcq=pZ0I-^%s_Np~jYr9`{+b6$Tb{G43ro9hrJuew-ey zsjaVLJ&nxlyOw3>Y3Ua0Qn|ruHx1Kd@d5!U`p$LYmG*9lqBoGvy<>oGOD76|(yCyo z!UX_yPLNX^dk`>{Aw#Cu4q&G`#Y26rmRrSg1<}MB*-BX>mU34?1&fHR5l=TNS4$@o zgOPpFBbNDm@!YHb9r#h-PUg~zQcPzabd>!(uXF9W@MdY)lxIBp{Ngw8?eB|}byF_j zxq<=HsDju_0%Z^0;Rvtb9y9>B$1oktlcx^;+vlJ9@VUh6FSbMHNx)1OZOx)Eg-nai z;qz~u zdKdj706K>vS%vU~Fn`iRgqLz}08z`V3Pv1a!}(A;C}*~%Ql6+KW#e5kd&{M&S20&? zU6+@aCzHS5AAVk6e9~iiyj-21Z-%E>)p<&a<7hp;$(u(v`Szo)+{^DgKY7iQTw_g; zIPTk#UfkpUC`%Cl%#$BJ+MnPDeEh}vz{w+>YqnD{`%vmIG(cIG!}-0>jQoTzk8pf# z7_rK&D#N9fG-DC2r4}@?1!CvE9(Sh@;`Sndy_pe!B`)1Pa5fOoMF2|v@BdLNf((h} za(FKmM?k=oAX7qilz+OFY_andTAKy52TDxXJ?Spm$#R_LJ|=!w;_0cyD4iE-eHL!95ProJ|h< zaP`$UFZ}7d|Exbu$0 zd574m6Hvr*xf*SPjA90Y>@!=T4O+IvQqz3gy;qmN&rjZ=Hoty9=UtnqFgMbMnp0M9 z+X};~S?=erTKt}I_r@O>);n{R?%*`b9Yz4|aj>80i80wEO)lGmADQ{Xe*e_V>uW_! zMv>}GBc&niB)7&cyT&}bJXMc}JUl8njBWa9kgs%X1Vp(D1m15*wpwl#+s_aK0y=Q> zHC7R#_YMMf0RSL?as)$;;99^UAZ(A@4Y$pw1Ttcv( z2!|pBB|Uz4zPz8mWxW2aIv%|-`~BfPEu)Guivc3EMAAn&aF2schA_Yu#sUGPnJ4f6 z$Y130v--e%y_(CZ_W5+#kk6`fK)QxeG-Ng3Jgf3?Z3i4*Ck`^@KCho2!PAp9?X6-d zuyf(11nrhu1%NOEE3u0JX>)SqRA+SzBVt>IOi60UX^vskKmf~KZW$oP z(vMf{&UTH>$Ln#v_>_5n;%}X|PxZ%Tl-2R(_|T0hlMrE+z>c=pL(MDnbUlyQSN!e= z-~aM!UwX5+kN0KVZY`D`n?r~|kOH&`i+dc4sDU&h;Aw11Kxf!ny*PQ%pLpSK^oI}W zysEqT^@wO8#k#3|@qUuawro3W5rxBPKR(-En)#^eE8asSM0AHCf(En`0TdubhuEhd z_NYUOzV8qKCt+x{}XwJ9diy43=pb>1r)7twXujm9fk-OfK8O1vd6d^=IN8g zPjY!%zWy}($xnVcjQ}XR6>XL-K4|#0=1N#yzNSPEhR z2n-}3Yz_2YM;d|XWB_yl1#m+fWUIq6?CM8;tof1kTc3XYc12=CQyY4RD0P=rCUF32 z)Ymm!t^M8e@f-Ii-+a9MJeZqU`{BNMU9-pF!yL<4;6bW~=u))OAX6pj1wu*2!d~S- zx3!CefPMiW;cF4o%mX4)!ITnH&2AMG7Li5P%SH?J;z3{SEiB79m-*>u4*Tff9To5B zubwHY4|2Ws^@5l~372|vKP~haFK5lA(GAZZzxF6yhux}* zpCAvNiaL?o#`nS=mP zLhMEB|NDO?$AOxVVN)P>>X@oDO;apEM;ej?huIy}rWIM1bJ`4j$7pY>$6u*_GVXF7 zZA4~P9!rP{Nz63iHKr!|Ha)+7{r2zjcfJW8e=^>PGn{sGphJRyA_Y2hXfW<^z>_uY z&w@Ipp$!!zxT66IX6e!5^_iCRPqA)}7o~hQY=-_Y_PJ$`x|^yjmV?sC!pb8_u4~?J zU&r(ne)Xj(Zw$O&#(f$0C`%@>P(z2&Gy2IwZxE^BiY6l&DKbz9popGil4|=+w*w6w3Q8G(m*233{_*wbI?~DnwABL zP@nt3^`r0Nv+vT~>z|Z{MC_~R9xrynJA&9l0*HHIDZ9W8)S4_h5RC|WgP`4GLI|8L zn*4TVzto2(j)$xD;>rGIA;%qN4a!`1F&^gODGtKYJtZXyut(cx?&rr7Z_M;{{`{@Y zD??j7*Y$`=lH=SC`=_9C72f38CQrrl%pd{@u?ITj|Nfuo!z5F*xJ^h}I6KnQVF$*f zD#cNPW_jMc!~0L^-3JdpJwM4wn~b7_S#9zrPsPPz>GrtFlrinwO4I4}bUFETy!my5 zSASu3LQW;6Or&^>TuR%j{FRUTv|oNk>(b|S-!AuF;6%EfcG_V^ zVN_CKk%<~6Lls)I_0yyK>o356)%^AsjaTE72oh>yw?eO>?6I(k27rKCYB}it{-3sc zq&j69rijI`6c=|g;;O@%)1!Yd?fd85AA0%8>DNE}#)fDr9&>X9QECLy7_K^FDJud{ z`p|Ol<=xcdvJT%k9==Ds>NC2Y#$0HnUO|})phEAWcTfNVk^lm3kp&>=qQQQz^IzLB z5GVjpOD%u|vX>w$I6)-}qJ>)P9zIy}Qe3)teQ|mB>-oLs`dzDsHeYOpT`n2{2|=e( z%NJo0qBbRzY|6#CWY(|y^75_6n=d?g4BDe`6T3yO!|tL3mUmFgE&!l|RvLYcmPL=Y zySTTwc3t1RmOt#9fyxSOS~>XhRTuh(KImaxD8p?%Zm8XG)0mQY(rTY3%g_^$v$`1;tU^z@8joDhOa*V`0?%M$03b;Ya&!AZ$hE~8Nq-^ zXs&6+G}FY-X&=(ZeSN6+xBB!I{`AdtxRRmuymM1J2zmhkr7mvf8d~Mf#Sg{zhQDgw zdp_KIoVU+=Uu!-#Co_yErww5gSu~KTO+xIUeXhHi7LhmA=U;X5gTG2RAL$DW8 z90cf!JIcjYd`i=b(nJseq%hU7Lx$6zd0~&#%_hU zrGT8O6sK6(CpK9TFfy#p0BRTrWHbTQ47O9o6(9R1=UgI-oKypd%2=cTQh?FFThgXF zWU3?fw8@!q6e{4zk&Yd|`!76vaPjla5Anmp&+~G=+A!<501-M|)+OXl?lwEsH&!WXxApX)dQ9ZowFz&rrG_W~o_CzP?dN#xKWD1Zs? z{v-VP@MrJ;|1D$txZkcjKkhffy>NN~&P~K=nuo3ZbVtfD9+NTarV6mP{{FN+uh-7@ za^nlR|LT16*~jrE3@;iK8U%H?8{LKj?Fdkc7I+uU9?#HJiOc{ZMW+DAfQ*lQLuZK) z6-^JIOHeS20){0hVx=&}X_=x&8$%B)#^L?))z$6|Ih-ID+g=!*WSRDBOKo%TxCbA)NaIGAald-sR&qGg zd&}JwzBcb)?&(w0J~g}=ZX7lk4%7ZJbQ|`NZquC<(AHT;Wu!DrK&i2-W0N^!DI(fG z_RVlEMoKS4M%7C5V3Ok4FxTpJaGc|uGCh{Q7#~a*KN;Q$Z|3szyxd%I5s%|3Y|gEZ zGDUOL=zJ7E04be@nJp+?iP3})9 zQ1E#_yKD(&umWH~m_s>)>_ZI+o*H#4wpDT1o>_$$>^a&va_E zWj%(rI4$k{oZYim^?K5IBYI7{arn%7d{KSf-76{A(1HM_dy0Y!2_(TJg4=eP4N+zC zW8XxlQKSS*F=dqGz(4>Frsc!UMfq@euP<-+`5j;0pWE$+`#N#m=i_c#>-H*r5yL99 zuTM$=JvO|WQZkM>kQhTdw7?;;dizGo%(m+BCSHD%AHD(}{X*UB#j{9&cxy_{NbggC zL1hp?`Rh5Zm1!P3^hFNK```Fx_$%j+zPq09T<8Ays;|4wGqc&;5KEloRz7XN?na(pYUy8x8Ab z0F)4=A3pXC!^AsfRCX!5<()Fdx3g?h&edDfZtJ%*?;2bA&M!w;QKXRKRpE?#tXQiN z91Kt`Gh&<5Ov|VgfkbQd!Euz1EUR$&`#<$YfAaPE&es(WeW5h1a=cm8#;!n1l!QFU zP6qYj{)EXGR2Y=eL(26_?CFJ;NRZ5xq~&OQuzT{sCx3*$be?`V&%1c~{;Sc<(J*dd zTIA5sL1s7TRI;TgB}Kos)}mQR^TEMI*oAh8q7a)U5W(*kks31TR7aesUAGWJkyM8z zP{TQV?3>8ZNC}gIl5vhngPlT}6sMTM?k~*%Du9yUunI2j&`E@n63C0^*-(hkLL4aU z%-+^}>fGXNVc(qm;`PUV^RfKuFRT`&X^PU%;~oIi)C_K;AW)LM;sM;JNYzcaDWHn4 zAOM?+STG=SL~0Iwu`C~c@QcHrxp;H`_||^Pb#B+=?pmjmxEL2Ll%%^k14F`}?+lm9 z062i5RH+!{0@|&r{TQPeQVqmH)35-V_OWlW0ZQaZ1YpAqJQjhBX1{O*7!-g((W1d3 zP1+SjAjjMofJ2tHV{^9Eep$VruJ7w_t#AI$$G2bDw8O9&Z;~cukkA1lsDKeQNC3UJ z^!pVoO9Z+EP2uhkTm-Op=XVlvC{Wuc)5Uui-#YyM{_y7ha(lTy?seVmXu67)Bjmy$ zH)Sw7V-p(&OMzt&k5D^3u;bY&lJ%PxuFro=0fq@j28iw93*vn2~ zO1}Uea_~Yy3y_1c{uRq%M;P8OtG&H^{F?GN&ey*+eCmsKs9|^KRi?YB3b;{YGJ+&R zk?COpbtky2hWiugu!8BBmFyn@vCJ=_0l>j=j&oSHPu|2258pgL{M7B8^nARF>+N)@ z2QJ#d1+@(YP#2R0Y~k za-~740_clG1QrQn7z`JMlmGXBY~mZUe8$7q*ZZ$O`1H-mi*|^zL<18+0WkI6Z(2@) zfOZSuzJ!OF5G0_0y*^F9Fa_ekEKbW|_dvM#;QisJ_#VF7?XB~2&)oDfnWV+zs9ATb zj?1|!skvam02mC=ZmNtb7z|V%Odk(V@M*Rbp#-p0k^mOdlC-p-5Cw3EO?0+Be72Jl z+}GXt(z@Sp`qX;=$?M@8iBDbr^ow>VFzngRjtL-IISmF5E&xGC0R!k~QSF?m?sIA< zK+PJ3OE>{)ZxEuHoh-!^0^FDT!T~s3eDG2EQTfGw`r-NE7yWX3%Eja0>rv}5ABSf0)iJpB~bxkKN^RReG>-(m@-;`kjH`9kJu+6KlWDIL1)kX8t>cszHRpQ ziG6%^m(QMuFU|We;bp`|=uZknk&ua*r^i&70}5OekOw=bn$OuqX#%jg4_f9p9RiMF zutx=OKwtt+1B9x@4chepgG{$;5(c~3Sib-cIrPOZ9{dRJ;sboN;ytf7b2&G1&{Rdt zeabR>fDH3WO<6$1l2I{y>>KVGEHcVMa^ZxU8176FJd{CM<%jEYdd1`Gxqm%}H?X`| zUi_jRViSj<0~>oFxDFtPtTaoo3g7^$FpvxISOh!UggY_B-UpFG&AL?8r9jlesV*l&_uxh;0wr-x57jD0xz1Z^1{Y zrf5*%q8J(2v;c|$AQpn6yO{{6`_i85zp78NHENBKkn6bBj@Dl{1=G>MAC!ea$=63sSZA(SIfmE+Pk&<+NE^Y)-c2SNZB oTdRNMKY!{!_z(Z#Km3RP{?vc)AO6FC_z(Z#Km3RP@ZV;50lLZbk^lez From ca4be0f0de6a161230a80e5447752fc82b15794a Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Tue, 18 Mar 2025 10:18:57 +0100 Subject: [PATCH 10/14] feat(vps): add faq for dedibox vps --- faq/index.mdx | 6 +++ pages/dedibox-vps/faq.mdx | 85 +++++++++++++++++++++++++++++ pages/dedibox/faq.mdx | 111 ++++++-------------------------------- 3 files changed, 108 insertions(+), 94 deletions(-) create mode 100644 pages/dedibox-vps/faq.mdx diff --git a/faq/index.mdx b/faq/index.mdx index b1f20a8670..972e21a70d 100644 --- a/faq/index.mdx +++ b/faq/index.mdx @@ -110,6 +110,12 @@ content: label="Dedibox" /> + + If you chose a commitment period during server creation, your contract will have a fixed duration of 12 or 36 months, depending on your selected option. -### What are Dedibox commitment plans? +## What are Dedibox commitment plans? A commitment plan allows you to commit to keeping your Dedibox for a period of 12 or 36 months. By choosing a commitment period, you benefit from lower monthly rent for your server and free setup, depending on the plan you choose. -### Can I benefit from a commitment plan on a server I'm already renting? +## Can I benefit from a commitment plan on a server I'm already renting? No, commitment plans are available only for new subscriptions. -### Will my server options also benefit from the discount? +## Will my server options also benefit from the discount? No, the discount applies only to the Dedibox server. -### Is there an automatic renewal of the commitment? +## Is there an automatic renewal of the commitment? Yes, by default, your commitment is renewed automatically at the end of the commitment period. You can disable the automatic renewal in your server's options. -### At the end of the commitment, what will the price for my Dedibox be? +## At the end of the commitment, what will the price for my Dedibox be? At the end of the commitment, you will pay the standard price at the time of the subscription. Your commitment discount will no longer apply. -### Can I terminate a Dedibox during the commitment period? +## Can I terminate a Dedibox during the commitment period? You can request termination at any time, but it will only be effective after the end of the commitment period. You will retain access to your server until the commitment period ends. -### Can I change the commitment period? +## Can I change the commitment period? No, the commitment period cannot be changed after the subscription. -### Are there commitment plans for Elastic Metal or Dedibox VPS? +## Are there commitment plans for Elastic Metal or Dedibox VPS? No, commitment plans are only available for eligible Dedibox dedicated servers. -### How much does a Windows Server license cost? +## How much does a Windows Server license cost? Windows Server 2019 and 2022 licenses are billed monthly (no prorating) based on the following factors: - Number of physical CPUs @@ -79,78 +77,3 @@ Below is a comparison of the current and updated pricing for Windows licenses on |----------------------------|----------------------------|--------------------------------------| | Windows Server Standard | €2.75 /month | €3.15 /month | | Windows Server Datacenter | €17.88 /month | €21.00 /month | - -## Dedibox VPS - -### What is a Dedibox VPS? -A Dedibox VPS (Virtual Private Servers) is a virtualized server that provides users with the power and flexibility of a dedicated server within a shared hosting environment, offering full control at a fraction of the cost. - -### How does a Dedibox VPS work? -A Dedibox VPS works by partitioning a physical server into multiple isolated virtual environments, each functioning as an independent server with its own resources and configurations. - -### What are the benefits of using a Dedibox VPS? -* Enhanced reliability and performance compared to traditional shared hosting environments. -* Full root access and control over server configurations to tailor your environment to your needs. -* Each Dedibox VPS is an isolated environment for enhanced protection of your data and applications. - -### Who should use a Dedibox VPS? -Dedibox VPS are suitable for individuals, businesses, and developers seeking greater control, customization, and performance than traditional shared hosting can provide. -They are ideal for hosting websites, web applications, development environments, and more. - -### What ranges of Dedibox VPS are available? -Currently, we offer two ranges of Dedibox VPS: - * **Dedibox VPS START**: Ideal for smaller projects and development, offering 1 to 16 vCores, 1 to 32 GB RAM, and SATA SSD storage ranging from 10 GB to 320 GB. - * **Dedibox VPS PRO**: Designed for production workloads, with 1 to 16 vCores, 1 to 16 GB RAM, and NVMe storage ranging from 20 GB to 640 GB. - -### What are the available locations for Dedibox VPS? -Dedibox VPS are available in 60+ different locations worldwide, allowing you to deploy a Dedibox VPS as close as geographically possible to your user base. - -### What operating systems can I run on a Dedibox VPS? -We support various Linux distributions such as Ubuntu, CentOS, and Debian, providing flexibility for your specific requirements. - -### How do I manage my Dedibox VPS? -You can manage your Dedibox VPS from the Dedibox console for administrative tasks such as restarting or reinstalling. For advanced users who prefer command-line interaction, you have full access as the root user via SSH. - -### Is my Dedibox VPS compatible with the Dedibox ecosystem? -No, a Dedibox VPS is a standalone product and not compatible with the Dedibox ecosystem (RPN, Failovers IPs, Dedibackup, RPN-SAN, etc.). - -### Does my Dedibox VPS use shared resources or dedicated resources? -Dedibox VPS provide an isolated environment in which you can access shared resources of the host system. - -### Does my Dedibox VPS come with unlimited traffic? -Yes, but the bandwidth will be throttled beyond a certain amount of traffic (fair use). -The amount of unthrottled bandwidth included with the VPS depends on the server configuration. - -* DEDIBOX VPS START -| Product | Bandwidth (Mbps) | Fair use traffic (TB) | Throttle Mbps | -|-------------------------|---------------------|------------------|-------------------| -| VPS-START-XS | 100 | 1 TB | 2 | -| VPS-START-S | 150 | 2 TB | 2 | -| VPS-START-M | 200 | 3 TB | 5 | -| VPS-START-L | 300 | 4 TB | 5 | -| VPS-START-XL | 500 | 6 TB | 10 | -| VPS-START-XXL | 750 | 8 TB | 10 | - -* DEDIBOX VPS PRO -| Product | Bandwidth (Mbps) | Fair use traffic (TB) | Throttle Mbps | -|-------------------------|---------------------|------------------|-------------------| -| VPS-PRO-XS | 200 | 3 TB | 10 | -| VPS-PRO-S | 300 | 4 TB | 10 | -| VPS-PRO-M | 400 | 5 TB | 10 | -| VPS-PRO-L | 600 | 10 TB | 10 | -| VPS-PRO-XL | 800 | 15 TB | 10 | -| VPS-PRO-XXL | 1000 | 20 TB | 10 | - - -### What happens when I exceed my fair-use traffic? - -Your monthly fair-use traffic allowance includes all incoming and outgoing data. Each plan comes with a specified monthly data allocation. -If you exceed this limit, your connection speed will be reduced for the remainder of the billing cycle, in accordance with your plan's terms. -The speed of your connection will return to normal at the start of the next billing cycle when your data allocation resets. - -### How secure is a Dedibox VPS? -Each Dedibox VPS is isolated from other virtual servers on the same host, ensuring security. However, best security practices, including regular updates, strong passwords, and firewall configurations, are essential to enhance security further. - -### Are IP addresses for Dedibox VPS assigned statically? -IP addresses for Dedibox VPS are generally assigned statically. However, in rare cases, such as maintenance or replacement of a faulty host node, we may perform IP migrations, which can result in a change of IP address. -You can find your updated IP address in the Dedibox console. Please note that we do not currently notify users of such changes. You can contact our [support team](https://console.online.net/en/assistance/ticket) if you experience any issues. \ No newline at end of file From cdb6bfaa855404eb187631587c62c6edeae06dd8 Mon Sep 17 00:00:00 2001 From: Rowena Date: Tue, 18 Mar 2025 10:38:53 +0100 Subject: [PATCH 11/14] fix(faq): fix alignment --- tutorials/encode-videos-using-serverless-jobs/index.mdx | 2 +- tutorials/use-managed-redis-with-mysql/index.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/encode-videos-using-serverless-jobs/index.mdx b/tutorials/encode-videos-using-serverless-jobs/index.mdx index 2afde17117..15e1baf348 100644 --- a/tutorials/encode-videos-using-serverless-jobs/index.mdx +++ b/tutorials/encode-videos-using-serverless-jobs/index.mdx @@ -4,7 +4,7 @@ meta: description: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG content: h1: Encode videos using Serverless Jobs and FFMPEG - paragraph: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG + paragraph: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG tags: serverless jobs ffmpeg video encoding categories: - container-registry diff --git a/tutorials/use-managed-redis-with-mysql/index.mdx b/tutorials/use-managed-redis-with-mysql/index.mdx index 3a3fb06e48..9ff8d005f1 100644 --- a/tutorials/use-managed-redis-with-mysql/index.mdx +++ b/tutorials/use-managed-redis-with-mysql/index.mdx @@ -4,7 +4,7 @@ meta: description: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL content: h1: Use Scaleway Managed Redis™ for MySQL caching with Entity Framework - paragraph: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL. + paragraph: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL. tags: mysql redis entity-framework cache categories: - postgresql-and-mysql From 1df41e7da7e9bd7aa8f7718cf804da0636ac7ffc Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Tue, 18 Mar 2025 10:51:20 +0100 Subject: [PATCH 12/14] fix(tuto): fix tuto formatting --- tutorials/encode-videos-using-serverless-jobs/index.mdx | 4 ++-- tutorials/how-to-implement-rag-generativeapis/index.mdx | 2 +- tutorials/how-to-implement-rag/index.mdx | 2 +- tutorials/use-managed-redis-with-mysql/index.mdx | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tutorials/encode-videos-using-serverless-jobs/index.mdx b/tutorials/encode-videos-using-serverless-jobs/index.mdx index 15e1baf348..01e14d824f 100644 --- a/tutorials/encode-videos-using-serverless-jobs/index.mdx +++ b/tutorials/encode-videos-using-serverless-jobs/index.mdx @@ -3,8 +3,8 @@ meta: title: Encode videos using Serverless Jobs and FFMPEG description: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG content: - h1: Encode videos using Serverless Jobs and FFMPEG - paragraph: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG + h1: Encode videos using Serverless Jobs and FFMPEG + paragraph: In this tutorial, you will learn how to deploy a Serverless Job that encodes videos using FFMPEG tags: serverless jobs ffmpeg video encoding categories: - container-registry diff --git a/tutorials/how-to-implement-rag-generativeapis/index.mdx b/tutorials/how-to-implement-rag-generativeapis/index.mdx index 8fe95b4b67..1d54b709e2 100644 --- a/tutorials/how-to-implement-rag-generativeapis/index.mdx +++ b/tutorials/how-to-implement-rag-generativeapis/index.mdx @@ -3,7 +3,7 @@ meta: title: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs description: Step by step Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs content: - h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs + h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Generative APIs tags: inference API postgresql pgvector object storage RAG langchain AI LLMs embeddings dates: validation: 2024-10-10 diff --git a/tutorials/how-to-implement-rag/index.mdx b/tutorials/how-to-implement-rag/index.mdx index 3c9fb39809..b806a4b3a2 100644 --- a/tutorials/how-to-implement-rag/index.mdx +++ b/tutorials/how-to-implement-rag/index.mdx @@ -3,7 +3,7 @@ meta: title: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference description: Master Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference content: - h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference + h1: Implementing Retrieval-Augmented Generation (RAG) with LangChain and Scaleway Managed Inference tags: inference managed postgresql pgvector object storage RAG langchain machine learning AI language models categories: - managed-inference diff --git a/tutorials/use-managed-redis-with-mysql/index.mdx b/tutorials/use-managed-redis-with-mysql/index.mdx index 9ff8d005f1..26194e34ef 100644 --- a/tutorials/use-managed-redis-with-mysql/index.mdx +++ b/tutorials/use-managed-redis-with-mysql/index.mdx @@ -3,8 +3,8 @@ meta: title: Use Scaleway Managed Redis™ for MySQL caching with Entity Framework description: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL content: - h1: Use Scaleway Managed Redis™ for MySQL caching with Entity Framework - paragraph: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL. + h1: Use Scaleway Managed Redis™ for MySQL caching with Entity Framework + paragraph: In this tutorial, you will learn to use Scaleway Redis™ as a record cache for Scaleway MySQL. tags: mysql redis entity-framework cache categories: - postgresql-and-mysql From fdb7bdea306b3b8ede5d2fa100c7268cd29cf108 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Tue, 18 Mar 2025 11:47:51 +0100 Subject: [PATCH 13/14] feat(faq): move faq --- {faq => pages/faq}/index.mdx | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {faq => pages/faq}/index.mdx (100%) diff --git a/faq/index.mdx b/pages/faq/index.mdx similarity index 100% rename from faq/index.mdx rename to pages/faq/index.mdx From 13d48bb1e036d511b364706ef715386300edfddd Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Wed, 19 Mar 2025 09:34:04 +0100 Subject: [PATCH 14/14] feat(faq): reorder faq --- pages/faq/index.mdx | 255 +++++++++++++++++--------------------------- 1 file changed, 98 insertions(+), 157 deletions(-) diff --git a/pages/faq/index.mdx b/pages/faq/index.mdx index 972e21a70d..0abc9fd972 100644 --- a/pages/faq/index.mdx +++ b/pages/faq/index.mdx @@ -1,13 +1,18 @@ --- meta: title: Frequently Asked Questions - description: Select from the following list of products and browse through the FAQ to find answers to commonly asked questions + description: Select from the following list of products and browse through the FAQ to find answers to commonly asked questions. content: - h1: Frequently Asked Questions - paragraph: Select from the following list of products and browse through the FAQ to find answers to commonly asked questions + paragraph: Select from the following list of products and browse through the FAQ to find answers to commonly asked questions. --- -## Account & Billing FAQs + + +## Browse FAQ pages by product @@ -18,16 +23,11 @@ content: /> - - -## Security & Identity FAQs - - - - - - -## Environmentatal Footprint FAQs - - - -## AI & Data FAQs - - - - - -## Bare Metal FAQs - - - - - -## Compute FAQs - - - - -## Containers FAQs - - - - - - -## Managed Databases FAQs - - - - - -## Managed Services FAQs - - - - - -## Network FAQs - - - - - - -## Serverless FAQs - - - - + - + + + - - -## Storage FAQs - - -