Intégration Fastly Compute@Edge
Tous les clients Fastly peuvent bénéficier de redirection.io en utilisant Compute@Edge, la solution de calcul en périphérie sans serveur fournie par Fastly.
L'utilisation de redirection.io avec Fastly est assez simple :
- créer un compte redirection.io ;
- créer une organisation et un projet redirection.io. À cette étape, vous voudrez peut-être inviter vos collègues ;
accédez à l'écran "instances" de votre projet, et cliquez sur le bouton "Configuration sur votre infrastructure"- Cela ouvre un panneau latéral contenant votre "clé de projet". Copiez cette clé et installez le worker Fastly de redirection.io (voir ci-dessous)
- Vous êtes prêt :-)
Déploiement manuel du worker Fastly Compute@edge
Le code et les outils de notre worker Fastly Compute@edge sont open source et disponibles sur le compte Github de redirection.io.
Voici les étapes requises pour déployer le worker redirection.io sur votre compte Fastly :
- installez la chaîne d'outils Rust dans votre environnement de développement, par exemple :
apt install autoconf build-essential curl wget unzip curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.76.0 -y
- installez fastly, l'interface de ligne de commande officielle (CLI) pour interagir avec la plateforme Fastly, et configurez la cli Fastly :
fastly configure
- clonez le code de la bibliothèque (vous pouvez le forker sur votre propre compte, si vous devez apporter des modifications au code du worker) :
git clone https://github.com/redirectionio/fastly-worker cd fastly-worker
- copiez le fichier
fastly.dist.toml
versfastly.toml
. Si vous souhaitez utiliser le serveur local Fastly, modifiez les valeurs :- ligne 11,
backend_name
: définissez l'URL / l'adresse IP du backend pour proxifier le trafic
- ligne 11,
dans votre tableau de bord Fastly, créez un dictionnaire nomméredirectionio
, et configurez les clés suivantes :backend_name
:- Cette directive est requise
- Description : le nom du backend vers lequel proxifier le trafic. Utilisez le
nom
que vous avez configuré pour votre serveur backend dans le menu "Origins > Hosts" de votre service Fastly
token
:- Cette directive est requise
- Description : cette clé de projet redirection.io, telle que récupérée ci-dessus
instance_name
:- Cette directive est requise
- Description : saisissez ici un nom pour cette instance Fastly, tel qu'il doit être affiché dans l'écran "instances" du gestionnaire redirection.io
add_rule_ids_header
:- Cette directive est optionnelle
- Par défaut : false
- Description : définissez ceci sur
true
pour ajouter un en-tête de réponseX-RedirectionIo-RuleIds
contenant l'identifiant des règles redirection.io exécutées, séparés par un;
log_endpoint
:- Cette directive est optionnelle
- Description : si vous souhaitez enregistrer la sortie du worker vers un point de terminaison de journalisation Fastly personnalisé (tel que défini sous le menu "Logging"), utilisez pour
log_endpoint
le nom du point de terminaison de journalisation à utiliser (par exemple,my_logs
). Veuillez noter que que cette clé de dictionnaire soit définie ou non, les journaux d'erreurs seront toujours collectés comme des journaux Fastly ordinaires.
log_level
:- Cette directive est optionnelle
- Description : si la directive
log_endpoint
ci-dessus est définie, cette clé permet de configurer le niveau de journalisation. - Valeurs possibles :
OFF
ouERROR
ouWARN
ouINFO
ouDEBUG
ouTRACE
dans votre tableau de bord Fastly, ajoutez un nouvel "hôte d'origine" à votre service. Cet hôte doit être nomméredirectionio
et avoir l'adresse "agent.redirection.io".- publiez le worker sur votre projet de service Fastly :
fastly compute publish --service-id=XXXXXXXX
Votre worker nouvellement créé devrait fonctionner après quelques secondes !
Débogage local à l'aide du serveur local Fastly
La cli Fastly propose un serveur local, ce qui est utile pour exécuter un worker localement avant de le mettre en ligne.
Pour utiliser ce serveur local, copiez le fichier redirectionio.dist.json
vers redirectionio.json
, et modifiez les valeurs :
backend_name
: le nom du backend Fastly vers lequel proxifier le trafic (ce devrait être "backend_host
", ou modifiez également ce nom dansfastly.toml
)token
: cette clé de projet redirection.io, telle que récupérée ci-dessusinstance_name
: saisissez ici un nom pour cette instance Fastly, tel qu'il doit être affiché dans l'écran "instances" du gestionnaire redirection.ioadd_rule_ids_header
: Définissez ceci sur"true"
pour ajouter un en-tête de réponseX-RedirectionIo-RuleIds
contenant l'identifiant des règles redirection.io exécutées, séparés par un;
Ensuite, lancez le serveur web local :
fastly compute serve