Агент Amazon EC2 Simple Systems Manager (SSM) — это программное обеспечение, разработанное для службы Simple Systems Manager. Агент SSM является основным компонентом функции «Выполнить команду».
Агент SSM работает на экземплярах EC2 и позволяет быстро и легко выполнять удаленные команды или сценарии для одного или нескольких экземпляров. Агент использует документы SSM. Когда вы выполняете команду, агент на экземпляре обрабатывает документ и настраивает экземпляр, как указано. В настоящее время агент и команда «Выполнить» позволяют быстро запускать сценарии Shell на экземпляре с помощью документа SSM AWS-RunShellScript. Агент SSM также включает функцию диспетчера сеансов, которая позволяет управлять экземпляром Amazon EC2 с помощью интерактивной оболочки на основе браузера, запускаемой одним щелчком мыши, или через интерфейс командной строки AWS. При первом запуске сеанса диспетчера сеансов на экземпляре агент создаст пользователя с именем «ssm-user» с правами sudo или администратора. Сеансы диспетчера сеансов будут запущены в контексте этого пользователя.
Пошаговое руководство по команде запуска SSM с использованием интерфейса командной строки AWS
Пошаговое руководство по диспетчеру сеансов с использованием консоли AWS и интерфейса командной строки
Устранение неполадок с командой запуска SSM Устранение неполадок диспетчера сеансов SSM
Благодарим вас за помощь в улучшении Systems Manager, Run Command и Session Manager. Пожалуйста, присылайте свои вопросы или комментарии на форумы Systems Manager.
Установите докер: установите CentOS
Создать образ
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
Установить перейти Начало работы
Установите rpm-build и rpmdevtools.
Агент SSM кросс-компиляции
Запустите make build
, чтобы собрать агент SSM для среды Linux, Debian, Windows.
Запустите команду make build-release
, чтобы собрать агент, а также упаковать его в пакеты RPM, DEB и ZIP.
После завершения сборки создаются следующие папки:
bin/debian_386
bin/debian_amd64
bin/linux_386
bin/linux_amd64
bin/linux_arm
bin/linux_arm64
bin/windows_386
bin/windows_amd64
Следуйте руководству пользователя, чтобы скопировать и установить агент SSM.
Чтобы проверить весь модуль, вызовите цель lint-all
. При этом golangci-lint выполняется для всех пакетов в модуле. Вы можете настроить golangci-lint с различными линтерами, используя файл .golangci.yml
.
Инструкции по установке golangci-lint см. https://golangci-lint.run/usage/install/. Дополнительную информацию о файле конфигурации golangci-lint см. https://golangci-lint.run/usage/configuration/. Дополнительную информацию о используемые линтеры см. https://golangci-lint.run/usage/linters/
Чтобы использовать зависимости поставщиков, предлагаемый формат GOPATH :
Доступны следующие цели. Каждый из них может быть запущен с помощью make
.
Сделать цель | Описание |
---|---|
build | build (по умолчанию) создает агент для среды Linux, Debian, Darwin и Windows amd64 и 386. |
build-release | build-release проверяет стиль и покрытие кода, собирает агент, а также упаковывает его в пакеты RPM, DEB и ZIP. |
release | release проверяет стиль и покрытие кода, запускает тесты, упаковывает все зависимости в папку bin. |
package | пакеты package объединяют результат в пакет RPM, DEB и ZIP |
pre-build | pre-build проходит через папку Tools/src, чтобы убедиться, что все файлы сценариев являются исполняемыми. |
checkstyle | checkstyle запускает скрипт checkstyle |
analyze-install | analyze-install установить зависимости статического анализа для локального использования |
analyze | analyze запускает сценарий статического анализа для поиска возможных уязвимостей |
quick-integtest | quick-integtest запускает все тесты, помеченные как интеграция, с помощью go test |
quick-test | quick-test запускает все тесты, включая интеграционные и модульные тесты, используя go test |
coverage | coverage запускает все тесты и рассчитывает покрытие кода |
build-linux | build-linux собирает агент для выполнения в среде Linux amd64. |
build-windows | build-windows собирает агент для выполнения в среде Windows amd64. |
build-darwin | build-darwin собирает агент для выполнения в среде Darwin amd64. |
build-linux-386 | build-linux-386 собирает агент для выполнения в среде Linux 386. |
build-windows-386 | build-windows-386 собирает агент для выполнения в среде Windows 386. |
build-darwin-386 | build-darwin-386 собирает агент для выполнения в среде Darwin 386. |
build-arm | build-arm собирает агент для выполнения в среде Arm |
build-arm64 | build-arm64 собирает агент для выполнения в среде Arm64. |
lint-all | lint-all запускает golangci-lint для всех пакетов. golangci-lint настраивается с помощью .golangci.yml |
package-rpm | package-rpm собирает агент и упаковывает его в пакет RPM для дистрибутивов Linux на базе amd64. |
package-deb | package-deb собирает агент и упаковывает его в пакет DEB. Дистрибутивы на основе Debian amd64. |
package-win | package-win собирает агент и упаковывает его в ZIP-пакет. Дистрибутивы на базе Windows amd64. |
package-rpm-386 | package-rpm-386 собирает агент и упаковывает его в пакет RPM для дистрибутивов на базе Linux 386. |
package-deb-386 | package-deb-386 собирает агент и упаковывает его в пакет DEB. Дистрибутивы на основе Debian 386. |
package-win-386 | package-win-386 собирает агент и упаковывает его в ZIP-пакет. Дистрибутивы на базе Windows 386. |
package-rpm-arm64 | package-rpm-arm64 собирает агент и упаковывает его в пакет RPM. Дистрибутивы Linux на базе Arm64. |
package-deb-arm | package-deb-arm собирает агент и упаковывает его в пакет DEB. Дистрибутивы на базе Debian. |
package-deb-arm64 | package-deb-arm64 собирает агент и упаковывает его в пакет DEB. Дистрибутивы на основе Debian Arm64. |
package-linux | package-linux создает пакеты обновлений для дистрибутивов Linux и Debian. |
package-windows | package-windows создает пакеты обновлений для дистрибутивов Windows. |
package-darwin | package-darwin создать пакеты обновлений для дистрибутивов на основе Darwin |
get-tools | get-tools получает gocode и oracle с помощью go get |
clean | clean удаляет артефакты сборки |
Вклады и отзывы приветствуются! Предложения и запросы на включение будут рассмотрены и на них будут даны ответы. Дополнительную информацию см. в файле CONTRIBUTING.md.
Amazon Web Services в настоящее время не обеспечивает поддержку модифицированных копий этого программного обеспечения.
Чтобы настроить собственную конфигурацию агента:
После того как исходный код агента SSM будет опубликован на github, распространение установочных пакетов во все регионы AWS может занять до двух недель.
Следующие команды можно использовать для извлечения файла VERSION
и проверки последней версии агента, доступной в регионе.
curl https://s3.{region}.amazonaws.com/amazon-ssm-{region}/latest/VERSION
{region}
кодом региона, например us-east-1
.curl https://s3.{region}.amazonaws.com.cn/amazon-ssm-{region}/latest/VERSION
{region}
кодом региона cn-north-1
, cn-northwest-1
.curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/VERSION
Агент Amazon SSM лицензируется по лицензии Apache 2.0.