AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Comment exécuter l'agent CodeDeploy avec un profil utilisateur qui n'est pas le profil racine ?
Je souhaite exécuter l'agent AWS CodeDeploy avec un profil utilisateur qui n'est pas le profil racine.
Résolution
La résolution suivante est compatible avec toutes les distributions RPM et Linux basées sur Debian prises en charge de l'agent CodeDeploy. Pour lancer une instance Amazon Elastic Compute Cloud (Amazon EC2) avec une Amazon Machine Image (AMI) Amazon Linux, vous devez utiliser Amazon Linux 2023 (AL2023) ou Amazon Linux 2 (AL2).
Prérequis : Installez l'agent CodeDeploy sur votre instance EC2 ou vérifiez que l'agent CodeDeploy s'exécute sur l'instance.
Modifier l'utilisateur dans le fichier de configuration de votre agent CodeDeploy et lui accorder les autorisations requises
Procédez comme suit :
-
Utilisez le protocole SSH pour vous connecter à l’instance EC2.
-
Pour arrêter l'agent hôte CodeDeploy installé sur l'instance, exécutez la commande suivante :
sudo service codedeploy-agent stop -
Pour modifier l'utilisateur dans le fichier de configuration de l'agent CodeDeploy, exécutez la commande sed suivante de l’éditeur de flux :
sudo sed -i 's/""/"ec2-user"/g' /etc/init.d/codedeploy-agentRemarque : Remplacez ec2-user par le nom d'utilisateur sur lequel vous souhaitez que l'agent hôte CodeDeploy s'exécute. Pour plus d'informations sur la commande sed, consultez la page Introduction sur le site Web de GNU.
-
Pour recharger la configuration de systemd, exécutez les commandes suivantes :
sudo sed -i 's/#User=codedeploy/User=ec2-user/g' /usr/lib/systemd/system/codedeploy-agent.service sudo systemctl daemon-reload -
Pour accorder au nouvel utilisateur des autorisations d'accès aux répertoires requis, exécutez les commandes suivantes :
sudo chown ec2-user:ec2-user -R /opt/codedeploy-agent/ sudo chown ec2-user:ec2-user -R /var/log/aws/Remarque : Remplacez ec2-user par le nom d'utilisateur sur lequel vous souhaitez que l'agent hôte CodeDeploy s'exécute.
-
Pour redémarrer l'agent CodeDeploy, exécutez la commande suivante :
sudo service codedeploy-agent start -
Pour vérifier que votre fichier de configuration est mis à jour, exécutez la commande suivante :
sudo service codedeploy-agent statusExemple de sortie :
The AWS CodeDeploy agent is running as PID #### -
Pour vérifier quels processus sont exécutés et l’utilisateur qui les lance, exécutez la commande suivante :
ps aux | grep codedeploy-agent
Créer un modèle de configuration de lancement et un groupe AWS Auto Scaling pour automatiser le processus de changement d'utilisateur
Procédez comme suit :
-
Ouvrez la console Amazon EC2.
-
Dans le volet de navigation, choisissez Lancer les configurations.
-
Choisissez Créer une configuration de lancement.
-
Sélectionnez l'AMI Amazon Linux.
-
Sélectionnez Étape suivante : Configurer les détails.
-
Dans Rôle IAM, choisissez un rôle AWS Identity and Access Management (IAM) préconfiguré. Le rôle doit accorder à votre instance l'autorisation d'accéder aux ressources Amazon Simple Storage Service (Amazon S3).
-
Choisissez Détails avancés.
-
Dans la section Données utilisateur du fichier de configuration de l'agent, entrez les commandes pour installer l'agent CodeDeploy. Puis, mettez à jour le fichier pour utiliser un utilisateur spécifique.
Pour IMDSv1, utilisez le script suivant :#!/bin/bash REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') yum -y update yum install ruby wget -y cd /home/ec2-user wget https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install chmod +x ./install ./install auto service codedeploy-agent stop #adduser username <--- this is only required if you use a username that does not already exist sed -i 's/""/"ec2-user"/g' /etc/init.d/codedeploy-agent sed -i 's/#User=codedeploy/User=ec2-user/g' /usr/lib/systemd/system/codedeploy-agent.service systemctl daemon-reload chown ec2-user:ec2-user -R /opt/codedeploy-agent/ chown ec2-user:ec2-user -R /var/log/aws/ service codedeploy-agent startPour IMDSv2, utilisez le script suivant :
#!/bin/bash TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` REGION=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') yum -y update yum install ruby wget -y cd /home/ec2-user wget https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install chmod +x ./install ./install auto service codedeploy-agent stop #adduser username <--- this is only required if you use a username that does not already exist sed -i 's/""/"ec2-user"/g' /etc/init.d/codedeploy-agent sed -i 's/#User=codedeploy/User=ec2-user/g' /usr/lib/systemd/system/codedeploy-agent.service systemctl daemon-reload chown ec2-user:ec2-user -R /opt/codedeploy-agent/ chown ec2-user:ec2-user -R /var/log/aws/ service codedeploy-agent startRemarque : Remplacez ec2-user par le nom d'utilisateur sur lequel vous souhaitez que l'agent hôte CodeDeploy s'exécute. L'exemple de code précédent s'exécute automatiquement lorsque vous lancez une nouvelle instance qui utilise la configuration de lancement définie.
-
Effectuez les étapes restantes de l'assistant de lancement. Puis, choisissez Créer une configuration de lancement.
-
Choisissez Créer un groupe AWS Auto Scaling à l'aide de cette configuration de lancement.
-
Dans Nom du groupe, entrez le nom de votre groupe Auto Scaling.
-
Dans Sous-réseau, entrez un sous-réseau qui permet à votre instance d'accéder à Internet.
-
Sélectionnez Étape suivante : Configurer les politiques de mise à l’échelle, puis choisissez-en une.
-
Suivez les autres étapes de l'assistant de lancement, puis choisissez Créer un groupe AWS Auto Scaling.
Vérifier que l'agent CodeDeploy est installé et s'exécute avec le bon utilisateur sur une nouvelle instance
Tout d'abord, vérifiez que votre instance est en cours d'exécution. Puis, procédez comme ceci :
- Utilisez le protocole SSH pour vous connecter à l’instance.
- Pour vérifier que l'agent CodeDeploy est exécuté sur l'instance, exécutez la commande suivante :
Si la commande renvoie une erreur, cela signifie que vous n'avez pas installé l'agent CodeDeploy. Installez l'agent CodeDeploy.sudo service codedeploy-agent status - Pour vérifier que l'agent CodeDeploy s'exécute avec le nom d'utilisateur approprié, exécutez la commande suivante :
Exemple de sortie :ps aux | grep codedeploy-agentThe AWS CodeDeploy agent is running as PID ####
- Sujets
- Developer Tools
- Balises
- AWS CodeDeploy
- Langue
- Français
Vidéos associées


Contenus pertinents
- demandé il y a 2 ans
- demandé il y a 2 ans
AWS OFFICIELA mis à jour il y a 3 mois
AWS OFFICIELA mis à jour il y a un an
AWS OFFICIELA mis à jour il y a 2 ans