L'agent Amazon EC2 Simple Systems Manager (SSM) est un logiciel développé pour le service Simple Systems Manager. L'agent SSM est le composant principal d'une fonctionnalité appelée Run Command.
L'agent SSM s'exécute sur des instances EC2 et vous permet d'exécuter rapidement et facilement des commandes ou des scripts à distance sur une ou plusieurs instances. L'agent utilise des documents SSM. Lorsque vous exécutez une commande, l'agent sur l'instance traite le document et configure l'instance comme spécifié. Actuellement, l'agent et Run Command vous permettent d'exécuter rapidement des scripts Shell sur une instance à l'aide du document AWS-RunShellScript SSM. L'agent SSM active également la fonctionnalité Session Manager qui vous permet de gérer votre instance Amazon EC2 via un shell interactif basé sur un navigateur en un clic ou via l'AWS CLI. La première fois qu'une session Session Manager est démarrée sur une instance, l'agent crée un utilisateur appelé « ssm-user » avec des privilèges sudo ou administrateur. Les sessions Session Manager seront lancées dans le contexte de cet utilisateur.
Procédure pas à pas de la commande d'exécution SSM à l'aide de l'AWS CLI
Procédure pas à pas de Session Manager à l'aide de la console AWS et de la CLI
Dépannage de la commande d'exécution SSM Dépannage du gestionnaire de sessions SSM
Merci de nous aider à améliorer Systems Manager, Run Command et Session Manager. Veuillez envoyer vos questions ou commentaires aux forums Systems Manager
Installer Docker : Installer CentOS
Construire une image
docker build -t ssm-agent-build-image .
docker run -it --rm --name ssm-agent-build-container -v `pwd`:/amazon-ssm-agent ssm-agent-build-image make build-release
Installer go Mise en route
Installez rpm-build et rpmdevtools
Agent SSM de compilation croisée
Exécutez make build
pour créer l'agent SSM pour l'environnement Linux, Debian et Windows.
Exécutez make build-release
pour créer l'agent et le conditionnez également dans un package RPM, DEB et ZIP.
Les dossiers suivants sont générés une fois la construction terminée :
bin/debian_386
bin/debian_amd64
bin/linux_386
bin/linux_amd64
bin/linux_arm
bin/linux_arm64
bin/windows_386
bin/windows_amd64
Veuillez suivre le guide de l'utilisateur pour copier et installer l'agent SSM.
Pour linter l’intégralité du module, appelez la cible lint-all
. Cela exécute golangci-lint sur tous les packages du module. Vous pouvez configurer golangci-lint avec différents linters à l'aide du fichier .golangci.yml
.
Pour les instructions d'installation de golangci-lint, voir https://golangci-lint.run/usage/install/ Pour plus d'informations sur le fichier de configuration golangci-lint, voir https://golangci-lint.run/usage/configuration/ Pour plus d'informations sur les linters utilisés voir https://golangci-lint.run/usage/linters/
Pour utiliser les dépendances du fournisseur, le format GOPATH suggéré est :
Les cibles suivantes sont disponibles. Chacun peut être exécuté avec make
.
Faire une cible | Description |
---|---|
build | (Par défaut) build construit l'agent pour les environnements Linux, Debian, Darwin et Windows amd64 et 386 |
build-release | build-release vérifie le style et la couverture du code, construit l'agent et le regroupe également dans un package RPM, DEB et ZIP |
release | release vérifie le style et la couverture du code, exécute des tests, regroupe toutes les dépendances dans le dossier bin. |
package | package les packages génèrent le résultat dans un package RPM, DEB et ZIP |
pre-build | pre-build passe par le dossier Tools/src pour s'assurer que tous les fichiers de script sont exécutables |
checkstyle | checkstyle exécute le script checkstyle |
analyze-install | analyze-install installer les dépendances d'analyse statique pour une utilisation locale |
analyze | analyze exécute un script d'analyse statique pour trouver d'éventuelles vulnérabilités |
quick-integtest | quick-integtest exécute tous les tests marqués avec l'intégration à l'aide de go test |
quick-test | quick-test exécute tous les tests, y compris les tests d'intégration et les tests unitaires à l'aide go test |
coverage | coverage exécute tous les tests et calcule la couverture du code |
build-linux | build-linux construit l'agent pour l'exécution dans l'environnement Linux amd64 |
build-windows | build-windows construit l'agent pour l'exécution dans l'environnement Windows amd64 |
build-darwin | build-darwin construit l'agent pour l'exécution dans l'environnement Darwin amd64 |
build-linux-386 | build-linux-386 construit l'agent pour une exécution dans l'environnement Linux 386 |
build-windows-386 | build-windows-386 construit l'agent pour une exécution dans l'environnement Windows 386 |
build-darwin-386 | build-darwin-386 construit l'agent pour une exécution dans l'environnement Darwin 386 |
build-arm | build-arm construit l'agent pour l'exécution dans l'environnement arm |
build-arm64 | build-arm64 construit l'agent pour l'exécution dans l'environnement arm64 |
lint-all | lint-all exécute golangci-lint sur tous les packages. golangci-lint est configuré par .golangci.yml |
package-rpm | package-rpm construit l'agent et le conditionne dans un package RPM pour les distributions Linux basées sur amd64 |
package-deb | package-deb construit l'agent et le conditionne dans un package DEB distributions basées sur Debian amd64 |
package-win | package-win construit l'agent et le conditionne dans un package ZIP Distributions basées sur Windows amd64 |
package-rpm-386 | package-rpm-386 construit l'agent et le conditionne dans un package RPM pour les distributions basées sur Linux 386 |
package-deb-386 | package-deb-386 construit l'agent et le conditionne dans un package DEB distributions basées sur Debian 386 |
package-win-386 | package-win-386 construit l'agent et le conditionne dans un package ZIP distributions basées sur Windows 386 |
package-rpm-arm64 | package-rpm-arm64 construit l'agent et le conditionne dans un package RPM Linux basé sur les distributions arm64 |
package-deb-arm | package-deb-arm construit l'agent et le conditionne dans un package DEB Distributions basées sur Debian arm |
package-deb-arm64 | package-deb-arm64 construit l'agent et le conditionne dans un package DEB distributions basées sur Debian arm64 |
package-linux | package-linux crée des packages de mise à jour pour les distributions basées sur Linux et Debian |
package-windows | package-windows crée des packages de mise à jour pour les distributions basées sur Windows |
package-darwin | package-darwin crée des packages de mise à jour pour les distributions basées sur Darwin |
get-tools | get-tools récupère Gocode et Oracle en utilisant go get |
clean | clean supprime les artefacts de construction |
Les contributions et commentaires sont les bienvenus ! Les propositions et les Pull Requests seront examinées et traitées. Veuillez consulter le fichier CONTRIBUTING.md pour plus d'informations.
Amazon Web Services ne prend actuellement pas en charge les copies modifiées de ce logiciel.
Pour configurer votre propre configuration personnalisée pour l'agent :
Une fois le code source de l'agent SSM publié sur github, la propagation des packages d'installation dans toutes les régions AWS peut prendre jusqu'à 2 semaines.
Les commandes suivantes peuvent être utilisées pour extraire le fichier VERSION
et vérifier le dernier agent disponible dans une région.
curl https://s3.{region}.amazonaws.com/amazon-ssm-{region}/latest/VERSION
{region}
par un code de région tel que us-east-1
.curl https://s3.{region}.amazonaws.com.cn/amazon-ssm-{region}/latest/VERSION
{region}
par le code de région cn-north-1
, cn-northwest-1
.curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/VERSION
L'agent Amazon SSM est sous licence Apache 2.0.