El agente de Amazon EC2 Simple Systems Manager (SSM) es un software desarrollado para el servicio Simple Systems Manager. El Agente SSM es el componente principal de una función llamada Ejecutar comando.
El Agente SSM se ejecuta en instancias EC2 y le permite ejecutar rápida y fácilmente comandos o scripts remotos en una o más instancias. El agente utiliza documentos SSM. Cuando ejecuta un comando, el agente de la instancia procesa el documento y configura la instancia según lo especificado. Actualmente, el agente y Run Command le permiten ejecutar rápidamente scripts de Shell en una instancia mediante el documento AWS-RunShellScript SSM. SSM Agent también habilita la capacidad del Administrador de sesión que le permite administrar su instancia de Amazon EC2 a través de un shell interactivo basado en navegador con un solo clic o mediante la CLI de AWS. La primera vez que se inicia una sesión de Session Manager en una instancia, el agente creará un usuario llamado "ssm-user" con privilegios sudo o de administrador. Las sesiones del Administrador de sesiones se iniciarán en el contexto de este usuario.
Tutorial de ejecución del comando SSM mediante la CLI de AWS
Tutorial del administrador de sesiones mediante la consola y la CLI de AWS
Solución de problemas del comando Ejecutar SSM Solución de problemas del Administrador de sesiones de SSM
Gracias por ayudarnos a mejorar Systems Manager, Run Command y Session Manager. Envíe sus preguntas o comentarios a los foros de Systems Manager
Instalar Docker: Instalar CentOS
Construir imagen
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
Instalar ir Comenzando
Instale rpm-build y rpmdevtools
Agente SSM de compilación cruzada
Ejecute make build
para crear el Agente SSM para entornos Linux, Debian y Windows.
Ejecute make build-release
para compilar el agente y también empaquetarlo en un paquete RPM, DEB y ZIP.
Las siguientes carpetas se generan cuando se completa la compilación:
bin/debian_386
bin/debian_amd64
bin/linux_386
bin/linux_amd64
bin/linux_arm
bin/linux_arm64
bin/windows_386
bin/windows_amd64
Siga la guía del usuario para copiar e instalar el Agente SSM
Para eliminar todo el módulo, llame al objetivo lint-all
. Esto ejecuta golangci-lint en todos los paquetes del módulo. Puede configurar golangci-lint con diferentes linters utilizando el archivo .golangci.yml
.
Para obtener instrucciones de instalación de golangci-lint, consulte https://golangci-lint.run/usage/install/. Para obtener más información sobre el archivo de configuración de golangci-lint, consulte https://golangci-lint.run/usage/configuration/. Para obtener más información sobre los linters utilizados ver https://golangci-lint.run/usage/linters/
Para utilizar dependencias de proveedores, el formato GOPATH sugerido es :
Los siguientes objetivos están disponibles. Cada uno puede ejecutarse con make
.
Hacer objetivo | Descripción |
---|---|
build | (Predeterminado) build crea el agente para los entornos Linux, Debian, Darwin y Windows amd64 y 386. |
build-release | build-release comprueba el estilo y la cobertura del código, construye el agente y también lo empaqueta en un paquete RPM, DEB y ZIP. |
release | release verifica el estilo y la cobertura del código, ejecuta pruebas y empaqueta todas las dependencias en la carpeta bin. |
package | Los paquetes package crean el resultado en un paquete RPM, DEB y ZIP. |
pre-build | pre-build pasa por la carpeta Tools/src para asegurarse de que todos los archivos de script sean ejecutables. |
checkstyle | checkstyle ejecuta el script checkstyle |
analyze-install | analyze-install instalar dependencias de análisis estático para uso local |
analyze | analyze ejecuta un script de análisis estático para encontrar posibles vulnerabilidades |
quick-integtest | quick-integtest ejecuta todas las pruebas etiquetadas con integración usando go test |
quick-test | quick-test ejecuta todas las pruebas, incluidas las pruebas de integración y unitarias, utilizando go test |
coverage | coverage ejecuta todas las pruebas y calcula la cobertura del código |
build-linux | build-linux construye el agente para su ejecución en el entorno Linux amd64 |
build-windows | build-windows construye el agente para su ejecución en el entorno Windows amd64 |
build-darwin | build-darwin construye el agente para su ejecución en el entorno Darwin amd64 |
build-linux-386 | build-linux-386 construye el agente para su ejecución en el entorno Linux 386 |
build-windows-386 | build-windows-386 construye el agente para su ejecución en el entorno Windows 386 |
build-darwin-386 | build-darwin-386 construye el agente para su ejecución en el entorno Darwin 386 |
build-arm | build-arm construye el agente para su ejecución en el entorno arm |
build-arm64 | build-arm64 construye el agente para su ejecución en el entorno arm64 |
lint-all | lint-all ejecuta golangci-lint en todos los paquetes. golangci-lint está configurado por .golangci.yml |
package-rpm | package-rpm construye el agente y lo empaqueta en un paquete RPM para distribuciones basadas en Linux amd64 |
package-deb | package-deb construye el agente y lo empaqueta en un paquete DEB Distribuciones basadas en Debian amd64 |
package-win | package-win construye el agente y lo empaqueta en un paquete ZIP. Distribuciones basadas en Windows AMD64. |
package-rpm-386 | package-rpm-386 construye el agente y lo empaqueta en un paquete RPM para distribuciones basadas en Linux 386 |
package-deb-386 | package-deb-386 construye el agente y lo empaqueta en un paquete DEB Distribuciones basadas en Debian 386 |
package-win-386 | package-win-386 construye el agente y lo empaqueta en un paquete ZIP Distribuciones basadas en Windows 386 |
package-rpm-arm64 | package-rpm-arm64 construye el agente y lo empaqueta en un paquete RPM Distribuciones basadas en Linux arm64 |
package-deb-arm | package-deb-arm construye el agente y lo empaqueta en un paquete DEB Distribuciones basadas en Debian arm |
package-deb-arm64 | package-deb-arm64 construye el agente y lo empaqueta en un paquete DEB Distribuciones basadas en Debian arm64 |
package-linux | package-linux crea paquetes de actualización para distribuciones basadas en Linux y Debian |
package-windows | package-windows crea paquetes de actualización para distribuciones basadas en Windows |
package-darwin | package-darwin crea paquetes de actualización para distribuciones basadas en Darwin |
get-tools | get-tools obtiene gocode y oracle usando go get |
clean | clean elimina los artefactos de construcción |
¡Las contribuciones y comentarios son bienvenidos! Se considerarán y responderán las propuestas y solicitudes de extracción. Consulte el archivo CONTRIBUTING.md para obtener más información.
Actualmente, Amazon Web Services no brinda soporte para copias modificadas de este software.
Para configurar su propia configuración personalizada para el agente:
Una vez que el código fuente del Agente SSM se haya publicado en github, los paquetes de instalación pueden tardar hasta 2 semanas en propagarse a todas las regiones de AWS.
Los siguientes comandos se pueden utilizar para extraer el archivo VERSION
y verificar el agente más reciente disponible en una región.
curl https://s3.{region}.amazonaws.com/amazon-ssm-{region}/latest/VERSION
{region}
con un código de región como us-east-1
.curl https://s3.{region}.amazonaws.com.cn/amazon-ssm-{region}/latest/VERSION
{region}
con el código de región cn-north-1
, cn-northwest-1
.curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/VERSION
El agente de Amazon SSM tiene la licencia Apache 2.0.