
SSM 서비스는 제어하는 시스템에 SSM 에이전트를 설치하여 작동한다. 이 에이전트는 백그라운드에서 실행되며 AWS의 SSM 서비스에 데이터를 보고한다.
SSM Session Manager는 EC2 인스턴스나 온프레미스 서버에 안전하게 접속할 수 있는 기능을 제공한다. SSH 액세스나 Bastion Host, SSH 키가 필요 없으며, 보안이 강화된다.

SSM Parameter Store는 구성 데이터나 암호를 안전하게 저장하고 관리할 수 있는 서비스다. API 키나 비밀번호, 구성 데이터 등을 안전하게 관리할 수 있다.
SSM Parameter Store를 사용하여 Spring Boot 애플리케이션의 application.properties 파일을 대체하는 방법을 예시로 설명한다.
AWS Management Console에서 SSM Parameter Store에 파라미터를 생성한다.
aws ssm put-parameter --name "/config/myapp/db.username" --value "dbuser" --type "String"
aws ssm put-parameter --name "/config/myapp/db.password" --value "dbpassword" --type "SecureString"
Spring Boot 애플리케이션에서 SSM Parameter Store를 사용하기 위해 spring-cloud-starter-aws-parameter-store-config 의존성을 추가한다.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws-parameter-store-config</artifactId>
</dependency>
spring.application.name=myapp
spring.cloud.aws.parameterstore.enabled=true
spring.cloud.aws.parameterstore.prefix=/config/myapp
spring.cloud.aws.parameterstore.default-context=application
이제 SSM Parameter Store에 저장된 파라미터를 사용할 수 있다. 예를 들어, 데이터베이스 설정을 다음과 같이 구성할 수 있다.
spring.datasource.username=${db.username}
spring.datasource.password=${db.password}