📋 Overview
Validate the LogGuardian ECS/Fargate deployment in the dev account (769392325486) to ensure all functionality works as expected before promoting to staging/production.
🎯 Scope
What was deployed:
- ECS/Fargate infrastructure (9 AWS resources)
- LogGuardian container image in ECR
- IAM roles with Config/Logs permissions
- CloudWatch logging integration
- AWS Config rule integration
Repository: zsoftly/logguardian
Issue: Closes #91 (ECS/Fargate Task Definition and Integration)
Environment: Dev (769392325486, ca-central-1)
Deployment Date: 2024-10-24
Deployed By: @[your-github-username]
✅ Test Scenarios
1. Infrastructure Validation
Verification Command:
aws ecs describe-clusters --cluster logguardian-dev --region ca-central-1
aws ecs describe-task-definition --task-definition logguardian-dev --region ca-central-1
2. Manual Task Execution (Dry-Run)
Test Command:
CLUSTER=logguardian-dev
TASK=logguardian-dev
SG=sg-015c44092a321da76
aws ecs run-task \
--cluster $CLUSTER \
--launch-type FARGATE \
--task-definition $TASK \
--network-configuration "awsvpcConfiguration={subnets=[subnet-0cb3a166fffa03698,subnet-0026232dabc7d880d],securityGroups=[$SG],assignPublicIp=ENABLED}" \
--overrides '{
"containerOverrides":[{
"name":"logguardian",
"command":["--dry-run","--config-rule","cloudwatch-log-group-encrypted","--verbose"],
"environment":[{"name":"AWS_REGION","value":"ca-central-1"}]
}]
}' \
--region ca-central-1
Check logs:
aws logs tail /ecs/logguardian --since 10m --region ca-central-1
3. Production Mode Execution
Test Command:
aws ecs run-task \
--cluster logguardian-dev \
--launch-type FARGATE \
--task-definition logguardian-dev \
--network-configuration "awsvpcConfiguration={subnets=[subnet-0cb3a166fffa03698,subnet-0026232dabc7d880d],securityGroups=[sg-015c44092a321da76],assignPublicIp=ENABLED}" \
--overrides '{
"containerOverrides":[{
"name":"logguardian",
"command":["--config-rule","cloudwatch-log-group-encrypted","--verbose"],
"environment":[{"name":"AWS_REGION","value":"ca-central-1"}]
}]
}' \
--region ca-central-1
4. Error Handling
Test Invalid Rule:
aws ecs run-task \
--cluster logguardian-dev \
--launch-type FARGATE \
--task-definition logguardian-dev \
--network-configuration "awsvpcConfiguration={subnets=[subnet-0cb3a166fffa03698,subnet-0026232dabc7d880d],securityGroups=[sg-015c44092a321da76],assignPublicIp=ENABLED}" \
--overrides '{
"containerOverrides":[{
"name":"logguardian",
"command":["--dry-run","--config-rule","nonexistent-rule"]
}]
}' \
--region ca-central-1
5. Performance & Resource Utilization
Check Task Metrics:
# View in CloudWatch Container Insights or ECS console
6. CloudWatch Logging
7. IAM Permissions
Verify Permissions:
aws iam get-role-policy --role-name logguardian-dev-task --policy-name logguardian-dev-task-policy
8. Multiple Config Rules
🎯 Acceptance Criteria
Must Pass:
- ✅ All infrastructure resources deployed correctly
- ✅ Manual dry-run execution succeeds (exit code 0)
- ✅ Production mode successfully remediates resources
- ✅ CloudWatch logs capture all execution details
- ✅ IAM roles have appropriate permissions
- ✅ Error handling works for invalid inputs
- ✅ No sensitive data leaked in logs
Should Pass:
- ✅ Task completes in <2 minutes
- ✅ Fargate Spot is being utilized
- ✅ Resource utilization is within limits
- ✅ Works with multiple Config rules
🔧 Prerequisites for Testing
Access Required:
- AWS Account: 769392325486 (zsoftly dev logguardian)
- Region: ca-central-1
- IAM Permissions: AdministratorAccess or equivalent
Tools Required:
- AWS CLI configured
ztictl for authentication
- Access to CloudWatch Logs console
Authentication:
ztictl auth login zsoftly
# Select: zsoftly dev logguardian (769392325486)
# Select: AdministratorAccess
export AWS_PROFILE=zsoftly
export AWS_REGION=ca-central-1
export AWS_PAGER=""
📊 Test Evidence
For each test scenario, document:
- Command executed
- Screenshot or output snippet
- Pass/Fail status
- Any issues found
Example:
Test: Manual Task Execution (Dry-Run)
Command: aws ecs run-task --cluster logguardian-dev...
Result: ✅ PASS
Exit Code: 0
Duration: 245ms
Resources Found: 2 non-compliant log groups
Screenshot: [link to CloudWatch logs]
🐛 Known Issues
None currently - this is the first QA pass
🔍 Areas of Concern
- Public Subnets: Using public subnets for dev. Confirm this is acceptable or needs NAT Gateway for production.
- ECR Image: Image is built from source. Verify GitHub Container Registry alternative if needed.
- Config Rule Creation: AWS Config must be enabled and rules created before LogGuardian can run.
📝 Additional Testing (Optional)
🚀 Next Steps After QA Pass
- Document deployment
- Create runbook
- Deploy to another environment
- Set up EventBridge triggers for automation
- Add Lambda orchestrator for batch processing
- Configure SNS notifications for failures
📋 Overview
Validate the LogGuardian ECS/Fargate deployment in the dev account (769392325486) to ensure all functionality works as expected before promoting to staging/production.
🎯 Scope
What was deployed:
Repository: zsoftly/logguardian
Issue: Closes #91 (ECS/Fargate Task Definition and Integration)
Environment: Dev (769392325486, ca-central-1)
Deployment Date: 2024-10-24
Deployed By: @[your-github-username]
✅ Test Scenarios
1. Infrastructure Validation
logguardian-devexists and is activelogguardian-dev:2is registeredlogguardian-dev-taskandlogguardian-dev-executionsg-015c44092a321da76allows outbound traffic/ecs/logguardianexists with 30-day retentionlogguardian:latestimageVerification Command:
2. Manual Task Execution (Dry-Run)
Test Command:
Check logs:
3. Production Mode Execution
--dry-runflagTest Command:
4. Error Handling
Test Invalid Rule:
5. Performance & Resource Utilization
Check Task Metrics:
# View in CloudWatch Container Insights or ECS console6. CloudWatch Logging
/ecs/logguardian7. IAM Permissions
Verify Permissions:
8. Multiple Config Rules
cloudwatch-log-group-encrypted)🎯 Acceptance Criteria
Must Pass:
Should Pass:
🔧 Prerequisites for Testing
Access Required:
Tools Required:
ztictlfor authenticationAuthentication:
📊 Test Evidence
For each test scenario, document:
Example:
🐛 Known Issues
None currently - this is the first QA pass
🔍 Areas of Concern
📝 Additional Testing (Optional)
🚀 Next Steps After QA Pass