:: :(Warning) (LTS12+ OPCH Networking Changes) Avec LTS12, la façon dont l'OPCH communique avec le Tulip Cloud a été modifiée. Ces changements étaient nécessaires pour s'assurer que l'OPCH puisse supporter des déploiements massifs de connecteurs et de machines.
Avec ce changement, l'OPCH est passé du maintien d'une connexion websocket continue avec le nuage, à l'absence d'état. Cela conduira à une augmentation des appels RESTful entre l'OPCH et Tulip Cloud. Lors des mises à jour de l'OPCH, les clients doivent s'assurer que les proxies et les pare-feu peuvent supporter cette charge supplémentaire.
:: :
Objectif
Apprendre à tirer parti des On-Premise Connector Hosts pour vos intégrations.
Conditions préalables
Pour en savoir plus sur les Connector Hosts dans Tulip, lisez d'abord cet article
Vue d'ensemble
Cet article a pour but de servir de point de référence pour les On-Premise Connector Hosts (OPCH) dans Tulip. Le Connector Host est un service utilisé pour faciliter les connexions de Tulip aux services web externes, aux bases de données et aux serveurs OPC UA. Toutes les instances de Tulip ont un Cloud Connector Host par défaut.
Il y a plusieurs considérations à prendre en compte pour déterminer si un Connector Host sur site est le bon choix d'architecture.
Considérations clés pour un Connector Host sur site
Les considérations pour un Connector Host sur site peuvent être divisées en quelques catégories :
1. Mise en réseau2. Gestion de l'infrastructure3. Performances
Mise en réseau
La raison la plus commune pour déployer un Connecteur sur site est pour les avantages qu'il offre lors de la connexion à des systèmes hébergés au sein d'un réseau local. Avec l'offre sur site, toutes les connexions de Tulip à des systèmes externes commencent à l'intérieur de votre réseau local. Toutes les connexions de votre réseau sont envoyées à Tulip via un WebSocket sécurisé.
Ceci contraste avec les Cloud Connector Hosts, qui requièrent un accès entrant aux services. C'est typiquement une décision informatique d'autoriser les connexions WebSocket sécurisées entrantes depuis le nuage de Tulip vers le service, souvent en utilisant des règles de transfert de port sur le routeur/pare-feu WAN.
Gestion de l'infrastructure
Pour déployer un On-Premise Connector Host, il y a plusieurs composants d'infrastructure dont le client est responsable. Vous trouverez ci-dessous une matrice de base des rôles et des responsabilités :
Tulipe | Client | |
---|---|---|
Fournir des ressources techniques sur l'OPCH | X | |
Hébergement et déploiement de machines virtuelles | X | |
Surveillance et mises à jour de la machine virtuelle | X | |
Génération d'informations d'identification OPCH | X | |
Test de l'OPCH | X | |
Déploiement de l'OPCH | X | |
Mise à jour de l'OPCH | X | |
Suivi de l'OPCH | X | |
Dépannage de l'OPCH | X | X |
Idéalement, le client sera à l'aise avec les technologies qu'il utilise pour déployer le Connector Host, ainsi qu'avec des technologies telles que Docker pour la gestion des conteneurs.
Déploiement d'un Connector Host sur site
Normes techniques
The amount of resources needed to run OPCH will increase as its usage increases. If you consistently use it beyond 250Hz of throughput, we strongly advise allocating more resources to your virtual machines to ensure optimal performance.
Lorsque la décision est prise de déployer une solution sur site, Tulip recommande un itinéraire en libre-service utilisant une image Docker distribuée. La façon la plus simple d'accomplir cela serait d'utiliser une machine virtuelle avec une distribution de Linux (Ubuntu est préférable).
Tulip recommande également de n'héberger qu'un seul On-Premise Connector Host par machine virtuelle afin d'éviter un point de défaillance unique pour les sites.
Configuration requise pour la machine virtuelle :
- RAM - 4 GB
- ROM - 8-16GB de taille de disque
- CPU - 2 cœurs
- Version de Docker - 20.10+
En ce qui concerne les exigences en matière de réseau, l'hôte du connecteur sur site dispose des éléments suivants :
- Une adresse IP
- Résolution DNS vers
- Un accès sortant sur le port 443 vers Tulip (IPs listées ici)
- Un accès sortant au dépôt Docker ici
- Accès sortant à tous les systèmes externes pertinents avec des ports
Consultez la liste complète des exigences réseau ici
Demande d'informations d'identification
Contactez le support Tulip(support@tulip.co) pour demander les informations d'identification de l'hôte du connecteur sur site en utilisant le modèle suivant, en remplissant tous les détails entre parenthèses.. :
``Bonjour,
Ceci est une demande de création d'un nouvel hôte du connecteur sur site.
Instance Tulip :
Tulip créera et partagera les informations d'identification par le biais d'un lien de mot de passe temporaire et sécurisé. Les détails doivent être transférés vers un stockage d'informations d'identification géré en interne et inclure les éléments suivants :
- Usine
- UUID
- Secret de la machine
On-Premise Connector Host credentials should not be used to create more than one Connector Host - this would result in connectivity problems for all hosts sharing credentials.
Versions disponibles de l'hôte du connecteur sur site (balises)
OPCH must be kept up-to-date with the Tulip product. More information.
Tulip utilise les tags d'image Docker pour versionner les images de Connector Host. Ci-dessous se trouve une liste de tags On-Premise Connector Host activement supportés qui peuvent être utilisés en conjonction avec les commandes Docker run
et pull.
Version LTS | Version bihebdomadaire | Tag OPCH le plus récent |
---|---|---|
LTS11 | r262 - r274 | lts11.7 |
LTS12 | r275-r287 | lts12.10 |
LTS13 | r288-r307 | lts13.4 |
LTS14 | r308+ | lts14 |
Déploiement
La section suivante explique comment déployer un hôte de connecteur sur site dans divers environnements. AWS et Azure proposent tous deux des services de conteneurs capables d'exécuter l'image Docker.
-
AWS :
- Utilisez l'interface Web et ce jeu d'instructions : https://aws.amazon.com/getting-started/hands-on/deploy-docker-containers/
Prior to LTS12, the environment variables CONNECTORS_HTTPS_PROXY and CONNECTORS_HTTP_PROXY must be replaced with HTTPS_PROXY and HTTP_PROXY, respectively
- Azure :
az container create \N -g <NAME OF THE RESOURCE GROUP IN AZURE> \N --name <NAME FOR THE CONTAINER> \N --cpu 2 \N --memory 3 \N --restart-policy Always \N --image bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:<TAG> \N-e TULIP_UUID='<UUID>' \N-TULIP_FACTORY='https://<Votre SITE>.tulip.co' \N-TULIP_MACHINE_SECRET='<SECRET>' \N-TULIP_DEVICE_TYPE='onprem' \N- CONNECTORS_HTTP_PROXY='' \N- CONNECTORS_HTTPS_PROXY=''
- VM Linux : :::(Warning) (Pre-LTS12 OPCH)
Prior to LTS12, the environment variables CONNECTORS_HTTPS_PROXY and CONNECTORS_HTTP_PROXY must be replaced with HTTPS_PROXY and HTTP_PROXY, respectively
:::
docker run -d \N
Mise à jour d'un hôte de connecteur sur site
OPCH must be kept up-to-date with the Tulip product. More information.
Tulip recommends proactively confirming the upgrade by successfully running a test OPCH connection to the development environment and/or developement instance. Once this verification is complete, the production environment can be confidently upgraded. Details on how can be found below.
Tulip publie des mises à jour pour le Connector Host sur site conformément à notre calendrier de mise à jour du support à long terme (LTS). Pour mettre à jour le service, suivez les instructions ci-dessous :
Le processus de mise à niveau d'un OPCH entraînera un temps d'arrêt pendant que le pod est arrêté et recréé.
- Obtenez la dernière version de l'image Docker On-Premise Connector Host.
docker pull bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:<TAG>2
. Exécutez la commande ci-dessous pour obtenir l'ID du conteneur Docker.
docker ps3
. Si vous avez accès à TULIP_FACTORY
, TULIP_UUID
et TULIP_MACHINE_SECRET
, passez à l'étape 4. Sinon, exécutez la commande suivante et stockez la sortie de cette commande dans un emplacement sécurisé.
docker exec <container-id> env4
. Arrêtez le conteneur Docker existant.
docker stop <container-id> 5
. Supprimer le conteneur Docker existant.
docker rm <container-id>6
. Exécutez la commande Docker run
standard en utilisant l'ensemble des informations d'identification stockées.
Prior to LTS12, the environment variables CONNECTORS_HTTPS_PROXY and CONNECTORS_HTTP_PROXY must be replaced with HTTPS_PROXY and HTTP_PROXY, respectively
docker run -d \N --name tulip-connector-host \N -e TULIP_FACTORY='https://<FACTORY>.tulip.co' \N-e TULIP_UUID='<UUID>' \N-e TULIP_MACHINE_SECRET='<SECRET>' \N-e TULIP_DEVICE_TYPE='onprem' \N-e CONNECTORS_HTTP_PROXY='' \e CONNECTEURS_HTTPS_PROXY='' \e -e CONNECTEURS_HTTPS_PROXY='' \e -e EXIT_ON_DISCONNECT=true \e --restart=always \e --net=host \e --mount type=volume,source=tuliplog,target=/log \e bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connecteur-hôte:<TAG>
- Confirmez que le nouveau conteneur Docker est actif.
docker ps
Utiliser les environnements des connecteurs pour tester votre mise à jour
Chaque connecteur a trois environnements différents (production, pré-production et développement) et chacun de ces environnements peut avoir son propre hôte de connecteur et ils peuvent être de versions différentes.Selon l'état de l'application (version de développement, en attente d'approbation, publiée) un environnement différent peut être utilisé.Le processus prévu pour faire la validation de l'hôte de connecteur devrait être:1. Mettez à niveau votre OPCH de développement2. Mettez à niveau votre hôte de connecteur de validation (l'environnement de pré-production pointe ici vers dev) 1. Testez votre connecteur dans la page des connecteurs ou dans le mode de développement de votre application3. Lorsque les tests de validation sont terminés, mettez à niveau l'hôte du connecteur de production.
Pour plus d'informations, voir Comment exécuter une fonction de connecteur dans plusieurs environnements.
Vous pouvez également mettre à jour votre OPCH sur votre instance de développement, puis mettre à jour en toute confiance l'environnement de production.
Références supplémentaires
Activation des rotations de journaux pour Docker
Pour les hôtes On-Premise Connector existants qui n'utilisent pas les rotations de journaux Docker, suivez les instructions documentées ici pour vous assurer que l'espace disque est correctement maintenu.
Vous avez trouvé ce que vous cherchiez ?
Vous pouvez également vous rendre sur community.tulip.co pour poser votre question ou voir si d'autres personnes ont rencontré une question similaire !