Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

🚀 Scaleway – The European Cloud (Écosystùme & Services)

Panorama IDEO-Lab de Scaleway : alternative souveraine, Bare Metal, Kapsule (K8s), Object Storage, Serverless, Cockpit (Observabilité) et infrastructure Multi-cloud.

1.1

Vue d’ensemble Scaleway

Positionnement "Alternative Cloud", souveraineté européenne, écosystÚme produits et pricing.

Souveraineté Multi-Cloud
1.2

Infrastructure & Org

Régions (PAR, AMS, WAW), Zones de disponibilité (AZ), Projets et isolation VPC.

PAR/AMS/WAW VPC
1.3

Compute (Instances & Metal)

Instances virtuelles, Elastic Metal, Dedibox (Bare Metal), Kubernetes Kapsule & Kosmos.

Instances Kapsule
1.4

Storage (Object & Block)

Object Storage (S3 compat), Block Storage (Low latency), Managed Databases & Backups.

S3 API Block
2.1

Réseau & Edge

VPC (Private Networks), Public Gateways, Load Balancers, DNS & IP Failover.

Private Network Load Balancer
2.2

Data & Messaging

Managed PostgreSQL/MySQL, Redis, Messaging (NATS/SQS/SNS), Serverless DB.

RDB Redis

Serverless & Containers

Serverless Functions, Serverless Containers, Jobs, Messaging & Triggers.

Containers

Sécurité & IAM

IAM (Policies, Groups), Secret Manager, Key Manager (KMS), Bastion & Firewalls.

IAM
3.2

Cockpit & Observabilité

Managed Grafana/Mimir/Loki, Alerting, Dashboarding unifié multi-source.

Cockpit
3.3

DevOps & IaC

Scaleway CLI (scw), Terraform Provider, Packer, Ansible & API/SDK.

Terraform SCW CLI
4.1

Bare Metal & Hybrid

Elastic Metal, Interconnexion Dedibox ↔ Cloud, Kosmos (K8s Multi-cloud).

Elastic Metal
4.2

Cheat-sheet Scaleway

Commandes scw essentielles, configuration S3 (rclone/aws-cli) et astuces.

Memo
1.1 Scaleway – Technical Deep Dive & Architecture
Datacenters & Souveraineté
Région / AZType DCSpecs Physiques
PAR-1 (DC2)LegacyHistorique. Connectivité massive. Focus Bare Metal.
PAR-2 (DC3)BunkerAncien abri anti-atomique. Haute sécu physique. HDS.
PAR-3 (DC5)Eco-DesignPUE < 1.15. Refroidissement adiabatique (0 clim). WUE ~0.
AMS / WAWExpansionHubs connectivité Nord & Est Europe. Latence < 30ms vers DE.

Compliance : ISO 27001, ISO 50001, HDS (Santé), SWIPO. Immunité Cloud Act (Capital 100% FR Iliad).

Backbone Network (AS12876)
  • CapacitĂ© Edge : > 10 Tbps (RĂ©seau Iliad/Free).
  • Peering : France-IX, AMS-IX, DE-CIX + PNI (Private Network Interconnect) avec AWS/GCP.
  • Protection : Arbor Networks (Anti-DDoS volumĂ©trique) inclus par dĂ©faut sur toutes les IPs.
  • Latence Inter-AZ : < 1ms (Fibre noire propriĂ©taire en IDF).
  • Architecture : Clos Network (Spine/Leaf). Pas de sur-allocation bande passante sur les offres PRO2/ENT1.
Note Architecte : Le trafic Inter-AZ (ex: App sur PAR1 <-> DB sur PAR2) est gratuit et passe par le réseau privé (VPC).
ModĂšle d'Isolation (Hierarchie)
  • Organization : Billing Root. LiĂ© au SIRET/VAT. PropriĂ©taire des Users.
  • Project : Boundary technique stricte.
    • VPC DĂ©diĂ© : Chaque projet a son propre VLAN L2 isolĂ©.
    • Quotas : Limites vCPU/RAM/GPU spĂ©cifiques par projet.
    • IAM Scope : Les droits s'appliquent au niveau Projet (ou Orga).
IAM & Secret Management
  • Principals : Users (Humains) vs Applications (API Keys pour CI/CD).
  • Policies : JSON Rules. Ex: ObjectStorageReadOnly, InstancesFullAccess.
  • Secret Manager : Vault managĂ©. Versioning des secrets. IntĂ©gration K8s via External Secrets Operator.
Architecture VPC (Private Network)

Le VPC Scaleway est régional (Multi-AZ). C'est un Layer 2 étendu.

ComposantFonctionLimites
Private NicInterface eth1. DHCP managé (192.168.x.x).Jusqu'à 8 PN par instance.
Public GatewayNAT Sortant (SNAT) + Bastion SSH. Mode HA.Bandwidth: 500Mbps Ă  5Gbps.
Load BalancerL4 (TCP) / L7 (HTTP). Terminaison SSL.IP Anycast. Certs Let's Encrypt auto.
                            # Exemple Terraform VPC + Gateway
                            resource "scaleway_vpc_private_network" "pn" { name = "private-network" }
                            resource "scaleway_vpc_public_gateway" "pgw" { type = "VPC-GW-M" } # 2Gbps
                            resource "scaleway_vpc_gateway_network" "main" {
                            gateway_id = scaleway_vpc_public_gateway.pgw.id
                            private_network_id = scaleway_vpc_private_network.pn.id
                            enable_dhcp = true
                            }
                        
Compute Specs (Instances & Metal)
GammeCPU ArchUse CaseSpecs Max
PRO2AMD EPYC 7003 (Milan)Prod Web, App Servers. vCPU dédiés.32 vCPU, 128 GB RAM. BV: 1.5 Gbps.
ENT1Xeon Gold / PlatinumHigh RAM, DBs, ERP. NVMe Cache inclus.96 vCPU, 384 GB RAM.
Elastic MetalBare Metal (Ryzen/Xeon)Noisy-neighbor free. Virtualisation.1 TB RAM, Dual 25Gbps Uplink.
GPUNVIDIA H100 / L40SLLM Training, Rendering.H100 PCIe 80GB VRAM.
Storage & Data Technologies
  • Block Storage (SBS) :
    • IOPS : 5,000 (Basic) Ă  15,000 (High Speed).
    • Latence : < 1ms (NVMe over Fabric).
    • Features : Resize Ă  chaud, Snapshots instantanĂ©s (CoW), Unmount/Move.
  • Object Storage (S3) :
    • Standard : Multi-AZ (Erasure Code 4+2). 99.9999999% DurabilitĂ©.
    • OneZone-IA : Mono-AZ. Moins cher (-20%).
    • Glacier (C14) : Archivage froid sur hardware dĂ©diĂ©. Restore time variable.
  • Managed DB (RDB) : PostgreSQL 15+, MySQL 8. Extension pgvector supportĂ©e pour RAG/IA. Backup WAL archivĂ©s sur S3.
ModĂšle de Pricing & Capping

Scaleway applique un modÚle de facturation horaire plafonné ("Monthly Cap").

RessourceRĂšgle PricingExemple (Est.)
InstancesFacturĂ© Ă  l'heure jusqu'Ă  500h. Au delĂ  = Gratuit (Prix mois fixe).PRO2-S (4vCPU/16G) : ~0.046€/h -> Cap Ă  ~23€/mois.
Bandwidth INGratuit & IllimitĂ©.0 €.
Bandwidth OUT75 Go inclus. Puis ~0.01€/Go (vs AWS 0.09€).1 TB Out = ~10€ chez SCW vs ~90€ chez AWS.
KapsuleControl Plane offert (Mutualisé).On ne paie que les Workers (Instances).
EcosystĂšme & Outils DevOps
  • Terraform : Provider scaleway/scaleway. Couverture > 95% des services. State stockable sur Object Storage (avec Locking).
  • Cockpit (Observability) : Stack Grafana/Loki/Mimir managĂ©e.
    • Push Metrics via Prometheus Remote Write.
    • Alertmanager intĂ©grĂ© pour notifications (Slack/Email/Webhook).
  • Serverless :
    • Functions (Go, Python, Node) et Containers (Knative).
    • Scale-to-zero (0€ si pas de requĂȘte).
1.2 Infrastructure – Global Topology, VPC & Isolation
Régions & Zones de Disponibilité (AZ)

Scaleway opÚre sur 3 Régions. Chaque AZ est un Datacenter physiquement distinct (Alim/Réseau).

Zone IDDatacenter PhysiqueSpécificité
fr-par-1DC2 (Paris)Historique. Forte densité Bare Metal. Connectivité directe opérateurs.
fr-par-2DC3 (Vitry)"Le Bunker". Ancien abri anti-atomique. Haute Sécurité Physique.
fr-par-3DC5 (St-Ouen)Flagship Eco. Refroidissement adiabatique (0 clim). PUE < 1.15.
nl-ams-*AmsterdamHub Europe du Nord (Iron Mountain / Digital Realty).
pl-waw-*VarsovieHub Europe de l'Est. Latence faible vers DACH.
Backbone Network (AS12876)
  • CapacitĂ© : > 10 Tbps (RĂ©seau Iliad/Free).
  • Latence Inter-AZ : < 1ms (Boucle fibre noire propriĂ©taire en IDF).
  • Peering : France-IX, AMS-IX, DE-CIX + PNI (Google, AWS, Azure).
  • Protection : Arbor Networks (Anti-DDoS VolumĂ©trique) inclus sur toutes les IPs publiques.
// FACT: Le trafic entre AZs (ex: PAR-1 <-> PAR-2) via le VPC est GRATUIT. // Contrairement Ă  AWS qui facture le trafic Inter-AZ ($0.01/GB).
VPC (Virtual Private Cloud) Specs
  • Technologie : Layer 2 Ă©tendu (VLAN). Isolation totale.
  • PortĂ©e : RĂ©gionale (Multi-AZ). Une VM en PAR-1 voit une VM en PAR-2 sur le mĂȘme subnet.
  • Adressage : DHCP ManagĂ© par Scaleway. Baux statiques possibles.
  • Interfaces : Support du Multi-NIC (jusqu'Ă  8 Private Networks par instance).
Public Gateway (NAT)

Routeur virtuel haute dispo pour l'accĂšs Internet sortant (SNAT).

TypeBandwidthConnexions Max
GW-S500 Mbps50k flows
GW-M2 Gbps500k flows
GW-L5 Gbps2M flows
Load Balancer (Regional)
  • Architecture : Proxy managĂ© Haute Dispo. IP Anycast (failover auto).
  • Protocols : TCP (L4), HTTP/HTTPS (L7). Support HTTP/2 et WebSocket.
  • SSL : Let's Encrypt Wildcard gĂ©rĂ© automatiquement ou Certificat Custom.
  • Private LB : PossibilitĂ© de ne pas exposer d'IP Publique (Internal LB).
                            # Architecture Réseau Typique (Terraform style)
                            resource "scaleway_vpc_private_network" "main" {
                            name = "prod-network-192-168"
                            }

                            resource "scaleway_vpc_public_gateway_ip" "gw_ip" {}

                            resource "scaleway_vpc_public_gateway" "main" {
                            name  = "prod-gateway"
                            type  = "VPC-GW-M" # 2Gbps
                            ip_id = scaleway_vpc_public_gateway_ip.gw_ip.id
                            }

                            resource "scaleway_vpc_gateway_network" "main" {
                            gateway_id         = scaleway_vpc_public_gateway.main.id
                            private_network_id = scaleway_vpc_private_network.main.id
                            enable_dhcp        = true
                            enable_masquerade  = true # SNAT activé
                            }
                        
ModÚle Hiérarchique
  • Organization : EntitĂ© de facturation (Root).
    • PropriĂ©taire lĂ©gal des ressources.
    • Gestion des Utilisateurs & Groupes IAM.
  • Project : Boundary d'isolation technique.
    • RĂ©seau : 1 Projet = 1 VPC par dĂ©faut (pas de routing inter-projet natif).
    • IAM : Les droits sont scopĂ©s par Projet (ex: User A est Admin sur Projet Dev, mais Viewer sur Projet Prod).
    • Quotas : Limites de ressources (vCPU, RAM, GPU) dĂ©finies par Projet.
Stratégie d'Isolation (Best Practices)
  • Environment Isolation :
    Créer un projet distinct pour Development, Staging, et Production.
    Avantage : Impossible de supprimer la DB de Prod par erreur depuis un script de Dev.
  • Network Boundary :
    Le VPC ne traverse pas les projets. Pour relier deux projets, il faut passer par :
    • Public Internet (avec Whitelist IP).
    • VPN (Instance Ă  Instance).
    • VPC Peering (Feature en Beta/Roadmap).
1.3 Compute Ecosystem – VM, Bare Metal & Orchestration
Production Instances (Dedicated vCPU)
GammeArchitecture CPUSpecs MaxBande Passante
PRO2AMD EPYCℱ 7003 (Milan). AVX2. Secure Encrypted Virt.32 vCPU
128 GB RAM
400 Mbps Ă  1.5 Gbps (Garanti)
ENT1Intel Xeon Gold 6148 ou Platinum. High Frequency.96 vCPU
384 GB RAM
Jusqu'Ă  20 Gbps (Burst)

Boot-on-Block : Le disque racine est un volume réseau (SBS) par défaut.
ENT1 Specifics : Inclut un cache NVMe local éphémÚre pour haute perf I/O.

Dev & Learning Instances (Shared vCPU)
  • PLAY2 : vCPU "Burstable" (20% Ă  100%). IdĂ©al CI/CD, Staging.
    Specs : De 1 vCPU/2GB (Pico) Ă  4 vCPU/16GB (Maxi).
  • STARDUST : Instance Micro (1 vCPU, 1GB RAM).
    Note : Souvent en rupture (OOS). IPv6 Only possible.
                            # CLI: Création rapide PRO2
                            scw instance server create \
                            type=PRO2-S \
                            image=ubuntu_jammy \
                            zone=fr-par-1 \
                            root-volume=l:50G \
                            tags.0=production
                        
Elastic Metal (Cloud Native Bare Metal)

Serveurs physiques 100% dédiés, intégrés au VPC, facturés à l'heure.

TierHardware TypiqueNetwork
AluminiumAMD Ryzen 5xxx / Intel Xeon E. 16-64GB RAM.1 Gbps Public / 1 Gbps Privé
BerylliumDual Xeon Silver / EPYC. 128-256GB RAM.1 Gbps Public / 10 Gbps Privé
LithiumDual Xeon Gold 6xxx. Jusqu'à 1TB RAM. NVMe RAID.10 Gbps Public / 25 Gbps Privé
Elastic Metal vs Dedibox
  • Elastic Metal :
    • Pilotable via API Scaleway Elements (Terraform).
    • IntĂ©grĂ© au Private Network (VPC) L2.
    • Facturation horaire possible.
  • Dedibox (Legacy) :
    • Console sĂ©parĂ©e (console.online.net).
    • Engagement mensuel + Frais install.
    • RĂ©seau RPN (Incompatible VPC sauf via passerelle).
GPU Instances (AI & Rendering)

Pas de vGPU partagé. Pass-through direct.

ModĂšleArchitectureVRAMUse Case
H100 PCIeNVIDIA Hopper80 GBLLM Training, Large Inference.
L40SAda Lovelace48 GBGenerative AI, 3D Render, Transcodage.
P100Pascal (Legacy)16 GBEducation, Batch Processing.
Apple Silicon (Mac as a Service)
  • Hardware : Mac Mini M1 (8GB) ou M2 Pro (32GB).
  • OS : macOS Sonoma / Ventura. AccĂšs VNC ou SSH.
  • Contrainte Licence Apple : Location minimale de 24 heures imposĂ©e.
  • RĂ©seau : IP Publique uniquement (Pas de VPC privĂ©).
// Ideal pour CI/CD iOS (GitLab Runner / GitHub Actions self-hosted). // Isolation physique garantie.
Kapsule (Managed K8s)
  • Control Plane : Gratuit (MutualisĂ©) ou DĂ©diĂ© (High SLA).
  • CNI : Cilium (eBPF) par dĂ©faut, Calico, Weave.
  • CSI : Block Storage (RWO) et Object Storage (RWX via s3-fuse, perf limitĂ©e).
  • Autoscaling : Cluster Autoscaler supportĂ©. Node pools mixtes (Instances + Metal).
  • Ingress : IntĂ©gration native avec Load Balancer Scaleway + CertManager.
Kosmos & Serverless
  • Kosmos (Multi-Cloud) :
    • Control Plane chez Scaleway.
    • Worker Nodes n'importe oĂč (AWS, GCP, On-Prem).
    • Tunneling VPN managĂ© transparent.
  • Serverless Containers :
    • BasĂ© sur Knative.
    • Scale-to-zero (0 instance = 0€).
    • Images Docker custom. Limitation : Stateless, 15min timeout.
1.4 Storage – Object, Block & Managed Data
Classes de Stockage S3
ClasseDurabilitéDispoUse Case
Standard99.9999999% (9 nines)99.99%Multi-AZ (EC 4+2). Hot Data, Web assets.
One Zone-IA99.99%99.9%Single-AZ. -20% coût. Backups secondaires.
Glacier99.9999999%N/AArchivage froid (C14). Restore en minutes/heures.

Technologie : Erasure Coding distribué.
Endpoints : s3.fr-par.scw.cloud, s3.nl-ams.scw.cloud.

Fonctionnalités Avancées
  • Object Lock (WORM) : ImmutabilitĂ© pour conformitĂ© lĂ©gale ou protection anti-ransomware.
  • Bucket Policies : Gestion fine des accĂšs via JSON (compatible AWS IAM policies).
  • Lifecycle Rules : Transition auto Standard -> Glacier aprĂšs X jours.
  • Versioning : Protection contre Ă©crasement/suppression accidentelle.
// Pricing Tip: Le trafic entrant (Ingress) est GRATUIT. // Le trafic sortant vers une instance SCW dans la mĂȘme rĂ©gion est GRATUIT.
Scaleway Block Storage (SBS)

Volumes persistants NVMe-over-Fabric. Détachables et redimensionnables.

TierIOPS MaxLatenceUse Case
Basic5,000 IOPSStandardOS Boot, Logs, Web Apps.
High Speed15,000 IOPS< 1 msDatabase (Postgres/MySQL), High Traffic.
  • Unified Snapshots : Les snapshots sont stockĂ©s sur Object Storage (Zonal ou Multi-AZ).
  • Boot-on-Block : Toutes les instances (sauf Metal) bootent sur ces volumes.
Opérations Disque (Lifecycle)
  • Hot Resize : Augmentation de taille sans reboot (nĂ©cessite resize2fs cĂŽtĂ© OS).
  • Hot Detach : DĂ©placer un volume de data d'une instance A vers B en quelques secondes.
  • Local Storage (Scratch) :
    • Dispo uniquement sur gammes ENT1 et H100.
    • Performance extrĂȘme (NVMe direct) mais Ă©phĂ©mĂšre (perdu au stop).
Managed Databases (RDB)
  • Moteurs : PostgreSQL (13-16), MySQL 8.
  • Architecture HA : Active/Standby avec IP Failover auto (bascule < 60s).
  • Storage Scaling : Auto-extension du volume Block Storage si plein.
  • Extensions : PostGIS (GĂ©o), TimescaleDB (Time-series), pgvector (AI/Embeddings).
Backup & Retention
  • Automated Backups : Quotidien. RĂ©tention configurable (jusqu'Ă  365 jours sur demande, 7 par dĂ©faut).
  • PITR (Point-In-Time Recovery) : Restauration Ă  la seconde prĂšs (via WAL logs).
  • Snapshots Manuels : Possible avant une mise en prod risquĂ©e.
  • Export : Dump direct vers bucket S3.
CLI & Compatibilité S3

L'API étant standard, utilisez les outils de l'écosystÚme AWS.

                            # AWS CLI (Config profile)
                            aws configure set plugins.endpoint awscli_plugin_endpoint
                            aws s3 ls --endpoint-url https://s3.fr-par.scw.cloud

                            # Rclone (Le couteau suisse)
                            rclone sync /local/data scw:my-bucket --transfers 16

                            # s3cmd
                            s3cmd mb s3://new-bucket
                        
Pricing FinOps (Est. 2025)
  • Object Storage :
    • Stockage : ~0.013 €/GB/mois (Standard).
    • Transfert Sortant : ~0.01 €/GB (aprĂšs 75GB offerts).
    • RequĂȘtes : Gratuites ou trĂšs faibles (vs AWS).
  • Block Storage :
    • ~0.08 €/GB/mois (inclut la performance IOPS).
2.1 Network & Edge – VPC, Load Balancer, Gateway & DNS
Architecture VPC (Regional Layer 2)

Le Private Network Scaleway est un VLAN étendu sur toute une Région (Multi-AZ).

FeatureSpecs Techniques
IsolationSegmentation L2 stricte (VLAN). Pas de routing inter-VPC natif.
PortéeRégionale. Une VM en par-1 ping une VM en par-2 en direct.
AdressageDHCP Managé (activable/désactivable). Support IPv4 & IPv6.
InterfacesJusqu'à 8 interfaces privées (vNIC) par instance.
Intégration & Performance
  • Bandwidth : Le trafic privĂ© n'est pas facturĂ© et ne consomme pas la bande passante publique (interface eth1 distincte de eth0).
  • Jumbo Frames : MTU standard 1500 (pas de support Jumbo Frames officiel garanti sur toutes les offres).
  • Hybride : interconnectable avec Dedibox via Dedibox Interconnect (VLAN cross-connect).
// WARNING: Scaleway VPC ne fournit pas de "Router" L3 virtuel par défaut. // Pour router entre 2 subnets privés, il faut une Gateway ou une instance routeur.
Public Gateway (NAT & Bastion)

Appliance managée pour fournir l'accÚs Internet (SNAT) aux ressources privées.

TypeBandwidthMax Conn.PPS Max
VPC-GW-S500 Mbps50k~80k
VPC-GW-M2 Gbps500k~400k
VPC-GW-L5 Gbps2M~1M
Fonctionnalités Clés
  • Mode HA : DĂ©ploiement redondant multi-AZ disponible (IP failover auto).
  • Bastion SSH : Serveur bastion managĂ© intĂ©grĂ© (accĂšs via clĂ© SSH configurĂ©e dans l'IAM).
  • IP Statique : L'IP de sortie est fixe (utile pour whitelisting chez des partenaires).
                            # Terraform: Attacher une Gateway à un réseau privé
                            resource "scaleway_vpc_gateway_network" "main" {
                            gateway_id         = scaleway_vpc_public_gateway.pgw.id
                            private_network_id = scaleway_vpc_private_network.pn.id
                            enable_masquerade  = true  # Active le NAT
                            enable_dhcp        = true  # Le GW agit comme serveur DHCP
                            }
                        
Cloud Load Balancer (Multi-AZ)
  • Type : Layer 4 (TCP) et Layer 7 (HTTP/HTTPS/HTTP2).
  • Architecture : Proxy inverse haute dispo basĂ© sur Nginx/Haproxy custom. IP Anycast.
  • SSL/TLS :
    • Termination ou Passthrough.
    • Certificats Let's Encrypt gĂ©rĂ©s et renouvelĂ©s automatiquement.
  • SantĂ© : Health Checks TCP, HTTP (codes 2xx-4xx), MySQL, PGSQL, Redis.
  • Sticky Sessions : BasĂ© sur cookie (L7) ou source IP (L4).
Kubernetes Ingress Controller

Intégration native via k8s-cloud-controller-manager.

                            apiVersion: v1
                            kind: Service
                            metadata:
                            annotations:
                            # Use specific LB IP
                            service.beta.kubernetes.io/scw-loadbalancer-ip-id: "xxx-xxx"
                            # Enable Proxy Protocol v2 (pour récupérer l'IP client réelle)
                            service.beta.kubernetes.io/scw-loadbalancer-proxy-protocol-v2: "true"
                            # Force redirect HTTP -> HTTPS
                            service.beta.kubernetes.io/scw-loadbalancer-force-ssl-redirect: "true"
                            spec:
                            type: LoadBalancer
                        
Domains & DNS
  • Registrar : Extensions .fr, .com, .net, .io, .ai, etc.
  • DNS Zones : Support Anycast. API complĂšte pour records automation (ACME DNS-01 challenge).
  • Import : Supporte l'import de zone files BIND.
IP Failover (Elastic IP)

Crucial pour la HA sur Elastic Metal et Dedibox.

  • Permet de router une IP publique (/32) vers n'importe quel serveur du compte.
  • Bascule via API en < 30 secondes.
  • Support du VRRP (Keepalived) pour bascule automatique.
IPAM & Addressing
  • Flexible IPs : Les IPs publiques (Instances, LB, GW) sont dĂ©tachables et conservables.
  • IPv6 :
    • IPv6 /128 par dĂ©faut sur les Instances.
    • SLAAC supportĂ© sur les rĂ©seaux privĂ©s.
  • Mac Address : Persistante sur Elastic Metal. Virtuelle sur Instances (gĂ©rĂ©e par KVM).
2.2 Data, Messaging & Vector Stacks
PostgreSQL & MySQL Managed
FeatureSpecs Techniques
EnginesPostgreSQL 13, 14, 15, 16. MySQL 8.
ComputeShared (Dev) ou Dedicated (General Purpose / High Memory). Jusqu'Ă  96 vCPU.
StorageBlock Storage (SBS) High Speed. Jusqu'Ă  10 TB. Autoscaling disque.
NetworkPrivate Network (IP privée fixe) + Load Balancer Node (IP publique optionnelle).
// Serverless SQL Database (Beta) // Scale-to-zero. Idéal pour dev/test ou trafic sporadique. // Facturation au CPU/RAM actif.
High Availability (HA) & Ops
  • Architecture HA : Standby Node synchrone dans une AZ diffĂ©rente. Bascule automatique (IP flottante) en < 60s.
  • Connection Pooling : PgBouncer intĂ©grĂ© et managĂ© (pour gĂ©rer des milliers de connexions concurrentes).
  • Backups : Quotidien automatique. PITR (Point-In-Time Recovery) pour restaurer Ă  la seconde prĂšs.
  • Extensions : PostGIS, TimescaleDB, pg_stat_statements.
                            # Terraform Resource
                            resource "scaleway_rdb_instance" "main" {
                            name           = "prod-postgres"
                            node_type      = "DB-GP-M" # General Purpose
                            engine         = "PostgreSQL-15"
                            is_ha_cluster  = true
                            disable_backup = false
                            volume_type    = "bssd" # Block Storage
                            volume_size_in_gb = 100
                            }
                        
Managed Redisℱ
  • Modes :
    • Standalone : Instance unique. Cache simple.
    • Cluster : Sharding (3+ nodes). Haute dispo et distribution de charge.
  • Versions : Redis 6, 7.
  • SĂ©curitĂ© : Support ACL (Access Control List) et TLS (Transit Encryption).
  • Persistance : Optionnelle (AOF / RDB) pour durabilitĂ© des donnĂ©es.
Opensearch & Document DB
  • Managed Opensearch :
    • Fork open-source d'Elasticsearch.
    • Stack ELK complĂšte (Dashboards inclus).
    • Usage : Centralisation de logs, Recherche Full-text.
  • FerretDB (Managed) :
    • Proxy compatible MongoDB fonctionnant sur un backend PostgreSQL.
    • Permet d'utiliser les drivers Mongo avec la robustesse de PG.
Messaging & Queuing (Serverless)
ProtocoleTypeUse Case
NATSCloud-nativeHigh throughput, low latency. Microservices, Real-time.
SQS / SNSAWS CompatibleMigration facile depuis AWS. Files d'attente (Queue) et PubSub (Topic).
MQTTIoT HubConnectivité objets connectés. Routes vers DB/S3/Functions.
Intégration Event-Driven
  • DĂ©clencher des Serverless Functions ou Containers Ă  chaque message (Trigger).
  • Fan-out pattern : Un message SNS vers plusieurs Queues SQS ou endpoints HTTP.
  • Retention : Configurable (ex: 7 jours pour SQS).
  • Dead Letter Queue (DLQ) : Gestion des messages en erreur.
Vector Database (RAG & LLM)

Indispensable pour fournir de la mémoire (contexte) aux modÚles d'IA générative (RAG).

  • pgvector (sur Managed PostgreSQL) :
    • Extension open-source standard.
    • Stockage des embeddings directement Ă  cĂŽtĂ© des donnĂ©es relationnelles.
    • Indexation IVFFlat ou HNSW pour recherche de similaritĂ© rapide.
  • Qdrant (Managed Partner) :
    • DB vectorielle native haute performance (Rust).
    • Filtrage avancĂ© et scaling horizontal.
Architecture RAG Typique
                            1. Ingestion : PDF/Text -> Chunks -> Embeddings (via H100/L40S).
                            2. Stockage : Embeddings -> PostgreSQL (pgvector).
                            3. Query : User Prompt -> Embedding -> SELECT ... ORDER BY distance.
                            4. Generation : Contexte + Prompt -> LLM (Mistral sur H100).
                        
2.3 Serverless – Containers, Functions & Jobs
Containers as a Service (CaaS)

Exécution de conteneurs Docker arbitraires sans gestion d'infrastructure (basé sur Knative).

FeatureSpecification
ScalingScale-to-Zero (0€ si inactif) Ă  N instances. Scaling sur requĂȘtes concurrentes.
ResourcesCPU: 0.1 Ă  4 vCPU.
RAM: 128 MB Ă  8 GB.
NetworkingEndpoint HTTPS auto (*.scw.cloud). Support Custom Domain + TLS.
PortLe conteneur doit écouter sur le port 8080 (ou env $PORT).
Cas d'usage & Configuration
  • Microservices Stateless : API REST, Frontend (NextJS/Nuxt), Backend lĂ©gers.
  • SecuritĂ© : Injection de secrets via Secret Manager (Variables d'env).
  • Privacy : PossibilitĂ© de rendre le conteneur "PrivĂ©" (Authentification IAM requise via Token SCW).
                            # Déploiement via CLI
                            scw container container create \
                            name=api-prod \
                            namespace-id=$NS_ID \
                            image=rg.fr-par.scw.cloud/ideo/api:v1.2 \
                            cpu-limit=1000 memory-limit=2048 \
                            min-scale=1 max-scale=10 \
                            environment.DB_HOST="pg-database.private"
                        
Cloud Functions (FaaS)
  • Runtimes supportĂ©s :
    • Python (3.7 - 3.11)
    • Node.js (14 - 20)
    • Go (1.18 - 1.21)
    • PHP, Rust (Beta)
  • Architecture : Code zippĂ© injectĂ© dans un runtime gĂ©rĂ©. Handler spĂ©cifique par langage.
  • Cold Start : Variable selon la taille du bundle et le langage (Go/Rust plus rapides que Node/Python).
Handler Example (Python)
                            def handle(event, context):
                            """
                            event: dict contenant body, headers, query
                            context: info sur l'execution
                            """
                            print(f"Processing event: {event}")
                            return {
                            "body": {"message": "Hello from Scaleway"},
                            "statusCode": 200
                            }
                        
// Best Practice: Initialiser les connexions DB *en dehors* du handler // pour réutiliser le pool entre les invocations (Warm start).
Serverless Jobs

Exécution de tùches longues (Batch) sans contrainte de timeout HTTP.

  • DiffĂ©rence vs Containers : Asynchrone. Pas de port d'Ă©coute. S'arrĂȘte quand le processus exit(0).
  • Limites : Jusqu'Ă  24 heures d'exĂ©cution (vs 15 min pour Containers).
  • Ressources : Jusqu'Ă  16 vCPU / 32 GB RAM (High Performance).
  • Usage : EntraĂźnement IA lĂ©ger, ETL Data, Rendu vidĂ©o, Database migration.
Event-Driven Triggers
SourceMécanisme
CRONPlanificateur intégré (format Unix cron). Pour Jobs ou Functions.
NATS / SQSDéclenchement sur message dans une file d'attente (Push).
Object StorageDéclenchement sur upload (via NATS events).
Limites & Constraints
  • Timeout HTTP : Max 900s (15 minutes). Pour plus long -> Serverless Jobs.
  • Payload : Max 6MB (Body request/response).
  • Disque : Ephemeral /tmp (512MB Ă  1GB selon profil). Pas de persistance.
  • Logs : StreamĂ©s vers Cockpit (Grafana/Loki).
Pricing & Frameworks
  • Free Tier :
    • 400 000 GB-s de compute offerts / mois.
    • 300 000 Invocations offertes / mois.
  • Outils IaC :
    • Terraform : scaleway_function, scaleway_container.
    • Serverless Framework : Plugin serverless-scaleway-functions.
3.1 Security – IAM, KMS, Secrets & Network Defense
Identity & Access Management (IAM)
  • Principals :
    • Users : Humains (MFA recommandĂ©).
    • Applications : IdentitĂ©s machines (API Keys). Pour CI/CD, Terraform.
    • Groups : Collection de Users/Apps pour attribution de droits en masse.
  • Scopes :
    • Organization Level : Droits globaux (Billing, IAM Admin).
    • Project Level : Droits isolĂ©s (Instances, Buckets, K8s).
Policies & Permissions (JSON)

ModĂšle RBAC (Role Based Access Control) flexible.

                            {
                            "rules": [
                            {
                            "project_ids": ["$PROJ_PROD_ID"],
                            "permission_set_names": ["ObjectStorageReadOnly", "InstancesViewer"]
                            },
                            {
                            "organization_id": "$ORG_ID",
                            "permission_set_names": ["BillingObserver"]
                            }
                            ]
                            }
                        
// Security Tip: Ne jamais utiliser "Administrator" sur une API Key de CI/CD. // Créer un rÎle custom ou utiliser le principe de moindre privilÚge.
Security Groups (Firewall)

Firewall Stateful appliqué au niveau de l'interface virtuelle de l'instance.

DirectionDefault PolicyComportement
InboundDROP (Refus)Nécessite une rÚgle explicite (ex: TCP 443 0.0.0.0/0).
OutboundACCEPT (Autorisé)Autorise tout le trafic sortant par défaut.

Stateful = Le trafic retour d'une connexion établie est autorisé automatiquement.

Bastion & Isolation
  • Managed Bastion :
    • Point d'entrĂ©e SSH sĂ©curisĂ© et auditĂ© vers les rĂ©seaux privĂ©s.
    • Plus besoin de maintenir une instance "jumphost" vulnĂ©rable.
  • Private Network Isolation :
    • Les VLANs sont Ă©tanches. Pas de communication entre VPC A et VPC B sans gateway.
  • SMTP Ports : Le port 25 est bloquĂ© par dĂ©faut sur les instances (anti-spam) sauf dĂ©blocage via KYC.
Secret Manager
  • Fonction : Stockage sĂ©curisĂ© de credentials (DB password, API keys, Certificats).
  • Versioning : Historique des versions de secrets (v1, v2, latest).
  • AccĂšs : API REST / gRPC. IntĂ©gration IAM.
                            # Récupération (Runtime)
                            scw secret version access $SECRET_ID revision=latest

                            # Intégration K8s (External Secrets Operator)
                            apiVersion: external-secrets.io/v1beta1
                            kind: ExternalSecret
                            spec:
                            data:
                            - secretKey: db-pass
                            remoteRef:
                            key: id:xxxx-xxxx
                            version: latest
                        
Key Management Service (KMS)
  • HSM : ClĂ©s stockĂ©es dans des modules matĂ©riels sĂ©curisĂ©s.
  • Usage :
    • Chiffrement de Buckets S3 (Server-Side Encryption).
    • Chiffrement de Volumes Block Storage (LUKS automation).
    • Signature numĂ©rique.
  • Rotation : Rotation automatique des clĂ©s configurable.
Protection Anti-DDoS (Arbor)

Inclus par défaut sur toutes les IPs publiques Scaleway.

  • Detection : Analyse comportementale du trafic en temps rĂ©el.
  • Mitigation :
    • Filtrage VolumĂ©trique (L3/L4) automatique.
    • CapacitĂ© d'absorption massive via le backbone Iliad.
  • Advanced : Protection DDoS Applicative (L7) disponible via WAF partenaire ou configuration custom sur LB.
Compliance & Certifications
NormePérimÚtre
HDSHébergement Données de Santé. (Instances, K8s, S3, DB, Metal).
ISO 27001Management de la Sécurité de l'Information (Global).
RGPDSouveraineté des données (Stockage EU uniquement). 100% Capital FR.
SWIPOCode de conduite pour la portabilité Cloud et IaaS.
3.2 Observability – Cockpit (LGTM Stack) & Monitoring
Scaleway Cockpit (Managed LGTM)

Suite d'observabilité 100% compatible Open Source, hébergée et managée par Scaleway.

ComposantRĂŽleTechnology Backend
LogsCentralisation des logs (syslog, app).Loki (LogQL)
MetricsSéries temporelles (CPU, RAM, Business).Mimir (PromQL)
TracesSuivi des requĂȘtes distribuĂ©es (APM).Tempo (TraceQL)
VisuDashboards unifiés.Grafana (Managed)
Intégration Produit Native
  • Pre-built Dashboards : Les ressources SCW (Instances, Kapsule, Load Balancers, RDB) poussent automatiquement leurs mĂ©triques si l'option est activĂ©e.
  • Single Pane of Glass : Visualisez dans le mĂȘme Grafana vos mĂ©triques Infrastructure (Scaleway) et Applicatives (Custom).
  • Multi-Source : Compatible avec des agents externes (Telegraf, Datadog Agent mode proxy) ou Cross-Cloud.
Push Metrics (Prometheus)

Configuration du remote_write pour envoyer vos métriques locales vers Cockpit.

                            # prometheus.yml
                            remote_write:
                            - url: "https://metrics.cockpit.fr-par.scw.cloud/api/v1/push"
                            headers:
                            X-Token: "$SCW_SECRET_KEY"
                        
Push Logs (Promtail / Fluentd)
                            # promtail.yaml
                            clients:
                            - url: https://logs.cockpit.fr-par.scw.cloud/loki/api/v1/push
                            tenant_id: "$SCW_PROJECT_ID"
                            basic_auth:
                            username: "$SCW_ACCESS_KEY"
                            password: "$SCW_SECRET_KEY"
                        
Tokens & Sécurité
  • Token : GĂ©nĂ©ration de Tokens dĂ©diĂ©s Ă  Cockpit (diffĂ©rents des clĂ©s API IAM) pour isoler les droits d'Ă©criture (Push) et de lecture (Query).
  • Datasources : Dans Grafana, les datasources (Loki/Mimir) sont prĂ©-configurĂ©es automatiquement.
  • Global Endpoint : Points d'ingestion rĂ©gionaux (PAR/AMS/WAW) pour rĂ©duire la latence.
Managed Alerting (Alertmanager)
  • DĂ©finition des rĂšgles d'alerte en YAML (Mimir rules) ou via l'interface Grafana.
  • Contact Points :
    • Email, Slack, Discord, PagerDuty, OpsGenie.
    • Webhooks gĂ©nĂ©riques (pour trigger une Cloud Function).
  • Grouping : Regroupement des alertes pour Ă©viter le spam (deduplication).
Exemple de RĂšgle (PromQL)
# Alert: High CPU Usage (> 90% for 5m) - alert: InstanceHighCpu expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90 for: 5m labels: severity: critical annotations: summary: "High CPU on {{ $labels.instance }}"
  • Les alertes sont Ă©valuĂ©es cĂŽtĂ© serveur (Mimir), pas dans le navigateur.
ModĂšle de Pricing

Facturation à l'usage (Pay-as-you-go) basée sur le volume.

ServiceUnitéPrix (Est.)
MetricsPar million d'Ă©chantillons (samples) ingĂ©rĂ©s.~0.15 € / million
LogsPar GB ingĂ©rĂ©.~0.35 € / GB
TracesPar GB ingĂ©rĂ©.~0.35 € / GB
Grafana UsersPar utilisateur actif.Gratuit (limité) ou Forfait
Rétention des Données
  • Custom Retention : Configurable par type de donnĂ©es (ex: garder les Metrics 12 mois, les Logs 30 jours).
  • Impact CoĂ»t : Le stockage long terme a un coĂ»t additionnel (faible, basĂ© sur Object Storage en backend).
  • Free Tier : Cockpit inclut un quota mensuel gratuit gĂ©nĂ©reux pour les petits projets (ex: 75 Mo logs, X millions metrics).
3.3 DevOps Ecosystem – IaC, CLI, SDK & Automation
Terraform Provider
  • Registry : scaleway/scaleway (Partenaire Officiel).
  • Couverture : ~99% (Instances, K8s, RDB, VPC, IAM, IoT, Apple Silicon).
  • State Backend : Utilisation de l'Object Storage Scaleway (compatible S3) pour stocker le terraform.tfstate avec locking.
                            terraform {
                            required_providers {
                            scaleway = { source = "scaleway/scaleway", version = ">= 2.30" }
                            }
                            backend "s3" {
                            bucket                      = "tfstate-infra-prod"
                            key                         = "main.tfstate"
                            region                      = "fr-par"
                            endpoint                    = "https://s3.fr-par.scw.cloud"
                            skip_credentials_validation = true
                            skip_region_validation      = true
                            }
                            }
                        
Resource Pattern (Best Practices)
  • Cloud-Init : Injecter la config via user_data.
  • Tags : Utiliser massivement les tags pour le ciblage Ansible ultĂ©rieur.
                            resource "scaleway_instance_server" "web" {
                            type  = "PRO2-M"
                            image = "ubuntu_jammy"
                            tags  = ["env:prod", "role:web"]

                            root_volume {
                            size_in_gb = 50
                            volume_type = "b_ssd" # Block Storage
                            }

                            private_network {
                            pn_id = scaleway_vpc_private_network.pn.id
                            }
                            }
                        
Scaleway CLI (scw)

Binaire Go unique, sans dépendance. Auto-complétion Bash/Zsh.

FeatureCommande / Env Var
Config~/.config/scw/config.yaml ou Env Vars.
HeadlessSCW_ACCESS_KEY, SCW_SECRET_KEY, SCW_DEFAULT_PROJECT_ID.
Output-o json (pour jq), -o human (tableaux), -o template (Go tmpl).
Snippets Utiles
                            
                            # 1. Créer une instance et récupérer son IP publique (JSON parsing)
                            IP=$(scw instance server create type=PLAY2-NANO image=ubuntu_jammy -o json | jq -r .public_ip.address)

                            # 2. Lister les IDs des nodes Kapsule
                            scw k8s node list cluster-id=$CLUSTER_ID -o template='{{range .}}{{ .Name }} : {{ .ID }}{{"\n"}}{{end}}'

                            # 3. Login Docker Registry
                            scw registry login
                            
                        
// Astuce: Utiliser `scw autocomplete install` pour la complétion ZSH/BASH. // La CLI supporte aussi l'aliasing de commandes complexes.
Packer (Golden Images)
  • Builder : scaleway.
  • Workflow : Snapshot d'une instance -> CrĂ©ation d'une Image privĂ©e.
  • Usage : PrĂ©-installer Docker, Agents de monitoring, Durcissement OS (CIS Benchmarks).
                            source "scaleway" "ubuntu" {
                            access_key      = "${var.scw_access_key}"
                            secret_key      = "${var.scw_secret_key}"
                            project_id      = "${var.scw_project_id}"
                            zone            = "fr-par-1"
                            image           = "ubuntu_jammy"
                            commercial_type = "PLAY2-NANO"
                            ssh_username    = "root"
                            snapshot_name   = "golden-image-"
                            }
                        
Ansible (Configuration Mgmt)
  • Collection : scaleway.scaleway (Galaxy).
  • Dynamic Inventory : RĂ©cupĂ©ration automatique des hosts basĂ©e sur les tags API.
                            # my_scaleway_inventory.yml
                            plugin: scaleway.scaleway.scaleway_inventory
                            regions:
                            - fr-par
                            tags:
                            - "env:prod"
                            groups:
                            web_servers: "'role:web' in tags"
                            db_servers: "'role:database' in tags"
                        
SDKs Officiels
  • Go : github.com/scaleway/scaleway-sdk-go (Base de la CLI et Terraform).
  • Python : pip install scaleway-sdk (TypĂ©, Async support).
  • JS/TS : @scaleway/sdk.
API Automation

API REST standard. Auth via Header X-Auth-Token.

Exemple Python SDK
                            from scaleway.apis import instance_v1
                            from scaleway import Client

                            client = Client.from_config_file_and_env()
                            api = instance_v1.API(client)

                            # List servers in PAR-1
                            servers = api.list_servers(zone="fr-par-1")
                            for s in servers.servers:
                            print(f"{s.name} - {s.public_ip.address}")
                        
  • Rate Limiting : Respecter les quotas API (ex: pas de polling agressif, utiliser les webhooks ou Events si possible).
4.1 Hybrid Cloud – Kosmos, Elastic Metal & Interconnect
Kosmos : Control Plane Unifié

Pilotez des nƓuds Kubernetes situĂ©s n'importe oĂč depuis la console Scaleway.

ComposantGestionLocation
Control PlaneManagé par Scaleway (HA).PAR-1 / AMS-1 / WAW-1
NodesSelf-managed (attachés via script).AWS, GCP, Azure, On-Prem, Edge.
NetworkTunneling chiffré automatique (WireGuard/Konnectivity).Internet Public (Port 443/UDP).
Use Cases & Pricing
  • Cloud Bursting : Infra de base On-Prem, dĂ©bordement vers des instances Scaleway lors des pics de charge.
  • Multi-Cloud Redundancy : Un cluster Ă©tendu sur Scaleway (Master) + AWS (Worker) + OVH (Worker).
  • CoĂ»t : ~99€ / mois / cluster (frais de gestion du Control Plane Multi-Cloud). Gratuit pour les nƓuds Scaleway.
                            # Attacher un serveur externe Ă  Kosmos
                            # 1. Créer le cluster Kosmos
                            scw k8s cluster create type=kapsule-dedicated-multi-cloud ...

                            # 2. Récupérer le script d'attachement (Pool externe)
                            scw k8s pool get-attach-cmd pool-id=$POOL_ID
                            > curl -s https://... | sudo bash
                        
Legacy to Cloud Bridge

Connectez vos serveurs Dedibox (réseau RPN) à votre VPC Scaleway Elements.

  • Principe : VLAN Cross-Connect physique au sein des datacenters DC2/DC3.
  • Performance : ConnectivitĂ© L2 privĂ©e, dĂ©bit ligne (1Gbps Ă  10Gbps selon offre).
  • Isolation : Le trafic ne passe PAS par Internet. Latence < 1ms.
Configuration
  • PrĂ©-requis : Avoir un compte Dedibox (console.online.net) et un compte Scaleway (console.scaleway.com) liĂ©s.
  • Activation : Via la console, commander l'interconnexion RPN v2 <-> VPC.
  • Usage :
    • Database massive sur Dedibox (Stockage pas cher).
    • Frontend K8s Kapsule sur Scaleway (ScalabilitĂ©).
// Note: Dedibox Interconnect est essentiel pour les stratĂ©gies "Lift & Shift" // oĂč la BDD reste sur du gros mĂ©tal historique.
VPN Gateway
  • Pour relier un bureau/DC On-Prem au VPC Scaleway via Internet.
  • Architecture : Utiliser 2 instances (VM) configurĂ©es en Gateway VPN (StrongSwan / WireGuard) derriĂšre un Load Balancer UDP.
  • Managed ? Pas encore de "Cloud VPN" managĂ© natif (Roadmap). Il faut gĂ©rer l'instance VPN ou utiliser une Public Gateway en mode Bastion/VPN.
Private Peering (Direct Connect)
  • Scaleway Datacenter Connect :
    • Lien fibre physique direct (Cross-Connect) dans les MMR (Meet-Me-Room) des datacenters (Equinix, Interxion, Telehouse).
    • DĂ©bit : 1 Gbps ou 10 Gbps dĂ©diĂ©.
    • IdĂ©al pour : Latence stable, sĂ©curitĂ© bancaire, gros volumes de donnĂ©es.
Pattern: Data Sovereignty
  • DonnĂ©es Sensibles : StockĂ©es sur Elastic Metal (Disques chiffrĂ©s, contrĂŽle physique total).
  • Traitement : EffectuĂ© par des Serverless Functions ou K8s qui lisent/Ă©crivent via le Private Network.
  • Avantage : Compliance stricte (isolation hardware) + FlexibilitĂ© Cloud.
Pattern: Edge AI Inference
  • Training : Sur Scaleway H100 Superpod (Puissance max).
  • Model Registry : Stockage des poids du modĂšle sur Object Storage.
  • Inference : DĂ©ploiement sur des nƓuds Kosmos situĂ©s en Edge (Usines, Magasins) pour latence zĂ©ro.
4.2 Engineer Cheat-sheet – CLI, API & Best Practices
Setup & Compute
                            # 1. Initialisation (Interactive)
                            scw init

                            # 2. Instances
                            scw instance server list zone=fr-par-1
                            scw instance server create type=PRO2-S image=ubuntu_jammy root-volume=l:50G name=web-prod
                            scw instance server ssh $SERVER_ID
                            scw instance server console $SERVER_ID # Serial Console (Debug)

                            # 3. Security Groups
                            scw instance security-group create name=sg-web inbound-default-policy=drop outbound-default-policy=accept
                            scw instance security-group rule create group-id=$SG_ID direction=inbound protocol=tcp port=443 ip-range=0.0.0.0/0
                        
K8s, Registry & Serverless
                            # Kubernetes
                            scw k8s cluster list
                            scw k8s kubeconfig install $CLUSTER_ID
                            kubectl get nodes

                            # Container Registry
                            scw registry login
                            docker build -t rg.fr-par.scw.cloud/my-ns/app:v1 .
                            docker push rg.fr-par.scw.cloud/my-ns/app:v1

                            # Serverless
                            scw function deploy . --runtime python311 --name my-func
                            scw container deploy . --port 8080 --name my-container
                        
AWS CLI Config (~/.aws/config)

Scaleway S3 est compatible. Utilisez un alias pour gagner du temps.

                            # ~/.aws/config
                            [profile scw]
                            region = fr-par
                            output = json
                            s3 =
                            endpoint_url = https://s3.fr-par.scw.cloud
                            signature_version = s3v4
                            max_concurrent_requests = 100
                            max_queue_size = 1000

                            # ~/.aws/credentials
                            [scw]
                            aws_access_key_id = $SCW_ACCESS_KEY
                            aws_secret_access_key = $SCW_SECRET_KEY
                        
# Usage aws s3 ls --profile scw aws s3 cp ./backup.tar.gz s3://my-bucket/ --profile scw
Rclone Config (High Perf Copy)
                            # rclone config (choisir "s3", provider "Scaleway")
                            [scw]
                            type = s3
                            provider = Scaleway
                            access_key_id = $ACCESS_KEY
                            secret_access_key = $SECRET_KEY
                            region = fr-par
                            endpoint = s3.fr-par.scw.cloud
                            acl = private

                            # Sync Command
                            rclone sync /local/data scw:my-bucket --transfers 16 --progress
                        
Base Provider & Backend
                            terraform {
                            required_providers {
                            scaleway = { source = "scaleway/scaleway" }
                            }
                            backend "s3" {
                            bucket   = "tfstate-infra"
                            key      = "prod.tfstate"
                            region   = "fr-par"
                            endpoint = "https://s3.fr-par.scw.cloud"
                            skip_credentials_validation = true
                            skip_region_validation      = true
                            }
                            }

                            provider "scaleway" {
                            zone   = "fr-par-1"
                            region = "fr-par"
                            }
                        
Common Resources
                            # VPC & Gateway
                            resource "scaleway_vpc_private_network" "pn" {}
                            resource "scaleway_vpc_public_gateway" "pgw" { type = "VPC-GW-M" }

                            # Instance
                            resource "scaleway_instance_server" "web" {
                            type  = "PRO2-S"
                            image = "ubuntu_jammy"
                            tags  = ["prod"]
                            private_network { pn_id = scaleway_vpc_private_network.pn.id }
                            }

                            # K8s Cluster
                            resource "scaleway_k8s_cluster" "k8s" {
                            name    = "k8s-prod"
                            version = "1.28"
                            cni     = "cilium"
                            }
                        
Security & Access
  • Isolation : Prod et Staging sont dans des Projets distincts.
  • IAM : Pas de clĂ© API avec droits "Admin" utilisĂ©e dans la CI/CD.
  • Network : Security Groups en "Drop Inbound" par dĂ©faut.
  • SSH : Bastion managĂ© utilisĂ©, port 22 fermĂ© au public.
Reliability & FinOps
  • Backups : Snapshots automatiques activĂ©s sur les Instances et DB.
  • Monitoring : Cockpit activĂ©, Alerting configurĂ© (CPU > 90%, Error Rate).
  • Haute Dispo : Ressources rĂ©parties sur au moins 2 AZ (ex: par-1 et par-2).
  • Budgets : Alertes de facturation configurĂ©es (ex: alerte Ă  50% et 80% du budget).