O agente Amazon EC2 Simple Systems Manager (SSM) é um software desenvolvido para o Simple Systems Manager Service. O SSM Agent é o componente principal de um recurso chamado Run Command.
O SSM Agent é executado em instâncias EC2 e permite executar comandos ou scripts remotos de forma rápida e fácil em uma ou mais instâncias. O agente usa documentos SSM. Quando você executa um comando, o agente na instância processa o documento e configura a instância conforme especificado. Atualmente, o agente e o Run Command permitem executar rapidamente scripts Shell em uma instância usando o documento AWS-RunShellScript SSM. O SSM Agent também habilita o recurso Session Manager que permite gerenciar sua instância do Amazon EC2 por meio de um shell interativo baseado em navegador com um clique ou por meio da AWS CLI. Na primeira vez que uma sessão do Session Manager for iniciada em uma instância, o agente criará um usuário chamado "ssm-user" com sudo ou privilégio de administrador. As sessões do Session Manager serão iniciadas no contexto deste usuário.
Passo a passo do comando de execução do SSM usando a AWS CLI
Passo a passo do Session Manager usando o Console AWS e a CLI
Solução de problemas do SSM Run Command Solução de problemas do SSM Session Manager
Obrigado por nos ajudar a melhorar o Systems Manager, Run Command e Session Manager. Por favor, envie suas perguntas ou comentários para os Fóruns do Systems Manager
Instale o docker: Instale o CentOS
Construir imagem
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 vá Primeiros passos
Instale rpm-build e rpmdevtools
Agente SSM de compilação cruzada
Execute make build
para criar o Agente SSM para ambiente Linux, Debian e Windows.
Execute make build-release
para construir o agente e também empacotá-lo em um pacote RPM, DEB e ZIP.
As seguintes pastas são geradas quando a compilação é concluída:
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 o guia do usuário para copiar e instalar o SSM Agent
Para limpar o módulo inteiro, chame o destino lint-all
. Isso executa golangci-lint em todos os pacotes do módulo. Você pode configurar golangci-lint com diferentes linters usando o arquivo .golangci.yml
.
Para obter instruções de instalação do golangci-lint, consulte https://golangci-lint.run/usage/install/ Para obter mais informações sobre o arquivo de configuração do golangci-lint, consulte https://golangci-lint.run/usage/configuration/ Para obter mais informações sobre os linters usados veja https://golangci-lint.run/usage/linters/
Para usar dependências de fornecedores, o formato GOPATH sugerido é :
Os seguintes destinos estão disponíveis. Cada um pode ser executado com make
.
Faça o alvo | Descrição |
---|---|
build | (Padrão) build constrói o agente para ambiente Linux, Debian, Darwin e Windows amd64 e 386 |
build-release | build-release verifica o estilo e a cobertura do código, constrói o agente e também o empacota em um pacote RPM, DEB e ZIP |
release | release verifica o estilo e a cobertura do código, executa testes, empacota todas as dependências na pasta bin. |
package | pacote package compilam o resultado em um pacote RPM, DEB e ZIP |
pre-build | pre-build passa pela pasta Tools/src para garantir que todos os arquivos de script sejam executáveis |
checkstyle | checkstyle executa o script checkstyle |
analyze-install | analyze-install instala dependências de análise estática para uso local |
analyze | analyze executa script de análise estática para encontrar possíveis vulnerabilidades |
quick-integtest | quick-integtest executa todos os testes marcados com integração usando go test |
quick-test | quick-test executa todos os testes, incluindo integração e testes de unidade usando go test |
coverage | coverage executa todos os testes e calcula a cobertura do código |
build-linux | build-linux constrói o agente para execução no ambiente Linux amd64 |
build-windows | build-windows cria o agente para execução no ambiente Windows AMD64 |
build-darwin | build-darwin constrói o agente para execução no ambiente Darwin amd64 |
build-linux-386 | build-linux-386 constrói o agente para execução no ambiente Linux 386 |
build-windows-386 | build-windows-386 cria o agente para execução no ambiente Windows 386 |
build-darwin-386 | build-darwin-386 constrói o agente para execução no ambiente Darwin 386 |
build-arm | build-arm constrói o agente para execução no ambiente arm |
build-arm64 | build-arm64 constrói o agente para execução no ambiente arm64 |
lint-all | lint-all executa golangci-lint em todos os pacotes. golangci-lint é configurado por .golangci.yml |
package-rpm | package-rpm constrói o agente e o empacota em um pacote RPM para distribuições baseadas em Linux AMD64 |
package-deb | package-deb constrói o agente e o empacota em um pacote DEB Distribuições baseadas em Debian amd64 |
package-win | package-win constrói o agente e o empacota em um pacote ZIP Distribuições baseadas em Windows AMD64 |
package-rpm-386 | package-rpm-386 constrói o agente e o empacota em um pacote RPM para distribuições baseadas em Linux 386 |
package-deb-386 | package-deb-386 constrói o agente e o empacota em um pacote DEB Distribuições baseadas em Debian 386 |
package-win-386 | package-win-386 constrói o agente e o empacota em um pacote ZIP Distribuições baseadas no Windows 386 |
package-rpm-arm64 | package-rpm-arm64 constrói o agente e o empacota em um pacote RPM Distribuições baseadas em Linux arm64 |
package-deb-arm | package-deb-arm constrói o agente e o empacota em um pacote DEB Distribuições baseadas em Debian arm |
package-deb-arm64 | package-deb-arm64 constrói o agente e o empacota em um pacote DEB Distribuições baseadas em Debian arm64 |
package-linux | package-linux cria pacotes de atualização para distribuições baseadas em Linux e Debian |
package-windows | package-windows cria pacotes de atualização para distribuições baseadas no Windows |
package-darwin | package-darwin cria pacotes de atualização para distribuições baseadas em Darwin |
get-tools | get-tools obtém gocode e oracle usando go get |
clean | clean remove artefatos de construção |
Contribuições e feedback são bem-vindos! Propostas e solicitações pull serão consideradas e respondidas. Consulte o arquivo CONTRIBUTING.md para obter mais informações.
Atualmente, a Amazon Web Services não oferece suporte para cópias modificadas deste software.
Para definir sua própria configuração personalizada para o agente:
Depois que o código-fonte do agente SSM for lançado no GitHub, pode levar até duas semanas para que os pacotes de instalação sejam propagados para todas as regiões da AWS.
Os comandos a seguir podem ser usados para extrair o arquivo VERSION
e verificar o agente mais recente disponível em uma região.
curl https://s3.{region}.amazonaws.com/amazon-ssm-{region}/latest/VERSION
{region}
pelo código de região como us-east-1
.curl https://s3.{region}.amazonaws.com.cn/amazon-ssm-{region}/latest/VERSION
{region}
pelo código de região cn-north-1
, cn-northwest-1
.curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/VERSION
O agente do Amazon SSM é licenciado sob a licença Apache 2.0.