Sunday, June 6, 2021

AWS: Compute Services: EC2 Image Builder


Image Builder is a fully managed AWS service which makes it easier to automate creation, management and deployment of customized, secure and ‘golden’ server images that are pre-installed and pre-configured with software & settings.

The images you build are created in your AWS account and you can configure them for operating system update patches on an ongoing basis. 

For troubleshooting, you can configure build logs to be added to your accounts S3 bucket.
Also, you can configure SNS topic to receive alerts for build status & test status and perform keypair (e.g. SSH) to EC2 instance for manual debugging.
Along with build it generates recipe which can be used with CICD pipeline for repeatable automation. 

It creates & terminates the new EC2 instances for each of the steps like build, test, etc.

Key concepts

  • AMI: Preconfigured and managed image which contains OS and preinstalled software. Output of image builder is also a managed image

  • Image Pipeline: It is automation configuration for building secure OS image

  • Image Recipe: An image builder recipe is a document source image and the components to be applied to the source image to produce desired configuration for output image

  • Build Components: These are orchestration documents that define sequence of steps for downloading, installing and configuring software packages. They also define validation and security hardening steps. This component is defined using YAML format

  • Test Components: These are orchestration documents that define tests to run on software packages, these documents are defined using YAML format. You can either use Amazon test components available or create & run your own.

  • Distribution: You can distribute your output image to multiple AWS Regions after it passes test in pipeline

Output files

  • detailedOutput.json: contains info about each step and action executed

  • document.yaml: file that is sent to the application for execution i.e. artefact of the execution

  • console.log: stdout & stderr info captured during execution

  • application.log: logs generated by debugging executions

No comments:

SpringBoot: Features: SpringApplication

Below are a few SpringBoot features corresponding to SpringApplication StartUp Logging ·          To add additional logging during startup...