Amazon EC2 Simple Systems Manager(SSM) 에이전트는 Simple Systems Manager Service용으로 개발된 소프트웨어입니다. SSM 에이전트는 Run Command라는 기능의 기본 구성 요소입니다.
SSM 에이전트는 EC2 인스턴스에서 실행되며 하나 이상의 인스턴스에 대해 원격 명령이나 스크립트를 빠르고 쉽게 실행할 수 있게 해줍니다. 에이전트는 SSM 문서를 사용합니다. 명령을 실행하면 인스턴스의 에이전트가 문서를 처리하고 지정된 대로 인스턴스를 구성합니다. 현재 에이전트와 Run Command를 사용하면 AWS-RunShellScript SSM 문서를 사용하여 인스턴스에서 셸 스크립트를 빠르게 실행할 수 있습니다. SSM 에이전트는 또한 대화형 원클릭 브라우저 기반 셸이나 AWS CLI를 통해 Amazon EC2 인스턴스를 관리할 수 있는 세션 관리자 기능을 활성화합니다. 인스턴스에서 Session Manager 세션이 처음 시작되면 에이전트는 sudo 또는 관리자 권한을 가진 "ssm-user"라는 사용자를 생성합니다. 세션 관리자 세션은 이 사용자의 컨텍스트에서 시작됩니다.
AWS CLI를 사용한 SSM 실행 명령 연습
AWS 콘솔 및 CLI를 사용한 세션 관리자 연습
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
실행하여 Linux, Debian, Windows 환경용 SSM 에이전트를 빌드합니다.
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.yml
파일을 사용하여 다양한 린터로 golangci-lint를 구성할 수 있습니다.
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 에이전트를 빌드하고 이를 Linux amd64 기반 배포판용 RPM 패키지로 패키징합니다. |
package-deb | package-deb 에이전트를 빌드하고 이를 DEB 패키지로 패키징합니다. Debian amd64 기반 배포판 |
package-win | package-win 에이전트를 빌드하고 이를 ZIP 패키지로 패키징합니다. Windows amd64 기반 배포판 |
package-rpm-386 | package-rpm-386 은 에이전트를 빌드하고 이를 Linux 386 기반 배포판용 RPM 패키지로 패키징합니다. |
package-deb-386 | package-deb-386 은 에이전트를 빌드하고 이를 DEB 패키지 Debian 386 기반 배포판으로 패키징합니다. |
package-win-386 | package-win-386 은 에이전트를 빌드하고 이를 Windows 386 기반 배포판의 ZIP 패키지로 패키징합니다. |
package-rpm-arm64 | package-rpm-arm64 에이전트를 빌드하고 이를 RPM 패키지로 패키징합니다. Linux arm64 기반 배포판 |
package-deb-arm | package-deb-arm 에이전트를 빌드하고 이를 DEB 패키지로 패키징합니다. 데비안 arm 기반 배포판 |
package-deb-arm64 | package-deb-arm64 에이전트를 빌드하고 이를 DEB 패키지로 패키징합니다. 데비안 arm64 기반 배포판 |
package-linux | package-linux Linux 및 Debian 기반 배포판용 업데이트 패키지를 생성합니다. |
package-windows | package-windows Windows 기반 배포용 업데이트 패키지를 생성합니다. |
package-darwin | package-darwin Darwin 기반 배포판용 업데이트 패키지 생성 |
get-tools | get-tools go get 을 사용하여 gocode와 oracle을 가져옵니다. |
clean | clean 빌드 아티팩트를 제거합니다. |
기여와 피드백을 환영합니다! 제안 및 끌어오기 요청이 고려되고 응답됩니다. 자세한 내용은 CONTRIBUTING.md 파일을 참조하세요.
Amazon Web Services는 현재 이 소프트웨어의 수정된 복사본에 대한 지원을 제공하지 않습니다.
에이전트에 대한 사용자 정의 구성을 설정하려면 다음을 수행하십시오.
SSM 에이전트 소스 코드가 github에 릴리스된 후 설치 패키지가 모든 AWS 리전에 전파되는 데 최대 2주가 걸릴 수 있습니다.
다음 명령을 사용하여 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 라이선스에 따라 라이선스가 부여됩니다.