diff --git a/pages/ipam/reference-content/ipv6.mdx b/pages/ipam/reference-content/ipv6.mdx index 44611db3c2..727585d8c0 100644 --- a/pages/ipam/reference-content/ipv6.mdx +++ b/pages/ipam/reference-content/ipv6.mdx @@ -7,7 +7,7 @@ content: paragraph: Learn about IPv6 at Scaleway - configuration, routing, security, and best practices for seamless integration and scalability. Transition smoothly with our step-by-step guide. tags: ipv6 ipv4 support dates: - validation: 2024-11-18 + validation: 2025-05-27 posted: 2024-11-18 categories: - network @@ -27,7 +27,7 @@ This is where **IPv6** comes in, the most recent version of the IP protocol. Eac Written in human-readable form, an IPv6 address can be shown as eight groups of four hexadecimal digits, each group representing 16 bits and separated by a colon, e.g. `2001:0DB8:0000:0003:0000:01FF:0000:002E`. This can also be notated as `2001:DB8::3:0:1FF:0:2E`. -As well as providing a much bigger address space, IPv6 also includes a built-in network security layer (IPsec), as well as improved features for reliability and efficiency, like autoconfiguration, streamlined headers and improved Quality of Service (QoS). All leading to a more robust and secure protocol, that can potentially offer lower latency and faster data transfer. +As well as providing a much bigger address space, IPv6 also includes a built-in network security layer (IPsec), as well as improved features for reliability and efficiency, like auto-configuration, streamlined headers and improved Quality of Service (QoS). All leading to a more robust and secure protocol, that can potentially offer lower latency and faster data transfer. ## IPv6-compatible products @@ -54,6 +54,7 @@ Go further with Instances and IPv6 in the following documentation: - [Using routed IPs](/instances/api-cli/using-routed-ips/) - Fix lost IPv6 connectivity when migrating to routed IP for old [Debian Buster images](/instances/troubleshooting/fix-lost-ip-connectivity-on-debian-buster/) or [RHEL images](/instances/troubleshooting/fix-unreachable-ipv6-rhel-based-instance/) - [Fix DNS resolution with a routed IPv6-only setup on Debian Bullseye](/instances/troubleshooting/fix-dns-routed-ipv6-only-debian-bullseye/) +- [Setting a reverse IPv6 DNS record via the IPAM API](/ipam/api-cli/set-ip-reverse/) ### Elastic Metal and IPv6 @@ -113,11 +114,15 @@ Go further with IPv6 and Load Balancers with the following documentation: VPC and Private Networks are compatible with IPv6. -- Private Networks are dual-stack, meaning each Private Network necessarily has both an IPv4 and and an IPv6 CIDR blocks. +- Private Networks are dual-stack, meaning each Private Network necessarily has both IPv4 and and IPv6 CIDR blocks. - For IPv6, this is a `/64` block, automatically created by Scaleway, guaranteed to be unique within the VPC and not overlapping with any of your other Private Networks. - All IPv6-compatible resources will automatically receive an IPv6 address when they join a Private Network, in addition to an IPv4 address. - This address can be auto-allocated from the pool, or specified by the user via a [reserved IP address](/ipam/how-to/reserve-ip/) -- Scaleway VPC routing supports both IPv4 and IPv6 protocols. [Managed routes](/vpc/how-to/manage-routing/#how-to-generate-a-managed-route) to Private Networks are simultaneously generated for both IPV4 and IPV6, and both are added to the VPC's route table. Note that auto-generated managed routes to Public Gateways are only created in IPv4, since Public Gateways are not yet IPv6-compatible. [Custom routes](/vpc/how-to/manage-routing/#how-to-create-a-custom-route) are only created for the IP type specified during the creation process. +- Scaleway VPC routing supports both IPv4 and IPv6 protocols. [Managed routes](/vpc/how-to/manage-routing/#how-to-generate-a-managed-route) to Private Networks are simultaneously generated for both IPv4 and IPv6, and both are added to the VPC's route table. Note that auto-generated managed routes to Public Gateways are only created in IPv4, since Public Gateways are not yet IPv6-compatible. [Custom routes](/vpc/how-to/manage-routing/#how-to-create-a-custom-route) are only created for the IP type specified during the creation process. + +### InterLink and IPv6 + +InterLink supports both IPv4 and IPv6 traffic. Each InterLink entails two BGP sessions: one for IPv4 and one of IPv6, whereby routing information is dynamically exchanged between the external router and the Scaleway VPC vRouter. When creating a [routing policy](/interlink/concepts/#routing-policy) for your InterLink, you must separately specify the IPv4 and IPv6 routes to propagate. ### Serverless Functions and Containers and IPv6 diff --git a/pages/load-balancer/how-to/add-certificate.mdx b/pages/load-balancer/how-to/add-certificate.mdx index 940c33f602..ef234debc1 100644 --- a/pages/load-balancer/how-to/add-certificate.mdx +++ b/pages/load-balancer/how-to/add-certificate.mdx @@ -1,12 +1,12 @@ --- meta: title: How to add a certificate to your Load Balancer - description: This page explains how to add a certificate to your Load Balancer + description: Learn how to add an SSL/TLS certificate to your Scaleway Load Balancer to enable secure HTTPS traffic for your services content: h1: How to add a certificate to your Load Balancer - paragraph: This page explains how to add a certificate to your Load Balancer + paragraph: Learn how to add an SSL/TLS certificate to your Scaleway Load Balancer to enable secure HTTPS traffic for your services dates: - validation: 2024-11-18 + validation: 2025-05-27 posted: 2022-10-20 --- diff --git a/tutorials/bind-dns-server/index.mdx b/tutorials/bind-dns-server/index.mdx index ab4cdbac94..347146942e 100644 --- a/tutorials/bind-dns-server/index.mdx +++ b/tutorials/bind-dns-server/index.mdx @@ -1,44 +1,55 @@ --- meta: title: Implementing a DNS server using BIND - description: In this tutorial you will learn How to implement a DNS server using BIND. + description: Learn how to install and configure a BIND DNS server on a Scaleway Instance to manage domain name resolution. content: h1: Implementing a DNS server using BIND - paragraph: In this tutorial you will learn How to implement a DNS server using BIND. + paragraph: Learn how to install and configure a BIND DNS server on a Scaleway Instance to manage domain name resolution. tags: dns bind categories: - domains-and-dns dates: - validation: 2024-11-18 + validation: 2025-05-27 posted: 2018-12-05 --- DNS (Domain Name System) is a service that translates the IP address of computers connected to the internet into human-readable domain names, and vice versa. In an environment with a limited amount of Linux machines, it is possible to use the `/etc/hosts` file for associating an IP address to a DNS name. But when you have a large infrastructure with lots of systems/resources, `/etc/hosts` may quickly become cumbersome. -[BIND](https://www.isc.org/bind/) or Berkeley Internet Name Domain is open-source software that implements DNS protocols for the internet. In this tutorial, we need a DNS server machine & a client machine for testing. +[BIND](https://www.isc.org/bind/) or Berkeley Internet Name Domain is open-source software that implements DNS protocols for the internet. In this tutorial, we need primary and secondary DNS server machines, in accordance with best practice to ensure redundancy. We also need a third machine (e.g. your local machine) for testing. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization +- Two [Instances](/instances/how-to/create-an-instance/) running Ubuntu, to act as the primary and secondary DNS server machines +- A local machine, or a third Instance, to test from - An [SSH key](/organizations-and-projects/how-to/create-ssh-key/) - `sudo` privileges or access to the root user ## Installing BIND -1. Install the latest version of BIND 9.20 and related tools: +1. Connect to the Instance that will act as the primary DNS server using [SSH](/instances/how-to/connect-to-instance/): + ``` + ssh root@ + ``` + +2. Update the `apt` package manager and upgrade the software already installed on the Instance to the latest version, available in Ubuntu's repositories: + ``` + apt update && apt upgrade -y + +3. Install the latest version of BIND 9.18 and related tools: ``` apt-get install bind9 bind9utils bind9-doc dnsutils ``` -2. Verify the installed version: +4. Verify the installed version: ``` named -v ``` The expected output should be: ``` - BIN 9.20.x + BIND 9.18.x ``` - +5. Repeat the above steps on the secondary DNS server Instance. ## Configuring the primary DNS server @@ -138,6 +149,8 @@ DNS (Domain Name System) is a service that translates the IP address of computer ### Testing the Configuration +Carry out the following steps on a third machine, e.g. your local machine or another Instance. + 1. Check the primary DNS server: ```bash dig @192.0.2.1 www.example.com @@ -169,6 +182,6 @@ DNS (Domain Name System) is a service that translates the IP address of computer ## Conclusion -You have successfully configured a DNS server using BIND 9.20. You can now resolve domain names within your infrastructure or serve DNS queries to external clients. +You have successfully configured a redundant DNS server using BIND 9.18. You can now resolve domain names within your infrastructure or serve DNS queries to external clients. -For more advanced configurations and features, refer to the [official BIND 9.20 documentation](https://kb.isc.org/docs/isc-bind-9). +For more advanced configurations and features, refer to the [official BIND documentation](https://kb.isc.org/docs/isc-bind-9). diff --git a/tutorials/configure-nodemcu-iot-hub/index.mdx b/tutorials/configure-nodemcu-iot-hub/index.mdx index 57f4e9dcbf..83ba8e13b4 100644 --- a/tutorials/configure-nodemcu-iot-hub/index.mdx +++ b/tutorials/configure-nodemcu-iot-hub/index.mdx @@ -8,7 +8,7 @@ content: categories: - iot-hub dates: - validation: 2024-11-18 + validation: 2025-05-27 tags: iot iot-hub NodeMCU Arduino-IDE hero: assets/scaleway_nodemcu.webp --- diff --git a/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-backend-rule.webp b/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-backend-rule.webp deleted file mode 100644 index 0409de8f8d..0000000000 Binary files a/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-backend-rule.webp and /dev/null differ diff --git a/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-console.webp b/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-console.webp deleted file mode 100644 index c0d0899c87..0000000000 Binary files a/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-console.webp and /dev/null differ diff --git a/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-frontend-rule.webp b/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-frontend-rule.webp deleted file mode 100644 index 9721c2a8e6..0000000000 Binary files a/tutorials/configuring-loadbalancer-wordpress/assets/scaleway-lb-frontend-rule.webp and /dev/null differ diff --git a/tutorials/configuring-loadbalancer-wordpress/index.mdx b/tutorials/configuring-loadbalancer-wordpress/index.mdx index a54b482727..a25c20c455 100644 --- a/tutorials/configuring-loadbalancer-wordpress/index.mdx +++ b/tutorials/configuring-loadbalancer-wordpress/index.mdx @@ -1,16 +1,16 @@ --- meta: title: Setting up a load-balanced WordPress - description: This page shows you how to set up a load-balanced WordPress for increased availability + description: Set up a Scaleway Load Balancer for WordPress to improve performance, ensure high availability, and handle traffic efficiently. content: h1: Setting up a load-balanced WordPress - paragraph: This page shows you how to set up a load-balanced WordPress for increased availability + paragraph: Set up a Scaleway Load Balancer for WordPress to improve performance, ensure high availability, and handle traffic efficiently. categories: - load-balancer - instances tags: WordPress Load-Balancer dates: - validation: 2024-11-18 + validation: 2025-05-27 posted: 2019-04-08 --- @@ -45,111 +45,19 @@ Load Balancer supports private IPs of Scaleway Instances for backend servers, al ## Configuring a Load Balancer -1. Click **Load Balancer** in the menu on the left, to enter the Load Balancer section, then click **+ Create a Load Balancer**: - -2. Enter the **Name** of the Load Balancer, optionally you can enter a description and tags to simplify the management of them. Choose the **Region** for the Load Balancer (it should be the same region as the geographical region of your Instances), and a new IP address is allocated automatically.1. Click **Load Balancer** in the menu on the left, to enter the Load Balancer section, then click **+ Create a Load Balancer**: - -3. Enter the **Name** of the Load Balancer, optionally you can enter a description and tags to simplify the management of them. Choose the **region** for the Load Balancer (it should be the same region as the geographical region of your Instances), and a new IP address is allocated automatically. -4. Configure a backend rule, this rule defines the backend infrastructure that will be load-balanced. +1. Follow the instructions for [creating a Load Balancer](/load-balancer/how-to/create-load-balancer/#how-to-create-a-load-balancer), with the following settings: + - The same Availability Zone as your Instances + - A frontend listening on port 80 + - A backend using HTTP protocol, listening on port 80 + + It is also possible to use [SSL to encrypt backend connections](/tutorials/nginx-reverse-proxy/), in this case, set the port to 443.| + + - TLS encryption activated on the backend + - Proxy protocol deactivated on the backend + - The two WordPress Instances (`10.45.2.3` and `10.45.2.3`) as backend server IPs + - HTTP health check - The following parameters should be configured in the backend rule: - - |Parameter|Description| - |----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------| - |**Backend Name**|A name for the backend rule (e.g. `wordpress-backend-rule`)| - |**Protocol**|The protocol to use. Set this value to `HTTP`, to have access to HTTP-specific features of the Load Balancer| - |**Port**|The port on which the backend application listens, with a standard configuration is **port 80** for a web application. It is also possible to use [SSL to encrypt backend connections](/tutorials/nginx-reverse-proxy/), in this case, set the port to 443.| - |**Proxy**|This enables or disables PROXY protocol version 2 (must be supported by backend servers). It is not required for this tutorial, keep it off.| - |**TLS encryption**|Enable Transport Layer Security (TLS) to encrypt connections between the Load Balancer and the backend server(s).| - |**Health Check Type**|The health check type to use. To check the health of a web application, set this to `HTTP`.| - |**Server IPs**|Add the two WordPress Instances (`10.45.2.3` and `10.45.2.3`) to the list of backend servers| - - The final backend rule should look similar to the following example: - - -5. Click **Create a Load Balancer** to deploy the Load Balancer. - -## Checking if the Load Balancer works - -It is possible to check the status of the Load Balancer with an API call. -It will provide you with information about the status of the Load Balancer and if the health check was successful. - - - Retrieve your Organization ID and generate [API key](/iam/how-to/create-api-keys/) from your [management console](https://console.scaleway.com/project/credentials) before you continue. - - -1. Set the required variables to make the API call easier: - ```bash - LB_ID="" - TOKEN="" - REGION="" # (can be either fr-par or nl-ams, depending on the load balancers region) - ``` -2. When the Load Balancer is configured and running, type the following command to request its status. Make sure that [jsonpp](https://jmhodges.github.io/jsonpp/) is installed on the machine running the above command to get an easily readable JSON output: - ```bash - curl -X GET "https://api.scaleway.com/lb/v1/regions/$REGION/lbs/$LB_ID/stats" -H "X-Auth-Token: $SECRET_KEY" | json_pp - ``` -3. The API will provide a [JSON formatted](https://en.wikipedia.org/wiki/JSON) response like the following example: - ```json - { - "backend_servers_stats": [ - { - "ip": "10.45.2.3", - "backend_id": "cd64b4e0-2c23-484a-80b9-602bf934245e", - "instance_id": "4d2294bf-4e6d-499c-922a-ca08f58ed66d", - "server_state_changed_at": "2019-04-10T13:01:27Z", - "server_state": "stopped", - "last_health_check_status": "failed" - }, - { - "server_state": "stopped", - "server_state_changed_at": "2019-04-10T13:01:27Z", - "instance_id": "4d2294bf-4e6d-499c-922a-ca08f58ed66d", - "ip": "10.45.2.4", - "backend_id": "cd64b4e0-2c23-484a-80b9-602bf934245e", - "last_health_check_status": "unknown" - }, - { - "instance_id": "bd4b6e5f-2cfb-40da-afd8-933e7afbbd61", - "server_state_changed_at": "2019-04-10T13:01:27Z", - "server_state": "running", - "backend_id": "cd64b4e0-2c23-484a-80b9-602bf934245e", - "ip": "10.45.2.3", - "last_health_check_status": "passed" - }, - { - "ip": "10.45.2.4", - "backend_id": "cd64b4e0-2c23-484a-80b9-602bf934245e", - "instance_id": "bd4b6e5f-2cfb-40da-afd8-933e7afbbd61", - "server_state_changed_at": "2019-04-10T13:01:27Z", - "server_state": "running", - "last_health_check_status": "passed" - } - ] - } - ``` - - As two Instances are configured in the backend, the JSON list contains four entries. This is due to the high availability feature of the Load Balancer. Should the master Instance experience a failure, it switches automatically to the backup one. - - In the status of the `running` instance, the health check status (`last_health_check_status`) has `passed`. This means that the backend Instance replied well to the request sent to it in the health check. Requests to WordPress are load-balanced between the two Instances. -4. Connect to the first WordPress Instance (`10.45.2.3`) and stop the web server application running on it: - ```bash - systemctl stop nginx.service - ``` -5. Re-run the command from Step 3. -6. In the JSON list, the `last_health_check_status` changed to `failed`, as the web server no longer replies to requests: - ```json - { - "last_health_check_status": "failed", - "server_state": "stopped", - "instance_id": "bd4b6e5f-2cfb-40da-afd8-933e7afbbd61", - "ip": "10.45.2.3", - "server_state_changed_at": "2019-04-10T13:32:18Z", - "backend_id": "cd64b4e0-2c23-484a-80b9-602bf934245e" - } - ``` - - When you navigate to the load-balanced IP (`http://51.51.51.51`) in your browser, your WordPress displays. The Load Balancer has automatically detected that the Nginx server on the first Instance (`10.45.2.3`) is not running anymore and redirects all traffic to the second Instance (`10.45.2.3`). -7. Restart the web server application and re-run the command mentioned in step 3. The `last_health_check_status` will change again into `passed` and requests are load balanced again between the two Instances. +2. Check the status of your Load Balancer's backend servers in the Scaleway console, by navigating to the Load Balancer's dashboard, then **Backends** > **Backend name** > **Server list**, where you can see the status of each server depending on its health check result. ## Configuring WordPress @@ -183,11 +91,11 @@ Update the configuration of each Instance now, so they will use the database on When connecting to the Instance from a web browser, the content is taken from the database on the MariaDB server. 3. Log into the WordPress Admin interface and click **Settings** to configure WordPress. - Enter the IP of one of your WordPress Instances (`10.45.2.3`) in the field **WordPress Address (URL)** - - Enter the **Load Balanced IP** (`51.51.51.51`) or your domain name in the field **Site Address (URL)** + - Enter the **Load Balancer's public (flexible) IP address** (`51.51.51.51`) or your domain name in the field **Site Address (URL)** Save the form. 4. Redo this step on the second instance. -5. Type the **Load Balanced IP** or your domain name in your browser, and WordPress will appear on the load balanced IP: +5. Type the **Load Balancer's public (flexible) IP address** or your domain name in your browser, and WordPress will appear : -The Load Balancer is now automatically distributing the load between your Instances. To increase the computing power of the Load Balancer, simply snapshot an Instance and spin up a new one. \ No newline at end of file +The Load Balancer is now automatically distributing the load between your Instances. To increase the computing power of the Load Balancer, simply [snapshot](/instances/concepts/#snapshot) an Instance and spin up a new one. \ No newline at end of file