Matériel requis
Vous devez disposer de la configuration matérielle minimale requise suivante pour bénéficier d'une infrastructure à disponibilité élevée dans un environnement de production.
La vidéo suivante fournit des conseils généraux sur le dimensionnement de votre installation:
Pour tous les scénarios d'installation décrits dans la section Topologies d'installation, les tableaux suivants indiquent la configuration matérielle minimale requise pour les composants d'installation.
Dans ces tableaux, les exigences en termes de disque dur s'ajoutent à l'espace disque dur requis par le système d'exploitation. Selon vos applications et le trafic réseau, votre installation peut nécessiter plus ou moins de ressources que celles indiquées ci-dessous.
Composant d'installation | Mémoire RAM | Processeur | Disque dur minimal |
---|---|---|---|
Cassandra | 16 Go | 8 cœurs | 250 Go de stockage local avec SSD permettant de gérer 2 000 IOPS |
Processeur de messages/routeur sur la même machine | 16 Go | 8 cœurs | 100 Go |
Processeur de messages (autonome) | 16 Go | 8 cœurs | 100 Go |
Routeur (autonome) | 16 Go | 8 cœurs | 100 Go |
Analyse - Postgres/Qpid sur le même serveur | 16 Go* | 8 cœurs* | 500 Go à 1 To** d'espace de stockage réseau***, de préférence avec un backend SSD, acceptant 1 000 IOPS ou plus* |
Analyse – Postgres maître ou de secours (autonome) | 16 Go* | 8 cœurs* | 500 Go à 1 To** d'espace de stockage réseau***, de préférence avec un backend SSD, acceptant 1 000 IOPS ou plus* |
Analytics - Qpid autonome | 8 Go | 4 cœurs | Entre 30 Go et 50 Go de stockage local avec SSD
La taille de la file d'attente Qpid par défaut est de 1 Go, qui peut être augmentée jusqu'à 2 Go. Si vous avez besoin d'augmenter la capacité, ajoutez des nœuds Qpid supplémentaires. |
OpenLDAP/UI/Management Server (Serveur de gestion) | 8 Go | 4 cœurs | 60 Go |
Serveur d'interface utilisateur/de gestion | 4GB | 2 cœurs | 60 Go |
OpenLDAP (autonome) | 4GB | 2 cœurs | 60 Go |
* Ajustement de la configuration système requise pour Postgres en fonction du débit:
** La valeur du disque dur Postgres est basée sur les analyses prêtes à l'emploi capturées par Edge. Si vous ajoutez des valeurs personnalisées aux données d'analyse, ces valeurs doivent être augmentées en conséquence. Estimez l'espace de stockage nécessaire à l'aide de la formule suivante:
Exemple :
*** Le stockage réseau est recommandé pour la base de données Postgresql, car:
|
De plus, vous trouverez ci-dessous la configuration matérielle requise si vous souhaitez installer les services de monétisation (non compatibles avec l'installation tout-en-un):
Composant avec monétisation | Mémoire RAM | Processeur | Disque dur |
---|---|---|---|
Serveur de gestion (avec services de monétisation) | 8 Go | 4 cœurs | 60 Go |
Analyse - Postgres/Qpid sur le même serveur | 16 Go | 8 cœurs | Entre 500 Go et 1 To d'espace de stockage réseau, de préférence avec un backend SSD, acceptant au moins 1 000 IOPS, ou utilisez la règle indiquée dans le tableau ci-dessus. |
Analyse - Postgres maître ou de secours autonome | 16 Go | 8 cœurs | Entre 500 Go et 1 To d'espace de stockage réseau, de préférence avec un backend SSD, acceptant au moins 1 000 IOPS, ou utilisez la règle indiquée dans le tableau ci-dessus. |
Analytics - Qpid autonome | 16 Go | 8 cœurs | Entre 40 et 500 Go de stockage local avec SSD ou HDD rapide
Pour les installations de plus de 250 tâches par seconde, il est recommandé d'utiliser un stockage HDD avec un stockage local compatible avec 1 000 IOPS. |
Configuration requise concernant le système d'exploitation et les logiciels tiers
Ces instructions d'installation et les fichiers d'installation fournis ont été testés sur les systèmes d'exploitation et les logiciels tiers répertoriés sur la page Logiciels et versions compatibles.
Java
Une version compatible de Java 1.8 doit être installée sur chaque machine avant l'installation. Les JDK compatibles sont répertoriés dans la section Logiciels et versions compatibles.
Assurez-vous que la variable d'environnement JAVA_HOME
pointe vers la racine du JDK pour l'utilisateur qui effectue l'installation.
SELinux
En fonction des paramètres que vous avez définis pour SELinux, Edge peut rencontrer des problèmes lors de l'installation et du démarrage des composants Edge. Si nécessaire, vous pouvez désactiver SELinux ou le définir en mode permissif lors de l'installation, puis le réactiver après l'installation. Pour plus d'informations, reportez-vous à la section Installer l'utilitaire de configuration d'Apigee Edge.
Créer l'utilisateur "apigee"
La procédure d'installation crée un utilisateur du système Unix nommé "apigee". Les répertoires et fichiers Edge appartiennent à "apigee", tout comme les processus Edge. Cela signifie que les composants Edge s'exécutent en tant qu'utilisateur "apigee". Si nécessaire, vous pouvez exécuter les composants sous un autre nom d'utilisateur.
Répertoire d'installation
Par défaut, le programme d'installation écrit tous les fichiers dans le répertoire /opt/apigee
. Vous ne pouvez pas modifier l'emplacement de ce répertoire. Bien que vous ne puissiez pas modifier ce répertoire, vous pouvez créer un lien symbolique pour mapper /opt/apigee
vers un autre emplacement, comme décrit dans la section Créer un lien symbolique à partir de /opt/apigee.
Dans les instructions de ce guide, le répertoire d'installation est indiqué sous la forme /opt/apigee
.
Créer un lien symbolique à partir de /opt/apigee
Avant de créer le lien symbolique, vous devez d'abord créer un utilisateur et un groupe nommés "apigee". Il s'agit du même groupe et du même utilisateur créés par le programme d'installation Edge.
Pour créer le lien symbolique, procédez comme suit avant de télécharger le fichier bootstrap_4.51.00.sh. Vous devez effectuer toutes ces étapes en mode root:
- Créez l'utilisateur et le groupe "apigee" :
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- Créez un lien symbolique depuis
/opt/apigee
vers la racine d'installation souhaitée :ln -Ts /srv/myInstallDir /opt/apigee
Où /srv/myInstallDir est l'emplacement souhaité des fichiers Edge.
- Changez la propriété de la racine d'installation et du lien symbolique par l'utilisateur "apigee" :
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
Paramètres des réseaux
Apigee vous recommande de vérifier le paramètre réseau avant l'installation. Le programme d'installation s'attend à ce que toutes les machines aient une adresse IP fixe. Utilisez les commandes suivantes pour valider le paramètre:
hostname
renvoie le nom de la machine.hostname -i
renvoie l'adresse IP du nom d'hôte qui peut être adressée à partir d'autres machines.
Selon le type et la version de votre système d'exploitation, vous devrez peut-être modifier /etc/hosts
et /etc/sysconfig/network
si le nom d'hôte n'est pas défini correctement. Pour plus d'informations, consultez la documentation de votre système d'exploitation.
Si un serveur comporte plusieurs cartes d'interface, la commande "hostname -i" renvoie une liste d'adresses IP séparées par des espaces. Par défaut, le programme d'installation Edge utilise la première adresse IP renvoyée, ce qui peut ne pas être correct dans tous les cas. Vous pouvez également définir la propriété suivante dans le fichier de configuration d'installation:
ENABLE_DYNAMIC_HOSTIP=y
Lorsque cette propriété est définie sur "y", le programme d'installation vous invite à sélectionner l'adresse IP à utiliser lors de l'installation. La valeur par défaut est "n". Pour en savoir plus, consultez la documentation de référence sur les fichiers de configuration Edge.
Wrappers TCP
Les wrappers TCP peuvent bloquer la communication de certains ports et affecter l'installation d'OpenLDAP, de Postgres et de Cassandra. Sur ces nœuds, vérifiez /etc/hosts.allow
et /etc/hosts.deny
pour vous assurer qu'il n'existe aucune restriction de port sur les ports OpenLDAP, Postgres et Cassandra requis.
iptables
Vérifiez qu'aucune règle iptables n'empêche la connectivité entre les nœuds sur les ports périphériques requis. Si nécessaire, vous pouvez arrêter iptables lors de l'installation à l'aide de la commande suivante:
sudo/etc/init.d/iptables stop
Sur CentOS 7.x:
systemctl stop firewalld
Accès à l'annuaire
Le tableau suivant répertorie les répertoires sur les nœuds périphériques qui ont des exigences spéciales par rapport aux processus Edge:
Service | Annuaire | Description |
---|---|---|
Routeur | /etc/rc.d/init.d/functions |
Le routeur Edge utilise le routeur NGINX et nécessite un accès en lecture à Si votre processus de sécurité nécessite que vous définissiez des autorisations sur Vous pouvez définir les autorisations sur 744 pour accorder l'accès en lecture à |
ZooKeeper | /dev/random |
La bibliothèque cliente ZooKeeper nécessite un accès en lecture au générateur de nombres aléatoires /dev/random . Si /dev/random est bloqué en lecture, le service Zookeeper risque de ne pas démarrer. |
Cassandra
Tous les nœuds Cassandra doivent être connectés à un anneau. Cassandra stocke les instances répliquées de données sur plusieurs nœuds pour garantir la fiabilité et la tolérance aux pannes. La stratégie de réplication de chaque espace de clés Edge détermine les nœuds Cassandra où sont placées les instances répliquées. Pour en savoir plus, consultez la section À propos du facteur de réplication et du niveau de cohérence de Cassandra.
Cassandra ajuste automatiquement la taille du tas de mémoire Java en fonction de la mémoire disponible. Pour en savoir plus, consultez la section Régler les ressources Java en cas de dégradation des performances ou de consommation de mémoire élevée.
Après avoir installé Edge for Private Cloud, vous pouvez vérifier que Cassandra est correctement configuré en examinant le fichier /opt/apigee/apigee-cassandra/conf/cassandra.yaml
. Par exemple, assurez-vous que le script d'installation Edge for Private Cloud définit les propriétés suivantes:
cluster_name
initial_token
partitioner
seeds
listen_address
rpc_address
snitch
Base de données PostgreSQL
Après avoir installé Edge, vous pouvez ajuster les paramètres de base de données PostgreSQL suivants en fonction de la quantité de RAM disponible sur votre système:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
Pour définir ces valeurs:
- Modifiez le fichier postgresql.properties :
vi /opt/apigee/customer/application/postgresql.properties
Si le fichier n'existe pas, créez-le.
- Définissez les propriétés indiquées ci-dessus.
- Enregistrez les modifications.
- Redémarrez la base de données PostgreSQL :
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Limites du système
Assurez-vous d'avoir défini les limites système suivantes sur les nœuds Cassandra et ceux du processeur de messages:
- Sur les nœuds Cassandra, définissez les limites "soft and hard memlock", "nofile" et "address space" (en tant que) pour l'utilisateur de l'installation (par défaut, "apigee") dans
/etc/security/limits.d/90-apigee-edge-limits.conf
, comme indiqué ci-dessous :apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited apigee soft nproc 32768 apigee hard nproc 65536
Pour en savoir plus, consultez la section Paramètres de production recommandés dans la documentation Apache Cassandra.
- Sur les nœuds de processeur de messages, définissez le nombre maximal de descripteurs de fichiers ouverts sur 64 000 dans
/etc/security/limits.d/90-apigee-edge-limits.conf
, comme indiqué ci-dessous :apigee soft nofile 32768 apigee hard nofile 65536
Si nécessaire, vous pouvez augmenter cette limite. (par exemple, si un grand nombre de fichiers temporaires sont ouverts simultanément).
Si l'erreur suivante s'affiche dans un routeur ou un processeur de messages
system.log
, les limites du descripteur de fichier sont peut-être trop basses:"java.io.IOException: Too many open files"
Vous pouvez vérifier vos limites d'utilisateurs en exécutant la commande suivante:
# su - apigee $ ulimit -n 100000
Si vous atteignez toujours le nombre maximal de fichiers ouverts après avoir défini les limites du descripteur de fichier sur
100000
, ouvrez une demande d'assistance auprès de l'assistance Apigee Edge pour poursuivre le dépannage.
Services de sécurité réseau (NSS)
Les services de sécurité réseau (NSS) sont un ensemble de bibliothèques qui permettent de développer des applications clientes et serveur sécurisées. Vous devez vous assurer que vous avez installé NSS v3.19 ou version ultérieure.
Pour vérifier la version dont vous disposez:
yum info nss
Pour mettre à jour NSS:
yum update nss
Pour en savoir plus, consultez cet article de RedHat.
Désactiver la résolution DNS sur IPv6 lors de l'utilisation de NSCD (Name Service Cache Daemon)
Si vous avez installé et activé NSCD (Name Service Cache Daemon), les processeurs de messages effectuent deux résolutions DNS: une pour IPv4 et une pour IPv6. Vous devez désactiver la résolution DNS sur IPv6 lorsque vous utilisez NSCD.
Pour désactiver la résolution DNS sur IPv6:
- Sur chaque nœud de processeur de messages, modifiez
/etc/nscd.conf
. - Définissez la propriété suivante :
enable-cache hosts no
Désactiver IPv6 sur Google Cloud Platform pour RedHat/CentOS 7
Si vous installez Edge sur RedHat 7 ou CentOS 7 sur Google Cloud Platform, vous devez désactiver IPv6 sur tous les nœuds Qpid.
Consultez la documentation RedHat ou CentOS de votre version d'OS pour savoir comment désactiver IPv6. Par exemple, vous pouvez :
- Ouvrez
/etc/hosts
dans un éditeur. - Insérez un caractère "#" dans la colonne 1 des lignes suivantes pour la mettre en commentaire :
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Enregistrez le fichier.
AMI AWS
Si vous installez Edge sur une AMI (Amazon Machine Image) AWS pour Red Hat Enterprise Linux 7.x, vous devez d'abord exécuter la commande suivante:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
Outils
Le programme d'installation utilise les outils UNIX suivants dans la version standard fournie par EL5 ou EL6.
awk |
expr |
libxlsx |
tr/min |
unzip |
basename |
grep |
Lua-socket |
rpm2cpio |
ajouter_utilisateur |
bash |
nom d'hôte |
ls |
sed |
wc |
bc |
id |
net-tools |
sudo |
wget |
curl |
Liibaio |
perl (à partir de procps) |
tar |
Xerces-C |
Cyrus-Salal | libdb4 | pgrep (à partir de procps) | tr | miam |
date |
libdb-cxx |
ps |
uuid |
Chkconfig |
dirname | libibverbes | pwd | Uname | |
echo | librdmacm | python |
ntpdate
Apigee recommande de synchroniser les heures de vos serveurs. S'il n'est pas déjà configuré, l'utilitaire ntpdate
peut remplir cet objectif, qui vérifie si les serveurs sont synchronisés avec l'heure. Vous pouvez utiliser yum install ntp
pour installer l'utilitaire. Ceci est particulièrement utile pour répliquer les configurations OpenLDAP. Notez que vous avez configuré le fuseau horaire du serveur au format UTC.
openldap 2.4
L'installation sur site nécessite OpenLDAP 2.4. Si votre serveur dispose d'une connexion Internet, le script d'installation Edge télécharge et installe OpenLDAP. Si votre serveur ne dispose pas d'une connexion Internet, vous devez vous assurer qu'OpenLDAP est déjà installé avant d'exécuter le script d'installation Edge. Sous RHEL/CentOS, vous pouvez exécuter yum install openldap-clients openldap-servers
pour installer OpenLDAP.
Pour les installations à 13 hôtes et à 12 hôtes avec deux centres de données, la réplication OpenLDAP est nécessaire, car plusieurs nœuds hébergent OpenLDAP.
Pare-feu et hôtes virtuels
Le terme virtual
est généralement surchargé dans le domaine informatique, et il est donc utilisé dans Apigee Edge pour le déploiement de cloud privé et les hôtes virtuels. Pour clarifier les choses, on distingue deux utilisations principales du terme virtual
:
- Machines virtuelles (VM): option facultative, mais certains déploiements utilisent la technologie de VM pour créer des serveurs isolés pour leurs composants Apigee. Les hôtes de VM, tels que les hôtes physiques, peuvent disposer d'interfaces réseau et de pare-feu.
- Hôtes virtuels: points de terminaison Web, semblables à un hôte virtuel Apache.
Un routeur d'une VM peut exposer plusieurs hôtes virtuels (à condition qu'ils diffèrent l'un de l'autre par leur alias d'hôte ou leur port d'interface).
À titre d'exemple de dénomination, un seul serveur physique A
peut exécuter deux VM, nommées "VM1" et "VM2". Supposons que "VM1" expose une interface Ethernet virtuelle, qui est nommée "eth0" à l'intérieur de la VM, et à laquelle la machine de virtualisation ou un serveur DHCP lui attribue l'adresse IP 111.111.111.111
. Supposons ensuite que VM2 expose une interface Ethernet virtuelle également nommée "eth0" et qu'une adresse IP 111.111.111.222
lui soit attribuée.
Un routeur Apigee peut être exécuté sur chacune des deux VM. Les routeurs exposent les points de terminaison de l'hôte virtuel comme dans cet exemple hypothétique:
Le routeur Apigee dans la VM1 expose trois hôtes virtuels sur son interface eth0 (qui possède une adresse IP spécifique), api.mycompany.com:80
, api.mycompany.com:443
et test.mycompany.com:80
.
Le routeur de la VM2 expose api.mycompany.com:80
(même nom et port que ceux exposés par la VM1).
Le système d'exploitation de l'hôte physique peut disposer d'un pare-feu réseau. Le cas échéant, celui-ci doit être configuré pour transmettre le trafic TCP lié aux ports exposés sur les interfaces virtualisées (111.111.111.111:{80, 443}
et 111.111.111.222:80
). De plus, le système d'exploitation de chaque VM peut fournir son propre pare-feu sur son interface eth0, qui doit également autoriser les ports 80 et 443 à se connecter.
Le chemin d'accès de base est le troisième composant impliqué dans le routage des appels d'API vers différents proxys d'API que vous avez pu déployer. Les groupes de proxys d'API peuvent partager un point de terminaison s'ils ont des chemins de base différents. Par exemple, un chemin de base peut être défini comme http://api.mycompany.com:80/
et un autre comme http://api.mycompany.com:80/salesdemo
.
Dans ce cas, vous avez besoin d'un équilibreur de charge ou d'un directeur du trafic qui répartit le trafic http://api.mycompany.com:80/ entre les deux adresses IP (111.111.111.111
sur la VM1 et 111.111.111.222
sur la VM2). Cette fonction est spécifique à votre installation et est configurée par votre groupe de mise en réseau local.
Il est défini lorsque vous déployez une API. Dans l'exemple ci-dessus, vous pouvez déployer deux API, mycompany
et testmycompany
, pour l'organisation mycompany-org
avec l'hôte virtuel dont l'alias d'hôte est api.mycompany.com
et le port défini sur 80
. Si vous ne déclarez pas de chemin de base dans le déploiement, le routeur ne sait pas à quelle API envoyer les requêtes entrantes.
Toutefois, si vous déployez l'API testmycompany
avec l'URL de base /salesdemo
, les utilisateurs accèdent à cette API à l'aide de http://api.mycompany.com:80/salesdemo
. Si vous déployez votre API mycompany avec l'URL de base /
, vos utilisateurs accèdent à l'API via l'URL http://api.mycompany.com:80/
.
Licences
Chaque installation d'Edge nécessite un fichier de licence unique que vous obtenez auprès d'Apigee. Vous devrez fournir le chemin d'accès au fichier de licence lors de l'installation du serveur de gestion (par exemple, /tmp/license.txt).
Le programme d'installation copie le fichier de licence dans /opt/apigee/customer/conf/license.txt
.
Si le fichier de licence est valide, le serveur de gestion valide l'expiration et le nombre de processeurs de messages autorisés. Si l'un des paramètres de licence a expiré, vous trouverez les journaux à l'emplacement suivant: /opt/apigee/var/log/edge-management-server/logs
.
Dans ce cas, vous pouvez contacter l'assistance Apigee Edge pour obtenir les détails de la migration.
Si vous ne possédez pas encore de licence, contactez le service commercial Apigee.