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.
Wie führe ich den CodeDeploy-Agent mit einem Benutzerprofil aus, das nicht das Stammprofil ist?
Ich möchte den AWS-CodeDeploy-Agent mit einem Benutzerprofil ausführen, das nicht das Stammprofil ist.
Lösung
Die folgende Lösung ist mit allen unterstützten RPM- und Debian-basierten Linux-Distributionen des CodeDeploy-Agent kompatibel. Um eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance mit einem Amazon Linux Amazon Machine Image (AMI) zu starten, musst du Amazon Linux 2023 (AL2023) oder Amazon Linux 2 (AL2) verwenden.
Voraussetzung: Installiere den CodeDeploy-Agent auf deiner EC2-Instance oder überprüfe, ob der CodeDeploy-Agent auf der Instance ausgeführt wird.
Ändere den Benutzer in deiner CodeDeploy-Agent-Konfigurationsdatei und gewähre dem Benutzer die erforderlichen Berechtigungen
Führe die folgenden Schritte aus:
-
Verwende SSH, um eine Verbindung zu deiner EC2-Instance herzustellen.
-
Um den CodeDeploy-Host-Agent, der auf der Instance installiert ist, zu stoppen, führe den folgenden Befehl aus:
sudo service codedeploy-agent stop -
Um den Benutzer in der Konfigurationsdatei des CodeDeploy-Agent zu ändern, führe den folgenden sed-Stream-Editor-Befehl aus:
sudo sed -i 's/""/"ec2-user"/g' /etc/init.d/codedeploy-agentHinweis: Ersetze ec2-user durch den Benutzernamen, mit dem der CodeDeploy-Host-Agent ausgeführt werden soll. Weitere Informationen über den Befehl sed findest du unter Einführung auf der GNU-Website.
-
Um die systemd-Konfiguration neu zu laden, führe die folgenden Befehle aus:
sudo sed -i 's/#User=codedeploy/User=ec2-user/g' /usr/lib/systemd/system/codedeploy-agent.service sudo systemctl daemon-reload -
Führe die folgenden Befehle aus, um dem neuen Benutzer Berechtigungen für die erforderlichen Verzeichnisse zu erteilen:
sudo chown ec2-user:ec2-user -R /opt/codedeploy-agent/ sudo chown ec2-user:ec2-user -R /var/log/aws/Hinweis: Ersetze ec2-user durch den Benutzernamen, mit dem der CodeDeploy-Host-Agent ausgeführt werden soll.
-
Führe den folgenden Befehl aus, um den CodeDeploy-Agent zu starten:
sudo service codedeploy-agent start -
Führe den folgenden Befehl aus, um zu bestätigen, dass deine Konfigurationsdatei aktualisiert wurde:
sudo service codedeploy-agent statusBeispielausgabe:
The AWS CodeDeploy agent is running as PID #### -
Um zu überprüfen, welche Prozesse ausgeführt werden und welcher Benutzer die Prozesse ausführt, führe den folgenden Befehl aus:
ps aux | grep codedeploy-agent
Eine Startkonfigurationsvorlage und eine AWS Auto-Scaling-Gruppe erstellen, um den Prozess der Benutzeränderung zu automatisieren
Führe die folgenden Schritte aus:
-
Öffne die Amazon-EC2-Konsole.
-
Wähle im Navigationsbereich Startkonfigurationen aus.
-
Wähle Startkonfiguration erstellen aus.
-
Wähle das Amazon Linux AMI aus.
-
Wähle Weiter: Details konfigurieren aus.
-
Wähle für die IAM-Rolle eine vorkonfigurierte AWS Identity and Access Management (IAM)-Rolle aus. Die Rolle muss deiner Instance die Berechtigung gewähren, auf Amazon Simple Storage Service (Amazon S3)-Ressourcen zuzugreifen.
-
Wähle Erweiterte Details aus.
-
Gib im Abschnitt Benutzerdaten der Konfigurationsdatei des Agent die Befehle zur Installation des CodeDeploy-Agent ein. Aktualisiere dann die Datei, um einen bestimmten Benutzer zu verwenden.
Verwende für IMDSv1 das folgende Skript:#!/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 startVerwende für IMDSv2 das folgende Skript:
#!/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 startHinweis: Ersetze ec2-user durch den Benutzernamen, mit dem der CodeDeploy-Host-Agent ausgeführt werden soll. Der vorangehende Beispielcode wird automatisch ausgeführt, wenn du eine neue Instance startest, die die definierte Startkonfiguration verwendet.
-
Führe die restlichen Schritte im Launch Wizard aus. Wähle dann Startkonfiguration erstellen aus.
-
Wähle Mit dieser Startkonfiguration eine AWS Auto-Scaling-Gruppe erstellen aus.
-
Gib unter Gruppenname einen Namen für deine Auto-Scaling-Gruppe ein.
-
Gib für Subnetz ein Subnetz ein, das deiner Instance den Zugriff auf das Internet ermöglicht.
-
Wähle Weiter: Skalierungsrichtlinien konfigurieren und dann eine Richtlinie aus.
-
Führe die restlichen Schritte des Startassistenten aus und wähle dann AWS Auto-Scaling-Gruppe erstellen aus.
Überprüfen, ob der CodeDeploy-Agent installiert ist und mit dem richtigen Benutzer auf einer neuen Instance ausgeführt wird
Zunächst musst du sicherstellen, dass deine Instance ausgeführt wird. Führe danach die folgenden Schritte aus:
- Verwende SSH, um eine Verbindung zu deiner Instance herzustellen.
- Um zu überprüfen, ob der CodeDeploy-Agent auf der Instance ausgeführt wird, führe den folgenden Befehl aus:
Wenn der Befehl einen Fehler zurückgibt, hast du den CodeDeploy-Agent nicht installiert. Installiere den CodeDeploy-Agent.sudo service codedeploy-agent status - Um zu überprüfen, ob der CodeDeploy-Agent mit dem richtigen Benutzernamen ausgeführt wird, führe den folgenden Befehl aus:
Beispielausgabe:ps aux | grep codedeploy-agentThe AWS CodeDeploy agent is running as PID ####
- Themen
- Developer Tools
- Tags
- AWS CodeDeploy
- Sprache
- Deutsch
Ähnliche Videos


Relevanter Inhalt
AWS OFFICIALAktualisiert vor 4 Jahren