4.7. Création et configuration d'une instance GCP de base
Effectuez les étapes suivantes pour créer et configurer une instance GCP conforme aux exigences de fonctionnement et de sécurité de GCP.
Procédure
Créer une image à partir du fichier compressé dans le seau.
$ gcloud compute images create BaseImageName --source-uri gs://BucketName/BaseImageName.tar.gz
Exemple :
[admin@localhost ~] $ gcloud compute images create rhel-76-server --source-uri gs://user-rhelha/rhel-server-76.tar.gz Created [https://www.googleapis.com/compute/v1/projects/MyProject/global/images/rhel-server-76]. NAME PROJECT FAMILY DEPRECATED STATUS rhel-76-server rhel-ha-testing-on-gcp READY
Créez une instance modèle à partir de l'image. La taille minimale requise pour une instance RHEL de base est n1-standard-2. Voir gcloud compute instances create pour des options de configuration supplémentaires.
$ gcloud compute instances create BaseInstanceName --can-ip-forward --machine-type n1-standard-2 --image BaseImageName --service-account ServiceAccountEmail
Exemple :
[admin@localhost ~] $ gcloud compute instances create rhel-76-server-base-instance --can-ip-forward --machine-type n1-standard-2 --image rhel-76-server --service-account account@project-name-on-gcp.iam.gserviceaccount.com Created [https://www.googleapis.com/compute/v1/projects/rhel-ha-testing-on-gcp/zones/us-east1-b/instances/rhel-76-server-base-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS rhel-76-server-base-instance us-east1-bn1-standard-2 10.10.10.3 192.227.54.211 RUNNING
Connectez-vous à l'instance avec une session de terminal SSH.
$ ssh root@PublicIPaddress
Mettre à jour le logiciel RHEL.
- Enregistrez-vous auprès du gestionnaire d'abonnements Red Hat (RHSM).
-
Activer un ID de pool d'abonnement (ou utiliser la commande
--auto-attach
). Désactiver tous les dépôts.
# subscription-manager repos --disable=*
Activer le dépôt suivant.
# subscription-manager repos --enable=rhel-9-server-rpms
Exécutez la commande
dnf update
.# dnf update -y
Installer l'environnement invité GCP Linux sur l'instance en cours d'exécution (installation sur place).
Voir la section Installer l'environnement de l'invité sur place pour obtenir des instructions.
- Sélectionnez l'option CentOS/RHEL.
- Copiez le script de commande et collez-le à l'invite de commande pour l'exécuter immédiatement.
Apportez les modifications de configuration suivantes à l'instance. Ces modifications sont basées sur les recommandations de GCP pour les images personnalisées. Voir la liste des images gcloudcompute pour plus d'informations.
-
Modifiez le fichier
/etc/chrony.conf
et supprimez tous les serveurs NTP. Ajouter le serveur NTP suivant.
metadata.google.internal iburst Serveur NTP de Google
Supprimez toutes les règles persistantes relatives aux périphériques réseau.
# rm -f /etc/udev/rules.d/70-persistent-net.rules # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules
Configurer le service réseau pour qu'il démarre automatiquement.
# chkconfig network on
Réglez le démarrage automatique du site
sshd service
.# systemctl enable sshd # systemctl is-enabled sshd
Régler le fuseau horaire sur UTC.
# ln -sf /usr/share/zoneinfo/UTC /etc/localtime
(Facultatif) Modifiez le fichier
/etc/ssh/ssh_config
et ajoutez les lignes suivantes à la fin du fichier. Cela permet de maintenir votre session SSH active pendant de longues périodes d'inactivité.# Server times out connections after several minutes of inactivity. # Keep alive ssh connections by sending a packet every 7 minutes. ServerAliveInterval 420
Modifiez le fichier
/etc/ssh/sshd_config
et effectuez les changements suivants, si nécessaire. Le paramètre ClientAliveInterval 420 est facultatif ; il permet de maintenir votre session SSH active pendant de longues périodes d'inactivité.PermitRootLogin no PasswordAuthentication no AllowTcpForwarding yes X11Forwarding no PermitTunnel no # Compute times out connections after 10 minutes of inactivity. # Keep ssh connections alive by sending a packet every 7 minutes. ClientAliveInterval 420
-
Modifiez le fichier
Désactiver l'accès par mot de passe.
ssh_pwauth from 1 to 0. ssh_pwauth: 0
ImportantAuparavant, vous avez activé l'accès par mot de passe pour permettre l'accès à la session SSH afin de configurer l'instance. Vous devez désactiver l'accès par mot de passe. Tous les accès aux sessions SSH doivent se faire sans mot de passe.
Désinscrire l'instance du gestionnaire d'abonnement.
# subscription-manager unregister
Nettoyez l'historique du shell. Laissez l'instance fonctionner pour la procédure suivante.
# export HISTSIZE=0