Application Tools
Table of Contents¶
-
Overview
-
Prerequisites
-
AWS Systems Manager Application Tools
-
3.1 AppConfig
-
3.2 Application Manager
-
3.3 Parameter Store
-
-
Best Practices
-
Summary
1. Overview¶
AWS Systems Manager provides powerful Application Tools that enable you to manage application configurations, monitor application health, and securely store and retrieve configuration data and secrets.
2. Prerequisites¶
-
AWS Account with necessary permissions for Systems Manager.
-
EC2, Lambda, or containerized applications integrated with Systems Manager (optional for some features).
-
AWS CLI or AWS Console access.
3. AWS Systems Manager Application Tools¶
3.1 AppConfig¶
Purpose:
AppConfig allows you to deploy application configurations dynamically and safely, minimizing deployment risks and enabling rapid updates without redeploying code.
Key Features:
-
Centralized configuration management.
-
Controlled rollout with validation and monitoring.
-
Integration with AWS Lambda, EC2, ECS, and more.
Practical Tutorial:
Step 1: Create an Application in AppConfig
-
Navigate to Systems Manager → AppConfig → Applications → Create application.
-
Enter an application name and optional description.
Step 2: Create an Environment
-
Under your application, create an environment (e.g.,
Production,Development). -
Configure monitors (CloudWatch alarms, EventBridge rules) to track deployment health.
Step 3: Create a Configuration Profile
-
Define where your configuration data lives, e.g., SSM Parameter Store, S3 bucket, or Systems Manager Document.
-
For example, select “AWS Systems Manager (Parameter Store)” and specify the parameter name.
Step 4: Create a Deployment Strategy
-
Choose deployment method: canary, linear, or all-at-once.
-
Define deployment duration and bake time.
Step 5: Deploy Configuration
-
Start a deployment with the configuration profile to the environment.
-
AppConfig validates and deploys the configuration, monitoring alarms.
Step 6: Application consumes configuration dynamically via SDK or API.
3.2 Application Manager¶
Purpose:
Provides a unified dashboard for managing, visualizing, and troubleshooting applications deployed across AWS and hybrid environments.
Key Features:
-
View health and performance metrics of applications.
-
Centralized application insights with recommendations.
-
Support for AWS resources and on-premises resources.
Practical Tutorial:
Step 1: Access Application Manager
- Go to Systems Manager → Application Manager.
Step 2: Create an application resource group
-
Group resources logically by application (EC2 instances, Lambda functions, etc.).
-
Use AWS Resource Groups or create new ones.
Step 3: View Application Insights
-
Once grouped, Application Manager shows health status, alerts, and insights.
-
Drill down into issues and follow recommended remediation steps.
Step 4: Enable Application Insights
- For enhanced monitoring, enable Application Insights on your application resources for automated detection of issues.
3.3 Parameter Store¶
Purpose:
Securely store and manage configuration data, secrets, passwords, and other parameters centrally.
Key Features:
-
Support for plain text and encrypted data (using AWS KMS).
-
Versioning and history of parameters.
-
Hierarchical storage with path-based keys.
Practical Tutorial:
Step 1: Store a Parameter
-
AWS Console → Systems Manager → Parameter Store → Create parameter.
-
Choose type: String, SecureString (encrypted), or StringList.
-
Enter name (e.g.,
/MyApp/DBPassword) and value.
Step 2: Retrieve a Parameter
- Use AWS CLI or SDK:
Step 3: Use Parameters in EC2 or Lambda
-
Attach IAM role with
ssm:GetParameterpermissions. -
Retrieve parameters at runtime to dynamically configure apps.
Step 4: Organize parameters using paths
- Use hierarchical naming, e.g.,
/app/environment/setting.
4. Best Practices¶
-
Use AppConfig to separate configuration from code and reduce deployment risks.
-
Enable monitoring and alarms during AppConfig deployments to detect and rollback failures quickly.
-
Use Parameter Store SecureString for sensitive data with proper KMS key management.
-
Group application resources logically with Application Manager for unified visibility.
-
Combine Parameter Store with AppConfig for powerful dynamic configuration workflows.
5. Summary Table¶
| Tool | Purpose | Key Use Case |
|---|---|---|
| AppConfig | Dynamic and safe config deployment | Roll out feature toggles, config updates without redeploy |
| Application Manager | Application health and insights | Monitor distributed app health, get operational insights |
| Parameter Store | Secure parameter storage | Store secrets, config values securely, version configs |