Les applications externes utilisent cette fonction pour communiquer avec le cluster, mais pas directement avec les nœuds. Ces paramètres autorisent l’accès interne à un routeur ou à une autre entité en réseau qui fournit des interfaces au nom du cluster.
Lors de la configuration d’adresses alternatives, nous pouvons également configurer des numéros de port alternatifs. Le meilleur exemple de configuration d’adresse alternative est celui des adresses IP publiques et privées d’AWS. Chaque nœud a une IP privée et un DNS, mais ils peuvent également attribuer une IP publique et un enregistrement DNS. Ces IP publiques peuvent être attribuées de manière statique ou dynamique.
Les clients se connectent ensuite à l’hôte public et aux ports comme indiqué dans la section d’adresse externe dans les informations nodeServices sous le point de terminaison pools/default/nodesServices Rest.
Instance Couchbase de transfert de port sur AWS
Une étape importante lors de la configuration d’adresses alternatives est la redirection de port. Lorsque des adresses alternatives sont fournies, le mappage de l’hôte et du port externes vers les ports internes doit être effectué par un administrateur réseau. Le client peut alors utiliser l’adresse et le port externes pour se connecter au service.
Une fois dans le réseau (un utilisateur se connecte à une adresse externe, interne au déploiement où le mappage de port a lieu), le port externe sera mappé sur le port interne pour accéder au service sur la base d’une autorisation. Cela peut être fait sur AWS en suivant les étapes décrites ici.
Selon ce qui est accessible en dehors du pare-feu (accès au niveau du port), le client peut envoyer des requêtes à ce service. Une fois que d’autres adresses et ports externes sont fournis, le service Couchbase ns_server met à jour les points de terminaison REST :
- piscines/par défaut
- pools/nœuds
- pools/default/buckets, pools/default/buckets/
, pools/default/buckets/ /nodes - pools/default/b/
, pools/default/bs/ - poolsStreaming/par défaut
- pools/default/bucketsStreaming/
- pools/default/nodesServices, pools/default/nodesServicesStreaming
En interne, les services Couchbase n’ont pas besoin de redémarrer sur de nouveaux ports et seul le client doit autoriser les connexions à un hôte/port particulier en fonction des informations disponibles dans la propriété nodeServices sous l’attribut externe.
Le point de terminaison REST nodeServices affiche le mappage des hôtes et des ports :
"alternateAddresses": {
"external": {
"hostname": "ec2-3-140-253-252.us-east-2.compute.amazonaws.com",
"ports": {
"mgmt": 8891,
"mgmtSSL": 18891,
"n1ql": 9000,
"n1qlSSL": 19000
Étapes de configuration de l’adresse alternative
1 – Configurez le cluster Couchbase et utilisez les appels REST ou la CLI pour configurer des adresses alternatives :
$ curl -v -X PUT -u [admin]:[password] http://[ip-address]:8091/node/controller/setupAlternateAddresses/external [-d hostname=<alternate-address> ] [-d <service-name>=<alternate-port-number> ] |
OU
$ couchbase-cli setting-alternate-address [–cluster <url>] [–username <user>] [–password <password>] [–list] [–set] [–remove] [–hostname <host>] [–ports <ports>] |
Dans l’exemple ci-dessous, l’adresse externe devient cluster.com pour le nœud interne 172.23.104.92. Il définit également le nouveau port externe N1QL sur 9000.
$ couchbase-cli setting-alternate-address -c 172.23.104.92 -u Administrator -p password –hostname cluster.com –set –node 172.23.104.92 –ports n1ql=9000,n1qlSSL=19000 |
2 – Modifiez /etc/hosts pour contenir l’accès à cluster.com.
3 – Pour la redirection de port sur une machine virtuelle, nous pouvons utiliser la commande suivante pour le service Query s’exécutant sur le port 8093.
$ iptables -A PREROUTING -t nat -i eth0 -p tcp –dport 9000 -j REDIRECT –to-port 8093 |
Répertoriez ensuite les paramètres de transfert actuels pour confirmer :
$ iptables -L -n -t nat Chaîne PREROUTING (politique ACCEPTER) cible prot opt source destination REDIRECTION TCP — 0.0.0.0/0 0.0.0.0/0 TCP dpt:9000 redir ports 8093 |
Répertoriez les paramètres d’adresse alternative :
$ /opt/couchbase/bin/couchbase-cli setting-alternate-address -c 172.23.104.92 -u Administrator -p password –list Hostname Adresse alternative | Ports (Principaux/Alternatifs) | capi | capiSSL | pieds | ftsGRPC | ftsGRPCSSL | ftsSSL | indexAdmin | indexHttp | indexHttps | indexScan | indexStreamCatchup | indexStreamInit | indexStreamMaint | kv | kvSSL | gestion | mgmtSSL | n1ql | n1qlSSL | projecteur 172.23.104.92 – cluster.com | 8092/8092 | 18092/180928094/8094 | 9130/9130 | 19130/1913018094/180949100/9100 | 9102/9102 | 19102/191029101/9101 | 9104/9104 | 9103/9103 | 9105/9105 | 11210/1121011207/112078091/8091 | 18091/180918093/8093 | 18093/180939999/9999 |
Afin d’utiliser l’outil de requête cbq pour accéder à d’autres adresses, utilisez l’option de configuration réseau ou nfcg et définissez-la sur externe. Cela nous permet d’exécuter des requêtes :
$ ./cbq -u Administrateur -p mot de passe -e ec2-***.us-east-2.compute.amazonaws.com:9000 -ncfg externe Connecté à : http://ec2-***.us-east-2.compute.amazonaws.com:9000/. Tapez Ctrl-D ou QUIT pour quitter. Chemin d’accès au fichier d’historique pour le shell : /root/.cbq_history cbq> |
Reportez-vous à la documentation Couchbase ici pour plus d’informations sur l’utilisation des clusters, des réseaux et des adresses alternatives.