4.1.6 Troubleshoot Deployment Failures

Troubleshoot Deployment Failures

Where to Find Logs

ServiceLog Location
CloudFormationStack events (Console/CLI)
CodeBuildBuild logs (CloudWatch Logs)
CodeDeployDeployment logs, lifecycle events
Elastic Beanstalk/var/log/, eb logs
ECSTask stopped reason, container logs
LambdaCloudWatch Logs /aws/lambda/

CloudFormation Failures

ErrorCauseSolution
CREATE_FAILEDResource creation errorCheck stack events for specific error
UPDATE_ROLLBACK_FAILEDRollback stuckcontinue-update-rollback --resources-to-skip
DELETE_FAILEDResource can’t be deletedManual cleanup, retry
ROLLBACK_COMPLETECreate failed, rolled backFix template, create new stack

CodeDeploy Failures

ErrorCauseSolution
Hook failedScript error in lifecycle hookCheck hook script logs
Health check failedApp not respondingCheck app logs, health endpoint
AllowTraffic failedTarget group unhealthyCheck ALB health check settings
TimeoutHook exceeded timeoutIncrease timeout or optimize script
BeforeBlockTraffic failedLifecycle hook script errorCheck script logs

CodeDeploy Scenarios

Scenario 1: CodeDeploy agent failed to start on-premises

  • Check CodeDeploy deployment details
  • Verify agent installation và configuration
  • Check agent logs: /var/log/aws/codedeploy-agent/

Scenario 2: Newly tagged instance trong deployment group

  • CodeDeploy không tự động deploy lên newly tagged instance
  • Phải create new deployment trong deployment group

Scenario 3: Lambda deployment failure

  • Check alias configuration
  • Verify alias references correct function versions
  • Check IAM permissions cho CodeDeploy

Elastic Beanstalk

Scenario: X-Ray tracing cho Beanstalk application

  • Beanstalk environment provides configuration option
  • Once enabled, runs X-Ray daemon automatically
  • Không cần manual installation
# View recent logs
eb logs

# View specific log file
eb logs --log-group /aws/elasticbeanstalk/my-env/var/log/web.stdout.log

ECS Task Failures

Stopped reason: "Essential container in task exited"
Exit code: 137 → Out of memory (OOM killed)
Exit code: 1 → Application error
Exit code: 143 → SIGTERM (graceful shutdown)

Lambda Deployment Issues

IssueCauseSolution
Alias pointing to wrong versionMisconfigured aliasUpdate alias to correct version
Deployment package too largePackage > 50MB (direct) or 250MB (S3)Optimize dependencies, use layers
Environment variable errorMissing or wrong env varsCheck Lambda configuration

Best Practices

  1. Always check service output logs first
  2. CloudFormation → stack events cho detailed error messages
  3. CodeDeploy → lifecycle event logs cho hook failures
  4. ECS → exit codes cho container failures
  5. Beanstalkeb logs cho application logs

Exam Tip:

  • CloudFormation → stack events
  • CodeDeploy → lifecycle event logs, newly tagged instances cần new deployment
  • ECS exit code 137 = OOM
  • Beanstalk → eb logs, X-Ray daemon auto-runs khi enabled
  • Lambda alias có thể reference 2 versions khác nhau (weighted alias)
  • Always check specific error message trong stack events