Systems Manager (SSM)
SSM used to be all about managing EC2 and instances on-prem at scale using an agent (and associated role); now it’s the swiss army knife of management tools. It’s a huge service.
Application Management
Parameter Store
Parameter store is serverless storage service for configuration and secrets. Can be used for passwords, database connection strings, license codes, and API keys. Parameters are versioned, can be stored encrypted (using KMS) or plaintext and in hierarchies using a tree structures. Parameter store can also be used to pass variables between Cfn templates. Security through IAM; notifications through EventBridge.
Secrets Manager secrets can also be access via Parameter Store. SSM publishes AMI values that are read-only.
There are two tiers of parameters: Standard (10K parameters, 4kb) or Advanced (100K parameters, 8kb, Parameter Policies). Parameter Policies enable a TTL on sensitive data; when TTL expires an EventBridge event is fired which could enable a password change.
App Config
AppConfig helps you create, manage, and deploy application configurations and feature flags. AppConfig supports controlled deployments to applications of any size. Feels a LOT like Parameter store.
Change Management
Automation
Automation simplifies common maintenance, deployment, and remediation tasks for EC2, RDS, Redshift, S3 and other services; Automation uses runbooks, a type of script. The automation action AWS-CreateImage
can be used to create AMI in a runbook.
Maintenance Windows
Use Maintenance Windows to set up recurring schedules for managed instances to run administrative tasks such as installing patches and updates without interrupting business-critical operations.
Node Management
SSM run
command
The ability to run commands remotely, with control over rate of execution, without SSH access at scale. A common use case is to send an command/trap an event with to EventBridge then trigger a SSM run
command. Perhaps to send a command to a set of EC2 instances in the terminating:wait
stage?
Inventory and State Manager
Inventory collects software inventory of managed nodes; State Manager is a compliance maintenance tool (where Patch Manager is about urgent issues).
Patch Manager
SSM is also great for cross-platform patching using path baselines which can be applied individually or using the tag key Patch Group/PatchGroup (applied using Tag Manager or Fleet Manager) in a maintenance window with the AWS-RunPatchBaseline
command. During patching you can control the rate of execution based on concurrency or error threshold. The SSM Inventory feature enables patch compliance.
Session Manager
SSM has a Session Manager feature that enables shell access to EC2 instances and on-prem servers without SSH. Supports Linux, macOS, & Windows while logging connections and executed commands. As one might expect, EventBridge, SNS, S3, and CloudWatch Logs can receive the log items.
Operations Management
OpsCenter
Aggregates information such as issues, events, and alerts across AWS resources such Config, CloudTrail, CloudWatch Alarms, and CloudFormation into OpsItems. OpsItems can trigger Automation Runbooks.
Triage
-
Password rotation? Secrets Managers instead of Parameter store
-
Access Secrets from EC2, ECS, Lambda, cFn, Codebuild, CodeDeploy? Use Parameter Store API